From fdb6ef00b353e01331ecf1e4a768d1439280ab0a Mon Sep 17 00:00:00 2001 From: Vincent Guittot Date: Wed, 30 Aug 2017 19:39:14 +0200 Subject: create fake cluster & cpu retention state Signed-off-by: Vincent Guittot --- arch/arm64/boot/dts/hisilicon/hi6220.dtsi | 40 ++++++++++++++++++++++++------- 1 file 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 { -- cgit v1.2.3