Thread (16 messages) 16 messages, 3 authors, 2019-09-27

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 it
RCPM
quoted
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 + 1
entries).
quoted
quoted
quoted
quoted
#fsl,rcpm-wakeup-cells is the number of IPPDEXPCR registers on an
SoC.
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 can
just 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).
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 IPPDEXPCR
registers).
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
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help