arm64: dts: qcom: sm8350-sagami: Add most RPMh regulators
authorKonrad Dybcio <konrad.dybcio@somainline.org>
Mon, 14 Nov 2022 14:36:41 +0000 (15:36 +0100)
committerBjorn Andersson <andersson@kernel.org>
Tue, 15 Nov 2022 17:45:51 +0000 (11:45 -0600)
Configure most RPMh-controlled regulators on SoMC Sagami. The missing
ones (on pm8350b and pm8008[ij]) will be configured when driver support
is added. Thankfully, it looks like PDX215 and PDX214 don't have any
differences when it comes to PM8350/PM8350C/PMR735a.

Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20221114143642.44839-1-konrad.dybcio@linaro.org
arch/arm64/boot/dts/qcom/sm8350-sony-xperia-sagami.dtsi

index e73ea22bd142cb736b6015879841ad2904f8560e..f7eb30bc4f4d136931df37bfa3cdbba302feba67 100644 (file)
@@ -3,6 +3,7 @@
  * Copyright (c) 2021, Konrad Dybcio <konrad.dybcio@somainline.org>
  */
 
+#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
 #include "sm8350.dtsi"
 #include "pm8350.dtsi"
 #include "pm8350b.dtsi"
                        no-map;
                };
        };
+
+       vph_pwr: vph-pwr-regulator {
+               compatible = "regulator-fixed";
+               regulator-name = "vph_pwr";
+               regulator-min-microvolt = <3700000>;
+               regulator-max-microvolt = <3700000>;
+
+               regulator-always-on;
+               regulator-boot-on;
+       };
 };
 
 &adsp {
        firmware-name = "qcom/sm8350/Sony/sagami/adsp.mbn";
 };
 
