Skip to content

Commit 8ed4636

Browse files
orenbhgclement
authored andcommitted
arm64: dts: marvell: add CPU Idle power state support on Armada 7K/8K
This patch adds CPU deep Idle and Cluster deep Idle states BUT it defines the idle state for each cpu (defined under cpu-idle-states parameter) only for the quad version therefore it does NOT activate CPU Idle capability for the other version. [gregory: extract from a larger patch] Signed-off-by: orenbh <orenbh@marvell.com> Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
1 parent 92e5d4e commit 8ed4636

File tree

2 files changed

+31
-0
lines changed

2 files changed

+31
-0
lines changed

arch/arm64/boot/dts/marvell/armada-ap806-quad.dtsi

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,24 +20,28 @@
2020
compatible = "arm,cortex-a72", "arm,armv8";
2121
reg = <0x000>;
2222
enable-method = "psci";
23+
cpu-idle-states = <&CPU_SLEEP_0>;
2324
};
2425
cpu1: cpu@1 {
2526
device_type = "cpu";
2627
compatible = "arm,cortex-a72", "arm,armv8";
2728
reg = <0x001>;
2829
enable-method = "psci";
30+
cpu-idle-states = <&CPU_SLEEP_0>;
2931
};
3032
cpu2: cpu@100 {
3133
device_type = "cpu";
3234
compatible = "arm,cortex-a72", "arm,armv8";
3335
reg = <0x100>;
3436
enable-method = "psci";
37+
cpu-idle-states = <&CPU_SLEEP_0>;
3538
};
3639
cpu3: cpu@101 {
3740
device_type = "cpu";
3841
compatible = "arm,cortex-a72", "arm,armv8";
3942
reg = <0x101>;
4043
enable-method = "psci";
44+
cpu-idle-states = <&CPU_SLEEP_0>;
4145
};
4246
};
4347
};

arch/arm64/boot/dts/marvell/armada-ap806.dtsi

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,33 @@
2828
method = "smc";
2929
};
3030

31+
cpus {
32+
#address-cells = <1>;
33+
#size-cells = <0>;
34+
35+
idle_states {
36+
entry_method = "arm,pcsi";
37+
38+
CPU_SLEEP_0: cpu-sleep-0 {
39+
compatible = "arm,idle-state";
40+
local-timer-stop;
41+
arm,psci-suspend-param = <0x0010000>;
42+
entry-latency-us = <80>;
43+
exit-latency-us = <160>;
44+
min-residency-us = <320>;
45+
};
46+
47+
CLUSTER_SLEEP_0: cluster-sleep-0 {
48+
compatible = "arm,idle-state";
49+
local-timer-stop;
50+
arm,psci-suspend-param = <0x1010000>;
51+
entry-latency-us = <500>;
52+
exit-latency-us = <1000>;
53+
min-residency-us = <2500>;
54+
};
55+
};
56+
};
57+
3158
ap806 {
3259
#address-cells = <2>;
3360
#size-cells = <2>;

0 commit comments

Comments
 (0)