arm64: dts: qcom: sa8155p-adp: Specify which LDO modes are allowed
authorDouglas Anderson <dianders@chromium.org>
Mon, 29 Aug 2022 16:49:47 +0000 (09:49 -0700)
committerBjorn Andersson <andersson@kernel.org>
Mon, 17 Oct 2022 18:19:08 +0000 (13:19 -0500)
This board uses RPMH, specifies "regulator-allow-set-load" for LDOs,
but doesn't specify any modes with "regulator-allowed-modes".

Prior to commit efb0cb50c427 ("regulator: qcom-rpmh: Implement
get_optimum_mode(), not set_load()") the above meant that we were able
to set either LPM or HPM mode. After that commit (and fixes [1]) we'll
be stuck at the initial mode. Discussion of this has resulted in the
decision that the old dts files were wrong and should be fixed to
fully restore old functionality.

Let's re-enable the old functionality by fixing the dts.

NOTE: while here, let's also remove the nonsensical
"regulator-allow-set-load" on the fixed regulator "vreg_s4a_1p8".

[1] https://lore.kernel.org/r/20220824142229.RFT.v2.2.I6f77860e5cd98bf5c67208fa9edda4a08847c304@changeid

Fixes: 5b85e8f2225c ("arm64: dts: qcom: sa8155p-adp: Add base dts file")
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Reviewed-by: Andrew Halaney <ahalaney@redhat.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220829094903.v2.1.Id59c32b560c4662d8b3697de2bd494d08d654806@changeid
arch/arm64/boot/dts/qcom/sa8155p-adp.dts

index 87ab0e1ecd16d5d5453e975bb009fccb9e9cf847..4dee790f1049dc1b2ed0764106912ab508bd5ec6 100644 (file)
@@ -43,7 +43,6 @@
 
                regulator-always-on;
                regulator-boot-on;
-               regulator-allow-set-load;
 
                vin-supply = <&vreg_3p3>;
        };
                        regulator-max-microvolt = <880000>;
                        regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
                        regulator-allow-set-load;
+                       regulator-allowed-modes =
+                           <RPMH_REGULATOR_MODE_LPM
+                            RPMH_REGULATOR_MODE_HPM>;
                };
 
                vreg_l7a_1p8: ldo7 {
                        regulator-max-microvolt = <2960000>;
                        regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
                        regulator-allow-set-load;
+                       regulator-allowed-modes =
+                           <RPMH_REGULATOR_MODE_LPM
+                            RPMH_REGULATOR_MODE_HPM>;
                };
 
                vreg_l11a_0p8: ldo11 {
                        regulator-max-microvolt = <1200000>;
                        regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
                        regulator-allow-set-load;
+                       regulator-allowed-modes =
+                           <RPMH_REGULATOR_MODE_LPM
+                            RPMH_REGULATOR_MODE_HPM>;
                };
 
                vreg_l7c_1p8: ldo7 {
                        regulator-max-microvolt = <1200000>;
                        regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
                        regulator-allow-set-load;
+                       regulator-allowed-modes =
+                           <RPMH_REGULATOR_MODE_LPM
+                            RPMH_REGULATOR_MODE_HPM>;
                };
 
                vreg_l10c_3p3: ldo10 {