[PATCH v2 5/6] media: nxp: imx8-isi: Add i.MX952 ISI support
From: Guoniu Zhou
Date: Sun Aug 30 2026 - 23:35:30 EST
The i.MX952 ISI is reused from the i.MX95 ISI with a minor silicon
revision. It can process up to 8 image sources simultaneously and
obtain image data from up to 4 pixel link sources.
Signed-off-by: Guoniu Zhou <guoniu.zhou@xxxxxxxxxxx>
---
drivers/media/platform/nxp/imx8-isi/imx8-isi-core.c | 13 +++++++++++++
drivers/media/platform/nxp/imx8-isi/imx8-isi-regs.h | 2 +-
2 files changed, 14 insertions(+), 1 deletion(-)
diff --git a/drivers/media/platform/nxp/imx8-isi/imx8-isi-core.c b/drivers/media/platform/nxp/imx8-isi/imx8-isi-core.c
index e627054bbc8e..d492631dfb6d 100644
--- a/drivers/media/platform/nxp/imx8-isi/imx8-isi-core.c
+++ b/drivers/media/platform/nxp/imx8-isi/imx8-isi-core.c
@@ -384,6 +384,18 @@ static const struct mxc_isi_plat_data mxc_imx95_data = {
.has_36bit_dma = true,
};
+static const struct mxc_isi_plat_data mxc_imx952_data = {
+ .num_ports = 4,
+ .num_channels = 8,
+ .num_vc = 8,
+ .reg_offset = 0x10000,
+ .ier_reg = &mxc_imx8_isi_ier_v2,
+ .set_thd = &mxc_imx8_isi_thd_v1,
+ .format_mask = GENMASK(30, 24),
+ .buf_active_reverse = true,
+ .has_36bit_dma = true,
+};
+
/* -----------------------------------------------------------------------------
* Power management
*/
@@ -574,6 +586,7 @@ static const struct of_device_id mxc_isi_of_match[] = {
{ .compatible = "fsl,imx91-isi", .data = &mxc_imx91_data },
{ .compatible = "fsl,imx93-isi", .data = &mxc_imx93_data },
{ .compatible = "fsl,imx95-isi", .data = &mxc_imx95_data },
+ { .compatible = "fsl,imx952-isi", .data = &mxc_imx952_data },
{ /* sentinel */ },
};
MODULE_DEVICE_TABLE(of, mxc_isi_of_match);
diff --git a/drivers/media/platform/nxp/imx8-isi/imx8-isi-regs.h b/drivers/media/platform/nxp/imx8-isi/imx8-isi-regs.h
index 7c4e736f4651..35dec3a650ac 100644
--- a/drivers/media/platform/nxp/imx8-isi/imx8-isi-regs.h
+++ b/drivers/media/platform/nxp/imx8-isi/imx8-isi-regs.h
@@ -22,7 +22,7 @@
#define CHNL_CTRL_SW_RST BIT(24)
/*
* CHNL_CTRL_BLANK_PXL: i.MX8{QM,QXP} only
- * CHNL_CTRL_VC_ID_1, CHNL_CTRL_VC_ID_1_MASK: i.MX95 only
+ * CHNL_CTRL_VC_ID_1, CHNL_CTRL_VC_ID_1_MASK: i.MX{95,952} only
*/
#define CHNL_CTRL_BLANK_PXL(n) FIELD_PREP(GENMASK(23, 16), (n))
#define CHNL_CTRL_VC_ID_1(n) FIELD_PREP(BIT(16), (n))
--
2.34.1