[Linux-stm32] [PATCH] arm64: dts: st: add PSCI idle state to STM32MP23 CPU domains
Patrick Delaunay
patrick.delaunay at foss.st.com
Wed Nov 4 13:30:25 CET 2026
Define a PSCI CPU suspend state and reference it from both STM32MP23
CPU power domains.
In OSI mode, PSCI power domains are initialized as off. The idle-state
allows the CPU power-domain governor to manage them, avoiding probe
stalls for devices that depend on the cluster power domain, including
SDMMC1.
Signed-off-by: Patrick Delaunay <patrick.delaunay at foss.st.com>
---
arch/arm64/boot/dts/st/stm32mp231.dtsi | 14 ++++++++++++++
arch/arm64/boot/dts/st/stm32mp233.dtsi | 1 +
2 files changed, 15 insertions(+)
diff --git a/arch/arm64/boot/dts/st/stm32mp231.dtsi b/arch/arm64/boot/dts/st/stm32mp231.dtsi
index fefbf6f4f153..27231e140fbb 100644
--- a/arch/arm64/boot/dts/st/stm32mp231.dtsi
+++ b/arch/arm64/boot/dts/st/stm32mp231.dtsi
@@ -24,6 +24,19 @@ cpu0: cpu at 0 {
power-domains = <&cpu0_pd>;
power-domain-names = "psci";
};
+
+ idle-states {
+ entry-method = "psci";
+
+ cpu_sleep: cpu-sleep {
+ compatible = "arm,idle-state";
+ arm,psci-suspend-param = <0x00000002>;
+ local-timer-stop;
+ entry-latency-us = <150>;
+ exit-latency-us = <200>;
+ min-residency-us = <1000>;
+ };
+ };
};
arm-pmu {
@@ -123,6 +136,7 @@ psci {
cpu0_pd: power-domain-cpu0 {
#power-domain-cells = <0>;
+ domain-idle-states = <&cpu_sleep>;
power-domains = <&cluster_pd>;
};
diff --git a/arch/arm64/boot/dts/st/stm32mp233.dtsi b/arch/arm64/boot/dts/st/stm32mp233.dtsi
index 78f4059fca5d..cebefd99906f 100644
--- a/arch/arm64/boot/dts/st/stm32mp233.dtsi
+++ b/arch/arm64/boot/dts/st/stm32mp233.dtsi
@@ -26,6 +26,7 @@ arm-pmu {
psci {
cpu1_pd: power-domain-cpu1 {
#power-domain-cells = <0>;
+ domain-idle-states = <&cpu_sleep>;
power-domains = <&cluster_pd>;
};
};
---
base-commit: 6628e7d4c6b25c8d18f1345e3a20d21829aae7e4
branch: master
--
2.43.0
More information about the Linux-stm32
mailing list