]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
media: nxp: imx8-isi: Add ISI support for i.MX95
authorGuoniu Zhou <guoniu.zhou@nxp.com>
Wed, 5 Nov 2025 05:55:12 +0000 (13:55 +0800)
committerHans Verkuil <hverkuil+cisco@kernel.org>
Tue, 24 Mar 2026 21:14:44 +0000 (22:14 +0100)
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 <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/20251105-isi_imx95-v3-3-3987533cca1c@nxp.com
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
drivers/media/platform/nxp/imx8-isi/imx8-isi-core.c
drivers/media/platform/nxp/imx8-isi/imx8-isi-core.h

index 16392420903aeb99f7b448df68646a902699ff8c..4bf8570e1b9e920534f1a1017a3e317afc1de985 100644 (file)
@@ -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);
index 3cbd35305af0f8026c4f76b5eb5d0864f8e36dc3..14d63ec36416eb11a352afc75896f0a398b0a0a0 100644 (file)
@@ -162,6 +162,7 @@ enum model {
        MXC_ISI_IMX8ULP,
        MXC_ISI_IMX91,
        MXC_ISI_IMX93,
+       MXC_ISI_IMX95,
 };
 
 struct mxc_isi_plat_data {