From: Biwen Li <redacted>
The 'fsl,ippdexpcr1-alt-reg' property is used to handle an errata A-008646
on LS1021A.
Signed-off-by: Biwen Li <redacted>
Signed-off-by: Ran Wang <redacted>
---
Change in v3:
- Simplize related proterty definition and rename it.
Change in v2:
- None
Documentation/devicetree/bindings/soc/fsl/rcpm.txt | 12 ++++++++++++
1 file changed, 12 insertions(+)
@@ -34,6 +34,9 @@ Chassis Version Example Chips Optional properties: - little-endian : RCPM register block is Little Endian. Without it RCPM will be Big Endian (default case).+ - fsl,ippdexpcr1-alt-reg : The property is trying to workaround a+ hardware issue (found on SoC LS1021A only), if pressent, RCPM driver+ will use SCFG_SPARECR8 as a shadow register for RCPM_IPPDEXPCR1. Example: The RCPM node for T4240:
@@ -43,6 +46,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,ippdexpcr1-alt-reg;+ };++ * Freescale RCPM Wakeup Source Device Tree Bindings ------------------------------------------- Required fsl,rcpm-wakeup property should be added to a device node if the device
The data of property 'fsl,rcpm-wakeup' is not corrcet, which causing
RCPM driver incorrectly program register IPPDEXPCR1, then flextimer is
wrongly clock gated during system suspend, can't send interrupt to
wake.
Signed-off-by: Ran Wang <redacted>
Acked-by: Li Yang <redacted>
---
Change in v3:
- None
Change in v2:
- None
arch/arm/boot/dts/ls1021a.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
From: Biwen Li <redacted>
Hardware issue:
- Reading register RCPM_IPPDEXPCR1 always return zero, this causes
system firmware could not get correct information and wrongly do
clock gating for all wakeup source IP during system suspend. Then
those IPs will never get chance to wake system.
Workaround:
- Copy register RCPM_IPPDEXPCR1's setting to register SCFG_SPARECR8
to allow system firmware's psci method read it and do things accordingly.
Signed-off-by: Biwen Li <redacted>
Signed-off-by: Ran Wang <redacted>
---
Change in v3:
- Add copy_ippdexpcr1_setting(), simplize workaournd's implementation
according to binding update.
- Minor update on commit message.
Change in v2:
- Update commit message to be more clear.
- Replace device_property_read_u32_array() with syscon_regmap_lookup_by_phandle_args()
to make code simpler.
drivers/soc/fsl/rcpm.c | 35 ++++++++++++++++++++++++++++++++++-
1 file changed, 34 insertions(+), 1 deletion(-)
The range of dcfg reg is wrong, which overlap with other device,
such as rcpm. This issue causing rcpm driver failed to claim
reg resource when calling devm_ioremap_resource().
Signed-off-by: Ran Wang <redacted>
Acked-by: Li Yang <redacted>
---
Change in v3:
- None
Change in v2:
- None
arch/arm/boot/dts/ls1021a.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
From: Biwen Li <redacted>
The patch fixes a bug that FlexTimer cannot
wakeup system in deep sleep.
Signed-off-by: Biwen Li <redacted>
Signed-off-by: Ran Wang <redacted>
---
Change in v3:
- Update proterty according to binding and driver change.
Change in v2:
- Change subject of commit message to be consistent with other related patches.
arch/arm/boot/dts/ls1021a.dtsi | 1 +
1 file changed, 1 insertion(+)
Hi Rob,
On Tuesday, September 29, 2020 4:23 PM, Ran Wang wrote:
From: Biwen Li <redacted>
The 'fsl,ippdexpcr1-alt-reg' property is used to handle an errata A-008646 on
LS1021A.
Signed-off-by: Biwen Li <redacted>
Signed-off-by: Ran Wang <redacted>
---
Change in v3:
- Simplize related proterty definition and rename it.
Could you please comment for this version? Thanks in advance.
Regards,
Ran
@@ -34,6 +34,9 @@ Chassis Version Example Chips Optional properties: - little-endian : RCPM register block is Little Endian. Without it RCPM will be Big Endian (default case).+ - fsl,ippdexpcr1-alt-reg : The property is trying to workaround a+ hardware issue (found on SoC LS1021A only), if pressent, RCPM driver+ will use SCFG_SPARECR8 as a shadow register for RCPM_IPPDEXPCR1. Example: The RCPM node for T4240:
@@ -43,6 +46,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,ippdexpcr1-alt-reg;+ };++ * Freescale RCPM Wakeup Source Device Tree Bindings ------------------------------------------- Required fsl,rcpm-wakeup property should be added to a device node if the