]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
arm64: dts: qcom: msm8994-octagon: Configure regulators
authorGustave Monce <gustave.monce@outlook.com>
Sun, 31 Jan 2021 01:38:39 +0000 (02:38 +0100)
committerBjorn Andersson <bjorn.andersson@linaro.org>
Tue, 2 Feb 2021 22:36:33 +0000 (16:36 -0600)
Configure the regulators to ensure proper voltages across
the board.

Signed-off-by: Gustave Monce <gustave.monce@outlook.com>
Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Link: https://lore.kernel.org/r/20210131013853.55810-9-konrad.dybcio@somainline.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
arch/arm64/boot/dts/qcom/msm8994-msft-lumia-octagon.dtsi

index 840bc38a350c285b564df1bbbc33602ead9afdfd..f89dfc63551a2879b65bb705bff42ed3a5809d32 100644 (file)
        status = "okay";
 };
 
+&pmi8994_spmi_regulators {
+       vdd_gfx: s2@1700 {
+               reg = <0x1700 0x100>;
+               regulator-min-microvolt = <980000>;
+               regulator-max-microvolt = <980000>;
+       };
+};
+
+&rpm_requests {
+       /* These values were taken from the original firmware ACPI tables */
+       pm8994_regulators: pm8994-regulators {
+               compatible = "qcom,rpm-pm8994-regulators";
+
+               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-supply = <&vreg_s1b_1p0>;
+               vdd_l2_l26_l28-supply = <&vreg_s3a_1p3>;
+               vdd_l3_l11-supply = <&vreg_s3a_1p3>;
+               vdd_l4_l27_l31-supply = <&vreg_s3a_1p3>;
+               vdd_l5_l7-supply = <&vreg_s5a_2p15>;
+               vdd_l6_l12_l32-supply = <&vreg_s5a_2p15>;
+               vdd_l8_l16_l30-supply = <&vph_pwr>;
+               vdd_l9_l10_l18_l22-supply = <&vph_pwr_bbyp>;
+               vdd_l13_l19_l23_l24-supply = <&vph_pwr_bbyp>;
+               vdd_l14_l15-supply = <&vreg_s5a_2p15>;
+               vdd_l17_l29-supply = <&vph_pwr_bbyp>;
+               vdd_l20_l21-supply = <&vph_pwr_bbyp>;
+               vdd_l25-supply = <&vreg_s5a_2p15>;
+               vdd_lvs1_2-supply = <&vreg_s4a_1p8>;
+
+               /* S1, S2, S6 and S12 are managed by RPMPD */
+
+               vreg_s3a_1p3: s3 {
+                       regulator-min-microvolt = <1300000>;
+                       regulator-max-microvolt = <1300000>;
+                       regulator-allow-set-load;
+                       regulator-system-load = <300000>;
+               };
+
+               vreg_s4a_1p8: s4 {
+                       regulator-min-microvolt = <1800000>;
+                       regulator-max-microvolt = <1800000>;
+                       regulator-allow-set-load;
+                       regulator-always-on;
+                       regulator-system-load = <325000>;
+               };
+
+               vreg_s5a_2p15: s5 {
+                       regulator-min-microvolt = <2150000>;
+                       regulator-max-microvolt = <2150000>;
+                       regulator-allow-set-load;
+                       regulator-system-load = <325000>;
+               };
+
+               vreg_s7a_1p0: s7 {
+                       regulator-min-microvolt = <1000000>;
+                       regulator-max-microvolt = <1000000>;
+               };
+
+               /*
+                * S8 - SPMI-managed VDD_APC0
+                * S9, S10 and S11 (the main one) - SPMI-managed VDD_APC1
+                */
+
+               vreg_l1a_1p0: l1 {
+                       regulator-min-microvolt = <1000000>;
+                       regulator-max-microvolt = <1000000>;
+               };
+
+               vreg_l2a_1p25: l2 {
+                       regulator-min-microvolt = <1250000>;
+                       regulator-max-microvolt = <1250000>;
+                       regulator-allow-set-load;
+                       regulator-system-load = <4160>;
+               };
+
+               vreg_l3a_1p2: l3 {
+                       regulator-min-microvolt = <1200000>;
+                       regulator-max-microvolt = <1200000>;
+                       regulator-always-on;
+                       regulator-allow-set-load;
+                       regulator-system-load = <80000>;
+               };
+
+               vreg_l4a_1p225: l4 {
+                       regulator-min-microvolt = <1225000>;
+                       regulator-max-microvolt = <1225000>;
+               };
+
+               /* L5 is inaccessible from RPM */
+
+               vreg_l6a_1p8: l6 {
+                       regulator-min-microvolt = <1800000>;
+                       regulator-max-microvolt = <1800000>;
+                       regulator-allow-set-load;
+                       regulator-system-load = <1000>;
+               };
+
+               /* L7 is inaccessible from RPM */
+
+               vreg_l8a_1p8: l8 {
+                       regulator-min-microvolt = <1800000>;
+                       regulator-max-microvolt = <1800000>;
+               };
+
+               vreg_l9a_1p8: l9 {
+                       regulator-min-microvolt = <1800000>;
+                       regulator-max-microvolt = <1800000>;
+               };
+
+               vreg_l10a_1p8: l10 {
+                       regulator-min-microvolt = <1800000>;
+                       regulator-max-microvolt = <1800000>;
+               };
+
+               vreg_l11a_1p2: l11 {
+                       regulator-min-microvolt = <1200000>;
+                       regulator-max-microvolt = <1200000>;
+                       regulator-always-on;
+                       regulator-allow-set-load;
+                       regulator-system-load = <35000>;
+               };
+
+               vreg_l12a_1p8: l12 {
+                       regulator-min-microvolt = <1800000>;
+                       regulator-max-microvolt = <1800000>;
+                       regulator-always-on;
+                       regulator-allow-set-load;
+                       regulator-system-load = <50000>;
+               };
+
+               vreg_l13a_2p95: l13 {
+                       regulator-min-microvolt = <1850000>;
+                       regulator-max-microvolt = <2950000>;
+                       regulator-always-on;
+                       regulator-allow-set-load;
+                       regulator-system-load = <22000>;
+               };
+
+               vreg_l14a_1p8: l14 {
+                       regulator-min-microvolt = <1800000>;
+                       regulator-max-microvolt = <1800000>;
+                       regulator-always-on;
+                       regulator-allow-set-load;
+                       regulator-system-load = <52000>;
+               };
+
+               vreg_l15a_1p8: l15 {
+                       regulator-min-microvolt = <1800000>;
+                       regulator-max-microvolt = <1800000>;
+               };
+
+               vreg_l16a_2p7: l16 {
+                       regulator-min-microvolt = <2700000>;
+                       regulator-max-microvolt = <2700000>;
+               };
+
+               vreg_l17a_2p7: l17 {
+                       regulator-min-microvolt = <2800000>;
+                       regulator-max-microvolt = <2800000>;
+                       regulator-always-on;
+                       regulator-allow-set-load;
+                       regulator-system-load = <300000>;
+               };
+
+               vreg_l18a_2p85: l18 {
+                       regulator-min-microvolt = <2850000>;
+                       regulator-max-microvolt = <2850000>;
+                       regulator-always-on;
+                       regulator-allow-set-load;
+                       regulator-system-load = <600000>;
+               };
+
+               vreg_l19a_3p3: l19 {
+                       regulator-min-microvolt = <3300000>;
+                       regulator-max-microvolt = <3300000>;
+                       regulator-always-on;
+                       regulator-allow-set-load;
+                       regulator-system-load = <500000>;
+               };
+
+               vreg_l20a_2p95: l20 {
+                       regulator-min-microvolt = <2950000>;
+                       regulator-max-microvolt = <2950000>;
+                       regulator-always-on;
+                       regulator-boot-on;
+                       regulator-allow-set-load;
+                       regulator-system-load = <570000>;
+               };
+
+               vreg_l21a_2p95: l21 {
+                       regulator-min-microvolt = <2950000>;
+                       regulator-max-microvolt = <2950000>;
+                       regulator-always-on;
+                       regulator-allow-set-load;
+                       regulator-system-load = <800000>;
+               };
+
+               vreg_l22a_3p0: l22 {
+                       regulator-min-microvolt = <3000000>;
+                       regulator-max-microvolt = <3000000>;
+                       regulator-always-on;
+                       regulator-allow-set-load;
+                       regulator-system-load = <150000>;
+               };
+
+               vreg_l23a_2p8: l23 {
+                       regulator-min-microvolt = <2850000>;
+                       regulator-max-microvolt = <2850000>;
+                       regulator-always-on;
+                       regulator-allow-set-load;
+                       regulator-system-load = <80000>;
+               };
+
+               vreg_l24a_3p075: l24 {
+                       regulator-min-microvolt = <3075000>;
+                       regulator-max-microvolt = <3150000>;
+                       regulator-allow-set-load;
+                       regulator-system-load = <5800>;
+               };
+
+               vreg_l25a_1p1: l25 {
+                       regulator-min-microvolt = <1150000>;
+                       regulator-max-microvolt = <1150000>;
+                       regulator-always-on;
+                       regulator-allow-set-load;
+                       regulator-system-load = <80000>;
+               };
+
+               vreg_l26a_1p0: l26 {
+                       regulator-min-microvolt = <1000000>;
+                       regulator-max-microvolt = <1000000>;
+               };
+
+               vreg_l27a_1p05: l27 {
+                       regulator-min-microvolt = <1000000>;
+                       regulator-max-microvolt = <1000000>;
+                       regulator-always-on;
+                       regulator-allow-set-load;
+                       regulator-system-load = <500000>;
+               };
+
+               vreg_l28a_1p0: l28 {
+                       regulator-min-microvolt = <1000000>;
+                       regulator-max-microvolt = <1000000>;
+                       regulator-always-on;
+                       regulator-allow-set-load;
+                       regulator-system-load = <26000>;
+               };
+
+               vreg_l29a_2p8: l29 {
+                       regulator-min-microvolt = <2850000>;
+                       regulator-max-microvolt = <2850000>;
+                       regulator-always-on;
+                       regulator-allow-set-load;
+                       regulator-system-load = <80000>;
+               };
+
+               vreg_l30a_1p8: l30 {
+                       regulator-min-microvolt = <1800000>;
+                       regulator-max-microvolt = <1800000>;
+                       regulator-always-on;
+                       regulator-allow-set-load;
+                       regulator-system-load = <2500>;
+               };
+
+               vreg_l31a_1p2: l31 {
+                       regulator-min-microvolt = <1200000>;
+                       regulator-max-microvolt = <1200000>;
+                       regulator-always-on;
+                       regulator-allow-set-load;
+                       regulator-system-load = <600000>;
+               };
+
+               vreg_l32a_1p8: l32 {
+                       regulator-min-microvolt = <1800000>;
+                       regulator-max-microvolt = <1800000>;
+               };
+
+               vreg_lvs1a_1p8: lvs1 { };
+
+               vreg_lvs2a_1p8: lvs2 { };
+       };
+
+       pmi8994_regulators: pmi8994-regulators {
+               compatible = "qcom,rpm-pmi8994-regulators";
+
+               vdd_s1-supply = <&vph_pwr>;
+               vdd_bst_byp-supply = <&vph_pwr>;
+
+               vreg_s1b_1p0: s1 {
+                       regulator-min-microvolt = <1025000>;
+                       regulator-max-microvolt = <1025000>;
+               };
+
+               /* S2 & S3 - VDD_GFX */
+
+               vph_pwr_bbyp: boost-bypass {
+                       regulator-min-microvolt = <3300000>;
+                       regulator-max-microvolt = <3300000>;
+               };
+       };
+};
+
 &sdhc1 {
        status = "okay";
 };