Add support for SMD RPM, including pm8994 and pmi8994
regulators.

Signed-off-by: Konrad Dybcio <[email protected]>
---
 arch/arm64/boot/dts/qcom/msm8994.dtsi | 108 ++++++++++++++++++++++++++
 1 file changed, 108 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/msm8994.dtsi 
b/arch/arm64/boot/dts/qcom/msm8994.dtsi
index 076da1fc52a1..f623f7e08994 100644
--- a/arch/arm64/boot/dts/qcom/msm8994.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8994.dtsi
@@ -262,6 +262,11 @@ tcsr_mutex_regs: syscon@fd484000 {
                        reg = <0xfd484000 0x2000>;
                };
 
+               rpm_msg_ram: memory@fc428000 {
+                       compatible = "qcom,rpm-msg-ram";
+                       reg = <0xfc428000 0x4000>;
+               };
+
                gcc: clock-controller@fc400000 {
                        compatible = "qcom,gcc-msm8994";
                        #clock-cells = <1>;
@@ -292,6 +297,97 @@ psci {
                method = "hvc";
        };
 
+       smd_rpm: smd {
+               compatible = "qcom,smd";
+               rpm {
+                       interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
+                       qcom,ipc = <&apcs 8 0>;
+                       qcom,smd-edge = <15>;
+                       qcom,local-pid = <0>;
+                       qcom,remote-pid = <6>;
+
+                       rpm_requests: rpm-requests {
+                               compatible = "qcom,rpm-msm8994";
+                               qcom,smd-channels = "rpm_requests";
+
+                               rpmcc: qcom,rpmcc {
+                                       compatible = "qcom,rpmcc-msm8994";
+                                       #clock-cells = <1>;
+                               };
+
+                               pm8994-regulators {
+                                       compatible = 
"qcom,rpm-pm8994-regulators";
+
+                                       vdd_l1-supply = <&pm8994_s1>;
+                                       vdd_l2_26_28-supply = <&pm8994_s3>;
+                                       vdd_l3_11-supply = <&pm8994_s3>;
+                                       vdd_l4_27_31-supply = <&pm8994_s3>;
+                                       vdd_l5_7-supply = <&pm8994_s3>;
+                                       vdd_l6_12_32-supply = <&pm8994_s5>;
+                                       vdd_l8_16_30-supply = <&vreg_vph_pwr>;
+                                       vdd_l9_10_18_22-supply = 
<&vreg_vph_pwr>;
+                                       vdd_l13_19_23_24-supply = 
<&vreg_vph_pwr>;
+                                       vdd_l14_15-supply = <&pm8994_s5>;
+                                       vdd_l17_29-supply = <&vreg_vph_pwr>;
+                                       vdd_l20_21-supply = <&vreg_vph_pwr>;
+                                       vdd_l25-supply = <&pm8994_s5>;
+                                       vdd_lvs1_2 = <&pm8994_s4>;
+
+                                       pm8994_s1: s1 {};
+                                       pm8994_s2: s2 {};
+                                       pm8994_s3: s3 {};
+                                       pm8994_s4: s4 {};
+                                       pm8994_s5: s5 {};
+                                       pm8994_s6: s6 {};
+                                       pm8994_s7: s7 {};
+
+                                       pm8994_l1: l1 {};
+                                       pm8994_l2: l2 {};
+                                       pm8994_l3: l3 {};
+                                       pm8994_l4: l4 {};
+                                       pm8994_l6: l6 {};
+                                       pm8994_l8: l8 {};
+                                       pm8994_l9: l9 {};
+                                       pm8994_l10: l10 {};
+                                       pm8994_l11: l11 {};
+                                       pm8994_l12: l12 {};
+                                       pm8994_l13: l13 {};
+                                       pm8994_l14: l14 {};
+                                       pm8994_l15: l15 {};
+                                       pm8994_l16: l16 {};
+                                       pm8994_l17: l17 {};
+                                       pm8994_l18: l18 {};
+                                       pm8994_l19: l19 {};
+                                       pm8994_l20: l20 {};
+                                       pm8994_l21: l21 {};
+                                       pm8994_l22: l22 {};
+                                       pm8994_l23: l23 {};
+                                       pm8994_l24: l24 {};
+                                       pm8994_l25: l25 {};
+                                       pm8994_l26: l26 {};
+                                       pm8994_l27: l27 {};
+                                       pm8994_l28: l28 {};
+                                       pm8994_l29: l29 {};
+                                       pm8994_l30: l30 {};
+                                       pm8994_l31: l31 {};
+                                       pm8994_l32: l32 {};
+
+                                       pm8994_lvs1: lvs1 {};
+                                       pm8994_lvs2: lvs2 {};
+                               };
+
+                               pmi8994-regulators {
+                                       compatible = 
"qcom,rpm-pmi8994-regulators";
+
+                                       pmi8994_s1: s1 {};
+                                       pmi8994_s2: s2 {};
+                                       pmi8994_s3: s3 {};
+                                       pmi8994_bby: boost-bypass {};
+                               };
+                       };
+               };
+       };
+
        clocks {
                xo_board: xo_board {
                        compatible = "fixed-clock";
@@ -306,6 +402,17 @@ sleep_clk: sleep_clk {
                };
        };
 
+       vreg_vph_pwr: vreg-vph-pwr {
+               compatible = "regulator-fixed";
+               status = "okay";
+               regulator-name = "vph-pwr";
+
+               regulator-min-microvolt = <3600000>;
+               regulator-max-microvolt = <3600000>;
+
+               regulator-always-on;
+       };
+
        reserved-memory {
                #address-cells = <2>;
                #size-cells = <2>;
@@ -326,6 +433,7 @@ tcsr_mutex: hwlock {
        smem {
                compatible = "qcom,smem";
                memory-region = <&smem_mem>;
+               qcom,rpm-msg-ram = <&rpm_msg_ram>;
                hwlocks = <&tcsr_mutex 3>;
        };
 };
-- 
2.27.0

Reply via email to