+&apps_rsc {
+       regulators-0 {
+               compatible = "qcom,pm8350-rpmh-regulators";
+               qcom,pmic-id = "b";
+
+               vdd-s1-supply = <&vph_pwr>;
+               vdd-s2-supply = <&vph_pwr>;
+               vdd-s3-supply = <&vph_pwr>;
+               vdd-s4-supply = <&vph_pwr>;
+               vdd-s5-supply = <&vph_pwr>;
+               vdd-s6-supply = <&vph_pwr>;
+               vdd-s7-supply = <&vph_pwr>;
+               vdd-s8-supply = <&vph_pwr>;
+               vdd-s9-supply = <&vph_pwr>;
+               vdd-s10-supply = <&vph_pwr>;
+               vdd-s11-supply = <&vph_pwr>;
+               vdd-s12-supply = <&vph_pwr>;
+
+               vdd-l1-l4-supply = <&pm8350_s11>;
+               vdd-l2-l7-supply = <&vreg_bob>;
+               vdd-l3-l5-supply = <&vreg_bob>;
+               vdd-l6-l9-l10-supply = <&pm8350_s11>;
+
+               /*
+                * ARC regulators:
+                * S5 - mx.lvl
+                * S6 - gfx.lvl
+                * S9 - mxc.lvl
+                */
+
+               pm8350_s10: smps10 {
+                       regulator-name = "pm8350_s10";
+                       regulator-min-microvolt = <1800000>;
+                       regulator-max-microvolt = <1800000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               pm8350_s11: smps11 {
+                       regulator-name = "pm8350_s11";
+                       regulator-min-microvolt = <752000>;
+                       regulator-max-microvolt = <1000000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               pm8350_s12: smps12 {
+                       regulator-name = "pm8350_s12";
+                       regulator-min-microvolt = <1224000>;
+                       regulator-max-microvolt = <1360000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               pm8350_l1: ldo1 {
+                       regulator-name = "pm8350_l1";
+                       regulator-min-microvolt = <912000>;
+                       regulator-max-microvolt = <920000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               pm8350_l2: ldo2 {
+                       regulator-name = "pm8350_l2";
+                       regulator-min-microvolt = <3072000>;
+                       regulator-max-microvolt = <3072000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               pm8350_l3: ldo3 {
+                       regulator-name = "pm8350_l3";
+                       regulator-min-microvolt = <904000>;
+                       regulator-max-microvolt = <904000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               /* L4 - lmx.lvl (ARC) */
+
+               pm8350_l5: ldo5 {
+                       regulator-name = "pm8350_l5";
+                       regulator-min-microvolt = <880000>;
+                       regulator-max-microvolt = <888000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+                       regulator-allow-set-load;
+               };
+
+               pm8350_l6: ldo6 {
+                       regulator-name = "pm8350_l6";
+                       regulator-min-microvolt = <1200000>;
+                       regulator-max-microvolt = <1208000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+                       regulator-allow-set-load;
+               };
+
+               pm8350_l7: ldo7 {
+                       regulator-name = "pm8350_l7";
+                       regulator-min-microvolt = <2400000>;
+                       regulator-max-microvolt = <3008000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+                       regulator-allow-set-load;
+               };
+
+               /* L8 - lcx.lvl (ARC) */
+
+               pm8350_l9: ldo9 {
+                       regulator-name = "pm8350_l9";
+                       regulator-min-microvolt = <1200000>;
+                       regulator-max-microvolt = <1200000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+                       regulator-allow-set-load;
+               };
+       };
+
+       regulators-1 {
+               compatible = "qcom,pm8350c-rpmh-regulators";
+               qcom,pmic-id = "c";
+
+               vdd-s1-supply = <&vph_pwr>;
+               vdd-s2-supply = <&vph_pwr>;
+               vdd-s3-supply = <&vph_pwr>;
+               vdd-s4-supply = <&vph_pwr>;
+               vdd-s5-supply = <&vph_pwr>;
+               vdd-s6-supply = <&vph_pwr>;
+               vdd-s7-supply = <&vph_pwr>;
+               vdd-s8-supply = <&vph_pwr>;
+               vdd-s9-supply = <&vph_pwr>;
+               vdd-s10-supply = <&vph_pwr>;
+
+               vdd-l1-l12-supply = <&pm8350c_s1>;
+               vdd-l2-l8-supply = <&pm8350c_s1>;
+               vdd-l3-l4-l5-l7-l13-supply = <&vreg_bob>;
+               vdd-l6-l9-l11-supply = <&vreg_bob>;
+               vdd-l10-supply = <&pm8350_s12>;
+
+               vdd-bob-supply = <&vph_pwr>;
+
+               pm8350c_s1: smps1 {
+                       regulator-name = "pm8350c_s1";
+                       regulator-min-microvolt = <1800000>;
+                       regulator-max-microvolt = <1952000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               /* S2 - ebi.lvl (ARC) */
+
+               pm8350c_s3: smps3 {
+                       regulator-name = "pm8350c_s3";
+                       regulator-min-microvolt = <300000>;
+                       regulator-max-microvolt = <704000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               /*
+                * ARC regulators:
+                * S4 - mss.lvl
+                * S6 - cx.lvl
+                * S8 - mmcx.lvl
+                */
+
+               pm8350c_s10: smps10 {
+                       regulator-name = "pm8350c_s10";
+                       regulator-min-microvolt = <1048000>;
+                       regulator-max-microvolt = <1128000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               pm8350c_l1: ldo1 {
+                       regulator-name = "pm8350c_l1";
+                       regulator-min-microvolt = <1800000>;
+                       regulator-max-microvolt = <1800000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               pm8350c_l2: ldo2 {
+                       regulator-name = "pm8350c_l2";
+                       regulator-min-microvolt = <1800000>;
+                       regulator-max-microvolt = <1800000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               pm8350c_l3: ldo3 {
+                       regulator-name = "pm8350c_l3";
+                       regulator-min-microvolt = <3304000>;
+                       regulator-max-microvolt = <3304000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               pm8350c_l4: ldo4 {
+                       regulator-name = "pm8350c_l4";
+                       regulator-min-microvolt = <1704000>;
+                       regulator-max-microvolt = <3000000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               pm8350c_l5: ldo5 {
+                       regulator-name = "pm8350c_l5";
+                       regulator-min-microvolt = <1704000>;
+                       regulator-max-microvolt = <3000000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               pm8350c_l6: ldo6 {
+                       regulator-name = "pm8350c_l6";
+                       regulator-min-microvolt = <1800000>;
+                       regulator-max-microvolt = <2960000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               pm8350c_l7: ldo7 {
+                       regulator-name = "pm8350c_l7";
+                       regulator-min-microvolt = <3008000>;
+                       regulator-max-microvolt = <3008000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               pm8350c_l8: ldo8 {
+                       regulator-name = "pm8350c_l8";
+                       regulator-min-microvolt = <1800000>;
+                       regulator-max-microvolt = <1800000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               pm8350c_l9: ldo9 {
+                       regulator-name = "pm8350c_l9";
+                       regulator-min-microvolt = <2960000>;
+                       regulator-max-microvolt = <3008000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               pm8350c_l10: ldo10 {
+                       regulator-name = "pm8350c_l10";
+                       regulator-min-microvolt = <1200000>;
+                       regulator-max-microvolt = <1200000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               pm8350c_l11: ldo11 {
+                       regulator-name = "pm8350c_l11";
+                       regulator-min-microvolt = <2400000>;
+                       regulator-max-microvolt = <3008000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               pm8350c_l12: ldo12 {
+                       regulator-name = "pm8350c_l12";
+                       regulator-min-microvolt = <1800000>;
+                       regulator-max-microvolt = <2000000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               pm8350c_l13: ldo13 {
+                       regulator-name = "pm8350c_l13";
+                       regulator-min-microvolt = <3000000>;
+                       regulator-max-microvolt = <3000000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_bob: bob {
+                       regulator-name = "vreg_bob";
+                       regulator-min-microvolt = <3400000>;
+                       regulator-max-microvolt = <3960000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
+               };
+       };
+
+       /* TODO: Add pm8350b (just one ldo) once the driver part is in */
+
+       regulators-2 {
+               compatible = "qcom,pmr735a-rpmh-regulators";
+               qcom,pmic-id = "e";
+
+               vdd-s1-supply = <&vph_pwr>;
+               vdd-s2-supply = <&vph_pwr>;
+               vdd-s3-supply = <&vph_pwr>;
+
+               vdd-l1-l2-supply = <&pmr735a_s2>;
+               vdd-l3-supply = <&pmr735a_s1>;
+               vdd-l4-supply = <&pm8350c_s1>;
+               vdd-l5-l6-supply = <&pm8350c_s1>;
+               vdd-l7-bob-supply = <&vreg_bob>;
+
+               pmr735a_s1: smps1 {
+                       regulator-name = "pmr735a_s1";
+                       regulator-min-microvolt = <1200000>;
+                       regulator-max-microvolt = <1280000>;
+               };
+
+               pmr735a_s2: smps2 {
+                       regulator-name = "pmr735a_s2";
+                       regulator-min-microvolt = <500000>;
+                       regulator-max-microvolt = <976000>;
+               };
+
+               pmr735a_s3: smps3 {
+                       regulator-name = "pmr735a_s3";
+                       regulator-min-microvolt = <2208000>;
+                       regulator-max-microvolt = <2352000>;
+               };
+
+               pmr735a_l1: ldo1 {
+                       regulator-name = "pmr735a_l1";
+                       regulator-min-microvolt = <912000>;
+                       regulator-max-microvolt = <912000>;
+               };
+
+               pmr735a_l2: ldo2 {
+                       regulator-name = "pmr735a_l2";
+                       regulator-min-microvolt = <1200000>;
+                       regulator-max-microvolt = <1200000>;
+               };
+
+               pmr735a_l3: ldo3 {
+                       regulator-name = "pmr735a_l3";
+                       regulator-min-microvolt = <1200000>;
+                       regulator-max-microvolt = <1200000>;
+               };
+
+               pmr735a_l4: ldo4 {
+                       regulator-name = "pmr735a_l4";
+                       regulator-min-microvolt = <1776000>;
+                       regulator-max-microvolt = <1872000>;
+               };
+
+               pmr735a_l5: ldo5 {
+                       regulator-name = "pmr735a_l5";
+                       regulator-min-microvolt = <800000>;
+                       regulator-max-microvolt = <800000>;
+               };
+
+               pmr735a_l6: ldo6 {
+                       regulator-name = "pmr735a_l6";
+                       regulator-min-microvolt = <480000>;
+                       regulator-max-microvolt = <904000>;
+               };
+
+               pmr735a_l7: ldo7 {
+                       regulator-name = "pmr735a_l7";
+                       regulator-min-microvolt = <2800000>;
+                       regulator-max-microvolt = <2800000>;
+               };
+       };
+};
+
 &cdsp {
        status = "okay";
        firmware-name = "qcom/sm8350/Sony/sagami/cdsp.mbn";