[PATCH 0/4] dt-bindings: imx: add nvmem property
Peng Fan
peng.fan at nxp.com
Thu Mar 24 05:21:30 PDT 2022
> 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 at nxp.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
More information about the linux-arm-kernel
mailing list