mbox series

[0/5] arm64: dts: qcom: sm6125-seine: Configure regulators and enable SD Card

Message ID 20221222203636.250190-1-marijn.suijten@somainline.org
Headers show
Series arm64: dts: qcom: sm6125-seine: Configure regulators and enable SD Card | expand

Message

Marijn Suijten Dec. 22, 2022, 8:36 p.m. UTC
Configure regulators on Sony's SM6125-backed seine platform, and provide
these regulators to existing (SDHCI 1 / HS USB2 PHY) nodes so that they
can cast their votes despite being left enabled by the bootloader.

In addition this allows us to enable the SD Card slot on SDHCI 2, which
would not function without turning on the necessary regulators (i.e.
these were /not/ left enabled by the BL, for good reason).

Depends on:
- SM6125 APPS SMMU: https://lore.kernel.org/linux-arm-msm/20221222193254.126925-1-marijn.suijten@somainline.org/T/#u
- SM6125 GPI DMA: https://lore.kernel.org/linux-arm-msm/20221222194600.139854-1-marijn.suijten@somainline.org/T/#u
- SM6125 QUPs, SPI and I2C: https://lore.kernel.org/linux-arm-msm/20221216233408.1283581-1-marijn.suijten@somainline.org/T/#u

(To prevent DTS conflicts with the &qupv3_id_0 node override right above
&rpm_requests.)

Marijn Suijten (5):
  arm64: dts: qcom: sm6125-seine: Configure PM6125 regulators
  arm64: dts: qcom: sm6125-seine: Provide regulators to HS USB2 PHY
  arm64: dts: qcom: sm6125-seine: Provide regulators to SDHCI 1
  arm64: dts: qcom: sm6125-seine: Configure SD Card slot on SDHCI 2
  arm64: dts: qcom: sm6125-seine: Lock eMMC and SD Card IDs via aliases

 .../qcom/sm6125-sony-xperia-seine-pdx201.dts  | 162 ++++++++++++++++++
 1 file changed, 162 insertions(+)

--
2.39.0

Comments

Konrad Dybcio Dec. 23, 2022, 11:57 a.m. UTC | #1
On 22.12.2022 21:36, Marijn Suijten wrote:
> Configure PM6125 regulators based on availability and voltages defined
> downstream, to allow powering up (and/or keeping powered) other hardware
> blocks going forward.
> 
> Signed-off-by: Marijn Suijten <marijn.suijten@somainline.org>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>

