.has_36bit_dma          = true,
 };
 
+static const struct mxc_isi_plat_data mxc_imx93_data = {
+       .model                  = MXC_ISI_IMX93,
+       .num_ports              = 1,
+       .num_channels           = 1,
+       .reg_offset             = 0,
+       .ier_reg                = &mxc_imx8_isi_ier_v2,
+       .set_thd                = &mxc_imx8_isi_thd_v1,
+       .clks                   = mxc_imx8mn_clks,
+       .num_clks               = ARRAY_SIZE(mxc_imx8mn_clks),
+       .buf_active_reverse     = true,
+       .gasket_ops             = &mxc_imx93_gasket_ops,
+       .has_36bit_dma          = false,
+};
+
 /* -----------------------------------------------------------------------------
  * Power management
  */
 static const struct of_device_id mxc_isi_of_match[] = {
        { .compatible = "fsl,imx8mn-isi", .data = &mxc_imx8mn_data },
        { .compatible = "fsl,imx8mp-isi", .data = &mxc_imx8mp_data },
+       { .compatible = "fsl,imx93-isi", .data = &mxc_imx93_data },
        { /* sentinel */ },
 };
 MODULE_DEVICE_TABLE(of, mxc_isi_of_match);
 
 enum model {
        MXC_ISI_IMX8MN,
        MXC_ISI_IMX8MP,
+       MXC_ISI_IMX93,
 };
 
 struct mxc_isi_plat_data {
 };
 
 extern const struct mxc_gasket_ops mxc_imx8_gasket_ops;
+extern const struct mxc_gasket_ops mxc_imx93_gasket_ops;
 
 int mxc_isi_crossbar_init(struct mxc_isi_dev *isi);
 void mxc_isi_crossbar_cleanup(struct mxc_isi_crossbar *xbar);
 
        .enable = mxc_imx8_gasket_enable,
        .disable = mxc_imx8_gasket_disable,
 };
+
+/* -----------------------------------------------------------------------------
+ * i.MX93 gasket
+ */
+
+#define DISP_MIX_CAMERA_MUX                     0x30
+#define DISP_MIX_CAMERA_MUX_DATA_TYPE(x)        (((x) & 0x3f) << 3)
+#define DISP_MIX_CAMERA_MUX_GASKET_ENABLE       BIT(16)
+
+static void mxc_imx93_gasket_enable(struct mxc_isi_dev *isi,
+                                   const struct v4l2_mbus_frame_desc *fd,
+                                   const struct v4l2_mbus_framefmt *fmt,
+                                   const unsigned int port)
+{
+       u32 val;
+
+       val = DISP_MIX_CAMERA_MUX_DATA_TYPE(fd->entry[0].bus.csi2.dt);
+       val |= DISP_MIX_CAMERA_MUX_GASKET_ENABLE;
+       regmap_write(isi->gasket, DISP_MIX_CAMERA_MUX, val);
+}
+
+static void mxc_imx93_gasket_disable(struct mxc_isi_dev *isi,
+                                    unsigned int port)
+{
+       regmap_write(isi->gasket, DISP_MIX_CAMERA_MUX, 0);
+}
+
+const struct mxc_gasket_ops mxc_imx93_gasket_ops = {
+       .enable = mxc_imx93_gasket_enable,
+       .disable = mxc_imx93_gasket_disable,
+};