media: nxp: imx8-isi: Add parallel camera input support for i.MX93

The ISI module on i.MX93 implements one camera input which can be
connected to either of MIPI CSI-2 or parallel camera. The source
type can be selected by setting camera mux control register.

Signed-off-by: Alice Yuan <alice.yuan@nxp.com>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Guoniu Zhou <guoniu.zhou@nxp.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Link: https://patch.msgid.link/20250905-isi_imx93-v2-3-37db5f768c57@nxp.com
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
This commit is contained in:
Alice Yuan 2025-09-05 14:56:00 +08:00 committed by Hans Verkuil
parent 556e65b535
commit b2cc5b4ca4

View File

@ -61,6 +61,7 @@ const struct mxc_gasket_ops mxc_imx8_gasket_ops = {
#define DISP_MIX_CAMERA_MUX 0x30
#define DISP_MIX_CAMERA_MUX_DATA_TYPE(x) FIELD_PREP(GENMASK(8, 3), x)
#define DISP_MIX_CAMERA_MUX_GASKET_ENABLE BIT(16)
#define DISP_MIX_CAMERA_MUX_GASKET_SOURCE_TYPE BIT(17)
static void mxc_imx93_gasket_enable(struct mxc_isi_dev *isi,
const struct v4l2_mbus_frame_desc *fd,
@ -71,6 +72,16 @@ static void mxc_imx93_gasket_enable(struct mxc_isi_dev *isi,
val = DISP_MIX_CAMERA_MUX_DATA_TYPE(fd->entry[0].bus.csi2.dt);
val |= DISP_MIX_CAMERA_MUX_GASKET_ENABLE;
/*
* CAMERA MUX
* - [17]: Selects source input to gasket
* 0: Data from MIPI CSI
* 1: Data from parallel camera
*/
if (fd->type == V4L2_MBUS_FRAME_DESC_TYPE_PARALLEL)
val |= DISP_MIX_CAMERA_MUX_GASKET_SOURCE_TYPE;
regmap_write(isi->gasket, DISP_MIX_CAMERA_MUX, val);
}