Message ID | 20221222203636.250190-4-marijn.suijten@somainline.org |
---|---|
State | New |
Headers | show |
Series | arm64: dts: qcom: sm6125-seine: Configure regulators and enable SD Card | expand |
On 22.12.2022 21:36, Marijn Suijten wrote: > While SDHCI 1 appears to work out of the box, we cannot rely on the > bootloader-enabled regulators nor expect them to remain enabled (e.g. > when finally dropping pd_ignore_unused). Unrelated, unused-yet-enabled (as far as Linux is concerned, anyway, it doesn't know the state of smd rpm regulators unless you add regulator-boot-on) regulators get swept by "regulator cleanup". Provide it the necessary l24 > and l11 regulators now that PM6125 regulators have been made available > on this board. > > As usual regulator voltages are decreased to the maximum voted by the > downstream driver for safety. No other hardware feeds off of these > regulators anyway (except UFS, which isn't used on the seine board in > favour of a DV6DMB eMMC card connected to SDHCI 1). > > Signed-off-by: Marijn Suijten <marijn.suijten@somainline.org> > --- Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org> Konrad > .../boot/dts/qcom/sm6125-sony-xperia-seine-pdx201.dts | 8 ++++++-- > 1 file changed, 6 insertions(+), 2 deletions(-) > > diff --git a/arch/arm64/boot/dts/qcom/sm6125-sony-xperia-seine-pdx201.dts b/arch/arm64/boot/dts/qcom/sm6125-sony-xperia-seine-pdx201.dts > index 15b43cff210b..eaddbe522695 100644 > --- a/arch/arm64/boot/dts/qcom/sm6125-sony-xperia-seine-pdx201.dts > +++ b/arch/arm64/boot/dts/qcom/sm6125-sony-xperia-seine-pdx201.dts > @@ -348,7 +348,8 @@ pm6125_l10: l10 { > > pm6125_l11: l11 { > regulator-min-microvolt = <1800000>; > - regulator-max-microvolt = <1952000>; > + regulator-max-microvolt = <1800000>; > + regulator-allow-set-load; > }; > > pm6125_l12: l12 { > @@ -413,7 +414,8 @@ pm6125_l23: l23 { > > pm6125_l24: l24 { > regulator-min-microvolt = <2944000>; > - regulator-max-microvolt = <3304000>; > + regulator-max-microvolt = <2950000>; > + regulator-allow-set-load; > }; > }; > }; > @@ -437,6 +439,8 @@ sd-cd-pins { > }; > > &sdhc_1 { > + vmmc-supply = <&pm6125_l24>; > + vqmmc-supply = <&pm6125_l11>; > status = "okay"; > }; >
On 2022-12-23 13:00:18, Konrad Dybcio wrote: > > > On 22.12.2022 21:36, Marijn Suijten wrote: > > While SDHCI 1 appears to work out of the box, we cannot rely on the > > bootloader-enabled regulators nor expect them to remain enabled (e.g. > > when finally dropping pd_ignore_unused). > > Unrelated, unused-yet-enabled (as far as Linux is concerned, anyway, > it doesn't know the state of smd rpm regulators unless you add > regulator-boot-on) regulators get swept by "regulator cleanup". That's exactly the point made here: at least this way Linux knows that these regulators should remain enabled. Even if it doesn't know about many others and would fall flat on its face regardless when disabling others as part of regulator cleanup. Unless you meant something different? - Marijn
On 23.12.2022 14:08, Marijn Suijten wrote: > On 2022-12-23 13:00:18, Konrad Dybcio wrote: >> >> >> On 22.12.2022 21:36, Marijn Suijten wrote: >>> While SDHCI 1 appears to work out of the box, we cannot rely on the >>> bootloader-enabled regulators nor expect them to remain enabled (e.g. >>> when finally dropping pd_ignore_unused). >> >> Unrelated, unused-yet-enabled (as far as Linux is concerned, anyway, >> it doesn't know the state of smd rpm regulators unless you add >> regulator-boot-on) regulators get swept by "regulator cleanup". > > That's exactly the point made here: at least this way Linux knows that > these regulators should remain enabled. Even if it doesn't know about > many others and would fall flat on its face regardless when disabling > others as part of regulator cleanup. > > Unless you meant something different? I meant that regulators are not handled by pd_ignore_unused, but rather by a similar mechanism. Konrad > > - Marijn
diff --git a/arch/arm64/boot/dts/qcom/sm6125-sony-xperia-seine-pdx201.dts b/arch/arm64/boot/dts/qcom/sm6125-sony-xperia-seine-pdx201.dts index 15b43cff210b..eaddbe522695 100644 --- a/arch/arm64/boot/dts/qcom/sm6125-sony-xperia-seine-pdx201.dts +++ b/arch/arm64/boot/dts/qcom/sm6125-sony-xperia-seine-pdx201.dts @@ -348,7 +348,8 @@ pm6125_l10: l10 { pm6125_l11: l11 { regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1952000>; + regulator-max-microvolt = <1800000>; + regulator-allow-set-load; }; pm6125_l12: l12 { @@ -413,7 +414,8 @@ pm6125_l23: l23 { pm6125_l24: l24 { regulator-min-microvolt = <2944000>; - regulator-max-microvolt = <3304000>; + regulator-max-microvolt = <2950000>; + regulator-allow-set-load; }; }; }; @@ -437,6 +439,8 @@ sd-cd-pins { }; &sdhc_1 { + vmmc-supply = <&pm6125_l24>; + vqmmc-supply = <&pm6125_l11>; status = "okay"; };
While SDHCI 1 appears to work out of the box, we cannot rely on the bootloader-enabled regulators nor expect them to remain enabled (e.g. when finally dropping pd_ignore_unused). Provide it the necessary l24 and l11 regulators now that PM6125 regulators have been made available on this board. As usual regulator voltages are decreased to the maximum voted by the downstream driver for safety. No other hardware feeds off of these regulators anyway (except UFS, which isn't used on the seine board in favour of a DV6DMB eMMC card connected to SDHCI 1). Signed-off-by: Marijn Suijten <marijn.suijten@somainline.org> --- .../boot/dts/qcom/sm6125-sony-xperia-seine-pdx201.dts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)