From: tony.xie Date: Mon, 12 Sep 2016 06:24:44 +0000 (+0800) Subject: ARM64: dts: rk3399: support cluster idle feature X-Git-Tag: firefly_0821_release~1314 X-Git-Url: http://plrg.eecs.uci.edu/git/?p=firefly-linux-kernel-4.4.55.git;a=commitdiff_plain;h=815a9e704bf02c35eab0ddefe2721a6512b91d31 ARM64: dts: rk3399: support cluster idle feature Add cluster sleep in cpu idle_states for RK3399 SoCs. Change-Id: I85ea62f9af0d0c61e866a1937f79921d854fd1dc Signed-off-by: tony.xie Signed-off-by: Jianqun Xu --- diff --git a/arch/arm64/boot/dts/rockchip/rk3399.dtsi b/arch/arm64/boot/dts/rockchip/rk3399.dtsi index e9efa42d4b36..1a0297c7a306 100644 --- a/arch/arm64/boot/dts/rockchip/rk3399.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3399.dtsi @@ -118,7 +118,7 @@ #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>; }; @@ -129,7 +129,7 @@ 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>; }; @@ -140,7 +140,7 @@ 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>; }; @@ -151,7 +151,7 @@ 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>; }; @@ -164,7 +164,7 @@ #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>; }; @@ -175,20 +175,30 @@ 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>; }; };