arm64: dts: qcom: sm8350-hdk: Specify which LDO modes are allowed
authorDouglas Anderson <dianders@chromium.org>
Mon, 29 Aug 2022 16:49:52 +0000 (09:49 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 26 Nov 2022 08:24:33 +0000 (09:24 +0100)
[ Upstream commit 1ce8aaf6abdc35cde555924418b3d4516b4ec871 ]

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.

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

Fixes: 9208c19f2124 ("arm64: dts: qcom: Introduce SM8350 HDK")
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Reviewed-by: Andrew Halaney <ahalaney@redhat.com>
Reviewed-by: Vinod Koul <vkoul@kernel.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220829094903.v2.6.I6799be85cf36d3b494f803cba767a569080624f5@changeid
Signed-off-by: Sasha Levin <sashal@kernel.org>
arch/arm64/boot/dts/qcom/sm8350-hdk.dts

index 56093e2..9ea0d72 100644 (file)
                        regulator-max-microvolt = <888000>;
                        regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
                        regulator-allow-set-load;
+                       regulator-allowed-modes =
+                           <RPMH_REGULATOR_MODE_LPM
+                            RPMH_REGULATOR_MODE_HPM>;
                };
 
                vreg_l6b_1p2: ldo6 {
                        regulator-max-microvolt = <1208000>;
                        regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
                        regulator-allow-set-load;
+                       regulator-allowed-modes =
+                           <RPMH_REGULATOR_MODE_LPM
+                            RPMH_REGULATOR_MODE_HPM>;
                };
 
                vreg_l7b_2p96: ldo7 {
                        regulator-max-microvolt = <2504000>;
                        regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
                        regulator-allow-set-load;
+                       regulator-allowed-modes =
+                           <RPMH_REGULATOR_MODE_LPM
+                            RPMH_REGULATOR_MODE_HPM>;
                };
 
                vreg_l9b_1p2: ldo9 {
                        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>;
                };
        };