Subject: Re: [PATCH] soc: imx: Add i.MX8MN SoC driver support

From: Shawn Guo <[email-masked]>
Date: Tue, 18 Jun 2019 20:59:09 +0800

On Tue, Jun 18, 2019 at 08:24:59AM +0000, Anson Huang wrote:
> Hi, Shawn
> 
> > -----Original Message-----
> > From: Shawn Guo <[email-masked]>
> > Sent: Tuesday, June 18, 2019 3:04 PM
> > To: Anson Huang <[email-masked]>
> > Cc: [email-masked]; [email-masked]; [email-masked];
> > Leonard Crestez <[email-masked]>; [email-masked];
> > Abel Vesa <[email-masked]>; [email-masked];
> > [email-masked]; dl-linux-imx <[email-masked]>
> > Subject: Re: [PATCH] soc: imx: Add i.MX8MN SoC driver support
> > 
> > On Tue, Jun 11, 2019 at 09:31:25AM +0800, [email-masked] wrote:
> > > From: Anson Huang <[email-masked]>
> > >
> > > This patch adds i.MX8MN SoC driver support:
> > >
> > > root@imx8mnevk:~# cat /sys/devices/soc0/family Freescale i.MX
> > >
> > > root@imx8mnevk:~# cat /sys/devices/soc0/machine NXP i.MX8MNano
> > DDR4
> > > EVK board
> > >
> > > root@imx8mnevk:~# cat /sys/devices/soc0/soc_id i.MX8MN
> > >
> > > root@imx8mnevk:~# cat /sys/devices/soc0/revision
> > > 1.0
> > >
> > > Signed-off-by: Anson Huang <[email-masked]>
> > > ---
> > >  drivers/soc/imx/soc-imx8.c | 13 ++++++++++++-
> > >  1 file changed, 12 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/drivers/soc/imx/soc-imx8.c b/drivers/soc/imx/soc-imx8.c
> > > index 3842d09..02309a2 100644
> > > --- a/drivers/soc/imx/soc-imx8.c
> > > +++ b/drivers/soc/imx/soc-imx8.c
> > > @@ -55,7 +55,12 @@ static u32 __init imx8mm_soc_revision(void)
> > >  	void __iomem *anatop_base;
> > >  	u32 rev;
> > >
> > > -	np = of_find_compatible_node(NULL, NULL, "fsl,imx8mm-anatop");
> > > +	if (of_machine_is_compatible("fsl,imx8mm"))
> > > +		np = of_find_compatible_node(NULL, NULL, "fsl,imx8mm-
> > anatop");
> > > +	else if (of_machine_is_compatible("fsl,imx8mn"))
> > > +		np = of_find_compatible_node(NULL, NULL, "fsl,imx8mn-
> > anatop");
> > 
> > Can we have this anatop compatible in imx8_soc_data, so that we may save
> > the call to of_machine_is_compatible()?
> 
> Do you mean adding a variable like " const char *anatop_compat " in imx8_soc_date structure,
> then initialize it according to SoC type, and in imx8mm_soc_revision(), get to soc_data's anatio_compat to
> find the anatop node? If yes, we have to add some code to get the soc_data in this function, or maybe
> we can pass anatop compatible name as .soc_revision's parameter?
> 
> static const struct imx8_soc_data imx8mn_soc_data = {
>          .name = "i.MX8MN",
>          .soc_revision = imx8mm_soc_revision,
>          .anatop_compat = "fsl,imx8mn-anatop",
> };

Okay, just realized that we only want to handle imx8mn with imx8mm
function.  It makes less sense to add anatop compatible into
imx8_soc_data just for that.

So it looks like that imx8mn is highly compatible with imx8mm, including
anatop block?  If that's the case, maybe we can have compatible of
imx8mn anatop like below, so that we can save above changes?

	compatible = "fsl,imx8mn-anatop", "fsl,imx8mm-anatop";

Shawn

_______________________________________________
linux-arm-kernel mailing list
[email-masked]
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel