From 77458ad25ec087f0dbf2be37f6e8903715d0fa85 Mon Sep 17 00:00:00 2001 From: Guoniu Zhou Date: Wed, 5 Nov 2025 13:55:12 +0800 Subject: [PATCH] media: nxp: imx8-isi: Add ISI support for i.MX95 The ISI module on i.MX95 supports up to eight channels and four link sources to obtain the image data for processing in its pipelines. It can process up to eight image sources at the same time. Add ISI basic functions support for i.MX95. Reviewed-by: Frank Li Signed-off-by: Guoniu Zhou Reviewed-by: Laurent Pinchart Link: https://patch.msgid.link/20251105-isi_imx95-v3-3-3987533cca1c@nxp.com Signed-off-by: Laurent Pinchart Signed-off-by: Hans Verkuil --- drivers/media/platform/nxp/imx8-isi/imx8-isi-core.c | 12 ++++++++++++ drivers/media/platform/nxp/imx8-isi/imx8-isi-core.h | 1 + 2 files changed, 13 insertions(+) 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 16392420903ae..4bf8570e1b9e9 100644 --- a/drivers/media/platform/nxp/imx8-isi/imx8-isi-core.c +++ b/drivers/media/platform/nxp/imx8-isi/imx8-isi-core.c @@ -314,6 +314,17 @@ static const struct mxc_isi_plat_data mxc_imx8mp_data = { .has_36bit_dma = true, }; +static const struct mxc_isi_plat_data mxc_imx95_data = { + .model = MXC_ISI_IMX95, + .num_ports = 4, + .num_channels = 8, + .reg_offset = 0x10000, + .ier_reg = &mxc_imx8_isi_ier_v2, + .set_thd = &mxc_imx8_isi_thd_v1, + .buf_active_reverse = true, + .has_36bit_dma = true, +}; + static const struct mxc_isi_plat_data mxc_imx8qm_data = { .model = MXC_ISI_IMX8QM, .num_ports = 5, @@ -557,6 +568,7 @@ static const struct of_device_id mxc_isi_of_match[] = { { .compatible = "fsl,imx8ulp-isi", .data = &mxc_imx8ulp_data }, { .compatible = "fsl,imx91-isi", .data = &mxc_imx91_data }, { .compatible = "fsl,imx93-isi", .data = &mxc_imx93_data }, + { .compatible = "fsl,imx95-isi", .data = &mxc_imx95_data }, { /* sentinel */ }, }; MODULE_DEVICE_TABLE(of, mxc_isi_of_match); diff --git a/drivers/media/platform/nxp/imx8-isi/imx8-isi-core.h b/drivers/media/platform/nxp/imx8-isi/imx8-isi-core.h index 3cbd35305af0f..14d63ec36416e 100644 --- a/drivers/media/platform/nxp/imx8-isi/imx8-isi-core.h +++ b/drivers/media/platform/nxp/imx8-isi/imx8-isi-core.h @@ -162,6 +162,7 @@ enum model { MXC_ISI_IMX8ULP, MXC_ISI_IMX91, MXC_ISI_IMX93, + MXC_ISI_IMX95, }; struct mxc_isi_plat_data { -- 2.47.3