diff mbox series

[3/5] arm64: dts: qcom: sm6125-seine: Provide regulators to SDHCI 1

Message ID 20221222203636.250190-4-marijn.suijten@somainline.org (mailing list archive)
State Accepted
Headers show
Series arm64: dts: qcom: sm6125-seine: Configure regulators and enable SD Card | expand

Commit Message

Marijn Suijten Dec. 22, 2022, 8:36 p.m. UTC
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(-)

Comments

Konrad Dybcio Dec. 23, 2022, noon UTC | #1
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";
>  };
>
Marijn Suijten Dec. 23, 2022, 1:08 p.m. UTC | #2
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
Konrad Dybcio Dec. 23, 2022, 1:20 p.m. UTC | #3
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 mbox series

Patch

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";
 };