aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVincent Guittot <vincent.guittot@linaro.org>2017-08-30 19:39:14 +0200
committerVincent Guittot <vincent.guittot@linaro.org>2017-08-30 19:39:14 +0200
commitfdb6ef00b353e01331ecf1e4a768d1439280ab0a (patch)
treed66ec592a9a1f80c74c815c6027fa228b545d8f0
parent9c5b2667dad94497514f86762c0d88ad2267a1bd (diff)
create fake cluster & cpu retention statert-instr-psci
Signed-off-by: Vincent Guittot <vincent.guittot@linaro.org>
-rw-r--r--arch/arm64/boot/dts/hisilicon/hi6220.dtsi40
1 files changed, 32 insertions, 8 deletions
diff --git a/arch/arm64/boot/dts/hisilicon/hi6220.dtsi b/arch/arm64/boot/dts/hisilicon/hi6220.dtsi
index eacbe0db5bc2..d36b8c7f2ba8 100644
--- a/arch/arm64/boot/dts/hisilicon/hi6220.dtsi
+++ b/arch/arm64/boot/dts/hisilicon/hi6220.dtsi
@@ -59,6 +59,15 @@
idle-states {
entry-method = "psci";
+ CPU_STDBY: cpu-standby {
+ compatible = "arm,idle-state";
+ local-timer-stop;
+ arm,psci-suspend-param = <0x0000000>;
+ entry-latency-us = <70>;
+ exit-latency-us = <25>;
+ min-residency-us = <100>;
+ };
+
CPU_SLEEP: cpu-sleep {
compatible = "arm,idle-state";
local-timer-stop;
@@ -68,6 +77,16 @@
min-residency-us = <1000>;
};
+ CLUSTER_RET: cluster-ret {
+ compatible = "arm,idle-state";
+ local-timer-stop;
+ arm,psci-suspend-param = <0x1000000>;
+ entry-latency-us = <800>;
+ exit-latency-us = <100>;
+ min-residency-us = <2000>;
+ wakeup-latency-us = <1500>;
+ };
+
CLUSTER_SLEEP: cluster-sleep {
compatible = "arm,idle-state";
local-timer-stop;
@@ -90,7 +109,7 @@
cooling-min-level = <4>;
cooling-max-level = <0>;
#cooling-cells = <2>; /* min followed by max */
- cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
+ cpu-idle-states = <&CPU_STDBY &CLUSTER_RET>;
dynamic-power-coefficient = <311>;
};
@@ -101,7 +120,7 @@
enable-method = "psci";
next-level-cache = <&CLUSTER0_L2>;
operating-points-v2 = <&cpu_opp_table>;
- cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
+ cpu-idle-states = <&CPU_STDBY &CLUSTER_RET>;
};
cpu2: cpu@2 {
@@ -111,7 +130,7 @@
enable-method = "psci";
next-level-cache = <&CLUSTER0_L2>;
operating-points-v2 = <&cpu_opp_table>;
- cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
+ cpu-idle-states = <&CPU_STDBY &CLUSTER_RET>;
};
cpu3: cpu@3 {
@@ -121,7 +140,8 @@
enable-method = "psci";
next-level-cache = <&CLUSTER0_L2>;
operating-points-v2 = <&cpu_opp_table>;
- cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
+ operating-points-v2 = <&cpu_opp_table>;
+ cpu-idle-states = <&CPU_STDBY &CLUSTER_RET>;
};
cpu4: cpu@100 {
@@ -131,7 +151,8 @@
enable-method = "psci";
next-level-cache = <&CLUSTER1_L2>;
operating-points-v2 = <&cpu_opp_table>;
- cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
+ operating-points-v2 = <&cpu_opp_table>;
+ cpu-idle-states = <&CPU_STDBY &CLUSTER_RET>;
};
cpu5: cpu@101 {
@@ -141,7 +162,8 @@
enable-method = "psci";
next-level-cache = <&CLUSTER1_L2>;
operating-points-v2 = <&cpu_opp_table>;
- cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
+ operating-points-v2 = <&cpu_opp_table>;
+ cpu-idle-states = <&CPU_STDBY &CLUSTER_RET>;
};
cpu6: cpu@102 {
@@ -151,7 +173,8 @@
enable-method = "psci";
next-level-cache = <&CLUSTER1_L2>;
operating-points-v2 = <&cpu_opp_table>;
- cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
+ operating-points-v2 = <&cpu_opp_table>;
+ cpu-idle-states = <&CPU_STDBY &CLUSTER_RET>;
};
cpu7: cpu@103 {
@@ -161,7 +184,8 @@
enable-method = "psci";
next-level-cache = <&CLUSTER1_L2>;
operating-points-v2 = <&cpu_opp_table>;
- cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
+ operating-points-v2 = <&cpu_opp_table>;
+ cpu-idle-states = <&CPU_STDBY &CLUSTER_RET>;
};
CLUSTER0_L2: l2-cache0 {