]> git.baikalelectronics.ru Git - arm-tf.git/commitdiff
fdts: tc0: add support for cpu-idle-states
authorUsama Arif <usama.arif@arm.com>
Wed, 12 Aug 2020 16:14:37 +0000 (17:14 +0100)
committerUsama Arif <usama.arif@arm.com>
Thu, 27 Aug 2020 10:52:21 +0000 (11:52 +0100)
This includes both cpu and cluster sleep parameters.

Change-Id: I6a9e90b88508d6d2acd2538007cbbdd1cf976442
Signed-off-by: Usama Arif <usama.arif@arm.com>
fdts/tc0.dts

index 140f47f8283478624524c21fb6b31bda2cfce3a9..cab39a7709a5bbdd0afb5753fe4afd82b6d14c12 100644 (file)
                        };
                };
 
+               /*
+                * The timings below are just to demonstrate working cpuidle.
+                * These values may be inaccurate.
+                */
+               idle-states {
+                       entry-method = "arm,psci";
+
+                       CPU_SLEEP_0: cpu-sleep-0 {
+                               compatible = "arm,idle-state";
+                               arm,psci-suspend-param = <0x0010000>;
+                               local-timer-stop;
+                               entry-latency-us = <300>;
+                               exit-latency-us = <1200>;
+                               min-residency-us = <2000>;
+                       };
+                       CLUSTER_SLEEP_0: cluster-sleep-0 {
+                               compatible = "arm,idle-state";
+                               arm,psci-suspend-param = <0x1010000>;
+                               local-timer-stop;
+                               entry-latency-us = <400>;
+                               exit-latency-us = <1200>;
+                               min-residency-us = <2500>;
+                       };
+               };
+
                CPU0:cpu@0 {
                        device_type = "cpu";
                        compatible = "arm,armv8";
                        reg = <0x0>;
                        enable-method = "psci";
                        clocks = <&scmi_dvfs 0>;
+                       cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>;
                };
 
                CPU1:cpu@100 {
@@ -55,6 +81,7 @@
                        reg = <0x100>;
                        enable-method = "psci";
                        clocks = <&scmi_dvfs 0>;
+                       cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>;
                };
 
                CPU2:cpu@200 {
@@ -63,6 +90,7 @@
                        reg = <0x200>;
                        enable-method = "psci";
                        clocks = <&scmi_dvfs 0>;
+                       cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>;
                };
 
                CPU3:cpu@300 {
@@ -71,6 +99,7 @@
                        reg = <0x300>;
                        enable-method = "psci";
                        clocks = <&scmi_dvfs 0>;
+                       cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>;
                };
 
        };