Hi Jacopo, Thank you for the patch. On Wed, Jan 19, 2022 at 12:20:24PM +0100, Jacopo Mondi wrote: > Bits 13 and 12 of the ISP_CONFIGn register configure the PIXEL_MODE > which specifies the sampling size, in pixel component units, on the > CSI-2 output data interface when data are transferred to memory. > > The register description in the chip manual specifies that DUAL mode > should be used for YUV422 data but does not clarify the reason. > > Todo: verify if other YUV formats require the same setting and what is the > appropriate setting for RAW and sRGB formats. I'll also test it on i.MX8MM, I recall I had to *not* set PIXEL_MODE_DUAL on that platform for YUV to work. > Signed-off-by: Jacopo Mondi <jacopo@xxxxxxxxxx> > --- > drivers/staging/media/imx/imx7-mipi-csis.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/drivers/staging/media/imx/imx7-mipi-csis.c b/drivers/staging/media/imx/imx7-mipi-csis.c > index cb54bb7491d9..e96989c46479 100644 > --- a/drivers/staging/media/imx/imx7-mipi-csis.c > +++ b/drivers/staging/media/imx/imx7-mipi-csis.c > @@ -499,6 +499,10 @@ static void __mipi_csis_set_format(struct csi_state *state) > /* Color format */ > val = mipi_csis_read(state, MIPI_CSIS_ISP_CONFIG_CH(0)); > val &= ~(MIPI_CSIS_ISPCFG_ALIGN_32BIT | MIPI_CSIS_ISPCFG_FMT_MASK); > + > + if (state->csis_fmt->data_type == MIPI_CSI2_DATA_TYPE_YUV422_8) > + val |= MIPI_CSIS_ISPCFG_PIXEL_MODE_DUAL; > + > val |= MIPI_CSIS_ISPCFG_FMT(state->csis_fmt->data_type); > mipi_csis_write(state, MIPI_CSIS_ISP_CONFIG_CH(0), val); > -- Regards, Laurent Pinchart