[PATCH 3/8] arm64: dts: qcom: msm8916: Fix regulator constraints

From: Stephan Gerhold
Date: Wed May 17 2023 - 14:50:11 EST


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@xxxxxxxxxxx>
---
arch/arm64/boot/dts/qcom/msm8916-acer-a1-724.dts | 14 +++++++-------
arch/arm64/boot/dts/qcom/msm8916-alcatel-idol347.dts | 14 +++++++-------
arch/arm64/boot/dts/qcom/msm8916-asus-z00l.dts | 14 +++++++-------
arch/arm64/boot/dts/qcom/msm8916-gplus-fl8005a.dts | 14 +++++++-------
arch/arm64/boot/dts/qcom/msm8916-huawei-g7.dts | 12 ++++++------
arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts | 14 +++++++-------
arch/arm64/boot/dts/qcom/msm8916-longcheer-l8910.dts | 14 +++++++-------
arch/arm64/boot/dts/qcom/msm8916-samsung-a2015-common.dtsi | 14 +++++++-------
arch/arm64/boot/dts/qcom/msm8916-samsung-gt5-common.dtsi | 14 +++++++-------
arch/arm64/boot/dts/qcom/msm8916-samsung-j5-common.dtsi | 14 +++++++-------
arch/arm64/boot/dts/qcom/msm8916-samsung-serranove.dts | 14 +++++++-------
arch/arm64/boot/dts/qcom/msm8916-ufi.dtsi | 14 +++++++-------
arch/arm64/boot/dts/qcom/msm8916-wingtech-wt88047.dts | 12 ++++++------
13 files changed, 89 insertions(+), 89 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/msm8916-acer-a1-724.dts b/arch/arm64/boot/dts/qcom/msm8916-acer-a1-724.dts
index 13cd9ad167df..0d517804e44e 100644
--- a/arch/arm64/boot/dts/qcom/msm8916-acer-a1-724.dts
+++ b/arch/arm64/boot/dts/qcom/msm8916-acer-a1-724.dts
@@ -159,13 +159,13 @@ &smd_rpm_regulators {
vdd_l7-supply = <&pm8916_s4>;

s3 {
- regulator-min-microvolt = <1200000>;
- regulator-max-microvolt = <1300000>;
+ regulator-min-microvolt = <1250000>;
+ regulator-max-microvolt = <1350000>;
};

s4 {
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <2100000>;
+ regulator-min-microvolt = <1850000>;
+ regulator-max-microvolt = <2150000>;
};

l1 {
@@ -199,7 +199,7 @@ l7 {
};

l8 {
- regulator-min-microvolt = <2850000>;
+ regulator-min-microvolt = <2900000>;
regulator-max-microvolt = <2900000>;
};

@@ -209,12 +209,12 @@ l9 {
};

l10 {
- regulator-min-microvolt = <2700000>;
+ regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
};

l11 {
- regulator-min-microvolt = <1800000>;
+ regulator-min-microvolt = <2950000>;
regulator-max-microvolt = <2950000>;
regulator-system-load = <200000>;
regulator-allow-set-load;
diff --git a/arch/arm64/boot/dts/qcom/msm8916-alcatel-idol347.dts b/arch/arm64/boot/dts/qcom/msm8916-alcatel-idol347.dts
index fecb69944cfa..ddd64cc46998 100644
--- a/arch/arm64/boot/dts/qcom/msm8916-alcatel-idol347.dts
+++ b/arch/arm64/boot/dts/qcom/msm8916-alcatel-idol347.dts
@@ -201,13 +201,13 @@ &smd_rpm_regulators {
vdd_l7-supply = <&pm8916_s4>;

s3 {
- regulator-min-microvolt = <1200000>;
- regulator-max-microvolt = <1300000>;
+ regulator-min-microvolt = <1250000>;
+ regulator-max-microvolt = <1350000>;
};

s4 {
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <2100000>;
+ regulator-min-microvolt = <1850000>;
+ regulator-max-microvolt = <2150000>;
};

l1 {
@@ -241,7 +241,7 @@ l7 {
};

l8 {
- regulator-min-microvolt = <2850000>;
+ regulator-min-microvolt = <2900000>;
regulator-max-microvolt = <2900000>;
};

@@ -251,12 +251,12 @@ l9 {
};

l10 {
- regulator-min-microvolt = <2700000>;
+ regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
};

l11 {
- regulator-min-microvolt = <1800000>;
+ regulator-min-microvolt = <2950000>;
regulator-max-microvolt = <2950000>;
regulator-allow-set-load;
regulator-system-load = <200000>;
diff --git a/arch/arm64/boot/dts/qcom/msm8916-asus-z00l.dts b/arch/arm64/boot/dts/qcom/msm8916-asus-z00l.dts
index 91284a1d0966..982457503a3c 100644
--- a/arch/arm64/boot/dts/qcom/msm8916-asus-z00l.dts
+++ b/arch/arm64/boot/dts/qcom/msm8916-asus-z00l.dts
@@ -169,13 +169,13 @@ &smd_rpm_regulators {
vdd_l7-supply = <&pm8916_s4>;

s3 {
- regulator-min-microvolt = <1200000>;
- regulator-max-microvolt = <1300000>;
+ regulator-min-microvolt = <1250000>;
+ regulator-max-microvolt = <1350000>;
};

s4 {
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <2100000>;
+ regulator-min-microvolt = <1850000>;
+ regulator-max-microvolt = <2150000>;
};

l1 {
@@ -209,7 +209,7 @@ l7 {
};

l8 {
- regulator-min-microvolt = <2850000>;
+ regulator-min-microvolt = <2900000>;
regulator-max-microvolt = <2900000>;
};

@@ -219,12 +219,12 @@ l9 {
};

l10 {
- regulator-min-microvolt = <2700000>;
+ regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
};

l11 {
- regulator-min-microvolt = <1800000>;
+ regulator-min-microvolt = <2950000>;
regulator-max-microvolt = <2950000>;
regulator-allow-set-load;
regulator-system-load = <200000>;
diff --git a/arch/arm64/boot/dts/qcom/msm8916-gplus-fl8005a.dts b/arch/arm64/boot/dts/qcom/msm8916-gplus-fl8005a.dts
index 525ec76efeeb..9584d271c526 100644
--- a/arch/arm64/boot/dts/qcom/msm8916-gplus-fl8005a.dts
+++ b/arch/arm64/boot/dts/qcom/msm8916-gplus-fl8005a.dts
@@ -159,13 +159,13 @@ &smd_rpm_regulators {
vdd_l7-supply = <&pm8916_s4>;

s3 {
- regulator-min-microvolt = <1200000>;
- regulator-max-microvolt = <1300000>;
+ regulator-min-microvolt = <1250000>;
+ regulator-max-microvolt = <1350000>;
};

s4 {
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <2100000>;
+ regulator-min-microvolt = <1850000>;
+ regulator-max-microvolt = <2150000>;
};

l1 {
@@ -199,7 +199,7 @@ l7 {
};

l8 {
- regulator-min-microvolt = <2850000>;
+ regulator-min-microvolt = <2900000>;
regulator-max-microvolt = <2900000>;
};

@@ -209,12 +209,12 @@ l9 {
};

l10 {
- regulator-min-microvolt = <2700000>;
+ regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
};

l11 {
- regulator-min-microvolt = <1800000>;
+ regulator-min-microvolt = <2950000>;
regulator-max-microvolt = <2950000>;
regulator-system-load = <200000>;
regulator-allow-set-load;
diff --git a/arch/arm64/boot/dts/qcom/msm8916-huawei-g7.dts b/arch/arm64/boot/dts/qcom/msm8916-huawei-g7.dts
index 5b1bac8f5122..baa7bb86cdd5 100644
--- a/arch/arm64/boot/dts/qcom/msm8916-huawei-g7.dts
+++ b/arch/arm64/boot/dts/qcom/msm8916-huawei-g7.dts
@@ -322,13 +322,13 @@ &smd_rpm_regulators {
vdd_l7-supply = <&pm8916_s4>;

s3 {
- regulator-min-microvolt = <1200000>;
- regulator-max-microvolt = <1300000>;
+ regulator-min-microvolt = <1250000>;
+ regulator-max-microvolt = <1350000>;
};

s4 {
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <2100000>;
+ regulator-min-microvolt = <1850000>;
+ regulator-max-microvolt = <2150000>;
};

l1 {
@@ -372,12 +372,12 @@ l9 {
};

l10 {
- regulator-min-microvolt = <2700000>;
+ regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
};

l11 {
- regulator-min-microvolt = <1800000>;
+ regulator-min-microvolt = <2950000>;
regulator-max-microvolt = <2950000>;
regulator-allow-set-load;
regulator-system-load = <200000>;
diff --git a/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts b/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts
index f1dd625e1822..68d1b76aaf77 100644
--- a/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts
+++ b/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts
@@ -273,13 +273,13 @@ &smd_rpm_regulators {
vdd_l7-supply = <&pm8916_s4>;

s3 {
- regulator-min-microvolt = <1200000>;
- regulator-max-microvolt = <1300000>;
+ regulator-min-microvolt = <1250000>;
+ regulator-max-microvolt = <1350000>;
};

s4 {
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <2100000>;
+ regulator-min-microvolt = <1850000>;
+ regulator-max-microvolt = <2150000>;
};

l1 {
@@ -313,7 +313,7 @@ l7 {
};

l8 {
- regulator-min-microvolt = <2850000>;
+ regulator-min-microvolt = <2900000>;
regulator-max-microvolt = <2900000>;
};

@@ -323,12 +323,12 @@ l9 {
};

l10 {
- regulator-min-microvolt = <2700000>;
+ regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
};

l11 {
- regulator-min-microvolt = <1800000>;
+ regulator-min-microvolt = <2950000>;
regulator-max-microvolt = <2950000>;
regulator-allow-set-load;
regulator-system-load = <200000>;
diff --git a/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8910.dts b/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8910.dts
index b79e80913af9..5ef51d3e9098 100644
--- a/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8910.dts
+++ b/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8910.dts
@@ -140,13 +140,13 @@ &smd_rpm_regulators {
vdd_l7-supply = <&pm8916_s4>;

s3 {
- regulator-min-microvolt = <1200000>;
- regulator-max-microvolt = <1300000>;
+ regulator-min-microvolt = <1250000>;
+ regulator-max-microvolt = <1350000>;
};

s4 {
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <2100000>;
+ regulator-min-microvolt = <1850000>;
+ regulator-max-microvolt = <2150000>;
};

l1 {
@@ -180,7 +180,7 @@ l7 {
};

l8 {
- regulator-min-microvolt = <2850000>;
+ regulator-min-microvolt = <2900000>;
regulator-max-microvolt = <2900000>;
};

@@ -190,12 +190,12 @@ l9 {
};

l10 {
- regulator-min-microvolt = <2700000>;
+ regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
};

l11 {
- regulator-min-microvolt = <1800000>;
+ regulator-min-microvolt = <2950000>;
regulator-max-microvolt = <2950000>;
regulator-allow-set-load;
regulator-system-load = <200000>;
diff --git a/arch/arm64/boot/dts/qcom/msm8916-samsung-a2015-common.dtsi b/arch/arm64/boot/dts/qcom/msm8916-samsung-a2015-common.dtsi
index 16d67749960e..b362a76eebc9 100644
--- a/arch/arm64/boot/dts/qcom/msm8916-samsung-a2015-common.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8916-samsung-a2015-common.dtsi
@@ -285,13 +285,13 @@ &smd_rpm_regulators {
vdd_l7-supply = <&pm8916_s4>;

s3 {
- regulator-min-microvolt = <1200000>;
- regulator-max-microvolt = <1300000>;
+ regulator-min-microvolt = <1250000>;
+ regulator-max-microvolt = <1350000>;
};

s4 {
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <2100000>;
+ regulator-min-microvolt = <1850000>;
+ regulator-max-microvolt = <2150000>;
};

l1 {
@@ -325,7 +325,7 @@ l7 {
};

l8 {
- regulator-min-microvolt = <2850000>;
+ regulator-min-microvolt = <2900000>;
regulator-max-microvolt = <2900000>;
};

@@ -335,12 +335,12 @@ l9 {
};

l10 {
- regulator-min-microvolt = <2700000>;
+ regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
};

l11 {
- regulator-min-microvolt = <1800000>;
+ regulator-min-microvolt = <2950000>;
regulator-max-microvolt = <2950000>;
regulator-allow-set-load;
regulator-system-load = <200000>;
diff --git a/arch/arm64/boot/dts/qcom/msm8916-samsung-gt5-common.dtsi b/arch/arm64/boot/dts/qcom/msm8916-samsung-gt5-common.dtsi
index 74ffd04db8d8..4464beeeaab1 100644
--- a/arch/arm64/boot/dts/qcom/msm8916-samsung-gt5-common.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8916-samsung-gt5-common.dtsi
@@ -168,13 +168,13 @@ &smd_rpm_regulators {
vdd_l7-supply = <&pm8916_s4>;

s3 {
- regulator-min-microvolt = <1200000>;
- regulator-max-microvolt = <1300000>;
+ regulator-min-microvolt = <1250000>;
+ regulator-max-microvolt = <1350000>;
};

s4 {
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <2100000>;
+ regulator-min-microvolt = <1850000>;
+ regulator-max-microvolt = <2150000>;
};

l1 {
@@ -208,7 +208,7 @@ l7 {
};

l8 {
- regulator-min-microvolt = <2850000>;
+ regulator-min-microvolt = <2900000>;
regulator-max-microvolt = <2900000>;
};

@@ -218,12 +218,12 @@ l9 {
};

l10 {
- regulator-min-microvolt = <2700000>;
+ regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
};

l11 {
- regulator-min-microvolt = <1800000>;
+ regulator-min-microvolt = <2950000>;
regulator-max-microvolt = <2950000>;
regulator-system-load = <200000>;
regulator-allow-set-load;
diff --git a/arch/arm64/boot/dts/qcom/msm8916-samsung-j5-common.dtsi b/arch/arm64/boot/dts/qcom/msm8916-samsung-j5-common.dtsi
index adeee0830e76..6e231e92e675 100644
--- a/arch/arm64/boot/dts/qcom/msm8916-samsung-j5-common.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8916-samsung-j5-common.dtsi
@@ -134,13 +134,13 @@ &smd_rpm_regulators {
vdd_l7-supply = <&pm8916_s4>;

s3 {
- regulator-min-microvolt = <1200000>;
- regulator-max-microvolt = <1300000>;
+ regulator-min-microvolt = <1250000>;
+ regulator-max-microvolt = <1350000>;
};

s4 {
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <2100000>;
+ regulator-min-microvolt = <1850000>;
+ regulator-max-microvolt = <2150000>;
};

l1 {
@@ -174,7 +174,7 @@ l7 {
};

l8 {
- regulator-min-microvolt = <2850000>;
+ regulator-min-microvolt = <2900000>;
regulator-max-microvolt = <2900000>;
};

@@ -184,12 +184,12 @@ l9 {
};

l10 {
- regulator-min-microvolt = <2700000>;
+ regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
};

l11 {
- regulator-min-microvolt = <1800000>;
+ regulator-min-microvolt = <2950000>;
regulator-max-microvolt = <2950000>;
regulator-allow-set-load;
regulator-system-load = <200000>;
diff --git a/arch/arm64/boot/dts/qcom/msm8916-samsung-serranove.dts b/arch/arm64/boot/dts/qcom/msm8916-samsung-serranove.dts
index 1a41a4db874d..fa5b330aaeae 100644
--- a/arch/arm64/boot/dts/qcom/msm8916-samsung-serranove.dts
+++ b/arch/arm64/boot/dts/qcom/msm8916-samsung-serranove.dts
@@ -326,13 +326,13 @@ &smd_rpm_regulators {
vdd_l7-supply = <&pm8916_s4>;

s3 {
- regulator-min-microvolt = <1200000>;
- regulator-max-microvolt = <1300000>;
+ regulator-min-microvolt = <1250000>;
+ regulator-max-microvolt = <1350000>;
};

s4 {
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <2100000>;
+ regulator-min-microvolt = <1850000>;
+ regulator-max-microvolt = <2150000>;
};

l1 {
@@ -366,7 +366,7 @@ l7 {
};

l8 {
- regulator-min-microvolt = <2850000>;
+ regulator-min-microvolt = <2900000>;
regulator-max-microvolt = <2900000>;
};

@@ -376,12 +376,12 @@ l9 {
};

l10 {
- regulator-min-microvolt = <2700000>;
+ regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
};

l11 {
- regulator-min-microvolt = <1800000>;
+ regulator-min-microvolt = <2950000>;
regulator-max-microvolt = <2950000>;
regulator-allow-set-load;
regulator-system-load = <200000>;
diff --git a/arch/arm64/boot/dts/qcom/msm8916-ufi.dtsi b/arch/arm64/boot/dts/qcom/msm8916-ufi.dtsi
index 50bae6f214f1..b27896e83a0e 100644
--- a/arch/arm64/boot/dts/qcom/msm8916-ufi.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8916-ufi.dtsi
@@ -132,13 +132,13 @@ &smd_rpm_regulators {
vdd_l7-supply = <&pm8916_s4>;

s3 {
- regulator-min-microvolt = <1200000>;
- regulator-max-microvolt = <1300000>;
+ regulator-min-microvolt = <1250000>;
+ regulator-max-microvolt = <1350000>;
};

s4 {
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <2100000>;
+ regulator-min-microvolt = <1850000>;
+ regulator-max-microvolt = <2150000>;
};

l1 {
@@ -172,7 +172,7 @@ l7 {
};

l8 {
- regulator-min-microvolt = <2850000>;
+ regulator-min-microvolt = <2900000>;
regulator-max-microvolt = <2900000>;
};

@@ -182,12 +182,12 @@ l9 {
};

l10 {
- regulator-min-microvolt = <2700000>;
+ regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
};

l11 {
- regulator-min-microvolt = <1800000>;
+ regulator-min-microvolt = <2950000>;
regulator-max-microvolt = <2950000>;
regulator-system-load = <200000>;
regulator-allow-set-load;
diff --git a/arch/arm64/boot/dts/qcom/msm8916-wingtech-wt88047.dts b/arch/arm64/boot/dts/qcom/msm8916-wingtech-wt88047.dts
index ac56c7595f78..78020a0db4e4 100644
--- a/arch/arm64/boot/dts/qcom/msm8916-wingtech-wt88047.dts
+++ b/arch/arm64/boot/dts/qcom/msm8916-wingtech-wt88047.dts
@@ -194,13 +194,13 @@ &smd_rpm_regulators {
vdd_l7-supply = <&pm8916_s4>;

s3 {
- regulator-min-microvolt = <1200000>;
- regulator-max-microvolt = <1300000>;
+ regulator-min-microvolt = <1250000>;
+ regulator-max-microvolt = <1350000>;
};

s4 {
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <2100000>;
+ regulator-min-microvolt = <1850000>;
+ regulator-max-microvolt = <2150000>;
};

l1 {
@@ -234,7 +234,7 @@ l7 {
};

l8 {
- regulator-min-microvolt = <2850000>;
+ regulator-min-microvolt = <2900000>;
regulator-max-microvolt = <2900000>;
};

@@ -244,7 +244,7 @@ l9 {
};

l10 {
- regulator-min-microvolt = <2700000>;
+ regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
};


--
2.40.1