ARM: dts: qcom: Add LPM devices for sdxkova
Add idle states for CPU and CPU clusters, add PSCI device to enable CPU to enter LPMs. Additionally, update APPS RSC device to be in cluster power domain to handle RSC activites when cluster is powering off. Change-Id: Ibe2fa720bc5e81084d380b2e5dc4f8fa8910566c Signed-off-by: Sneh Mankad <quic_smankad@quicinc.com>
This commit is contained in:
@@ -42,6 +42,24 @@
|
|||||||
<GIC_PPI 12 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>;
|
<GIC_PPI 12 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
cpus {
|
||||||
|
CPU0: cpu@0 {
|
||||||
|
cpu-idle-states = <&SILVER_OFF &SILVER_RAIL_OFF>;
|
||||||
|
};
|
||||||
|
|
||||||
|
CPU1: cpu@100 {
|
||||||
|
cpu-idle-states = <&SILVER_OFF &SILVER_RAIL_OFF>;
|
||||||
|
};
|
||||||
|
|
||||||
|
CPU2: cpu@200 {
|
||||||
|
cpu-idle-states = <&SILVER_OFF &SILVER_RAIL_OFF>;
|
||||||
|
};
|
||||||
|
|
||||||
|
CPU3: cpu@300 {
|
||||||
|
cpu-idle-states = <&SILVER_OFF &SILVER_RAIL_OFF>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
/delete-node/ reserved-memory;
|
/delete-node/ reserved-memory;
|
||||||
|
|
||||||
reserved_memory: reserved-memory {
|
reserved_memory: reserved-memory {
|
||||||
@@ -76,7 +94,93 @@
|
|||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/delete-node/ idle-states;
|
||||||
|
|
||||||
|
idle-states {
|
||||||
|
entry-method = "psci";
|
||||||
|
|
||||||
|
SILVER_OFF: silver-c3 { /* C3 */
|
||||||
|
compatible = "arm,idle-state";
|
||||||
|
idle-state-name = "pc";
|
||||||
|
entry-latency-us = <235>;
|
||||||
|
exit-latency-us = <428>;
|
||||||
|
min-residency-us = <1774>;
|
||||||
|
arm,psci-suspend-param = <0x40000003>;
|
||||||
|
local-timer-stop;
|
||||||
|
};
|
||||||
|
|
||||||
|
SILVER_RAIL_OFF: silver-c4 { /* C4 */
|
||||||
|
compatible = "arm,idle-state";
|
||||||
|
idle-state-name = "rail-pc";
|
||||||
|
entry-latency-us = <800>;
|
||||||
|
exit-latency-us = <750>;
|
||||||
|
min-residency-us = <4090>;
|
||||||
|
arm,psci-suspend-param = <0x40000004>;
|
||||||
|
local-timer-stop;
|
||||||
|
};
|
||||||
|
|
||||||
|
CLUSTER_PWR_DN: cluster-d4 { /* D4 */
|
||||||
|
compatible = "domain-idle-state";
|
||||||
|
idle-state-name = "l3-off";
|
||||||
|
entry-latency-us = <1050>;
|
||||||
|
exit-latency-us = <2500>;
|
||||||
|
min-residency-us = <5309>;
|
||||||
|
arm,psci-suspend-param = <0x41000044>;
|
||||||
|
};
|
||||||
|
|
||||||
|
CX_RET: cx-ret { /* Cx Ret */
|
||||||
|
compatible = "domain-idle-state";
|
||||||
|
idle-state-name = "cx-ret";
|
||||||
|
entry-latency-us = <2761>;
|
||||||
|
exit-latency-us = <3964>;
|
||||||
|
min-residency-us = <8467>;
|
||||||
|
arm,psci-suspend-param = <0x41001344>;
|
||||||
|
};
|
||||||
|
|
||||||
|
APSS_OFF: cluster-e3 { /* E3 */
|
||||||
|
compatible = "domain-idle-state";
|
||||||
|
idle-state-name = "llcc-off";
|
||||||
|
entry-latency-us = <2793>;
|
||||||
|
exit-latency-us = <4023>;
|
||||||
|
min-residency-us = <9826>;
|
||||||
|
arm,psci-suspend-param = <0x4100B344>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
/delete-node/ psci;
|
||||||
|
|
||||||
soc: soc {
|
soc: soc {
|
||||||
|
|
||||||
|
psci {
|
||||||
|
compatible = "arm,psci-1.0";
|
||||||
|
method = "smc";
|
||||||
|
|
||||||
|
CPU_PD0: cpu-pd0 {
|
||||||
|
#power-domain-cells = <0>;
|
||||||
|
power-domains = <&CLUSTER_PD>;
|
||||||
|
};
|
||||||
|
|
||||||
|
CPU_PD1: cpu-pd1 {
|
||||||
|
#power-domain-cells = <0>;
|
||||||
|
power-domains = <&CLUSTER_PD>;
|
||||||
|
};
|
||||||
|
|
||||||
|
CPU_PD2: cpu-pd2 {
|
||||||
|
#power-domain-cells = <0>;
|
||||||
|
power-domains = <&CLUSTER_PD>;
|
||||||
|
};
|
||||||
|
|
||||||
|
CPU_PD3: cpu-pd3 {
|
||||||
|
#power-domain-cells = <0>;
|
||||||
|
power-domains = <&CLUSTER_PD>;
|
||||||
|
};
|
||||||
|
|
||||||
|
CLUSTER_PD: cluster-pd {
|
||||||
|
#power-domain-cells = <0>;
|
||||||
|
domain-idle-states = <&CLUSTER_PWR_DN &CX_RET &APSS_OFF>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
/delete-node/ rsc@17a00000;
|
/delete-node/ rsc@17a00000;
|
||||||
|
|
||||||
apps_rsc: rsc@17a00000 {
|
apps_rsc: rsc@17a00000 {
|
||||||
@@ -90,6 +194,7 @@
|
|||||||
interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
|
interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
<GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
|
<GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
<GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
|
<GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
power-domains = <&CLUSTER_PD>;
|
||||||
|
|
||||||
apps_rsc_drv2: drv@2 {
|
apps_rsc_drv2: drv@2 {
|
||||||
qcom,drv-id = <2>;
|
qcom,drv-id = <2>;
|
||||||
@@ -166,6 +271,11 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
cluster-device {
|
||||||
|
compatible = "qcom,lpm-cluster-dev";
|
||||||
|
power-domains = <&CLUSTER_PD>;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
firmware: firmware { };
|
firmware: firmware { };
|
||||||
|
Reference in New Issue
Block a user