]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
media: imx: imx7-media-csi: Don't set PIXEL_BIT in CSICR1
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Wed, 3 Feb 2021 02:57:18 +0000 (03:57 +0100)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Wed, 4 Aug 2021 12:43:51 +0000 (14:43 +0200)
The PIXEL_BIT field of the CSICR1 register is documented as setting the
Bayer data width to 10 bits, and is set by the driver for all non-YUV
pixel formats. Test code from NXP showed that the bit shouldn't be set
for Bayer formats, and this was confirmed by experimentation with RAW8
capture (which doesn't work when setting the field) and RAW10 capture
(for which setting the field doesn't seem to make a difference) on
i.MX8MM with an OV5640 sensor connected over CSI-2. Don't set it.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Rui Miguel Silva <rmfrfs@gmail.com>
Tested-by: Martin Kepplinger <martin.kepplinger@puri.sm>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/staging/media/imx/imx7-media-csi.c

index 8aefcf0e219f3d923976ae8987da73bf515ee1a5..bacbd7ca6d48f59366bb80c5894f28a000bd08c5 100644 (file)
@@ -495,21 +495,6 @@ static void imx7_csi_configure(struct imx7_csi *csi)
                        cr18 |= BIT_MIPI_DATA_FORMAT_YUV422_8B;
                        break;
                }
-
-               switch (out_pix->pixelformat) {
-               case V4L2_PIX_FMT_Y10:
-               case V4L2_PIX_FMT_Y12:
-               case V4L2_PIX_FMT_SBGGR8:
-               case V4L2_PIX_FMT_SGBRG8:
-               case V4L2_PIX_FMT_SGRBG8:
-               case V4L2_PIX_FMT_SRGGB8:
-               case V4L2_PIX_FMT_SBGGR16:
-               case V4L2_PIX_FMT_SGBRG16:
-               case V4L2_PIX_FMT_SGRBG16:
-               case V4L2_PIX_FMT_SRGGB16:
-                       cr1 |= BIT_PIXEL_BIT;
-                       break;
-               }
        }
 
        imx7_csi_reg_write(csi, cr1, CSI_CSICR1);