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: Stephan Gerhold <stephan@gerhold.net>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230510-msm8916-regulators-v1-3-54d4960a05fc@gerhold.net
This commit is contained in:
Stephan Gerhold 2023-05-17 20:48:42 +02:00 committed by Bjorn Andersson
parent 5500f823db
commit 355750828c
13 changed files with 89 additions and 89 deletions

View File

@ -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 {
}; };
l8 { l8 {
regulator-min-microvolt = <2850000>; regulator-min-microvolt = <2900000>;
regulator-max-microvolt = <2900000>; regulator-max-microvolt = <2900000>;
}; };
@ -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;

View File

@ -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 {
}; };
l8 { l8 {
regulator-min-microvolt = <2850000>; regulator-min-microvolt = <2900000>;
regulator-max-microvolt = <2900000>; regulator-max-microvolt = <2900000>;
}; };
@ -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>;

View File

@ -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 {
}; };
l8 { l8 {
regulator-min-microvolt = <2850000>; regulator-min-microvolt = <2900000>;
regulator-max-microvolt = <2900000>; regulator-max-microvolt = <2900000>;
}; };
@ -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>;

View File

@ -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 {
}; };
l8 { l8 {
regulator-min-microvolt = <2850000>; regulator-min-microvolt = <2900000>;
regulator-max-microvolt = <2900000>; regulator-max-microvolt = <2900000>;
}; };
@ -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;

View File

@ -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 {
}; };
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>;

View File

@ -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 {
}; };
l8 { l8 {
regulator-min-microvolt = <2850000>; regulator-min-microvolt = <2900000>;
regulator-max-microvolt = <2900000>; regulator-max-microvolt = <2900000>;
}; };
@ -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>;

View File

@ -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 {
}; };
l8 { l8 {
regulator-min-microvolt = <2850000>; regulator-min-microvolt = <2900000>;
regulator-max-microvolt = <2900000>; regulator-max-microvolt = <2900000>;
}; };
@ -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>;

View File

@ -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 {
}; };
l8 { l8 {
regulator-min-microvolt = <2850000>; regulator-min-microvolt = <2900000>;
regulator-max-microvolt = <2900000>; regulator-max-microvolt = <2900000>;
}; };
@ -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>;

View File

@ -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 {
}; };
l8 { l8 {
regulator-min-microvolt = <2850000>; regulator-min-microvolt = <2900000>;
regulator-max-microvolt = <2900000>; regulator-max-microvolt = <2900000>;
}; };
@ -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;

View File

@ -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 {
}; };
l8 { l8 {
regulator-min-microvolt = <2850000>; regulator-min-microvolt = <2900000>;
regulator-max-microvolt = <2900000>; regulator-max-microvolt = <2900000>;
}; };
@ -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>;

View File

@ -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 {
}; };
l8 { l8 {
regulator-min-microvolt = <2850000>; regulator-min-microvolt = <2900000>;
regulator-max-microvolt = <2900000>; regulator-max-microvolt = <2900000>;
}; };
@ -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>;

View File

@ -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 {
}; };
l8 { l8 {
regulator-min-microvolt = <2850000>; regulator-min-microvolt = <2900000>;
regulator-max-microvolt = <2900000>; regulator-max-microvolt = <2900000>;
}; };
@ -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;

View File

@ -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 {
}; };
l8 { l8 {
regulator-min-microvolt = <2850000>; regulator-min-microvolt = <2900000>;
regulator-max-microvolt = <2900000>; regulator-max-microvolt = <2900000>;
}; };
@ -244,7 +244,7 @@ l9 {
}; };
l10 { l10 {
regulator-min-microvolt = <2700000>; regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>; regulator-max-microvolt = <2800000>;
}; };