From: Philipp Zabel Date: Thu, 3 May 2018 15:06:06 +0000 (-0400) Subject: media: imx: add 16-bit grayscale support X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=e30681bc19bf1fc72953cd4ee23c374caa449591;p=openwrt%2Fstaging%2Fblogic.git media: imx: add 16-bit grayscale support Since commit 50b0f0aee839 ("gpu: ipu-csi: add 10/12-bit grayscale support to mbus_code_to_bus_cfg") the IPU CSI can be configured to capture 10-bit and 12-bit grayscale formats, expanded to 16-bit grayscale, in bayer/generic data mode. This patch adds support for V4L2_PIX_FMT_Y16 captured from sensors that provide MEDIA_BUS_FMT_Y10_1X10 or MEDIA_BUS_FMT_Y12_1X12 data. Cc: Jan Luebbe Signed-off-by: Philipp Zabel Acked-by: Steve Longerbeam Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab --- diff --git a/drivers/staging/media/imx/imx-media-csi.c b/drivers/staging/media/imx/imx-media-csi.c index 16cab40156ca..1112d8f67a18 100644 --- a/drivers/staging/media/imx/imx-media-csi.c +++ b/drivers/staging/media/imx/imx-media-csi.c @@ -409,6 +409,7 @@ static int csi_idmac_setup_channel(struct csi_priv *priv) case V4L2_PIX_FMT_SGBRG16: case V4L2_PIX_FMT_SGRBG16: case V4L2_PIX_FMT_SRGGB16: + case V4L2_PIX_FMT_Y16: burst_size = 4; passthrough = true; passthrough_bits = 16; diff --git a/drivers/staging/media/imx/imx-media-utils.c b/drivers/staging/media/imx/imx-media-utils.c index fab98fc0d6a0..7ec2db84451c 100644 --- a/drivers/staging/media/imx/imx-media-utils.c +++ b/drivers/staging/media/imx/imx-media-utils.c @@ -168,6 +168,15 @@ static const struct imx_media_pixfmt rgb_formats[] = { .cs = IPUV3_COLORSPACE_RGB, .bpp = 8, .bayer = true, + }, { + .fourcc = V4L2_PIX_FMT_Y16, + .codes = { + MEDIA_BUS_FMT_Y10_1X10, + MEDIA_BUS_FMT_Y12_1X12, + }, + .cs = IPUV3_COLORSPACE_RGB, + .bpp = 16, + .bayer = true, }, /*** * non-mbus RGB formats start here. NOTE! when adding non-mbus