RE: [PATCH 1/2] media: nxp: imx8-isi: Add i.MX8ULP support
From: G.N. Zhou (OSS)
Date: Fri Oct 11 2024 - 22:15:01 EST
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