Commit 8cd62099 authored by Maulik Shah's avatar Maulik Shah Committed by Bjorn Andersson

arm64: dts: qcom: sc7180: Add cpuidle low power states

Add device bindings for cpuidle states for cpu devices.

Cc: devicetree@vger.kernel.orgi
Signed-off-by: default avatarMaulik Shah <mkshah@codeaurora.org>
Reviewed-by: default avatarSrinivas Rao L <lsrao@codeaurora.org>
Reviewed-by: default avatarStephen Boyd <swboyd@chromium.org>
Link: https://lore.kernel.org/r/1586703004-13674-2-git-send-email-mkshah@codeaurora.orgSigned-off-by: default avatarBjorn Andersson <bjorn.andersson@linaro.org>
parent e8a7fdc5
...@@ -95,6 +95,9 @@ CPU0: cpu@0 { ...@@ -95,6 +95,9 @@ CPU0: cpu@0 {
compatible = "qcom,kryo468"; compatible = "qcom,kryo468";
reg = <0x0 0x0>; reg = <0x0 0x0>;
enable-method = "psci"; enable-method = "psci";
cpu-idle-states = <&LITTLE_CPU_SLEEP_0
&LITTLE_CPU_SLEEP_1
&CLUSTER_SLEEP_0>;
capacity-dmips-mhz = <1024>; capacity-dmips-mhz = <1024>;
dynamic-power-coefficient = <100>; dynamic-power-coefficient = <100>;
next-level-cache = <&L2_0>; next-level-cache = <&L2_0>;
...@@ -114,6 +117,9 @@ CPU1: cpu@100 { ...@@ -114,6 +117,9 @@ CPU1: cpu@100 {
compatible = "qcom,kryo468"; compatible = "qcom,kryo468";
reg = <0x0 0x100>; reg = <0x0 0x100>;
enable-method = "psci"; enable-method = "psci";
cpu-idle-states = <&LITTLE_CPU_SLEEP_0
&LITTLE_CPU_SLEEP_1
&CLUSTER_SLEEP_0>;
capacity-dmips-mhz = <1024>; capacity-dmips-mhz = <1024>;
dynamic-power-coefficient = <100>; dynamic-power-coefficient = <100>;
next-level-cache = <&L2_100>; next-level-cache = <&L2_100>;
...@@ -130,6 +136,9 @@ CPU2: cpu@200 { ...@@ -130,6 +136,9 @@ CPU2: cpu@200 {
compatible = "qcom,kryo468"; compatible = "qcom,kryo468";
reg = <0x0 0x200>; reg = <0x0 0x200>;
enable-method = "psci"; enable-method = "psci";
cpu-idle-states = <&LITTLE_CPU_SLEEP_0
&LITTLE_CPU_SLEEP_1
&CLUSTER_SLEEP_0>;
capacity-dmips-mhz = <1024>; capacity-dmips-mhz = <1024>;
dynamic-power-coefficient = <100>; dynamic-power-coefficient = <100>;
next-level-cache = <&L2_200>; next-level-cache = <&L2_200>;
...@@ -146,6 +155,9 @@ CPU3: cpu@300 { ...@@ -146,6 +155,9 @@ CPU3: cpu@300 {
compatible = "qcom,kryo468"; compatible = "qcom,kryo468";
reg = <0x0 0x300>; reg = <0x0 0x300>;
enable-method = "psci"; enable-method = "psci";
cpu-idle-states = <&LITTLE_CPU_SLEEP_0
&LITTLE_CPU_SLEEP_1
&CLUSTER_SLEEP_0>;
capacity-dmips-mhz = <1024>; capacity-dmips-mhz = <1024>;
dynamic-power-coefficient = <100>; dynamic-power-coefficient = <100>;
next-level-cache = <&L2_300>; next-level-cache = <&L2_300>;
...@@ -162,6 +174,9 @@ CPU4: cpu@400 { ...@@ -162,6 +174,9 @@ CPU4: cpu@400 {
compatible = "qcom,kryo468"; compatible = "qcom,kryo468";
reg = <0x0 0x400>; reg = <0x0 0x400>;
enable-method = "psci"; enable-method = "psci";
cpu-idle-states = <&LITTLE_CPU_SLEEP_0
&LITTLE_CPU_SLEEP_1
&CLUSTER_SLEEP_0>;
capacity-dmips-mhz = <1024>; capacity-dmips-mhz = <1024>;
dynamic-power-coefficient = <100>; dynamic-power-coefficient = <100>;
next-level-cache = <&L2_400>; next-level-cache = <&L2_400>;
...@@ -178,6 +193,9 @@ CPU5: cpu@500 { ...@@ -178,6 +193,9 @@ CPU5: cpu@500 {
compatible = "qcom,kryo468"; compatible = "qcom,kryo468";
reg = <0x0 0x500>; reg = <0x0 0x500>;
enable-method = "psci"; enable-method = "psci";
cpu-idle-states = <&LITTLE_CPU_SLEEP_0
&LITTLE_CPU_SLEEP_1
&CLUSTER_SLEEP_0>;
capacity-dmips-mhz = <1024>; capacity-dmips-mhz = <1024>;
dynamic-power-coefficient = <100>; dynamic-power-coefficient = <100>;
next-level-cache = <&L2_500>; next-level-cache = <&L2_500>;
...@@ -194,6 +212,9 @@ CPU6: cpu@600 { ...@@ -194,6 +212,9 @@ CPU6: cpu@600 {
compatible = "qcom,kryo468"; compatible = "qcom,kryo468";
reg = <0x0 0x600>; reg = <0x0 0x600>;
enable-method = "psci"; enable-method = "psci";
cpu-idle-states = <&BIG_CPU_SLEEP_0
&BIG_CPU_SLEEP_1
&CLUSTER_SLEEP_0>;
capacity-dmips-mhz = <1740>; capacity-dmips-mhz = <1740>;
dynamic-power-coefficient = <405>; dynamic-power-coefficient = <405>;
next-level-cache = <&L2_600>; next-level-cache = <&L2_600>;
...@@ -210,6 +231,9 @@ CPU7: cpu@700 { ...@@ -210,6 +231,9 @@ CPU7: cpu@700 {
compatible = "qcom,kryo468"; compatible = "qcom,kryo468";
reg = <0x0 0x700>; reg = <0x0 0x700>;
enable-method = "psci"; enable-method = "psci";
cpu-idle-states = <&BIG_CPU_SLEEP_0
&BIG_CPU_SLEEP_1
&CLUSTER_SLEEP_0>;
capacity-dmips-mhz = <1740>; capacity-dmips-mhz = <1740>;
dynamic-power-coefficient = <405>; dynamic-power-coefficient = <405>;
next-level-cache = <&L2_700>; next-level-cache = <&L2_700>;
...@@ -256,6 +280,60 @@ core7 { ...@@ -256,6 +280,60 @@ core7 {
}; };
}; };
}; };
idle-states {
entry-method = "psci";
LITTLE_CPU_SLEEP_0: cpu-sleep-0-0 {
compatible = "arm,idle-state";
idle-state-name = "little-power-down";
arm,psci-suspend-param = <0x40000003>;
entry-latency-us = <549>;
exit-latency-us = <901>;
min-residency-us = <1774>;
local-timer-stop;
};
LITTLE_CPU_SLEEP_1: cpu-sleep-0-1 {
compatible = "arm,idle-state";
idle-state-name = "little-rail-power-down";
arm,psci-suspend-param = <0x40000004>;
entry-latency-us = <702>;
exit-latency-us = <915>;
min-residency-us = <4001>;
local-timer-stop;
};
BIG_CPU_SLEEP_0: cpu-sleep-1-0 {
compatible = "arm,idle-state";
idle-state-name = "big-power-down";
arm,psci-suspend-param = <0x40000003>;
entry-latency-us = <523>;
exit-latency-us = <1244>;
min-residency-us = <2207>;
local-timer-stop;
};
BIG_CPU_SLEEP_1: cpu-sleep-1-1 {
compatible = "arm,idle-state";
idle-state-name = "big-rail-power-down";
arm,psci-suspend-param = <0x40000004>;
entry-latency-us = <526>;
exit-latency-us = <1854>;
min-residency-us = <5555>;
local-timer-stop;
};
CLUSTER_SLEEP_0: cluster-sleep-0 {
compatible = "arm,idle-state";
idle-state-name = "cluster-power-down";
arm,psci-suspend-param = <0x40003444>;
entry-latency-us = <3263>;
exit-latency-us = <6562>;
min-residency-us = <9926>;
local-timer-stop;
};
};
}; };
memory@80000000 { memory@80000000 {
......
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