Commit 39a71db1 authored by Yuantian Tang's avatar Yuantian Tang Committed by 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: default avatarTang Yuantian <andy.tang@nxp.com>
Signed-off-by: default avatarShawn Guo <shawnguo@kernel.org>
parent 5334e1a2
......@@ -53,6 +53,7 @@ cpu0: cpu@0 {
compatible = "arm,cortex-a57";
reg = <0x0>;
clocks = <&clockgen 1 0>;
cpu-idle-states = <&CPU_PW20>;
next-level-cache = <&cluster0_l2>;
#cooling-cells = <2>;
};
......@@ -62,6 +63,7 @@ cpu1: cpu@1 {
compatible = "arm,cortex-a57";
reg = <0x1>;
clocks = <&clockgen 1 0>;
cpu-idle-states = <&CPU_PW20>;
next-level-cache = <&cluster0_l2>;
};
......@@ -70,6 +72,7 @@ cpu2: cpu@100 {
compatible = "arm,cortex-a57";
reg = <0x100>;
clocks = <&clockgen 1 1>;
cpu-idle-states = <&CPU_PW20>;
next-level-cache = <&cluster1_l2>;
#cooling-cells = <2>;
};
......@@ -79,6 +82,7 @@ cpu3: cpu@101 {
compatible = "arm,cortex-a57";
reg = <0x101>;
clocks = <&clockgen 1 1>;
cpu-idle-states = <&CPU_PW20>;
next-level-cache = <&cluster1_l2>;
};
......@@ -87,6 +91,7 @@ cpu4: cpu@200 {
compatible = "arm,cortex-a57";
reg = <0x200>;
clocks = <&clockgen 1 2>;
cpu-idle-states = <&CPU_PW20>;
next-level-cache = <&cluster2_l2>;
#cooling-cells = <2>;
};
......@@ -96,6 +101,7 @@ cpu5: cpu@201 {
compatible = "arm,cortex-a57";
reg = <0x201>;
clocks = <&clockgen 1 2>;
cpu-idle-states = <&CPU_PW20>;
next-level-cache = <&cluster2_l2>;
};
......@@ -105,6 +111,7 @@ cpu6: cpu@300 {
reg = <0x300>;
clocks = <&clockgen 1 3>;
next-level-cache = <&cluster3_l2>;
cpu-idle-states = <&CPU_PW20>;
#cooling-cells = <2>;
};
......@@ -113,6 +120,7 @@ cpu7: cpu@301 {
compatible = "arm,cortex-a57";
reg = <0x301>;
clocks = <&clockgen 1 3>;
cpu-idle-states = <&CPU_PW20>;
next-level-cache = <&cluster3_l2>;
};
......@@ -131,6 +139,15 @@ cluster2_l2: l2-cache2 {
cluster3_l2: l2-cache3 {
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 {
......
......@@ -53,6 +53,7 @@ cpu0: cpu@0 {
compatible = "arm,cortex-a72";
reg = <0x0>;
clocks = <&clockgen 1 0>;
cpu-idle-states = <&CPU_PW20>;
next-level-cache = <&cluster0_l2>;
#cooling-cells = <2>;
};
......@@ -62,6 +63,7 @@ cpu1: cpu@1 {
compatible = "arm,cortex-a72";
reg = <0x1>;
clocks = <&clockgen 1 0>;
cpu-idle-states = <&CPU_PW20>;
next-level-cache = <&cluster0_l2>;
};
......@@ -70,6 +72,7 @@ cpu2: cpu@100 {
compatible = "arm,cortex-a72";
reg = <0x100>;
clocks = <&clockgen 1 1>;
cpu-idle-states = <&CPU_PW20>;
next-level-cache = <&cluster1_l2>;
#cooling-cells = <2>;
};
......@@ -79,6 +82,7 @@ cpu3: cpu@101 {
compatible = "arm,cortex-a72";
reg = <0x101>;
clocks = <&clockgen 1 1>;
cpu-idle-states = <&CPU_PW20>;
next-level-cache = <&cluster1_l2>;
};
......@@ -88,6 +92,7 @@ cpu4: cpu@200 {
reg = <0x200>;
clocks = <&clockgen 1 2>;
next-level-cache = <&cluster2_l2>;
cpu-idle-states = <&CPU_PW20>;
#cooling-cells = <2>;
};
......@@ -96,6 +101,7 @@ cpu5: cpu@201 {
compatible = "arm,cortex-a72";
reg = <0x201>;
clocks = <&clockgen 1 2>;
cpu-idle-states = <&CPU_PW20>;
next-level-cache = <&cluster2_l2>;
};
......@@ -104,6 +110,7 @@ cpu6: cpu@300 {
compatible = "arm,cortex-a72";
reg = <0x300>;
clocks = <&clockgen 1 3>;
cpu-idle-states = <&CPU_PW20>;
next-level-cache = <&cluster3_l2>;
#cooling-cells = <2>;
};
......@@ -113,6 +120,7 @@ cpu7: cpu@301 {
compatible = "arm,cortex-a72";
reg = <0x301>;
clocks = <&clockgen 1 3>;
cpu-idle-states = <&CPU_PW20>;
next-level-cache = <&cluster3_l2>;
};
......@@ -131,6 +139,15 @@ cluster2_l2: l2-cache2 {
cluster3_l2: l2-cache3 {
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 {
......
......@@ -125,6 +125,11 @@ pmu {
interrupts = <1 7 0x8>; /* PMU PPI, Level low type */
};
psci {
compatible = "arm,psci-0.2";
method = "smc";
};
soc {
compatible = "simple-bus";
#address-cells = <2>;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment