Hi Laurent, Thanks for your replying. > -----Original Message----- > From: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > Sent: Friday, October 11, 2024 9:31 PM > To: G.N. Zhou (OSS) <guoniu.zhou@xxxxxxxxxxx> > Cc: linux-media@xxxxxxxxxxxxxxx; jacopo@xxxxxxxxxx; mchehab@xxxxxxxxxx; > robh@xxxxxxxxxx; krzk+dt@xxxxxxxxxx; conor+dt@xxxxxxxxxx; > shawnguo@xxxxxxxxxx; s.hauer@xxxxxxxxxxxxxx; kernel@pengutronix.d; > festevam@xxxxxxxxx; devicetree@xxxxxxxxxxxxxxx; imx@xxxxxxxxxxxxxxx; linux- > kernel@xxxxxxxxxxxxxxx > Subject: Re: [PATCH 1/2] media: nxp: imx8-isi: Add i.MX8ULP support > > Hi Guoniu, > > Thank you for the patch. > > On Fri, Oct 11, 2024 at 06:17:12PM +0800, guoniu.zhou@xxxxxxxxxxx wrote: > > From: "Guoniu.zhou" <guoniu.zhou@xxxxxxx> > > > > Add ISI support for i.MX8ULP. > > > > Signed-off-by: Guoniu.zhou <guoniu.zhou@xxxxxxx> > > --- > > .../platform/nxp/imx8-isi/imx8-isi-core.c | 18 ++++++++++++++++++ > > .../platform/nxp/imx8-isi/imx8-isi-core.h | 1 + > > 2 files changed, 19 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 c2013995049c..f5d076d7f50b 100644 > > --- a/drivers/media/platform/nxp/imx8-isi/imx8-isi-core.c > > +++ b/drivers/media/platform/nxp/imx8-isi/imx8-isi-core.c > > @@ -279,6 +279,10 @@ static const struct clk_bulk_data > mxc_imx8mn_clks[] = { > > { .id = "apb" }, > > }; > > > > +static const struct clk_bulk_data mxc_imx8ulp_clks[] = { > > + { .id = "per" }, > > This doesn't match the DT bindings. Which one is wrong ? I'm wrong. It should be "axi" since the clocks used here is a gate clock controller by PCC(Peripheral Clock Controller) and derived from "LPAV_AXI_CLK". I will update a new version to correct this. > > > +}; > > + > > static const struct mxc_isi_plat_data mxc_imx8mn_data = { > > .model = MXC_ISI_IMX8MN, > > .num_ports = 1, > > @@ -307,6 +311,19 @@ static const struct mxc_isi_plat_data > mxc_imx8mp_data = { > > .has_36bit_dma = true, > > }; > > > > +static const struct mxc_isi_plat_data mxc_imx8ulp_data = { > > + .model = MXC_ISI_IMX8ULP, > > + .num_ports = 1, > > + .num_channels = 1, > > + .reg_offset = 0x0, > > + .ier_reg = &mxc_imx8_isi_ier_v2, > > + .set_thd = &mxc_imx8_isi_thd_v1, > > + .clks = mxc_imx8ulp_clks, > > + .num_clks = ARRAY_SIZE(mxc_imx8ulp_clks), > > + .buf_active_reverse = true, > > + .has_36bit_dma = false, > > +}; > > + > > static const struct mxc_isi_plat_data mxc_imx93_data = { > > .model = MXC_ISI_IMX93, > > .num_ports = 1, > > @@ -528,6 +545,7 @@ static void mxc_isi_remove(struct platform_device > > *pdev) 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,imx8ulp-isi", .data = &mxc_imx8ulp_data }, > > { .compatible = "fsl,imx93-isi", .data = &mxc_imx93_data }, > > { /* sentinel */ }, > > }; > > 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 2810ebe9b5f7..9c7fe9e5f941 100644 > > --- a/drivers/media/platform/nxp/imx8-isi/imx8-isi-core.h > > +++ b/drivers/media/platform/nxp/imx8-isi/imx8-isi-core.h > > @@ -158,6 +158,7 @@ struct mxc_gasket_ops { enum model { > > MXC_ISI_IMX8MN, > > MXC_ISI_IMX8MP, > > + MXC_ISI_IMX8ULP, > > MXC_ISI_IMX93, > > }; > > > > -- > Regards, > > Laurent Pinchart