arm64: dts: rockchip: support cluster idle feature for rk3366
authortony.xie <tony.xie@rock-chips.com>
Mon, 24 Jul 2017 06:29:20 +0000 (14:29 +0800)
committerHuang, Tao <huangtao@rock-chips.com>
Tue, 1 Aug 2017 06:28:57 +0000 (14:28 +0800)
1) Add cluster sleep mode in cpu idle_states for RK3366 SoCs.
2) Modify cpu idle parameter.

Change-Id: I538c0bead8642c3642448edfe9971a3b09e919e0
Signed-off-by: Tony Xie <tony.xie@rock-chips.com>
arch/arm64/boot/dts/rockchip/rk3366.dtsi

index 47388e8cdb13ce0130aaf8c5547e627bd9bab438..434448b607c17a7a63232692189b12336da75011 100644 (file)
@@ -83,7 +83,7 @@
                        enable-method = "psci";
                        clocks = <&cru ARMCLK>;
                        operating-points-v2 = <&cpu0_opp_table>;
-                       cpu-idle-states = <&cpu_sleep>;
+                       cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
                        #cooling-cells = <2>; /* min followed by max */
                        dynamic-power-coefficient = <166>;
                };
@@ -94,7 +94,7 @@
                        reg = <0x0 0x1>;
                        enable-method = "psci";
                        operating-points-v2 = <&cpu0_opp_table>;
-                       cpu-idle-states = <&cpu_sleep>;
+                       cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
                };
 
                cpu2: cpu@2 {
                        reg = <0x0 0x2>;
                        enable-method = "psci";
                        operating-points-v2 = <&cpu0_opp_table>;
-                       cpu-idle-states = <&cpu_sleep>;
+                       cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
                };
 
                cpu3: cpu@3 {
                        reg = <0x0 0x3>;
                        enable-method = "psci";
                        operating-points-v2 = <&cpu0_opp_table>;
-                       cpu-idle-states = <&cpu_sleep>;
+                       cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
                };
 
                idle-states {
                        entry-method = "psci";
-                       cpu_sleep: cpu-sleep-0 {
+
+                       CPU_SLEEP: cpu-sleep {
                                compatible = "arm,idle-state";
                                local-timer-stop;
                                arm,psci-suspend-param = <0x0010000>;
-                               entry-latency-us = <350>;
-                               exit-latency-us = <600>;
-                               min-residency-us = <1150>;
+                               entry-latency-us = <120>;
+                               exit-latency-us = <250>;
+                               min-residency-us = <900>;
+                       };
+
+                       CLUSTER_SLEEP: cluster-sleep {
+                               compatible = "arm,idle-state";
+                               local-timer-stop;
+                               arm,psci-suspend-param = <0x1010000>;
+                               entry-latency-us = <400>;
+                               exit-latency-us = <500>;
+                               min-residency-us = <2000>;
                        };
                };
        };