[PATCH] media: imx: imx-mipi-csis: Add support for JPEG_1X8
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Thu Mar 10 05:57:18 PST 2022
Hi Jacopo,
Thank you for the patch.
On Wed, Mar 09, 2022 at 11:04:48AM +0100, Jacopo Mondi wrote:
> Add support for MEDIA_BUS_FMT_JPEG_1X8 media bus code to the
> CSIS driver.
>
> The MEDIA_BUS_FMT_JPEG_1X8 code is mapped tot the RAW8 CSI-2 Data Type,
s/tot/to/
> while the CSI-2 specification suggests to use User Defined Data Type 1.
>
> As reported in the comment, the CSIS interface captures arbitrary Data
> Types by using a pixel sampling mode not supported by the IP core
> connected to it on i.MX SoCs.
>
> As some sensors, such as OV5640, support sending JPEG data on the RAW8
> Data Type and capture operations work correcty with such configuration,
> map MEDIA_BUS_FMT_JPEG_1X8 to Data Type 0x2a.
>
> Signed-off-by: Jacopo Mondi <jacopo at jmondi.org>
> ---
>
> Based on Hans' br-v5.18s where the CSIS patches have been collected
>
> ---
> drivers/media/platform/imx/imx-mipi-csis.c | 28 ++++++++++++++++++++++
> 1 file changed, 28 insertions(+)
>
> diff --git a/drivers/media/platform/imx/imx-mipi-csis.c b/drivers/media/platform/imx/imx-mipi-csis.c
> index 0a72734db55e..3731748de18b 100644
> --- a/drivers/media/platform/imx/imx-mipi-csis.c
> +++ b/drivers/media/platform/imx/imx-mipi-csis.c
> @@ -470,6 +470,34 @@ static const struct csis_pix_format mipi_csis_formats[] = {
> .output = MEDIA_BUS_FMT_SRGGB14_1X14,
> .data_type = MIPI_CSI2_DATA_TYPE_RAW14,
> .width = 14,
> + },
> + /* JPEG */
> + {
> + .code = MEDIA_BUS_FMT_JPEG_1X8,
> + .output = MEDIA_BUS_FMT_JPEG_1X8,
> + /*
> + * Map JPEG_1X8 on the RAW8 datatype.
s/on the/to the/
Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> + *
> + * The CSI-2 specification suggests in Annex A "JPEG8 Data
> + * Format (informative)" to transmit JPEG data using one of the
> + * Data Types aimed to represent arbitrary data, such as the
> + * "User Defined Data Type 1" (0x30).
> + *
> + * However, when configured with a User Defined Data Type, the
> + * CSIS outputs data in quad pixel mode regardless of the mode
> + * selected in the MIPI_CSIS_ISP_CONFIG_CH register. Neither of
> + * the IP cores connected to the CSIS in i.MX SoCs (CSI bridge
> + * or ISI) support quad pixel mode, so this will never work in
> + * practice.
> + *
> + * Some sensors (such as the OV5640) send JPEG data using the
> + * RAW8 data type. This is usable and works, so map the JPEG
> + * format to RAW8. If the CSIS ends up being integrated in an
> + * SoC that can support quad pixel mode, this will have to be
> + * revisited.
> + */
> + .data_type = MIPI_CSI2_DATA_TYPE_RAW8,
> + .width = 8,
> }
> };
>
--
Regards,
Laurent Pinchart
More information about the linux-arm-kernel
mailing list