RE: [v3,3/3] Documentation: dt: binding: fsl: Add 'fsl,ippdexpcr-alt-addr' property
From: Leo Li <hidden>
Date: 2019-09-25 03:26:15
Also in:
linux-arm-kernel, linux-devicetree, lkml
-----Original Message----- From: Biwen Li Sent: Tuesday, September 24, 2019 10:13 PM To: Leo Li <redacted>; shawnguo@kernel.org; robh+dt@kernel.org; mark.rutland@arm.com; Ran Wang [off-list ref] Cc: linuxppc-dev@lists.ozlabs.org; linux-arm-kernel@lists.infradead.org; linux-kernel@vger.kernel.org; devicetree@vger.kernel.org Subject: RE: [v3,3/3] Documentation: dt: binding: fsl: Add 'fsl,ippdexpcr-alt- addr' propertyquoted
quoted
The 'fsl,ippdexpcr-alt-addr' property is used to handle an errata A-008646 on LS1021A Signed-off-by: Biwen Li <redacted> --- Change in v3: - rename property name fsl,rcpm-scfg -> fsl,ippdexpcr-alt-addr Change in v2: - update desc of the property 'fsl,rcpm-scfg' Documentation/devicetree/bindings/soc/fsl/rcpm.txt | 14 ++++++++++++++ 1 file changed, 14 insertions(+)diff --git a/Documentation/devicetree/bindings/soc/fsl/rcpm.txtb/Documentation/devicetree/bindings/soc/fsl/rcpm.txt index 5a33619d881d..157dcf6da17c 100644--- a/Documentation/devicetree/bindings/soc/fsl/rcpm.txt +++ b/Documentation/devicetree/bindings/soc/fsl/rcpm.txt@@ -34,6 +34,11 @@ Chassis Version Example Chips Optional properties: - little-endian : RCPM register block is Little Endian. Without it RCPM will be Big Endian (default case). + - fsl,ippdexpcr-alt-addr : Must add the property for SoC LS1021A,You probably should mention this is related to a hardware issue on LS1021a and only needed on LS1021a.Okay, got it, thanks, I will add this in v4.quoted
quoted
+ Must include n + 1 entries (n = #fsl,rcpm-wakeup-cells, such as: + #fsl,rcpm-wakeup-cells equal to 2, then must include 2 + 1 entries).#fsl,rcpm-wakeup-cells is the number of IPPDEXPCR registers on an SoC. However you are defining an offset to scfg registers here. Why these two are related? The length here should actually be related to the #address-cells of the soc/. But since this is only needed for LS1021, you canjust make it 3. I need set the value of IPPDEXPCR resgiters from ftm_alarm0 device node(fsl,rcpm-wakeup = <&rcpm 0x0 0x20000000>; 0x0 is a value for IPPDEXPCR0, 0x20000000 is a value for IPPDEXPCR1). But because of the hardware issue on LS1021A, I need store the value of IPPDEXPCR registers to an alt address. So I defining an offset to scfg registers, then RCPM driver get an abosolute address from offset, RCPM driver write the value of IPPDEXPCR registers to these abosolute addresses(backup the value of IPPDEXPCR registers).
I understand what you are trying to do. The problem is that the new fsl,ippdexpcr-alt-addr property contains a phandle and an offset. The size of it shouldn't be related to #fsl,rcpm-wakeup-cells.
quoted
quoted
+ The first entry must be a link to the SCFG device node. + The non-first entry must be offset of registers of SCFG. Example: The RCPM node for T4240:@@ -43,6 +48,15 @@ The RCPM node for T4240: #fsl,rcpm-wakeup-cells = <2>; }; +The RCPM node for LS1021A: + rcpm: rcpm@1ee2140 { + compatible = "fsl,ls1021a-rcpm", "fsl,qoriq-rcpm-2.1+"; + reg = <0x0 0x1ee2140 0x0 0x8>; + #fsl,rcpm-wakeup-cells = <2>; + fsl,ippdexpcr-alt-addr = <&scfg 0x0 0x51c>; /*SCFG_SPARECR8 */ + }; + + * Freescale RCPM Wakeup Source Device Tree Bindings ------------------------------------------- Required fsl,rcpm-wakeup property should be added to a device node if the device -- 2.17.1