summaryrefslogtreecommitdiff
path: root/arch/arm64/boot/dts/qcom/msm8916-ufi.dtsi
diff options
context:
space:
mode:
authorStephan Gerhold <stephan@gerhold.net>2023-05-17 21:48:42 +0300
committerBjorn Andersson <andersson@kernel.org>2023-05-25 07:50:47 +0300
commit355750828c5519c88de6ac0d09202d2a7e5892c5 (patch)
tree32687e759f1bff08c86f77a4585d78142d81dc7c /arch/arm64/boot/dts/qcom/msm8916-ufi.dtsi
parent5500f823db38db073d30557af159b77fb1f2bf26 (diff)
downloadlinux-355750828c5519c88de6ac0d09202d2a7e5892c5.tar.xz
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
Diffstat (limited to 'arch/arm64/boot/dts/qcom/msm8916-ufi.dtsi')
-rw-r--r--arch/arm64/boot/dts/qcom/msm8916-ufi.dtsi14
1 files changed, 7 insertions, 7 deletions
diff --git a/arch/arm64/boot/dts/qcom/msm8916-ufi.dtsi b/arch/arm64/boot/dts/qcom/msm8916-ufi.dtsi
index 08ecd901c1af..259c4660bb0f 100644
--- a/arch/arm64/boot/dts/qcom/msm8916-ufi.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8916-ufi.dtsi
@@ -132,13 +132,13 @@
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 @@
};
l8 {
- regulator-min-microvolt = <2850000>;
+ regulator-min-microvolt = <2900000>;
regulator-max-microvolt = <2900000>;
};
@@ -182,12 +182,12 @@
};
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;