On Mon, Aug 29, 2022 at 09:49:48AM -0700, Douglas Anderson wrote: > 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: 519183af39b2 ("arm64: dts: qcom: add SA8540P and ADP") > Signed-off-by: Douglas Anderson <dianders@xxxxxxxxxxxx> > Reviewed-by: Andrew Halaney <ahalaney@xxxxxxxxxx> > Reviewed-by: Konrad Dybcio <konrad.dybcio@xxxxxxxxxxxxxx> > --- > > Changes in v2: > - Rebased atop ("...: sa8295p-adp: disallow regulator mode switches") Looks good: Reviewed-by: Johan Hovold <johan+linaro@xxxxxxxxxx> > arch/arm64/boot/dts/qcom/sa8295p-adp.dts | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > > diff --git a/arch/arm64/boot/dts/qcom/sa8295p-adp.dts b/arch/arm64/boot/dts/qcom/sa8295p-adp.dts > index ca5f5ad32ce5..5b16ac76fefb 100644 > --- a/arch/arm64/boot/dts/qcom/sa8295p-adp.dts > +++ b/arch/arm64/boot/dts/qcom/sa8295p-adp.dts > @@ -83,6 +83,9 @@ vreg_l3c: ldo3 { > 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_l4c: ldo4 { > @@ -98,6 +101,9 @@ vreg_l6c: ldo6 { > 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: ldo7 { > @@ -113,6 +119,9 @@ vreg_l10c: ldo10 { > 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_l17c: ldo17 { > @@ -121,6 +130,9 @@ vreg_l17c: ldo17 { > 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>; > }; > };