RE: [v3,3/3] Documentation: dt: binding: fsl: Add 'fsl,ippdexpcr-alt-addr' property
From: Biwen Li <hidden>
Date: 2019-09-25 03:47:24
Also in:
linux-arm-kernel, linux-devicetree, lkml
quoted
quoted
quoted
quoted
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.txt b/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 itRCPMquoted
quoted
quoted
quoted
quoted
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 + 1entries).quoted
quoted
quoted
quoted
#fsl,rcpm-wakeup-cells is the number of IPPDEXPCR registers on anSoC.quoted
quoted
quoted
quoted
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 forIPPDEXPCR1).quoted
quoted
quoted
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 IPPDEXPCRregisters).quoted
quoted
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.You maybe like this: fsl,ippdexpcr-alt-addr = <&scfg 0x51c>;/* SCFG_SPARECR8 */No. The #address-cell for the soc/ is 2, so the offset to scfg should be 0x0 0x51c. The total size should be 3, but it shouldn't be coming from #fsl,rcpm-wakeup-cells like you mentioned in the binding.
Oh, I got it. You want that fsl,ippdexpcr-alt-add is relative with #address-cells instead of #fsl,rcpm-wakeup-cells.
quoted
quoted
quoted
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+";quoted
quoted
quoted
quoted
+ 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