aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTony Xie <tony.xie@rock-chips.com>2018-08-24 06:03:00 -0400
committerHeiko Stuebner <heiko@sntech.de>2018-08-29 08:23:06 -0400
commitf888da16628c150e23a80e9c24ed76d1cf8a94d2 (patch)
tree317bdad4ad610466a292226b91255d39e82233af
parent99165b93dafe4f2a821b5dae106f2ef6b4ceff7e (diff)
arm64: dts: rockchip: Add idle-states to device tree for rk3399
Add idle-states for cpu and cluster sleep states. Signed-off-by: Tony Xie <tony.xie@rock-chips.com> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
-rw-r--r--arch/arm64/boot/dts/rockchip/rk3399.dtsi28
1 files changed, 28 insertions, 0 deletions
diff --git a/arch/arm64/boot/dts/rockchip/rk3399.dtsi b/arch/arm64/boot/dts/rockchip/rk3399.dtsi
index c88e603396f6..b426902189c0 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3399.dtsi
@@ -74,6 +74,7 @@
74 clocks = <&cru ARMCLKL>; 74 clocks = <&cru ARMCLKL>;
75 #cooling-cells = <2>; /* min followed by max */ 75 #cooling-cells = <2>; /* min followed by max */
76 dynamic-power-coefficient = <100>; 76 dynamic-power-coefficient = <100>;
77 cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
77 }; 78 };
78 79
79 cpu_l1: cpu@1 { 80 cpu_l1: cpu@1 {
@@ -84,6 +85,7 @@
84 clocks = <&cru ARMCLKL>; 85 clocks = <&cru ARMCLKL>;
85 #cooling-cells = <2>; /* min followed by max */ 86 #cooling-cells = <2>; /* min followed by max */
86 dynamic-power-coefficient = <100>; 87 dynamic-power-coefficient = <100>;
88 cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
87 }; 89 };
88 90
89 cpu_l2: cpu@2 { 91 cpu_l2: cpu@2 {
@@ -94,6 +96,7 @@
94 clocks = <&cru ARMCLKL>; 96 clocks = <&cru ARMCLKL>;
95 #cooling-cells = <2>; /* min followed by max */ 97 #cooling-cells = <2>; /* min followed by max */
96 dynamic-power-coefficient = <100>; 98 dynamic-power-coefficient = <100>;
99 cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
97 }; 100 };
98 101
99 cpu_l3: cpu@3 { 102 cpu_l3: cpu@3 {
@@ -104,6 +107,7 @@
104 clocks = <&cru ARMCLKL>; 107 clocks = <&cru ARMCLKL>;
105 #cooling-cells = <2>; /* min followed by max */ 108 #cooling-cells = <2>; /* min followed by max */
106 dynamic-power-coefficient = <100>; 109 dynamic-power-coefficient = <100>;
110 cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
107 }; 111 };
108 112
109 cpu_b0: cpu@100 { 113 cpu_b0: cpu@100 {
@@ -114,6 +118,7 @@
114 clocks = <&cru ARMCLKB>; 118 clocks = <&cru ARMCLKB>;
115 #cooling-cells = <2>; /* min followed by max */ 119 #cooling-cells = <2>; /* min followed by max */
116 dynamic-power-coefficient = <436>; 120 dynamic-power-coefficient = <436>;
121 cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
117 }; 122 };
118 123
119 cpu_b1: cpu@101 { 124 cpu_b1: cpu@101 {
@@ -124,6 +129,29 @@
124 clocks = <&cru ARMCLKB>; 129 clocks = <&cru ARMCLKB>;
125 #cooling-cells = <2>; /* min followed by max */ 130 #cooling-cells = <2>; /* min followed by max */
126 dynamic-power-coefficient = <436>; 131 dynamic-power-coefficient = <436>;
132 cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
133 };
134
135 idle-states {
136 entry-method = "psci";
137
138 CPU_SLEEP: cpu-sleep {
139 compatible = "arm,idle-state";
140 local-timer-stop;
141 arm,psci-suspend-param = <0x0010000>;
142 entry-latency-us = <120>;
143 exit-latency-us = <250>;
144 min-residency-us = <900>;
145 };
146
147 CLUSTER_SLEEP: cluster-sleep {
148 compatible = "arm,idle-state";
149 local-timer-stop;
150 arm,psci-suspend-param = <0x1010000>;
151 entry-latency-us = <400>;
152 exit-latency-us = <500>;
153 min-residency-us = <2000>;
154 };
127 }; 155 };
128 }; 156 };
129 157