Re: [v3,3/3] Documentation: dt: binding: fsl: Add 'fsl,ippdexpcr-alt-addr' property
From: Rob Herring <robh@kernel.org>
Date: 2019-09-27 18:28:49
Also in:
linux-arm-kernel, linux-devicetree, lkml
On Wed, Sep 25, 2019 at 03:34:47AM +0000, Leo Li wrote:
quoted
-----Original Message----- From: Biwen Li Sent: Tuesday, September 24, 2019 10:30 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
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.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.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.
Um, no. #address-cells applies to reg and ranges, not some vendor specific property. You can just define how many cells you need if that's fixed. However, I suggested doing this another way in the next version of this. Rob