arm64: dts: enable idle states for Hi6220
authorLeo Yan <leo.yan@linaro.org>
Tue, 12 Apr 2016 23:55:39 +0000 (07:55 +0800)
committerWei Xu <xuwei5@hisilicon.com>
Fri, 15 Apr 2016 15:11:32 +0000 (16:11 +0100)
Add cpu and cluster level's low power state for Hi6220.

Acked-by: Sudeep Holla <sudeep.holla@arm.com>
Signed-off-by: Leo Yan <leo.yan@linaro.org>
Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
arch/arm64/boot/dts/hisilicon/hi6220.dtsi

index b975286195ced74e248e27449fea6c7cc9d15a23..dc7f21a1eed4acf9febe07606d1eabb50d302e9d 100644 (file)
                        };
                };
 
+               idle-states {
+                       entry-method = "psci";
+
+                       CPU_SLEEP: cpu-sleep {
+                               compatible = "arm,idle-state";
+                               local-timer-stop;
+                               arm,psci-suspend-param = <0x0010000>;
+                               entry-latency-us = <700>;
+                               exit-latency-us = <250>;
+                               min-residency-us = <1000>;
+                       };
+
+                       CLUSTER_SLEEP: cluster-sleep {
+                               compatible = "arm,idle-state";
+                               local-timer-stop;
+                               arm,psci-suspend-param = <0x1010000>;
+                               entry-latency-us = <1000>;
+                               exit-latency-us = <700>;
+                               min-residency-us = <2700>;
+                               wakeup-latency-us = <1500>;
+                       };
+               };
+
                cpu0: cpu@0 {
                        compatible = "arm,cortex-a53", "arm,armv8";
                        device_type = "cpu";
                        reg = <0x0 0x0>;
                        enable-method = "psci";
+                       cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
                };
 
                cpu1: cpu@1 {
@@ -65,6 +89,7 @@
                        device_type = "cpu";
                        reg = <0x0 0x1>;
                        enable-method = "psci";
+                       cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
                };
 
                cpu2: cpu@2 {
@@ -72,6 +97,7 @@
                        device_type = "cpu";
                        reg = <0x0 0x2>;
                        enable-method = "psci";
+                       cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
                };
 
                cpu3: cpu@3 {
                        device_type = "cpu";
                        reg = <0x0 0x3>;
                        enable-method = "psci";
+                       cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
                };
 
                cpu4: cpu@100 {
                        device_type = "cpu";
                        reg = <0x0 0x100>;
                        enable-method = "psci";
+                       cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
                };
 
                cpu5: cpu@101 {
                        device_type = "cpu";
                        reg = <0x0 0x101>;
                        enable-method = "psci";
+                       cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
                };
 
                cpu6: cpu@102 {
                        device_type = "cpu";
                        reg = <0x0 0x102>;
                        enable-method = "psci";
+                       cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
                };
 
                cpu7: cpu@103 {
                        device_type = "cpu";
                        reg = <0x0 0x103>;
                        enable-method = "psci";
+                       cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
                };
        };