[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <AM0PR04MB44810069F874677C6A2DE795881F0@AM0PR04MB4481.eurprd04.prod.outlook.com>
Date: Wed, 29 May 2019 11:48:29 +0000
From: Peng Fan <peng.fan@....com>
To: Peng Fan <peng.fan@....com>,
"srinivas.kandagatla@...aro.org" <srinivas.kandagatla@...aro.org>,
"robh+dt@...nel.org" <robh+dt@...nel.org>,
"shawnguo@...nel.org" <shawnguo@...nel.org>,
"mark.rutland@....com" <mark.rutland@....com>,
"s.hauer@...gutronix.de" <s.hauer@...gutronix.de>,
"kernel@...gutronix.de" <kernel@...gutronix.de>
CC: "festevam@...il.com" <festevam@...il.com>,
dl-linux-imx <linux-imx@....com>,
"devicetree@...r.kernel.org" <devicetree@...r.kernel.org>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: RE: [RFC 1/2] dt-bindings: imx-ocotp: Add fusable-node property
Hi Rob, Srinivas
> Subject: [RFC 1/2] dt-bindings: imx-ocotp: Add fusable-node property
Do you have any comments about this patch?
Thanks,
Peng.
>
> 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@....com>
> ---
>
> 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.
>
> Thanks.
>
> Documentation/devicetree/bindings/nvmem/imx-ocotp.txt | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/nvmem/imx-ocotp.txt
> b/Documentation/devicetree/bindings/nvmem/imx-ocotp.txt
> index 7a999a135e56..e9a998588dbd 100644
> --- a/Documentation/devicetree/bindings/nvmem/imx-ocotp.txt
> +++ b/Documentation/devicetree/bindings/nvmem/imx-ocotp.txt
> @@ -21,6 +21,8 @@ Required properties:
>
> Optional properties:
> - read-only: disable write access
> +- fusable-node: array of phandles with reg base and bit offset, this
> + property is used by Firmware to runtime disable nodes.
>
> Optional Child nodes:
>
> @@ -42,4 +44,7 @@ Example:
> tempmon_temp_grade: temp-grade@20 {
> reg = <0x20 4>;
> };
> +
> + fusable-node = <&usdhc1 0x10 4
> + &usdhc2 0x10 5>;
> };
> --
> 2.16.4
Powered by blists - more mailing lists