Konrad
>  .../qcom/sm6125-sony-xperia-seine-pdx201.dts  | 139 ++++++++++++++++++
>  1 file changed, 139 insertions(+)
> 
> 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 4e7c12863d28..4f825c55692b 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
> @@ -276,6 +276,145 @@ &qupv3_id_0 {
>  	status = "okay";
>  };
>  
> +&rpm_requests {
> +	regulators-0 {
> +		compatible = "qcom,rpm-pm6125-regulators";
> +
> +		vdd_l2_l3_l4-supply = <&pm6125_l7>;
> +		vdd_l5_l15_l19_l20_l21_l22-supply = <&pm6125_l10>;
> +
> +		/*
> +		 * S3/S4 is VDD_CX
> +		 * S5 is VDD_MX/WCSS_MX
> +		 */
> +
> +		pm6125_s6: s6 {
> +			regulator-min-microvolt = <936000>;
> +			regulator-max-microvolt = <1422000>;
> +		};
> +
> +		pm6125_l1: l1 {
> +			regulator-min-microvolt = <1200000>;
> +			regulator-max-microvolt = <1256000>;
> +		};
> +
> +		pm6125_l2: l2 {
> +			regulator-min-microvolt = <1000000>;
> +			regulator-max-microvolt = <1056000>;
> +		};
> +
> +		pm6125_l3: l3 {
> +			regulator-min-microvolt = <1000000>;
> +			regulator-max-microvolt = <1064000>;
> +		};
> +
> +		pm6125_l4: l4 {
> +			regulator-min-microvolt = <872000>;
> +			regulator-max-microvolt = <976000>;
> +		};
> +
> +		pm6125_l5: l5 {
> +			regulator-min-microvolt = <1648000>;
> +			regulator-max-microvolt = <3104000>;
> +		};
> +
> +		pm6125_l6: l6 {
> +			regulator-min-microvolt = <576000>;
> +			regulator-max-microvolt = <656000>;
> +		};
> +
> +		pm6125_l7: l7 {
> +			regulator-min-microvolt = <872000>;
> +			regulator-max-microvolt = <976000>;
> +		};
> +
> +		pm6125_l8: l8 {
> +			regulator-min-microvolt = <400000>;
> +			regulator-max-microvolt = <728000>;
> +		};
> +
> +		pm6125_l9: l9 {
> +			regulator-min-microvolt = <1800000>;
> +			regulator-max-microvolt = <1896000>;
> +		};
> +
> +		pm6125_l10: l10 {
> +			regulator-min-microvolt = <1800000>;
> +			regulator-max-microvolt = <1896000>;
> +		};
> +
> +		pm6125_l11: l11 {
> +			regulator-min-microvolt = <1800000>;
> +			regulator-max-microvolt = <1952000>;
> +		};
> +
> +		pm6125_l12: l12 {
> +			regulator-min-microvolt = <1800000>;
> +			regulator-max-microvolt = <1996000>;
> +		};
> +
> +		pm6125_l13: l13 {
> +			regulator-min-microvolt = <1800000>;
> +			regulator-max-microvolt = <1832000>;
> +		};
> +
> +		pm6125_l14: l14 {
> +			regulator-min-microvolt = <1800000>;
> +			regulator-max-microvolt = <1904000>;
> +		};
> +
> +		pm6125_l15: l15 {
> +			regulator-min-microvolt = <3104000>;
> +			regulator-max-microvolt = <3232000>;
> +		};
> +
> +		pm6125_l16: l16 {
> +			regulator-min-microvolt = <1800000>;
> +			regulator-max-microvolt = <1904000>;
> +		};
> +
> +		pm6125_l17: l17 {
> +			regulator-min-microvolt = <1248000>;
> +			regulator-max-microvolt = <1304000>;
> +		};
> +
> +		pm6125_l18: l18 {
> +			regulator-min-microvolt = <1200000>;
> +			regulator-max-microvolt = <1264000>;
> +		};
> +
> +		pm6125_l19: l19 {
> +			regulator-min-microvolt = <1648000>;
> +			regulator-max-microvolt = <2952000>;
> +		};
> +
> +		pm6125_l20: l20 {
> +			regulator-min-microvolt = <1648000>;
> +			regulator-max-microvolt = <2952000>;
> +		};
> +
> +		pm6125_l21: l21 {
> +			regulator-min-microvolt = <2600000>;
> +			regulator-max-microvolt = <2856000>;
> +		};
> +
> +		pm6125_l22: l22 {
> +			regulator-min-microvolt = <2944000>;
> +			regulator-max-microvolt = <3304000>;
> +		};
> +
> +		pm6125_l23: l23 {
> +			regulator-min-microvolt = <3000000>;
> +			regulator-max-microvolt = <3400000>;
> +		};
> +
> +		pm6125_l24: l24 {
> +			regulator-min-microvolt = <2944000>;
> +			regulator-max-microvolt = <3304000>;
> +		};
> +	};
> +};
> +
>  &sdc2_off_state {
>  	sd-cd-pins {
>  		pins = "gpio98";
Konrad Dybcio Dec. 23, 2022, 11:58 a.m. UTC | #2
On 22.12.2022 21:36, Marijn Suijten wrote:
> Document the use of l7, l10 and l15 in the High Speed Qualcomm USB2 PHY,
> in order to keep the regulators voted on when USB is active.
> 
> Signed-off-by: Marijn Suijten <marijn.suijten@somainline.org>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>

Konrad
>  arch/arm64/boot/dts/qcom/sm6125-sony-xperia-seine-pdx201.dts | 3 +++
>  1 file changed, 3 insertions(+)
> 
> 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 4f825c55692b..15b43cff210b 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
> @@ -147,6 +147,9 @@ &gpi_dma0 {
>  };
>  
>  &hsusb_phy1 {
> +	vdd-supply = <&pm6125_l7>;
> +	vdda-pll-supply = <&pm6125_l10>;
> +	vdda-phy-dpdm-supply = <&pm6125_l15>;
>  	status = "okay";
>  };
>
Bjorn Andersson Dec. 29, 2022, 5:23 p.m. UTC | #3
On Thu, 22 Dec 2022 21:36:31 +0100, Marijn Suijten wrote:
> Configure regulators on Sony's SM6125-backed seine platform, and provide
> these regulators to existing (SDHCI 1 / HS USB2 PHY) nodes so that they
> can cast their votes despite being left enabled by the bootloader.
> 
> In addition this allows us to enable the SD Card slot on SDHCI 2, which
> would not function without turning on the necessary regulators (i.e.
> these were /not/ left enabled by the BL, for good reason).
> 
> [...]

Applied, thanks!

[1/5] arm64: dts: qcom: sm6125-seine: Configure PM6125 regulators
      commit: 7421a8d2f1394ee9f8b5fd87121f055e56ab4e60
[2/5] arm64: dts: qcom: sm6125-seine: Provide regulators to HS USB2 PHY
      commit: 232bb8073b5b3ec043459b34535542ea5ca81694
[3/5] arm64: dts: qcom: sm6125-seine: Provide regulators to SDHCI 1
      commit: 68aadbe7805901b52b18595dcbe36442ebf26d93
[4/5] arm64: dts: qcom: sm6125-seine: Configure SD Card slot on SDHCI 2
      commit: d696b1618bc1a416a4ab72a1176cfdf187ca09bf
[5/5] arm64: dts: qcom: sm6125-seine: Lock eMMC and SD Card IDs via aliases
      commit: fa7ff6e9f14a05f304587ba566a4f445a2a74aa6

Best regards,