ARM64: dts: rk3399: support cluster idle feature
authortony.xie <tony.xie@rock-chips.com>
Mon, 12 Sep 2016 06:24:44 +0000 (14:24 +0800)
committerHuang, Tao <huangtao@rock-chips.com>
Mon, 7 Nov 2016 03:12:04 +0000 (11:12 +0800)
Add cluster sleep in cpu idle_states for RK3399 SoCs.

Change-Id: I85ea62f9af0d0c61e866a1937f79921d854fd1dc
Signed-off-by: tony.xie <tony.xie@rock-chips.com>
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
arch/arm64/boot/dts/rockchip/rk3399.dtsi

index e9efa42d4b3674a5a100ea1d8d6827830981d89f..1a0297c7a3060393f949470dcbd06f7a5e886eda 100644 (file)
                        #cooling-cells = <2>; /* min followed by max */
                        dynamic-power-coefficient = <100>;
                        clocks = <&cru ARMCLKL>;
-                       cpu-idle-states = <&cpu_sleep>;
+                       cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
                        operating-points-v2 = <&cluster0_opp>;
                        sched-energy-costs = <&CPU_COST_A53 &CLUSTER_COST_A53>;
                };
                        reg = <0x0 0x1>;
                        enable-method = "psci";
                        clocks = <&cru ARMCLKL>;
-                       cpu-idle-states = <&cpu_sleep>;
+                       cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
                        operating-points-v2 = <&cluster0_opp>;
                        sched-energy-costs = <&CPU_COST_A53 &CLUSTER_COST_A53>;
                };
                        reg = <0x0 0x2>;
                        enable-method = "psci";
                        clocks = <&cru ARMCLKL>;
-                       cpu-idle-states = <&cpu_sleep>;
+                       cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
                        operating-points-v2 = <&cluster0_opp>;
                        sched-energy-costs = <&CPU_COST_A53 &CLUSTER_COST_A53>;
                };
                        reg = <0x0 0x3>;
                        enable-method = "psci";
                        clocks = <&cru ARMCLKL>;
-                       cpu-idle-states = <&cpu_sleep>;
+                       cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
                        operating-points-v2 = <&cluster0_opp>;
                        sched-energy-costs = <&CPU_COST_A53 &CLUSTER_COST_A53>;
                };
                        #cooling-cells = <2>; /* min followed by max */
                        dynamic-power-coefficient = <436>;
                        clocks = <&cru ARMCLKB>;
-                       cpu-idle-states = <&cpu_sleep>;
+                       cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
                        operating-points-v2 = <&cluster1_opp>;
                        sched-energy-costs = <&CPU_COST_A72 &CLUSTER_COST_A72>;
                };
                        reg = <0x0 0x101>;
                        enable-method = "psci";
                        clocks = <&cru ARMCLKB>;
-                       cpu-idle-states = <&cpu_sleep>;
+                       cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
                        operating-points-v2 = <&cluster1_opp>;
                        sched-energy-costs = <&CPU_COST_A72 &CLUSTER_COST_A72>;
                };
 
                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>;
                        };
                };