[RFC] ARM: dts: mt8173: Add psci cpuidle support

From: Howard Chen
Date: Mon Dec 15 2014 - 03:59:07 EST


add device tree for psci-0.2 on mt8173 platform
add device tree for cupidle-arm64 on mt8173 platform

Signed-off-by: Howard Chen <howard.chen@xxxxxxxxxx>
---
arch/arm64/boot/dts/mt8173.dtsi | 51 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 51 insertions(+)

diff --git a/arch/arm64/boot/dts/mt8173.dtsi b/arch/arm64/boot/dts/mt8173.dtsi
index 79b7e46..c5e1127 100644
--- a/arch/arm64/boot/dts/mt8173.dtsi
+++ b/arch/arm64/boot/dts/mt8173.dtsi
@@ -44,6 +44,11 @@
};
};

+ psci {
+ compatible = "arm,psci-0.2";
+ method = "smc";
+ };
+
cpus {
#address-cells = <1>;
#size-cells = <0>;
@@ -54,6 +59,7 @@
reg = <0x000>;
enable-method = "mt-boot";
cpu-release-addr = <0x0 0x40000200>;
+ cpu-idle-states = <&CPU_SLEEP_1_0 &CLUSTER_SLEEP_1>;
};

cpu1: cpu@1 {
@@ -62,6 +68,7 @@
reg = <0x001>;
enable-method = "mt-boot";
cpu-release-addr = <0x0 0x40000200>;
+ cpu-idle-states = <&CPU_SLEEP_1_0 &CLUSTER_SLEEP_1>;
};

cpu2: cpu@2 {
@@ -70,6 +77,7 @@
reg = <0x100>;
enable-method = "mt-boot";
cpu-release-addr = <0x0 0x40000200>;
+ cpu-idle-states = <&CPU_SLEEP_0_0 &CLUSTER_SLEEP_0>;
};

cpu3: cpu@3 {
@@ -78,8 +86,51 @@
reg = <0x101>;
enable-method = "mt-boot";
cpu-release-addr = <0x0 0x40000200>;
+ cpu-idle-states = <&CPU_SLEEP_0_0 &CLUSTER_SLEEP_0>;
};

+ idle-states {
+ entry-method = "arm,psci-0.2";
+
+ CPU_SLEEP_0_0: cpu-sleep-0-0 {
+ compatible = "arm,idle-state";
+ local-timer-stop;
+ arm,psci-suspend-param = <0x0010000>;
+ entry-latency-us = <250>;
+ exit-latency-us = <500>;
+ min-residency-us = <950>;
+ };
+
+ CLUSTER_SLEEP_0: cluster-sleep-0 {
+ compatible = "arm,idle-state";
+ local-timer-stop;
+ arm,psci-suspend-param = <0x1010000>;
+ entry-latency-us = <600>;
+ exit-latency-us = <1100>;
+ min-residency-us = <2700>;
+ wakeup-latency-us = <1500>;
+ };
+
+ CPU_SLEEP_1_0: cpu-sleep-1-0 {
+ compatible = "arm,idle-state";
+ local-timer-stop;
+ arm,psci-suspend-param = <0x0010000>;
+ entry-latency-us = <70>;
+ exit-latency-us = <100>;
+ min-residency-us = <300>;
+ wakeup-latency-us = <150>;
+ };
+
+ CLUSTER_SLEEP_1: cluster-sleep-1 {
+ compatible = "arm,idle-state";
+ local-timer-stop;
+ arm,psci-suspend-param = <0x1010000>;
+ entry-latency-us = <500>;
+ exit-latency-us = <1200>;
+ min-residency-us = <3500>;
+ wakeup-latency-us = <1300>;
+ };
+ };
};

clocks {
--
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/