Commit 35575082 authored by Stephan Gerhold's avatar Stephan Gerhold Committed by Bjorn Andersson

arm64: dts: qcom: msm8916: Fix regulator constraints

The regulator constraints for most MSM8916 devices (except DB410c) were
originally taken from Qualcomm's msm-3.10 vendor device tree (for lack
of better documentation). Unfortunately it turns out that Qualcomm's
voltages are slightly off as well and do not match the voltage
constraints applied by the RPM firmware.

This means that we sometimes request a specific voltage but the RPM
firmware actually applies a much lower or higher voltage. This is
particularly critical for pm8916_l11 which is used as SD card VMMC
regulator: The SD card can choose a voltage from the current range of
1.8 - 2.95V. If it chooses to run at 1.8V we pretend that this is fine
but the RPM firmware will still silently end up configuring 2.95V.
This can be easily reproduced with a multimeter or by checking the
SPMI hardware registers of the regulator.

Fix this by making the voltages match the actual "specified range" in
the PM8916 Device Specification which is enforced by the RPM firmware.
Signed-off-by: default avatarStephan Gerhold <stephan@gerhold.net>
Signed-off-by: default avatarBjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230510-msm8916-regulators-v1-3-54d4960a05fc@gerhold.net
parent 5500f823
...@@ -159,13 +159,13 @@ &smd_rpm_regulators { ...@@ -159,13 +159,13 @@ &smd_rpm_regulators {
vdd_l7-supply = <&pm8916_s4>; vdd_l7-supply = <&pm8916_s4>;
s3 { s3 {
regulator-min-microvolt = <1200000>; regulator-min-microvolt = <1250000>;
regulator-max-microvolt = <1300000>; regulator-max-microvolt = <1350000>;
}; };
s4 { s4 {
regulator-min-microvolt = <1800000>; regulator-min-microvolt = <1850000>;
regulator-max-microvolt = <2100000>; regulator-max-microvolt = <2150000>;
}; };
l1 { l1 {
...@@ -199,7 +199,7 @@ l7 { ...@@ -199,7 +199,7 @@ l7 {
}; };
l8 { l8 {
regulator-min-microvolt = <2850000>; regulator-min-microvolt = <2900000>;
regulator-max-microvolt = <2900000>; regulator-max-microvolt = <2900000>;
}; };
...@@ -209,12 +209,12 @@ l9 { ...@@ -209,12 +209,12 @@ l9 {
}; };
l10 { l10 {
regulator-min-microvolt = <2700000>; regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>; regulator-max-microvolt = <2800000>;
}; };
l11 { l11 {
regulator-min-microvolt = <1800000>; regulator-min-microvolt = <2950000>;
regulator-max-microvolt = <2950000>; regulator-max-microvolt = <2950000>;
regulator-system-load = <200000>; regulator-system-load = <200000>;
regulator-allow-set-load; regulator-allow-set-load;
......
...@@ -201,13 +201,13 @@ &smd_rpm_regulators { ...@@ -201,13 +201,13 @@ &smd_rpm_regulators {
vdd_l7-supply = <&pm8916_s4>; vdd_l7-supply = <&pm8916_s4>;
s3 { s3 {
regulator-min-microvolt = <1200000>; regulator-min-microvolt = <1250000>;
regulator-max-microvolt = <1300000>; regulator-max-microvolt = <1350000>;
}; };
s4 { s4 {
regulator-min-microvolt = <1800000>; regulator-min-microvolt = <1850000>;
regulator-max-microvolt = <2100000>; regulator-max-microvolt = <2150000>;
}; };
l1 { l1 {
...@@ -241,7 +241,7 @@ l7 { ...@@ -241,7 +241,7 @@ l7 {
}; };
l8 { l8 {
regulator-min-microvolt = <2850000>; regulator-min-microvolt = <2900000>;
regulator-max-microvolt = <2900000>; regulator-max-microvolt = <2900000>;
}; };
...@@ -251,12 +251,12 @@ l9 { ...@@ -251,12 +251,12 @@ l9 {
}; };
l10 { l10 {
regulator-min-microvolt = <2700000>; regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>; regulator-max-microvolt = <2800000>;
}; };
l11 { l11 {
regulator-min-microvolt = <1800000>; regulator-min-microvolt = <2950000>;
regulator-max-microvolt = <2950000>; regulator-max-microvolt = <2950000>;
regulator-allow-set-load; regulator-allow-set-load;
regulator-system-load = <200000>; regulator-system-load = <200000>;
......
...@@ -169,13 +169,13 @@ &smd_rpm_regulators { ...@@ -169,13 +169,13 @@ &smd_rpm_regulators {
vdd_l7-supply = <&pm8916_s4>; vdd_l7-supply = <&pm8916_s4>;
s3 { s3 {
regulator-min-microvolt = <1200000>; regulator-min-microvolt = <1250000>;
regulator-max-microvolt = <1300000>; regulator-max-microvolt = <1350000>;
}; };
s4 { s4 {
regulator-min-microvolt = <1800000>; regulator-min-microvolt = <1850000>;
regulator-max-microvolt = <2100000>; regulator-max-microvolt = <2150000>;
}; };
l1 { l1 {
...@@ -209,7 +209,7 @@ l7 { ...@@ -209,7 +209,7 @@ l7 {
}; };
l8 { l8 {
regulator-min-microvolt = <2850000>; regulator-min-microvolt = <2900000>;
regulator-max-microvolt = <2900000>; regulator-max-microvolt = <2900000>;
}; };
...@@ -219,12 +219,12 @@ l9 { ...@@ -219,12 +219,12 @@ l9 {
}; };
l10 { l10 {
regulator-min-microvolt = <2700000>; regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>; regulator-max-microvolt = <2800000>;
}; };
l11 { l11 {
regulator-min-microvolt = <1800000>; regulator-min-microvolt = <2950000>;
regulator-max-microvolt = <2950000>; regulator-max-microvolt = <2950000>;
regulator-allow-set-load; regulator-allow-set-load;
regulator-system-load = <200000>; regulator-system-load = <200000>;
......
...@@ -159,13 +159,13 @@ &smd_rpm_regulators { ...@@ -159,13 +159,13 @@ &smd_rpm_regulators {
vdd_l7-supply = <&pm8916_s4>; vdd_l7-supply = <&pm8916_s4>;
s3 { s3 {
regulator-min-microvolt = <1200000>; regulator-min-microvolt = <1250000>;
regulator-max-microvolt = <1300000>; regulator-max-microvolt = <1350000>;
}; };
s4 { s4 {
regulator-min-microvolt = <1800000>; regulator-min-microvolt = <1850000>;
regulator-max-microvolt = <2100000>; regulator-max-microvolt = <2150000>;
}; };
l1 { l1 {
...@@ -199,7 +199,7 @@ l7 { ...@@ -199,7 +199,7 @@ l7 {
}; };
l8 { l8 {
regulator-min-microvolt = <2850000>; regulator-min-microvolt = <2900000>;
regulator-max-microvolt = <2900000>; regulator-max-microvolt = <2900000>;
}; };
...@@ -209,12 +209,12 @@ l9 { ...@@ -209,12 +209,12 @@ l9 {
}; };
l10 { l10 {
regulator-min-microvolt = <2700000>; regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>; regulator-max-microvolt = <2800000>;
}; };
l11 { l11 {
regulator-min-microvolt = <1800000>; regulator-min-microvolt = <2950000>;
regulator-max-microvolt = <2950000>; regulator-max-microvolt = <2950000>;
regulator-system-load = <200000>; regulator-system-load = <200000>;
regulator-allow-set-load; regulator-allow-set-load;
......
...@@ -322,13 +322,13 @@ &smd_rpm_regulators { ...@@ -322,13 +322,13 @@ &smd_rpm_regulators {
vdd_l7-supply = <&pm8916_s4>; vdd_l7-supply = <&pm8916_s4>;
s3 { s3 {
regulator-min-microvolt = <1200000>; regulator-min-microvolt = <1250000>;
regulator-max-microvolt = <1300000>; regulator-max-microvolt = <1350000>;
}; };
s4 { s4 {
regulator-min-microvolt = <1800000>; regulator-min-microvolt = <1850000>;
regulator-max-microvolt = <2100000>; regulator-max-microvolt = <2150000>;
}; };
l1 { l1 {
...@@ -372,12 +372,12 @@ l9 { ...@@ -372,12 +372,12 @@ l9 {
}; };
l10 { l10 {
regulator-min-microvolt = <2700000>; regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>; regulator-max-microvolt = <2800000>;
}; };
l11 { l11 {
regulator-min-microvolt = <1800000>; regulator-min-microvolt = <2950000>;
regulator-max-microvolt = <2950000>; regulator-max-microvolt = <2950000>;
regulator-allow-set-load; regulator-allow-set-load;
regulator-system-load = <200000>; regulator-system-load = <200000>;
......
...@@ -273,13 +273,13 @@ &smd_rpm_regulators { ...@@ -273,13 +273,13 @@ &smd_rpm_regulators {
vdd_l7-supply = <&pm8916_s4>; vdd_l7-supply = <&pm8916_s4>;
s3 { s3 {
regulator-min-microvolt = <1200000>; regulator-min-microvolt = <1250000>;
regulator-max-microvolt = <1300000>; regulator-max-microvolt = <1350000>;
}; };
s4 { s4 {
regulator-min-microvolt = <1800000>; regulator-min-microvolt = <1850000>;
regulator-max-microvolt = <2100000>; regulator-max-microvolt = <2150000>;
}; };
l1 { l1 {
...@@ -313,7 +313,7 @@ l7 { ...@@ -313,7 +313,7 @@ l7 {
}; };
l8 { l8 {
regulator-min-microvolt = <2850000>; regulator-min-microvolt = <2900000>;
regulator-max-microvolt = <2900000>; regulator-max-microvolt = <2900000>;
}; };
...@@ -323,12 +323,12 @@ l9 { ...@@ -323,12 +323,12 @@ l9 {
}; };
l10 { l10 {
regulator-min-microvolt = <2700000>; regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>; regulator-max-microvolt = <2800000>;
}; };
l11 { l11 {
regulator-min-microvolt = <1800000>; regulator-min-microvolt = <2950000>;
regulator-max-microvolt = <2950000>; regulator-max-microvolt = <2950000>;
regulator-allow-set-load; regulator-allow-set-load;
regulator-system-load = <200000>; regulator-system-load = <200000>;
......
...@@ -155,13 +155,13 @@ &smd_rpm_regulators { ...@@ -155,13 +155,13 @@ &smd_rpm_regulators {
vdd_l7-supply = <&pm8916_s4>; vdd_l7-supply = <&pm8916_s4>;
s3 { s3 {
regulator-min-microvolt = <1200000>; regulator-min-microvolt = <1250000>;
regulator-max-microvolt = <1300000>; regulator-max-microvolt = <1350000>;
}; };
s4 { s4 {
regulator-min-microvolt = <1800000>; regulator-min-microvolt = <1850000>;
regulator-max-microvolt = <2100000>; regulator-max-microvolt = <2150000>;
}; };
l1 { l1 {
...@@ -195,7 +195,7 @@ l7 { ...@@ -195,7 +195,7 @@ l7 {
}; };
l8 { l8 {
regulator-min-microvolt = <2850000>; regulator-min-microvolt = <2900000>;
regulator-max-microvolt = <2900000>; regulator-max-microvolt = <2900000>;
}; };
...@@ -205,12 +205,12 @@ l9 { ...@@ -205,12 +205,12 @@ l9 {
}; };
l10 { l10 {
regulator-min-microvolt = <2700000>; regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>; regulator-max-microvolt = <2800000>;
}; };
l11 { l11 {
regulator-min-microvolt = <1800000>; regulator-min-microvolt = <2950000>;
regulator-max-microvolt = <2950000>; regulator-max-microvolt = <2950000>;
regulator-allow-set-load; regulator-allow-set-load;
regulator-system-load = <200000>; regulator-system-load = <200000>;
......
...@@ -285,13 +285,13 @@ &smd_rpm_regulators { ...@@ -285,13 +285,13 @@ &smd_rpm_regulators {
vdd_l7-supply = <&pm8916_s4>; vdd_l7-supply = <&pm8916_s4>;
s3 { s3 {
regulator-min-microvolt = <1200000>; regulator-min-microvolt = <1250000>;
regulator-max-microvolt = <1300000>; regulator-max-microvolt = <1350000>;
}; };
s4 { s4 {
regulator-min-microvolt = <1800000>; regulator-min-microvolt = <1850000>;
regulator-max-microvolt = <2100000>; regulator-max-microvolt = <2150000>;
}; };
l1 { l1 {
...@@ -325,7 +325,7 @@ l7 { ...@@ -325,7 +325,7 @@ l7 {
}; };
l8 { l8 {
regulator-min-microvolt = <2850000>; regulator-min-microvolt = <2900000>;
regulator-max-microvolt = <2900000>; regulator-max-microvolt = <2900000>;
}; };
...@@ -335,12 +335,12 @@ l9 { ...@@ -335,12 +335,12 @@ l9 {
}; };
l10 { l10 {
regulator-min-microvolt = <2700000>; regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>; regulator-max-microvolt = <2800000>;
}; };
l11 { l11 {
regulator-min-microvolt = <1800000>; regulator-min-microvolt = <2950000>;
regulator-max-microvolt = <2950000>; regulator-max-microvolt = <2950000>;
regulator-allow-set-load; regulator-allow-set-load;
regulator-system-load = <200000>; regulator-system-load = <200000>;
......
...@@ -168,13 +168,13 @@ &smd_rpm_regulators { ...@@ -168,13 +168,13 @@ &smd_rpm_regulators {
vdd_l7-supply = <&pm8916_s4>; vdd_l7-supply = <&pm8916_s4>;
s3 { s3 {
regulator-min-microvolt = <1200000>; regulator-min-microvolt = <1250000>;
regulator-max-microvolt = <1300000>; regulator-max-microvolt = <1350000>;
}; };
s4 { s4 {
regulator-min-microvolt = <1800000>; regulator-min-microvolt = <1850000>;
regulator-max-microvolt = <2100000>; regulator-max-microvolt = <2150000>;
}; };
l1 { l1 {
...@@ -208,7 +208,7 @@ l7 { ...@@ -208,7 +208,7 @@ l7 {
}; };
l8 { l8 {
regulator-min-microvolt = <2850000>; regulator-min-microvolt = <2900000>;
regulator-max-microvolt = <2900000>; regulator-max-microvolt = <2900000>;
}; };
...@@ -218,12 +218,12 @@ l9 { ...@@ -218,12 +218,12 @@ l9 {
}; };
l10 { l10 {
regulator-min-microvolt = <2700000>; regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>; regulator-max-microvolt = <2800000>;
}; };
l11 { l11 {
regulator-min-microvolt = <1800000>; regulator-min-microvolt = <2950000>;
regulator-max-microvolt = <2950000>; regulator-max-microvolt = <2950000>;
regulator-system-load = <200000>; regulator-system-load = <200000>;
regulator-allow-set-load; regulator-allow-set-load;
......
...@@ -134,13 +134,13 @@ &smd_rpm_regulators { ...@@ -134,13 +134,13 @@ &smd_rpm_regulators {
vdd_l7-supply = <&pm8916_s4>; vdd_l7-supply = <&pm8916_s4>;
s3 { s3 {
regulator-min-microvolt = <1200000>; regulator-min-microvolt = <1250000>;
regulator-max-microvolt = <1300000>; regulator-max-microvolt = <1350000>;
}; };
s4 { s4 {
regulator-min-microvolt = <1800000>; regulator-min-microvolt = <1850000>;
regulator-max-microvolt = <2100000>; regulator-max-microvolt = <2150000>;
}; };
l1 { l1 {
...@@ -174,7 +174,7 @@ l7 { ...@@ -174,7 +174,7 @@ l7 {
}; };
l8 { l8 {
regulator-min-microvolt = <2850000>; regulator-min-microvolt = <2900000>;
regulator-max-microvolt = <2900000>; regulator-max-microvolt = <2900000>;
}; };
...@@ -184,12 +184,12 @@ l9 { ...@@ -184,12 +184,12 @@ l9 {
}; };
l10 { l10 {
regulator-min-microvolt = <2700000>; regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>; regulator-max-microvolt = <2800000>;
}; };
l11 { l11 {
regulator-min-microvolt = <1800000>; regulator-min-microvolt = <2950000>;
regulator-max-microvolt = <2950000>; regulator-max-microvolt = <2950000>;
regulator-allow-set-load; regulator-allow-set-load;
regulator-system-load = <200000>; regulator-system-load = <200000>;
......
...@@ -326,13 +326,13 @@ &smd_rpm_regulators { ...@@ -326,13 +326,13 @@ &smd_rpm_regulators {
vdd_l7-supply = <&pm8916_s4>; vdd_l7-supply = <&pm8916_s4>;
s3 { s3 {
regulator-min-microvolt = <1200000>; regulator-min-microvolt = <1250000>;
regulator-max-microvolt = <1300000>; regulator-max-microvolt = <1350000>;
}; };
s4 { s4 {
regulator-min-microvolt = <1800000>; regulator-min-microvolt = <1850000>;
regulator-max-microvolt = <2100000>; regulator-max-microvolt = <2150000>;
}; };
l1 { l1 {
...@@ -366,7 +366,7 @@ l7 { ...@@ -366,7 +366,7 @@ l7 {
}; };
l8 { l8 {
regulator-min-microvolt = <2850000>; regulator-min-microvolt = <2900000>;
regulator-max-microvolt = <2900000>; regulator-max-microvolt = <2900000>;
}; };
...@@ -376,12 +376,12 @@ l9 { ...@@ -376,12 +376,12 @@ l9 {
}; };
l10 { l10 {
regulator-min-microvolt = <2700000>; regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>; regulator-max-microvolt = <2800000>;
}; };
l11 { l11 {
regulator-min-microvolt = <1800000>; regulator-min-microvolt = <2950000>;
regulator-max-microvolt = <2950000>; regulator-max-microvolt = <2950000>;
regulator-allow-set-load; regulator-allow-set-load;
regulator-system-load = <200000>; regulator-system-load = <200000>;
......
...@@ -132,13 +132,13 @@ &smd_rpm_regulators { ...@@ -132,13 +132,13 @@ &smd_rpm_regulators {
vdd_l7-supply = <&pm8916_s4>; vdd_l7-supply = <&pm8916_s4>;
s3 { s3 {
regulator-min-microvolt = <1200000>; regulator-min-microvolt = <1250000>;
regulator-max-microvolt = <1300000>; regulator-max-microvolt = <1350000>;
}; };
s4 { s4 {
regulator-min-microvolt = <1800000>; regulator-min-microvolt = <1850000>;
regulator-max-microvolt = <2100000>; regulator-max-microvolt = <2150000>;
}; };
l1 { l1 {
...@@ -172,7 +172,7 @@ l7 { ...@@ -172,7 +172,7 @@ l7 {
}; };
l8 { l8 {
regulator-min-microvolt = <2850000>; regulator-min-microvolt = <2900000>;
regulator-max-microvolt = <2900000>; regulator-max-microvolt = <2900000>;
}; };
...@@ -182,12 +182,12 @@ l9 { ...@@ -182,12 +182,12 @@ l9 {
}; };
l10 { l10 {
regulator-min-microvolt = <2700000>; regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>; regulator-max-microvolt = <2800000>;
}; };
l11 { l11 {
regulator-min-microvolt = <1800000>; regulator-min-microvolt = <2950000>;
regulator-max-microvolt = <2950000>; regulator-max-microvolt = <2950000>;
regulator-system-load = <200000>; regulator-system-load = <200000>;
regulator-allow-set-load; regulator-allow-set-load;
......
...@@ -194,13 +194,13 @@ &smd_rpm_regulators { ...@@ -194,13 +194,13 @@ &smd_rpm_regulators {
vdd_l7-supply = <&pm8916_s4>; vdd_l7-supply = <&pm8916_s4>;
s3 { s3 {
regulator-min-microvolt = <1200000>; regulator-min-microvolt = <1250000>;
regulator-max-microvolt = <1300000>; regulator-max-microvolt = <1350000>;
}; };
s4 { s4 {
regulator-min-microvolt = <1800000>; regulator-min-microvolt = <1850000>;
regulator-max-microvolt = <2100000>; regulator-max-microvolt = <2150000>;
}; };
l1 { l1 {
...@@ -234,7 +234,7 @@ l7 { ...@@ -234,7 +234,7 @@ l7 {
}; };
l8 { l8 {
regulator-min-microvolt = <2850000>; regulator-min-microvolt = <2900000>;
regulator-max-microvolt = <2900000>; regulator-max-microvolt = <2900000>;
}; };
...@@ -244,7 +244,7 @@ l9 { ...@@ -244,7 +244,7 @@ l9 {
}; };
l10 { l10 {
regulator-min-microvolt = <2700000>; regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>; regulator-max-microvolt = <2800000>;
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment