2022-12-22 20:49:16

by Marijn Suijten

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

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/[email protected]/T/#u
- SM6125 GPI DMA: https://lore.kernel.org/linux-arm-msm/[email protected]/T/#u
- SM6125 QUPs, SPI and I2C: https://lore.kernel.org/linux-arm-msm/[email protected]/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


2022-12-22 20:51:47

by Marijn Suijten

[permalink] [raw]
Subject: [PATCH 1/5] arm64: dts: qcom: sm6125-seine: Configure PM6125 regulators

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 <[email protected]>
---
.../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";
--
2.39.0

2022-12-22 20:53:16

by Marijn Suijten

[permalink] [raw]
Subject: [PATCH 2/5] arm64: dts: qcom: sm6125-seine: Provide regulators to HS USB2 PHY

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 <[email protected]>
---
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";
};

--
2.39.0

2022-12-23 12:17:14

by Konrad Dybcio

[permalink] [raw]
Subject: Re: [PATCH 2/5] arm64: dts: qcom: sm6125-seine: Provide regulators to HS USB2 PHY



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 <[email protected]>
> ---
Reviewed-by: Konrad Dybcio <[email protected]>

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

2022-12-23 12:25:48

by Konrad Dybcio

[permalink] [raw]
Subject: Re: [PATCH 1/5] arm64: dts: qcom: sm6125-seine: Configure PM6125 regulators



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 <[email protected]>
> ---
Reviewed-by: Konrad Dybcio <[email protected]>

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

2022-12-29 17:39:05

by Bjorn Andersson

[permalink] [raw]
Subject: Re: [PATCH 0/5] arm64: dts: qcom: sm6125-seine: Configure regulators and enable SD Card

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,
--
Bjorn Andersson <[email protected]>