[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <DU0PR04MB941779F67C9FFE6BD4334B6188199@DU0PR04MB9417.eurprd04.prod.outlook.com>
Date: Thu, 24 Mar 2022 12:21:30 +0000
From: Peng Fan <peng.fan@....com>
To: Uwe Kleine-König
<u.kleine-koenig@...gutronix.de>,
"Peng Fan (OSS)" <peng.fan@....nxp.com>
CC: "ulf.hansson@...aro.org" <ulf.hansson@...aro.org>,
"robh+dt@...nel.org" <robh+dt@...nel.org>,
"krzk+dt@...nel.org" <krzk+dt@...nel.org>,
"shawnguo@...nel.org" <shawnguo@...nel.org>,
"s.hauer@...gutronix.de" <s.hauer@...gutronix.de>,
"wg@...ndegger.com" <wg@...ndegger.com>,
"mkl@...gutronix.de" <mkl@...gutronix.de>,
"davem@...emloft.net" <davem@...emloft.net>,
"kuba@...nel.org" <kuba@...nel.org>,
"pabeni@...hat.com" <pabeni@...hat.com>,
Joakim Zhang <qiangqing.zhang@....com>,
"devicetree@...r.kernel.org" <devicetree@...r.kernel.org>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"linux-mmc@...r.kernel.org" <linux-mmc@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-can@...r.kernel.org" <linux-can@...r.kernel.org>,
dl-linux-imx <linux-imx@....com>,
"kernel@...gutronix.de" <kernel@...gutronix.de>,
"festevam@...il.com" <festevam@...il.com>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>,
"srinivas.kandagatla@...aro.org" <srinivas.kandagatla@...aro.org>
Subject: RE: [PATCH 0/4] dt-bindings: imx: add nvmem property
> Subject: Re: [PATCH 0/4] dt-bindings: imx: add nvmem property
>
> Hello,
>
> On Thu, Mar 24, 2022 at 12:20:20PM +0800, Peng Fan (OSS) wrote:
> > From: Peng Fan <peng.fan@....com>
> >
> > To i.MX SoC, there are many variants, such as i.MX8M Plus which
> > feature 4 A53, GPU, VPU, SDHC, FLEXCAN, FEC, eQOS and etc.
> > But i.MX8M Plus has many parts, one part may not have FLEXCAN, the
> > other part may not have eQOS or GPU.
> > But we use one device tree to support i.MX8MP including its parts,
> > then we need update device tree to mark the disabled IP status "disabled".
> >
> > In NXP U-Boot, we hardcoded node path and runtime update device tree
> > status in U-Boot according to fuse value. But this method is not
> > scalable and need encoding all the node paths that needs check.
> >
> > By introducing nvmem property for each node that needs runtime update
> > status property accoridng fuse value, we could use one Bootloader code
> > piece to support all i.MX SoCs.
> >
> > The drawback is we need nvmem property for all the nodes which maybe
> > fused out.
>
> I'd rather not have that in an official binding as the syntax is orthogonal to
> status = "..." but the semantic isn't. Also if we want something like that, I'd
> rather not want to adapt all bindings, but would like to see this being generic
> enough to be described in a single catch-all binding.
>
> I also wonder if it would be nicer to abstract that as something like:
>
> / {
> fuse-info {
> compatible = "otp-fuse-info";
>
> flexcan {
> devices = <&flexcan1>, <&flexcan2>;
> nvmem-cells = <&flexcan_disabled>;
> nvmem-cell-names = "disabled";
> };
>
> m7 {
> ....
> };
> };
> };
>
> as then the driver evaluating this wouldn't need to iterate over the whole dtb
> but just over this node. But I'd still keep this private to the bootloader and not
> describe it in the generic binding.
Good idea. But I still prefer Linux accept this binding and related device tree as
you described above, because U-Boot sync with linux device tree and bindings.
Thanks,
Peng.
>
> Just my 0.02€
> Uwe
Powered by blists - more mailing lists