From 23799839ef79dd8b49dd4e869588b1c9cc95996a Mon Sep 17 00:00:00 2001 From: Raghavendra Kakarla Date: Tue, 20 Apr 2021 23:43:30 +0530 Subject: [PATCH 1/2] ARM: dts: msm: Add rpm-smd node for qcs405 Add rpm-smd devic node for APSS communication with RPM. Change-Id: I62497058ed67b97d94dc868250f305097260f64d --- qcom/qcs405.dtsi | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/qcom/qcs405.dtsi b/qcom/qcs405.dtsi index e09e9755db17..59cd68007e02 100644 --- a/qcom/qcs405.dtsi +++ b/qcom/qcs405.dtsi @@ -238,6 +238,13 @@ status = "okay"; }; + rpm_bus: qcom,rpm-smd { + compatible = "qcom,rpm-smd"; + rpm-channel-name = "rpm_requests"; + interrupts = ; + rpm-channel-type = <15>; /* SMD_APPS_RPM */ + }; + qcom,msm-imem@8600000 { compatible = "qcom,msm-imem"; reg = <0x08600000 0x1000>; /* Address and size of IMEM */ From 84d1f84b90bbb90f8fcd6d66597d49adef2c6e8c Mon Sep 17 00:00:00 2001 From: Veera Vegivada Date: Fri, 23 Apr 2021 20:20:39 +0530 Subject: [PATCH 2/2] ARM: dts: msm: add RPM managed regulator devices for QCS405 Also add RPM managed regulator devices for QCS405 so that the client requests made for these regulators are aggregated by the RPM processor along with the requests from other processors. Change-Id: Ie9d22bd3b2b080b691f21cecedd337aacf3d3702 --- qcom/pms405-rpm-regulator.dtsi | 305 +++++++++++++++++++++++++++++++++ qcom/qcs405-regulator.dtsi | 251 +++++++++++++++++++++++++++ qcom/qcs405.dtsi | 2 + qcom/sa2150p-ccard.dtsi | 30 ++++ 4 files changed, 588 insertions(+) create mode 100644 qcom/pms405-rpm-regulator.dtsi create mode 100644 qcom/qcs405-regulator.dtsi diff --git a/qcom/pms405-rpm-regulator.dtsi b/qcom/pms405-rpm-regulator.dtsi new file mode 100644 index 000000000000..690da0c443d5 --- /dev/null +++ b/qcom/pms405-rpm-regulator.dtsi @@ -0,0 +1,305 @@ +&rpm_bus { + /* VDD_MX/CX supply */ + rpm-regulator-smpa1 { + compatible = "qcom,rpm-smd-regulator-resource"; + qcom,resource-name = "rwmx"; + qcom,resource-id = <0>; + qcom,regulator-type = <1>; + qcom,hpm-min-load = <100000>; + status = "disabled"; + + regulator-s1 { + compatible = "qcom,rpm-smd-regulator"; + regulator-name = "pms405_s1"; + qcom,set = <3>; + status = "disabled"; + }; + }; + + /* VDD_LPI_CX supply */ + rpm-regulator-smpa2 { + compatible = "qcom,rpm-smd-regulator-resource"; + qcom,resource-name = "rwlc"; + qcom,resource-id = <0>; + qcom,regulator-type = <1>; + qcom,hpm-min-load = <100000>; + status = "disabled"; + + regulator-s2 { + compatible = "qcom,rpm-smd-regulator"; + regulator-name = "pms405_s2"; + qcom,set = <3>; + status = "disabled"; + }; + }; + + rpm-regulator-smpa3 { + compatible = "qcom,rpm-smd-regulator-resource"; + qcom,resource-name = "smpa"; + qcom,resource-id = <3>; + qcom,regulator-type = <1>; + qcom,hpm-min-load = <100000>; + status = "disabled"; + + regulator-s3 { + compatible = "qcom,rpm-smd-regulator"; + regulator-name = "pms405_s3"; + qcom,set = <3>; + status = "disabled"; + }; + }; + + rpm-regulator-smpa4 { + compatible = "qcom,rpm-smd-regulator-resource"; + qcom,resource-name = "smpa"; + qcom,resource-id = <4>; + qcom,regulator-type = <1>; + qcom,hpm-min-load = <100000>; + status = "disabled"; + + regulator-s4 { + compatible = "qcom,rpm-smd-regulator"; + regulator-name = "pms405_s4"; + qcom,set = <3>; + status = "disabled"; + }; + }; + + rpm-regulator-smpa5 { + compatible = "qcom,rpm-smd-regulator-resource"; + qcom,resource-name = "smpa"; + qcom,resource-id = <5>; + qcom,regulator-type = <1>; + qcom,hpm-min-load = <100000>; + status = "disabled"; + + regulator-s5 { + compatible = "qcom,rpm-smd-regulator"; + regulator-name = "pms405_s5"; + qcom,set = <3>; + status = "disabled"; + }; + }; + + rpm-regulator-ldoa1 { + compatible = "qcom,rpm-smd-regulator-resource"; + qcom,resource-name = "ldoa"; + qcom,resource-id = <1>; + qcom,regulator-type = <0>; + qcom,regulator-hw-type = "pmic4-ldo"; + qcom,hpm-min-load = <10000>; + status = "disabled"; + + regulator-l1 { + compatible = "qcom,rpm-smd-regulator"; + regulator-name = "pms405_l1"; + qcom,set = <3>; + status = "disabled"; + }; + }; + + rpm-regulator-ldoa2 { + compatible = "qcom,rpm-smd-regulator-resource"; + qcom,resource-name = "ldoa"; + qcom,resource-id = <2>; + qcom,regulator-type = <0>; + qcom,regulator-hw-type = "pmic4-ldo"; + qcom,hpm-min-load = <10000>; + status = "disabled"; + + regulator-l2 { + compatible = "qcom,rpm-smd-regulator"; + regulator-name = "pms405_l2"; + qcom,set = <3>; + status = "disabled"; + }; + }; + + rpm-regulator-ldoa3 { + compatible = "qcom,rpm-smd-regulator-resource"; + qcom,resource-name = "ldoa"; + qcom,resource-id = <3>; + qcom,regulator-type = <0>; + qcom,regulator-hw-type = "pmic4-ldo"; + qcom,hpm-min-load = <10000>; + status = "disabled"; + + regulator-l3 { + compatible = "qcom,rpm-smd-regulator"; + regulator-name = "pms405_l3"; + qcom,set = <3>; + status = "disabled"; + }; + }; + + rpm-regulator-ldoa4 { + compatible = "qcom,rpm-smd-regulator-resource"; + qcom,resource-name = "ldoa"; + qcom,resource-id = <4>; + qcom,regulator-type = <0>; + qcom,regulator-hw-type = "pmic4-ldo"; + qcom,hpm-min-load = <10000>; + status = "disabled"; + + regulator-l4 { + compatible = "qcom,rpm-smd-regulator"; + regulator-name = "pms405_l4"; + qcom,set = <3>; + status = "disabled"; + }; + }; + + rpm-regulator-ldoa5 { + compatible = "qcom,rpm-smd-regulator-resource"; + qcom,resource-name = "ldoa"; + qcom,resource-id = <5>; + qcom,regulator-type = <0>; + qcom,regulator-hw-type = "pmic4-ldo"; + qcom,hpm-min-load = <10000>; + status = "disabled"; + + regulator-l5 { + compatible = "qcom,rpm-smd-regulator"; + regulator-name = "pms405_l5"; + qcom,set = <3>; + status = "disabled"; + }; + }; + + rpm-regulator-ldoa6 { + compatible = "qcom,rpm-smd-regulator-resource"; + qcom,resource-name = "ldoa"; + qcom,resource-id = <6>; + qcom,regulator-type = <0>; + qcom,regulator-hw-type = "pmic4-ldo"; + qcom,hpm-min-load = <10000>; + status = "disabled"; + + regulator-l6 { + compatible = "qcom,rpm-smd-regulator"; + regulator-name = "pms405_l6"; + qcom,set = <3>; + status = "disabled"; + }; + }; + + rpm-regulator-ldoa7 { + compatible = "qcom,rpm-smd-regulator-resource"; + qcom,resource-name = "ldoa"; + qcom,resource-id = <7>; + qcom,regulator-type = <0>; + qcom,regulator-hw-type = "pmic4-ldo"; + qcom,hpm-min-load = <10000>; + status = "disabled"; + + regulator-l7 { + compatible = "qcom,rpm-smd-regulator"; + regulator-name = "pms405_l7"; + qcom,set = <3>; + status = "disabled"; + }; + }; + + rpm-regulator-ldoa8 { + compatible = "qcom,rpm-smd-regulator-resource"; + qcom,resource-name = "ldoa"; + qcom,resource-id = <8>; + qcom,regulator-type = <0>; + qcom,regulator-hw-type = "pmic4-ldo"; + qcom,hpm-min-load = <10000>; + status = "disabled"; + + regulator-l8 { + compatible = "qcom,rpm-smd-regulator"; + regulator-name = "pms405_l8"; + qcom,set = <3>; + status = "disabled"; + }; + }; + + /* VDD_LPI_MX supply */ + rpm-regulator-ldoa9 { + compatible = "qcom,rpm-smd-regulator-resource"; + qcom,resource-name = "rwlm"; + qcom,resource-id = <0>; + qcom,regulator-type = <0>; + qcom,regulator-hw-type = "pmic4-ldo"; + qcom,hpm-min-load = <10000>; + status = "disabled"; + + regulator-l9 { + compatible = "qcom,rpm-smd-regulator"; + regulator-name = "pms405_l9"; + qcom,set = <3>; + status = "disabled"; + }; + }; + + rpm-regulator-ldoa10 { + compatible = "qcom,rpm-smd-regulator-resource"; + qcom,resource-name = "ldoa"; + qcom,resource-id = <10>; + qcom,regulator-type = <0>; + qcom,regulator-hw-type = "pmic4-ldo"; + qcom,hpm-min-load = <10000>; + status = "disabled"; + + regulator-l10 { + compatible = "qcom,rpm-smd-regulator"; + regulator-name = "pms405_l10"; + qcom,set = <3>; + status = "disabled"; + }; + }; + + rpm-regulator-ldoa11 { + compatible = "qcom,rpm-smd-regulator-resource"; + qcom,resource-name = "ldoa"; + qcom,resource-id = <11>; + qcom,regulator-type = <0>; + qcom,regulator-hw-type = "pmic4-ldo"; + qcom,hpm-min-load = <10000>; + status = "disabled"; + + regulator-l11 { + compatible = "qcom,rpm-smd-regulator"; + regulator-name = "pms405_l11"; + qcom,set = <3>; + status = "disabled"; + }; + }; + + rpm-regulator-ldoa12 { + compatible = "qcom,rpm-smd-regulator-resource"; + qcom,resource-name = "ldoa"; + qcom,resource-id = <12>; + qcom,regulator-type = <0>; + qcom,regulator-hw-type = "pmic4-ldo"; + qcom,hpm-min-load = <10000>; + status = "disabled"; + + regulator-l12 { + compatible = "qcom,rpm-smd-regulator"; + regulator-name = "pms405_l12"; + qcom,set = <3>; + status = "disabled"; + }; + }; + + rpm-regulator-ldoa13 { + compatible = "qcom,rpm-smd-regulator-resource"; + qcom,resource-name = "ldoa"; + qcom,resource-id = <13>; + qcom,regulator-type = <0>; + qcom,regulator-hw-type = "pmic4-ldo"; + qcom,hpm-min-load = <10000>; + status = "disabled"; + + regulator-l13 { + compatible = "qcom,rpm-smd-regulator"; + regulator-name = "pms405_l13"; + qcom,set = <3>; + status = "disabled"; + }; + }; +}; diff --git a/qcom/qcs405-regulator.dtsi b/qcom/qcs405-regulator.dtsi new file mode 100644 index 000000000000..a23614f903ef --- /dev/null +++ b/qcom/qcs405-regulator.dtsi @@ -0,0 +1,251 @@ +#include + +&rpm_bus { + /* PMS405 S1 - VDD_MX/CX supply */ + rpm-regulator-smpa1 { + status = "okay"; + pms405_s1_level: regulator-s1-level { + compatible = "qcom,rpm-smd-regulator"; + regulator-name = "pms405_s1_level"; + qcom,set = <3>; + regulator-min-microvolt = + ; + regulator-max-microvolt = + ; + qcom,use-voltage-level; + }; + + pms405_s1_floor_level: regulator-s1-floor-level { + compatible = "qcom,rpm-smd-regulator"; + regulator-name = "pms405_s1_floor_level"; + qcom,set = <3>; + regulator-min-microvolt = + ; + regulator-max-microvolt = + ; + qcom,use-voltage-floor-level; + qcom,always-send-voltage; + }; + + pms405_s1_level_ao: regulator-s1-level-ao { + compatible = "qcom,rpm-smd-regulator"; + regulator-name = "pms405_s1_level_ao"; + qcom,set = <1>; + regulator-min-microvolt = + ; + regulator-max-microvolt = + ; + qcom,use-voltage-level; + }; + + cx_cdev: cx-cdev-lvl { + compatible = "qcom,regulator-cooling-device"; + regulator-cdev-supply = <&pms405_s1_floor_level>; + regulator-levels = ; + #cooling-cells = <2>; + }; + + mx_cdev: mx-cdev-lvl { + compatible = "qcom,regulator-cooling-device"; + regulator-cdev-supply = <&pms405_s1_level>; + regulator-levels = ; + #cooling-cells = <2>; + }; + }; + + /* PMS405 S2 - VDD_LPI_CX supply */ + rpm-regulator-smpa2 { + status = "okay"; + pms405_s2_level: regulator-s2-level { + compatible = "qcom,rpm-smd-regulator"; + regulator-name = "pms405_s2_level"; + qcom,set = <3>; + regulator-min-microvolt = + ; + regulator-max-microvolt = + ; + qcom,use-voltage-level; + }; + + pms405_s2_floor_level: regulator-s2-floor-level { + compatible = "qcom,rpm-smd-regulator"; + regulator-name = "pms405_s2_floor_level"; + qcom,set = <3>; + regulator-min-microvolt = + ; + regulator-max-microvolt = + ; + qcom,use-voltage-floor-level; + qcom,always-send-voltage; + }; + }; + + rpm-regulator-smpa4 { + status = "okay"; + pms405_s4: regulator-s4 { + regulator-min-microvolt = <1728000>; + regulator-max-microvolt = <1920000>; + qcom,init-voltage = <1728000>; + status = "okay"; + }; + }; + + rpm-regulator-ldoa1 { + status = "okay"; + pms405_l1: regulator-l1 { + regulator-min-microvolt = <1240000>; + regulator-max-microvolt = <1352000>; + qcom,init-voltage = <1240000>; + status = "okay"; + }; + }; + + rpm-regulator-ldoa2 { + status = "okay"; + pms405_l2: regulator-l2 { + regulator-min-microvolt = <1048000>; + regulator-max-microvolt = <1280000>; + qcom,init-voltage = <1048000>; + status = "okay"; + }; + }; + + rpm-regulator-ldoa3 { + status = "okay"; + pms405_l3: regulator-l3 { + regulator-min-microvolt = <976000>; + regulator-max-microvolt = <1160000>; + qcom,init-voltage = <976000>; + status = "okay"; + }; + }; + + rpm-regulator-ldoa4 { + status = "okay"; + pms405_l4: regulator-l4 { + regulator-min-microvolt = <1144000>; + regulator-max-microvolt = <1256000>; + qcom,init-voltage = <1144000>; + status = "okay"; + }; + }; + + rpm-regulator-ldoa5 { + status = "okay"; + pms405_l5: regulator-l5 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + qcom,init-voltage = <1800000>; + status = "okay"; + }; + + pms405_l5_ao: regulator-l5-ao { + compatible = "qcom,rpm-smd-regulator"; + regulator-name = "pms405_l5_ao"; + qcom,set = <1>; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + qcom,init-voltage = <1800000>; + status = "okay"; + }; + }; + + rpm-regulator-ldoa6 { + status = "okay"; + pms405_l6: regulator-l6 { + regulator-min-microvolt = <1704000>; + regulator-max-microvolt = <1896000>; + qcom,init-voltage = <1704000>; + status = "okay"; + }; + }; + + rpm-regulator-ldoa7 { + status = "okay"; + pms405_l7: regulator-l7 { + regulator-min-microvolt = <1616000>; + regulator-max-microvolt = <3000000>; + qcom,init-voltage = <1616000>; + status = "okay"; + }; + }; + + rpm-regulator-ldoa8 { + status = "okay"; + pms405_l8: regulator-l8 { + regulator-min-microvolt = <1136000>; + regulator-max-microvolt = <1352000>; + qcom,init-voltage = <1136000>; + status = "okay"; + }; + }; + + /* PMS405 L9 - VDD_LPI_MX supply */ + rpm-regulator-ldoa9 { + status = "okay"; + pms405_l9_level: regulator-l9-level { + compatible = "qcom,rpm-smd-regulator"; + regulator-name = "pms405_l9_level"; + qcom,set = <3>; + regulator-min-microvolt = + ; + regulator-max-microvolt = + ; + qcom,use-voltage-level; + }; + + pms405_l9_floor_level: regulator-l9-floor-level { + compatible = "qcom,rpm-smd-regulator"; + regulator-name = "pms405_l9_floor_level"; + qcom,set = <3>; + regulator-min-microvolt = + ; + regulator-max-microvolt = + ; + qcom,use-voltage-floor-level; + qcom,always-send-voltage; + }; + }; + + rpm-regulator-ldoa10 { + status = "okay"; + pms405_l10: regulator-l10 { + regulator-min-microvolt = <2936000>; + regulator-max-microvolt = <3088000>; + qcom,init-voltage = <2936000>; + status = "okay"; + }; + }; + + rpm-regulator-ldoa11 { + status = "okay"; + pms405_l11: regulator-l11 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <3304000>; + qcom,init-voltage = <1800000>; + status = "okay"; + }; + }; + + rpm-regulator-ldoa12 { + status = "okay"; + pms405_l12: regulator-l12 { + regulator-min-microvolt = <2968000>; + regulator-max-microvolt = <3300000>; + qcom,init-voltage = <2968000>; + status = "okay"; + }; + }; + + rpm-regulator-ldoa13 { + status = "okay"; + pms405_l13: regulator-l13 { + regulator-min-microvolt = <3000000>; + regulator-max-microvolt = <3300000>; + qcom,init-voltage = <3000000>; + status = "okay"; + }; + }; +}; diff --git a/qcom/qcs405.dtsi b/qcom/qcs405.dtsi index 59cd68007e02..d0902e5ef031 100644 --- a/qcom/qcs405.dtsi +++ b/qcom/qcs405.dtsi @@ -468,3 +468,5 @@ #include "qcs405-pinctrl.dtsi" #include "qcs405-cpu.dtsi" +#include "pms405-rpm-regulator.dtsi" +#include "qcs405-regulator.dtsi" diff --git a/qcom/sa2150p-ccard.dtsi b/qcom/sa2150p-ccard.dtsi index d6cbcc922f26..078a12e29fa6 100644 --- a/qcom/sa2150p-ccard.dtsi +++ b/qcom/sa2150p-ccard.dtsi @@ -1 +1,31 @@ #include "qcs405.dtsi" + +&rpm_bus { + rpm-regulator-ldoa1 { + status = "disabled"; + pms405_l1: regulator-l1 { + status = "disabled"; + }; + }; + + rpm-regulator-ldoa2 { + status = "disabled"; + pms405_l2: regulator-l2 { + status = "disabled"; + }; + }; + + rpm-regulator-ldoa7 { + status = "disabled"; + pms405_l7: regulator-l7 { + status = "disabled"; + }; + }; + + rpm-regulator-ldoa10 { + status = "disabled"; + pms405_l10: regulator-l10 { + status = "disabled"; + }; + }; +};