Re: [RFC 1/2] dt-bindings: imx-ocotp: Add fusable-node property

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 20.05.2019 06:06, Peng Fan wrote:
> Introduce fusable-node property for i.MX OCOTP driver.
> The property will only be used by Firmware(eg. U-Boot) to
> runtime disable the nodes.
> 
> Take i.MX6ULL for example, there are several parts that only
> have limited modules enabled controlled by OCOTP fuse. It is
> not flexible to provide several dts for the serval parts, instead
> we could provide one device tree and let Firmware to runtime disable
> the device tree nodes for those modules that are disable(fused).
> 
> Signed-off-by: Peng Fan <peng.fan@xxxxxxx>
> ---
> 
> Currently NXP vendor use U-Boot to set status to disabled for devices
> that could not function,
> https://source.codeaurora.org/external/imx/uboot-imx/tree/arch/arm/mach-imx/mx6/module_fuse.c?h=imx_v2018.03_4.14.98_2.0.0_ga#n149
> But this approach is will not work if kernel dts node path changed.
> 
> There are two approaches to resolve:
> 
> 1. This patch is to add a fusable-node property, and Firmware will parse
>     the property and read fuse to decide whether to disable or keeep enable
>     the nodes.
> 
> 2. There is another approach is that add nvmem-cells for all nodes that
>     could be disabled(fused). Then in each linux driver to use nvmem
>     api to detect fused or not, or in linux driver common code to check
>     device functionable or not with nvmem API.
> 
> 
> To make it easy to work, we choose [1] here. Please advise whether
> it is acceptable, because the property is not used by linux driver in
> approach [1]. Or you prefer [2] or please advise if any better solution.

Couldn't firmware parse nvmem-cells? Even without a full nvmem subsystem 
it would be possible for imx-specific code to walk the entire device 
tree, parse nvmem-cells and disable nodes which are disabled by fuse.

--
Regards,
Leonard




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux