[PATCH 7/8] media: imx: utils: Add more Bayer formats

From: Alexander Stein
Date: Fri Feb 04 2022 - 07:15:50 EST


Without this the ioctl VIDIOC_ENUM_FMT will not list the 10/12/14-Bit
Bayer formats. This in return results in
"v4l2-ctl --set-fmt-video pixelformat='RG10'" failing to set the
pixelformat as it is not enumerated as supported format.

Signed-off-by: Alexander Stein <alexander.stein@xxxxxxxxxxxxxxx>
---
This adds the following formats to `v4l2-ctl --list-formats`
[...]
[18]: 'BG10' (10-bit Bayer BGBG/GRGR)
[19]: 'GB10' (10-bit Bayer GBGB/RGRG)
[20]: 'BA10' (10-bit Bayer GRGR/BGBG)
[21]: 'RG10' (10-bit Bayer RGRG/GBGB)
[22]: 'BG12' (12-bit Bayer BGBG/GRGR)
[23]: 'GB12' (12-bit Bayer GBGB/RGRG)
[24]: 'BA12' (12-bit Bayer GRGR/BGBG)
[25]: 'RG12' (12-bit Bayer RGRG/GBGB)
[26]: 'BG14' (14-bit Bayer BGBG/GRGR)
[27]: 'GB14' (14-bit Bayer GBGB/RGRG)
[28]: 'GR14' (14-bit Bayer GRGR/BGBG)
[29]: 'RG14' (14-bit Bayer RGRG/GBGB)
[...]

drivers/staging/media/imx/imx-media-utils.c | 72 +++++++++++++++++++++
1 file changed, 72 insertions(+)

diff --git a/drivers/staging/media/imx/imx-media-utils.c b/drivers/staging/media/imx/imx-media-utils.c
index e0a256a08c3b..ea56c82d3b32 100644
--- a/drivers/staging/media/imx/imx-media-utils.c
+++ b/drivers/staging/media/imx/imx-media-utils.c
@@ -130,6 +130,78 @@ static const struct imx_media_pixfmt pixel_formats[] = {
.cs = IPUV3_COLORSPACE_RGB,
.bpp = 8,
.bayer = true,
+ }, {
+ .fourcc = V4L2_PIX_FMT_SBGGR10,
+ .codes = IMX_BUS_FMTS(MEDIA_BUS_FMT_SBGGR10_1X10),
+ .cs = IPUV3_COLORSPACE_RGB,
+ .bpp = 10,
+ .bayer = true,
+ }, {
+ .fourcc = V4L2_PIX_FMT_SGBRG10,
+ .codes = IMX_BUS_FMTS(MEDIA_BUS_FMT_SGBRG10_1X10),
+ .cs = IPUV3_COLORSPACE_RGB,
+ .bpp = 10,
+ .bayer = true,
+ }, {
+ .fourcc = V4L2_PIX_FMT_SGRBG10,
+ .codes = IMX_BUS_FMTS(MEDIA_BUS_FMT_SGRBG10_1X10),
+ .cs = IPUV3_COLORSPACE_RGB,
+ .bpp = 10,
+ .bayer = true,
+ }, {
+ .fourcc = V4L2_PIX_FMT_SRGGB10,
+ .codes = IMX_BUS_FMTS(MEDIA_BUS_FMT_SRGGB10_1X10),
+ .cs = IPUV3_COLORSPACE_RGB,
+ .bpp = 10,
+ .bayer = true,
+ }, {
+ .fourcc = V4L2_PIX_FMT_SBGGR12,
+ .codes = IMX_BUS_FMTS(MEDIA_BUS_FMT_SBGGR12_1X12),
+ .cs = IPUV3_COLORSPACE_RGB,
+ .bpp = 12,
+ .bayer = true,
+ }, {
+ .fourcc = V4L2_PIX_FMT_SGBRG12,
+ .codes = IMX_BUS_FMTS(MEDIA_BUS_FMT_SGBRG12_1X12),
+ .cs = IPUV3_COLORSPACE_RGB,
+ .bpp = 12,
+ .bayer = true,
+ }, {
+ .fourcc = V4L2_PIX_FMT_SGRBG12,
+ .codes = IMX_BUS_FMTS(MEDIA_BUS_FMT_SGRBG12_1X12),
+ .cs = IPUV3_COLORSPACE_RGB,
+ .bpp = 12,
+ .bayer = true,
+ }, {
+ .fourcc = V4L2_PIX_FMT_SRGGB12,
+ .codes = IMX_BUS_FMTS(MEDIA_BUS_FMT_SRGGB12_1X12),
+ .cs = IPUV3_COLORSPACE_RGB,
+ .bpp = 12,
+ .bayer = true,
+ }, {
+ .fourcc = V4L2_PIX_FMT_SBGGR14,
+ .codes = IMX_BUS_FMTS(MEDIA_BUS_FMT_SBGGR14_1X14),
+ .cs = IPUV3_COLORSPACE_RGB,
+ .bpp = 14,
+ .bayer = true,
+ }, {
+ .fourcc = V4L2_PIX_FMT_SGBRG14,
+ .codes = IMX_BUS_FMTS(MEDIA_BUS_FMT_SGBRG14_1X14),
+ .cs = IPUV3_COLORSPACE_RGB,
+ .bpp = 14,
+ .bayer = true,
+ }, {
+ .fourcc = V4L2_PIX_FMT_SGRBG14,
+ .codes = IMX_BUS_FMTS(MEDIA_BUS_FMT_SGRBG14_1X14),
+ .cs = IPUV3_COLORSPACE_RGB,
+ .bpp = 14,
+ .bayer = true,
+ }, {
+ .fourcc = V4L2_PIX_FMT_SRGGB14,
+ .codes = IMX_BUS_FMTS(MEDIA_BUS_FMT_SRGGB14_1X14),
+ .cs = IPUV3_COLORSPACE_RGB,
+ .bpp = 14,
+ .bayer = true,
}, {
.fourcc = V4L2_PIX_FMT_SBGGR16,
.codes = IMX_BUS_FMTS(
--
2.25.1