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