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

From: Bryan O'Donoghue
Date: Fri May 26 2023 - 09:38:10 EST


On 17/05/2023 19:48, Stephan Gerhold wrote:
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>;

Where are you getting these 5s from ?

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

Wouldn't 1v8 be the right voltage for eMMC !SD though have you tested eMMC instead of SD ?

---
bod