[PATCH v2 01/10] arm64: dts: imx952: Add idle-states node

Peng Fan (OSS) peng.fan at oss.nxp.com
Sun Jan 11 04:40:07 PST 2026


From: Peng Fan <peng.fan at nxp.com>

Add idle-states node and refer it in A55 nodes to enable cpuidle.

Signed-off-by: Peng Fan <peng.fan at nxp.com>
---
 arch/arm64/boot/dts/freescale/imx952.dtsi | 20 +++++++++++++++++++-
 1 file changed, 19 insertions(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/freescale/imx952.dtsi b/arch/arm64/boot/dts/freescale/imx952.dtsi
index 33bde271d394d19407562f2a427a8a84b85bd679..91fe4916ac04d1d6337c2670374865c6f73163ba 100644
--- a/arch/arm64/boot/dts/freescale/imx952.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx952.dtsi
@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: (GPL-2.0-only OR MIT)
 /*
- * Copyright 2025 NXP
+ * Copyright 2025-2026 NXP
  */
 
 #include <dt-bindings/dma/fsl-edma.h>
@@ -50,12 +50,27 @@ cpus {
 		#address-cells = <1>;
 		#size-cells = <0>;
 
+		idle-states {
+			entry-method = "psci";
+
+			cpu_pd_wait: cpu-pd-wait {
+				compatible = "arm,idle-state";
+				arm,psci-suspend-param = <0x0010033>;
+				local-timer-stop;
+				entry-latency-us = <1000>;
+				exit-latency-us = <700>;
+				min-residency-us = <2700>;
+				wakeup-latency-us = <1500>;
+			};
+		};
+
 		A55_0: cpu at 0 {
 			device_type = "cpu";
 			compatible = "arm,cortex-a55";
 			reg = <0x0>;
 			enable-method = "psci";
 			#cooling-cells = <2>;
+			cpu-idle-states = <&cpu_pd_wait>;
 			power-domains = <&scmi_perf IMX952_PERF_A55>;
 			power-domain-names = "perf";
 			i-cache-size = <32768>;
@@ -73,6 +88,7 @@ A55_1: cpu at 100 {
 			reg = <0x100>;
 			enable-method = "psci";
 			#cooling-cells = <2>;
+			cpu-idle-states = <&cpu_pd_wait>;
 			power-domains = <&scmi_perf IMX952_PERF_A55>;
 			power-domain-names = "perf";
 			i-cache-size = <32768>;
@@ -90,6 +106,7 @@ A55_2: cpu at 200 {
 			reg = <0x200>;
 			enable-method = "psci";
 			#cooling-cells = <2>;
+			cpu-idle-states = <&cpu_pd_wait>;
 			power-domains = <&scmi_perf IMX952_PERF_A55>;
 			power-domain-names = "perf";
 			i-cache-size = <32768>;
@@ -107,6 +124,7 @@ A55_3: cpu at 300 {
 			reg = <0x300>;
 			enable-method = "psci";
 			#cooling-cells = <2>;
+			cpu-idle-states = <&cpu_pd_wait>;
 			power-domains = <&scmi_perf IMX952_PERF_A55>;
 			power-domain-names = "perf";
 			i-cache-size = <32768>;

-- 
2.37.1




More information about the linux-arm-kernel mailing list