[07/10] arm64: dts: qcom: sm6350-lena: Provide power to SDHCI 2 (SDCard slot)

Message ID 20221030073232.22726-8-marijn.suijten@somainline.org
State New
Headers
Series arm64: dts: qcom: sm6350: SD Card fixes, pm6350 keys and touchscreen for PDX213 |

Commit Message

Marijn Suijten Oct. 30, 2022, 7:32 a.m. UTC
  Without power the SDCard slot / hardware remains dormant.

Like many other platforms these regulators are used exclusively by
SDHCI, and have their maximum voltage decreased to what downstream sets
on the consumer side.  Additionally the SDHCI driver supports setting a
load, for which the regulator definition is extended much the same.

Signed-off-by: Marijn Suijten <marijn.suijten@somainline.org>
---
 .../dts/qcom/sm6350-sony-xperia-lena-pdx213.dts | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)
  

Comments

Konrad Dybcio Oct. 31, 2022, 9:14 p.m. UTC | #1
On 30.10.2022 08:32, Marijn Suijten wrote:
> Without power the SDCard slot / hardware remains dormant.
> 
> Like many other platforms these regulators are used exclusively by
> SDHCI, and have their maximum voltage decreased to what downstream sets
> on the consumer side.  Additionally the SDHCI driver supports setting a
> load, for which the regulator definition is extended much the same.
> 
> Signed-off-by: Marijn Suijten <marijn.suijten@somainline.org>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@somainline.org>

Konrad
>  .../dts/qcom/sm6350-sony-xperia-lena-pdx213.dts | 17 +++++++++++++++--
>  1 file changed, 15 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/qcom/sm6350-sony-xperia-lena-pdx213.dts b/arch/arm64/boot/dts/qcom/sm6350-sony-xperia-lena-pdx213.dts
> index 1aaa9612b061..5cb76026ef67 100644
> --- a/arch/arm64/boot/dts/qcom/sm6350-sony-xperia-lena-pdx213.dts
> +++ b/arch/arm64/boot/dts/qcom/sm6350-sony-xperia-lena-pdx213.dts
> @@ -219,8 +219,13 @@ pm6150l_l5: ldo5 {
>  
>  		pm6150l_l6: ldo6 {
>  			regulator-min-microvolt = <1700000>;
> -			regulator-max-microvolt = <3544000>;
> +			regulator-max-microvolt = <2950000>;
>  			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> +			regulator-allow-set-load;
> +			regulator-allowed-modes =
> +			    <RPMH_REGULATOR_MODE_LPM
> +			     RPMH_REGULATOR_MODE_HPM>;
> +
>  		};
>  
>  		pm6150l_l7: ldo7 {
> @@ -237,8 +242,13 @@ pm6150l_l8: ldo8 {
>  
>  		pm6150l_l9: ldo9 {
>  			regulator-min-microvolt = <2700000>;
> -			regulator-max-microvolt = <3544000>;
> +			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>;
> +
>  		};
>  
>  		pm6150l_l10: ldo10 {
> @@ -300,6 +310,9 @@ sd-cd-pins {
>  &sdhc_2 {
>  	status = "okay";
>  
> +	vmmc-supply = <&pm6150l_l9>;
> +	vqmmc-supply = <&pm6150l_l6>;
> +
>  	cd-gpios = <&tlmm 94 GPIO_ACTIVE_HIGH>;
>  };
>
  

Patch

diff --git a/arch/arm64/boot/dts/qcom/sm6350-sony-xperia-lena-pdx213.dts b/arch/arm64/boot/dts/qcom/sm6350-sony-xperia-lena-pdx213.dts
index 1aaa9612b061..5cb76026ef67 100644
--- a/arch/arm64/boot/dts/qcom/sm6350-sony-xperia-lena-pdx213.dts
+++ b/arch/arm64/boot/dts/qcom/sm6350-sony-xperia-lena-pdx213.dts
@@ -219,8 +219,13 @@  pm6150l_l5: ldo5 {
 
 		pm6150l_l6: ldo6 {
 			regulator-min-microvolt = <1700000>;
-			regulator-max-microvolt = <3544000>;
+			regulator-max-microvolt = <2950000>;
 			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+			regulator-allow-set-load;
+			regulator-allowed-modes =
+			    <RPMH_REGULATOR_MODE_LPM
+			     RPMH_REGULATOR_MODE_HPM>;
+
 		};
 
 		pm6150l_l7: ldo7 {
@@ -237,8 +242,13 @@  pm6150l_l8: ldo8 {
 
 		pm6150l_l9: ldo9 {
 			regulator-min-microvolt = <2700000>;
-			regulator-max-microvolt = <3544000>;
+			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>;
+
 		};
 
 		pm6150l_l10: ldo10 {
@@ -300,6 +310,9 @@  sd-cd-pins {
 &sdhc_2 {
 	status = "okay";
 
+	vmmc-supply = <&pm6150l_l9>;
+	vqmmc-supply = <&pm6150l_l6>;
+
 	cd-gpios = <&tlmm 94 GPIO_ACTIVE_HIGH>;
 };