ARM: dts: msm: Add power management devices for sdxlemur

Add RSC, System PM, LPM, RPMH master stats, SoC sleep stats, PDC device
bindings for sdxlemur.

Change-Id: I91ea2dd7accd5098e719c35d6b81dbf65a7045d6
This commit is contained in:
Lina Iyer
2020-05-26 15:16:42 -06:00
committed by Tushar Nimkar
parent 95c761efc7
commit 4b199156c1
3 changed files with 144 additions and 0 deletions

View File

@@ -12,6 +12,7 @@
interrupt-controller;
interrupt-parent = <&intc>;
#interrupt-cells = <2>;
wakeup-parent = <&pdc>;
uart3_console_active: uart3_console_active {
mux {

104
qcom/sdxlemur-pm.dtsi Normal file
View File

@@ -0,0 +1,104 @@
#include <dt-bindings/interrupt-controller/arm-gic.h>
&soc {
qcom,lpm-levels {
compatible = "qcom,lpm-levels";
#address-cells = <1>;
#size-cells = <0>;
qcom,pm-cluster@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
idle-state-name = "system";
qcom,psci-mode-shift = <0>;
qcom,psci-mode-mask = <0xf>;
CX_ACTIVE: qcom,pm-cluster-level@0 {
reg = <0>;
idle-state-name = "cx-active";
compatible = "arm,idle-state";
qcom,psci-mode = <0>;
arm,psci-suspend-param = <0x40000004>;
entry-latency-us = <120>;
exit-latency-us = <150>;
min-residency-us = <6488>;
};
CX_MIN: qcom,pm-cluster-level@1 {/* C8=>XO off in f/w */
reg = <1>;
idle-state-name = "cx-min";
compatible = "arm,idle-state";
qcom,psci-mode = <0x4>;
arm,psci-suspend-param = <0x40000008>;
entry-latency-us = <140>;
exit-latency-us = <200>;
min-residency-us = <8000>;
local-timer-stop;
qcom,min-child-idx = <2>;
qcom,notify-rpm;
qcom,is-reset;
};
qcom,pm-cpu@0 {
#address-cells = <1>;
#size-cells = <0>;
qcom,psci-mode-shift = <0>;
qcom,psci-mode-mask = <0xf>;
qcom,disable-ipi-prediction;
qcom,cpu = <&CPU0>;
qcom,pm-cpu-level@0 {
reg = <0>;
idle-state-name = "wfi";
compatible = "arm,idle-state";
qcom,psci-cpu-mode = <0x1>;
arm,psci-suspend-param = <0x1>;
entry-latency-us = <57>;
exit-latency-us = <43>;
min-residency-us = <83>;
};
A7_SPC: qcom,pm-cpu-level@1 {/* C3 */
reg = <1>;
idle-state-name ="standalone-pc";
compatible = "arm,idle-state";
qcom,psci-cpu-mode = <0x3>;
arm,psci-suspend-param = <0x40000003>;
entry-latency-us = <120>;
exit-latency-us = <120>;
min-residency-us = <4488>;
local-timer-stop;
qcom,use-broadcast-timer;
qcom,is-reset;
};
A7_PC: qcom,pm-cpu-level@2 { /* C4 */
reg = <2>;
idle-state-name = "pc";
compatible = "arm,idle-state";
qcom,psci-cpu-mode = <0x4>;
arm,psci-suspend-param = <0x40000004>;
entry-latency-us = <120>;
exit-latency-us = <150>;
min-residency-us = <6488>;
local-timer-stop;
qcom,use-broadcast-timer;
qcom,is-reset;
};
};
};
};
rpmh-master-stats@b211200 {
compatible = "qcom,rpmh-master-stats-v1";
reg = <0xb211200 0x60>;
};
soc-sleep-stats@C370000 {
compatible = "qcom,rpmh-sleep-stats";
reg = <0xc370000 0x400>;
};
};

View File

@@ -4,6 +4,7 @@
#include <dt-bindings/clock/qcom,rpmh.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/interconnect/qcom,sdxlemur.h>
#include <dt-bindings/soc/qcom,rpmh-rsc.h>
/ {
#address-cells = <1>;
@@ -25,6 +26,12 @@
#size-cells = <1>;
ranges;
cmd_db: reserved-memory@8fe20000 {
compatible = "qcom,cmd-db";
no-map;
reg = <0x8fe20000 0x20000>;
};
peripheral2_mem: peripheral2_region@8fd00000 {
no-map;
reg = <0x8fd00000 0x140000>;
@@ -46,6 +53,8 @@
device_type = "cpu";
compatible = "arm,cortex-a7";
reg = <0x0>;
enable-method = "psci";
cpu-idle-states = <&A7_SPC &A7_PC &CX_MIN>;
};
};
@@ -274,6 +283,35 @@
#reset-cells = <1>;
};
apps_rsc: rsc@17830000 {
label = "apps_rsc";
compatible = "qcom,rpmh-rsc";
reg = <0x17830000 0x10000>,
<0x17840000 0x10000>;
reg-names = "drv-0", "drv-1";
interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
qcom,tcs-offset = <0xd00>;
qcom,drv-id = <1>;
qcom,tcs-config = <ACTIVE_TCS 2>,
<SLEEP_TCS 2>,
<WAKE_TCS 2>,
<CONTROL_TCS 1>;
system_pm {
compatible = "qcom,system-pm";
};
};
pdc: interrupt-controller@b210000 {
compatible = "qcom,sdxlemur-pdc";
reg = <0xb210000 0x30000>;
qcom,pdc-ranges = <0 147 52>, <52 266 32>;
#interrupt-cells = <3>;
interrupt-parent = <&intc>;
interrupt-controller;
};
/* GCC GDSCs */
gcc_pcie_gdsc: qcom,gdsc@143004 {
compatible = "regulator-fixed";
@@ -470,3 +508,4 @@
#include "sdxlemur-pinctrl.dtsi"
#include "sdxlemur-stub-regulator.dtsi"
#include "sdxlemur-usb.dtsi"
#include "sdxlemur-pm.dtsi"