提交 39a71db1 编写于 作者: Y Yuantian Tang 提交者: Shawn Guo

arm64: dts: ls208xa: add cpu idle support

ls208xa supports another cpu idle state which is pw20 which saves
more power when cpu is idle.
It was implemented through psci firmware.
Signed-off-by: NTang Yuantian <andy.tang@nxp.com>
Signed-off-by: NShawn Guo <shawnguo@kernel.org>
上级 5334e1a2
...@@ -53,6 +53,7 @@ ...@@ -53,6 +53,7 @@
compatible = "arm,cortex-a57"; compatible = "arm,cortex-a57";
reg = <0x0>; reg = <0x0>;
clocks = <&clockgen 1 0>; clocks = <&clockgen 1 0>;
cpu-idle-states = <&CPU_PW20>;
next-level-cache = <&cluster0_l2>; next-level-cache = <&cluster0_l2>;
#cooling-cells = <2>; #cooling-cells = <2>;
}; };
...@@ -62,6 +63,7 @@ ...@@ -62,6 +63,7 @@
compatible = "arm,cortex-a57"; compatible = "arm,cortex-a57";
reg = <0x1>; reg = <0x1>;
clocks = <&clockgen 1 0>; clocks = <&clockgen 1 0>;
cpu-idle-states = <&CPU_PW20>;
next-level-cache = <&cluster0_l2>; next-level-cache = <&cluster0_l2>;
}; };
...@@ -70,6 +72,7 @@ ...@@ -70,6 +72,7 @@
compatible = "arm,cortex-a57"; compatible = "arm,cortex-a57";
reg = <0x100>; reg = <0x100>;
clocks = <&clockgen 1 1>; clocks = <&clockgen 1 1>;
cpu-idle-states = <&CPU_PW20>;
next-level-cache = <&cluster1_l2>; next-level-cache = <&cluster1_l2>;
#cooling-cells = <2>; #cooling-cells = <2>;
}; };
...@@ -79,6 +82,7 @@ ...@@ -79,6 +82,7 @@
compatible = "arm,cortex-a57"; compatible = "arm,cortex-a57";
reg = <0x101>; reg = <0x101>;
clocks = <&clockgen 1 1>; clocks = <&clockgen 1 1>;
cpu-idle-states = <&CPU_PW20>;
next-level-cache = <&cluster1_l2>; next-level-cache = <&cluster1_l2>;
}; };
...@@ -87,6 +91,7 @@ ...@@ -87,6 +91,7 @@
compatible = "arm,cortex-a57"; compatible = "arm,cortex-a57";
reg = <0x200>; reg = <0x200>;
clocks = <&clockgen 1 2>; clocks = <&clockgen 1 2>;
cpu-idle-states = <&CPU_PW20>;
next-level-cache = <&cluster2_l2>; next-level-cache = <&cluster2_l2>;
#cooling-cells = <2>; #cooling-cells = <2>;
}; };
...@@ -96,6 +101,7 @@ ...@@ -96,6 +101,7 @@
compatible = "arm,cortex-a57"; compatible = "arm,cortex-a57";
reg = <0x201>; reg = <0x201>;
clocks = <&clockgen 1 2>; clocks = <&clockgen 1 2>;
cpu-idle-states = <&CPU_PW20>;
next-level-cache = <&cluster2_l2>; next-level-cache = <&cluster2_l2>;
}; };
...@@ -105,6 +111,7 @@ ...@@ -105,6 +111,7 @@
reg = <0x300>; reg = <0x300>;
clocks = <&clockgen 1 3>; clocks = <&clockgen 1 3>;
next-level-cache = <&cluster3_l2>; next-level-cache = <&cluster3_l2>;
cpu-idle-states = <&CPU_PW20>;
#cooling-cells = <2>; #cooling-cells = <2>;
}; };
...@@ -113,6 +120,7 @@ ...@@ -113,6 +120,7 @@
compatible = "arm,cortex-a57"; compatible = "arm,cortex-a57";
reg = <0x301>; reg = <0x301>;
clocks = <&clockgen 1 3>; clocks = <&clockgen 1 3>;
cpu-idle-states = <&CPU_PW20>;
next-level-cache = <&cluster3_l2>; next-level-cache = <&cluster3_l2>;
}; };
...@@ -131,6 +139,15 @@ ...@@ -131,6 +139,15 @@
cluster3_l2: l2-cache3 { cluster3_l2: l2-cache3 {
compatible = "cache"; compatible = "cache";
}; };
CPU_PW20: cpu-pw20 {
compatible = "arm,idle-state";
idle-state-name = "PW20";
arm,psci-suspend-param = <0x00010000>;
entry-latency-us = <2000>;
exit-latency-us = <2000>;
min-residency-us = <6000>;
};
}; };
&pcie1 { &pcie1 {
......
...@@ -53,6 +53,7 @@ ...@@ -53,6 +53,7 @@
compatible = "arm,cortex-a72"; compatible = "arm,cortex-a72";
reg = <0x0>; reg = <0x0>;
clocks = <&clockgen 1 0>; clocks = <&clockgen 1 0>;
cpu-idle-states = <&CPU_PW20>;
next-level-cache = <&cluster0_l2>; next-level-cache = <&cluster0_l2>;
#cooling-cells = <2>; #cooling-cells = <2>;
}; };
...@@ -62,6 +63,7 @@ ...@@ -62,6 +63,7 @@
compatible = "arm,cortex-a72"; compatible = "arm,cortex-a72";
reg = <0x1>; reg = <0x1>;
clocks = <&clockgen 1 0>; clocks = <&clockgen 1 0>;
cpu-idle-states = <&CPU_PW20>;
next-level-cache = <&cluster0_l2>; next-level-cache = <&cluster0_l2>;
}; };
...@@ -70,6 +72,7 @@ ...@@ -70,6 +72,7 @@
compatible = "arm,cortex-a72"; compatible = "arm,cortex-a72";
reg = <0x100>; reg = <0x100>;
clocks = <&clockgen 1 1>; clocks = <&clockgen 1 1>;
cpu-idle-states = <&CPU_PW20>;
next-level-cache = <&cluster1_l2>; next-level-cache = <&cluster1_l2>;
#cooling-cells = <2>; #cooling-cells = <2>;
}; };
...@@ -79,6 +82,7 @@ ...@@ -79,6 +82,7 @@
compatible = "arm,cortex-a72"; compatible = "arm,cortex-a72";
reg = <0x101>; reg = <0x101>;
clocks = <&clockgen 1 1>; clocks = <&clockgen 1 1>;
cpu-idle-states = <&CPU_PW20>;
next-level-cache = <&cluster1_l2>; next-level-cache = <&cluster1_l2>;
}; };
...@@ -88,6 +92,7 @@ ...@@ -88,6 +92,7 @@
reg = <0x200>; reg = <0x200>;
clocks = <&clockgen 1 2>; clocks = <&clockgen 1 2>;
next-level-cache = <&cluster2_l2>; next-level-cache = <&cluster2_l2>;
cpu-idle-states = <&CPU_PW20>;
#cooling-cells = <2>; #cooling-cells = <2>;
}; };
...@@ -96,6 +101,7 @@ ...@@ -96,6 +101,7 @@
compatible = "arm,cortex-a72"; compatible = "arm,cortex-a72";
reg = <0x201>; reg = <0x201>;
clocks = <&clockgen 1 2>; clocks = <&clockgen 1 2>;
cpu-idle-states = <&CPU_PW20>;
next-level-cache = <&cluster2_l2>; next-level-cache = <&cluster2_l2>;
}; };
...@@ -104,6 +110,7 @@ ...@@ -104,6 +110,7 @@
compatible = "arm,cortex-a72"; compatible = "arm,cortex-a72";
reg = <0x300>; reg = <0x300>;
clocks = <&clockgen 1 3>; clocks = <&clockgen 1 3>;
cpu-idle-states = <&CPU_PW20>;
next-level-cache = <&cluster3_l2>; next-level-cache = <&cluster3_l2>;
#cooling-cells = <2>; #cooling-cells = <2>;
}; };
...@@ -113,6 +120,7 @@ ...@@ -113,6 +120,7 @@
compatible = "arm,cortex-a72"; compatible = "arm,cortex-a72";
reg = <0x301>; reg = <0x301>;
clocks = <&clockgen 1 3>; clocks = <&clockgen 1 3>;
cpu-idle-states = <&CPU_PW20>;
next-level-cache = <&cluster3_l2>; next-level-cache = <&cluster3_l2>;
}; };
...@@ -131,6 +139,15 @@ ...@@ -131,6 +139,15 @@
cluster3_l2: l2-cache3 { cluster3_l2: l2-cache3 {
compatible = "cache"; compatible = "cache";
}; };
CPU_PW20: cpu-pw20 {
compatible = "arm,idle-state";
idle-state-name = "PW20";
arm,psci-suspend-param = <0x00010000>;
entry-latency-us = <2000>;
exit-latency-us = <2000>;
min-residency-us = <6000>;
};
}; };
&pcie1 { &pcie1 {
......
...@@ -125,6 +125,11 @@ ...@@ -125,6 +125,11 @@
interrupts = <1 7 0x8>; /* PMU PPI, Level low type */ interrupts = <1 7 0x8>; /* PMU PPI, Level low type */
}; };
psci {
compatible = "arm,psci-0.2";
method = "smc";
};
soc { soc {
compatible = "simple-bus"; compatible = "simple-bus";
#address-cells = <2>; #address-cells = <2>;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册