Define power domain and the power states for the domain as defined by
the PSCI firmware. The 8916 firmware supports OS initiated method of
powering off the CPU clusters.
Cc: <redacted>
Signed-off-by: Lina Iyer <redacted>
---
arch/arm64/boot/dts/qcom/msm8916.dtsi | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/msm8916.dtsi b/arch/arm64/boot/dts/qcom/msm8916.dtsi
index b7839a8..62dade8 100644
--- a/arch/arm64/boot/dts/qcom/msm8916.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8916.dtsi
@@ -63,6 +63,7 @@
reg = <0x0>;
enable-method = "psci";
cpu-idle-states = <&CPU_SPC>;
+ power-domains = <&CPU_PD>;
};
CPU1: cpu@1 {@@ -71,6 +72,7 @@
reg = <0x1>;
enable-method = "psci";
cpu-idle-states = <&CPU_SPC>;
+ power-domains = <&CPU_PD>;
};
CPU2: cpu@2 {@@ -79,6 +81,7 @@
reg = <0x2>;
enable-method = "psci";
cpu-idle-states = <&CPU_SPC>;
+ power-domains = <&CPU_PD>;
};
CPU3: cpu@3 {@@ -87,6 +90,7 @@
reg = <0x3>;
enable-method = "psci";
cpu-idle-states = <&CPU_SPC>;
+ power-domains = <&CPU_PD>;
};
idle-states {@@ -101,6 +105,27 @@
};
};
+ CPU_PD: cpu-pd@0 {
+ #power-domain-cells = <0>;
+ power-states = <&CLUSTER_RET>, <&CLUSTER_PWR_DWN>;
+ };
+
+ pd-power-states {
+ CLUSTER_RET: power-state@1 {
+ state-param = <0x1000010>;
+ entry-latency-us = <500>;
+ exit-latency-us = <500>;
+ residency-us = <2000>;
+ };
+
+ CLUSTER_PWR_DWN: power-state@2 {
+ state-param = <0x1000030>;
+ entry-latency-us = <2000>;
+ exit-latency-us = <2000>;
+ residency-us = <6000>;
+ };
+ };
+
psci {
compatible = "arm,psci-1.0";
method = "smc";--
2.1.4