[PATCH 0/5] arm: dts: stm32mp157c-odyssey-som: sync SDMMC2 with Linux and TF‑A

This patchset updates the properties of the SDMMC2 device tree node so that they match their Linux kernel and Trusted Firmware A counterparts. Two differences will remain: — in the Linux kernel device tree, the VQMMC supply is incorrectly set to v3v3 (buck4) instead of vdd (buck3); — in the TF‑A device tree, only the “default” pinctrl is configured.
Additionally, this patchset enables SDMMC2 in SPL.
Grzegorz Szymaszek (5): arm: dts: stm32mp157c-odyssey-som: fix the basic SDMMC2 properties arm: dts: stm32mp157c-odyssey-som: enable all SDMMC2 data lanes arm: dts: stm32mp157c-odyssey-som: set the SDMMC2 VQMMC supply arm: dts: stm32mp157c-odyssey-som: enable the SDMMC2 eMMC HS DDR mode arm: dts: stm32mp157c-odyssey-som: enable SDMMC2 in SPL
.../dts/stm32mp157c-odyssey-som-u-boot.dtsi | 21 +++++++++++++++++++ arch/arm/dts/stm32mp157c-odyssey-som.dtsi | 15 +++++++------ 2 files changed, 30 insertions(+), 6 deletions(-)

The SDMMC2 interface hosts an eMMC. Replace the interface properties that would only apply to SD cards—“broken-cd” and “disable-wp”—with relevant ones: “non-removable”, “no-sd” and “no-sdio”.
Signed-off-by: Grzegorz Szymaszek gszymaszek@short.pl Cc: Patrice Chotard patrice.chotard@foss.st.com Cc: Patrick Delaunay patrick.delaunay@foss.st.com --- arch/arm/dts/stm32mp157c-odyssey-som.dtsi | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/arch/arm/dts/stm32mp157c-odyssey-som.dtsi b/arch/arm/dts/stm32mp157c-odyssey-som.dtsi index 83ff2e7ce1..5c758b0f72 100644 --- a/arch/arm/dts/stm32mp157c-odyssey-som.dtsi +++ b/arch/arm/dts/stm32mp157c-odyssey-som.dtsi @@ -263,8 +263,9 @@ pinctrl-0 = <&sdmmc2_b4_pins_a>; pinctrl-1 = <&sdmmc2_b4_od_pins_a>; pinctrl-2 = <&sdmmc2_b4_sleep_pins_a>; - broken-cd; - disable-wp; + non-removable; + no-sd; + no-sdio; st,neg-edge; bus-width = <4>; vmmc-supply = <&v3v3>;

Hi Grzegorz
On 5/28/21 6:53 PM, Grzegorz Szymaszek wrote:
The SDMMC2 interface hosts an eMMC. Replace the interface properties that would only apply to SD cards—“broken-cd” and “disable-wp”—with relevant ones: “non-removable”, “no-sd” and “no-sdio”.
Signed-off-by: Grzegorz Szymaszek gszymaszek@short.pl Cc: Patrice Chotard patrice.chotard@foss.st.com Cc: Patrick Delaunay patrick.delaunay@foss.st.com
arch/arm/dts/stm32mp157c-odyssey-som.dtsi | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/arch/arm/dts/stm32mp157c-odyssey-som.dtsi b/arch/arm/dts/stm32mp157c-odyssey-som.dtsi index 83ff2e7ce1..5c758b0f72 100644 --- a/arch/arm/dts/stm32mp157c-odyssey-som.dtsi +++ b/arch/arm/dts/stm32mp157c-odyssey-som.dtsi @@ -263,8 +263,9 @@ pinctrl-0 = <&sdmmc2_b4_pins_a>; pinctrl-1 = <&sdmmc2_b4_od_pins_a>; pinctrl-2 = <&sdmmc2_b4_sleep_pins_a>;
- broken-cd;
- disable-wp;
- non-removable;
- no-sd;
- no-sdio; st,neg-edge; bus-width = <4>; vmmc-supply = <&v3v3>;
Reviewed-by: Patrice Chotard patrice.chotard@foss.st.com
Thanks Patrice

Add the “sdmmc2_d47_pins_d” pins to the SDMMC2 pinctrls. Increase the bus width from four to eight.
Signed-off-by: Grzegorz Szymaszek gszymaszek@short.pl Cc: Patrice Chotard patrice.chotard@foss.st.com Cc: Patrick Delaunay patrick.delaunay@foss.st.com --- arch/arm/dts/stm32mp157c-odyssey-som.dtsi | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/arch/arm/dts/stm32mp157c-odyssey-som.dtsi b/arch/arm/dts/stm32mp157c-odyssey-som.dtsi index 5c758b0f72..5801b7a968 100644 --- a/arch/arm/dts/stm32mp157c-odyssey-som.dtsi +++ b/arch/arm/dts/stm32mp157c-odyssey-som.dtsi @@ -260,14 +260,14 @@
&sdmmc2 { pinctrl-names = "default", "opendrain", "sleep"; - pinctrl-0 = <&sdmmc2_b4_pins_a>; - pinctrl-1 = <&sdmmc2_b4_od_pins_a>; - pinctrl-2 = <&sdmmc2_b4_sleep_pins_a>; + pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_pins_d>; + pinctrl-1 = <&sdmmc2_b4_od_pins_a &sdmmc2_d47_pins_d>; + pinctrl-2 = <&sdmmc2_b4_sleep_pins_a &sdmmc2_d47_sleep_pins_d>; non-removable; no-sd; no-sdio; st,neg-edge; - bus-width = <4>; + bus-width = <8>; vmmc-supply = <&v3v3>; status = "okay"; };

Hi Grzegorz
On 5/28/21 6:54 PM, Grzegorz Szymaszek wrote:
Add the “sdmmc2_d47_pins_d” pins to the SDMMC2 pinctrls. Increase the bus width from four to eight.
Signed-off-by: Grzegorz Szymaszek gszymaszek@short.pl Cc: Patrice Chotard patrice.chotard@foss.st.com Cc: Patrick Delaunay patrick.delaunay@foss.st.com
arch/arm/dts/stm32mp157c-odyssey-som.dtsi | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/arch/arm/dts/stm32mp157c-odyssey-som.dtsi b/arch/arm/dts/stm32mp157c-odyssey-som.dtsi index 5c758b0f72..5801b7a968 100644 --- a/arch/arm/dts/stm32mp157c-odyssey-som.dtsi +++ b/arch/arm/dts/stm32mp157c-odyssey-som.dtsi @@ -260,14 +260,14 @@
&sdmmc2 { pinctrl-names = "default", "opendrain", "sleep";
- pinctrl-0 = <&sdmmc2_b4_pins_a>;
- pinctrl-1 = <&sdmmc2_b4_od_pins_a>;
- pinctrl-2 = <&sdmmc2_b4_sleep_pins_a>;
- pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_pins_d>;
- pinctrl-1 = <&sdmmc2_b4_od_pins_a &sdmmc2_d47_pins_d>;
- pinctrl-2 = <&sdmmc2_b4_sleep_pins_a &sdmmc2_d47_sleep_pins_d>; non-removable; no-sd; no-sdio; st,neg-edge;
- bus-width = <4>;
- bus-width = <8>; vmmc-supply = <&v3v3>; status = "okay";
};
Reviewed-by: Patrice Chotard patrice.chotard@foss.st.com
Thanks Patrice

Set the SDMMC2 VQMMC supply to vdd (buck3). Note that in the corresponding Linux kernel device tree, the supply is set to v3v3 (buck4), which is wrong.
Signed-off-by: Grzegorz Szymaszek gszymaszek@short.pl Cc: Patrice Chotard patrice.chotard@foss.st.com Cc: Patrick Delaunay patrick.delaunay@foss.st.com --- arch/arm/dts/stm32mp157c-odyssey-som.dtsi | 1 + 1 file changed, 1 insertion(+)
diff --git a/arch/arm/dts/stm32mp157c-odyssey-som.dtsi b/arch/arm/dts/stm32mp157c-odyssey-som.dtsi index 5801b7a968..76a364d4ca 100644 --- a/arch/arm/dts/stm32mp157c-odyssey-som.dtsi +++ b/arch/arm/dts/stm32mp157c-odyssey-som.dtsi @@ -269,6 +269,7 @@ st,neg-edge; bus-width = <8>; vmmc-supply = <&v3v3>; + vqmmc-supply = <&vdd>; status = "okay"; };

Hi Grzegorz
On 5/28/21 6:54 PM, Grzegorz Szymaszek wrote:
Set the SDMMC2 VQMMC supply to vdd (buck3). Note that in the corresponding Linux kernel device tree, the supply is set to v3v3 (buck4), which is wrong.
Do you intend to send similar patch to kernel mailing list to fix it ?
Signed-off-by: Grzegorz Szymaszek gszymaszek@short.pl Cc: Patrice Chotard patrice.chotard@foss.st.com Cc: Patrick Delaunay patrick.delaunay@foss.st.com
arch/arm/dts/stm32mp157c-odyssey-som.dtsi | 1 + 1 file changed, 1 insertion(+)
diff --git a/arch/arm/dts/stm32mp157c-odyssey-som.dtsi b/arch/arm/dts/stm32mp157c-odyssey-som.dtsi index 5801b7a968..76a364d4ca 100644 --- a/arch/arm/dts/stm32mp157c-odyssey-som.dtsi +++ b/arch/arm/dts/stm32mp157c-odyssey-som.dtsi @@ -269,6 +269,7 @@ st,neg-edge; bus-width = <8>; vmmc-supply = <&v3v3>;
- vqmmc-supply = <&vdd>; status = "okay";
};
Reviewed-by: Patrice Chotard patrice.chotard@foss.st.com
Thanks Patrice

Hi,
On Wed, Jun 02, 2021 at 09:18:57AM +0200, Patrice Chotard wrote:
On 5/28/21 6:54 PM, Grzegorz Szymaszek wrote:
Set the SDMMC2 VQMMC supply to vdd (buck3). Note that in the corresponding Linux kernel device tree, the supply is set to v3v3 (buck4), which is wrong.
Do you intend to send similar patch to kernel mailing list to fix it ?
I’m sorry for not replying, I missed this question. FWIW, yes, I’ve had sent a patch[1] and it has since been applied at least on stm32-next and some stable branches.
[1]: https://lore.kernel.org/linux-arm-kernel/YLj4AMTCi84yO9GO@nx64de-df6d00/
All the best!

Signed-off-by: Grzegorz Szymaszek gszymaszek@short.pl Cc: Patrice Chotard patrice.chotard@foss.st.com Cc: Patrick Delaunay patrick.delaunay@foss.st.com --- arch/arm/dts/stm32mp157c-odyssey-som.dtsi | 1 + 1 file changed, 1 insertion(+)
diff --git a/arch/arm/dts/stm32mp157c-odyssey-som.dtsi b/arch/arm/dts/stm32mp157c-odyssey-som.dtsi index 76a364d4ca..0dfdc29db6 100644 --- a/arch/arm/dts/stm32mp157c-odyssey-som.dtsi +++ b/arch/arm/dts/stm32mp157c-odyssey-som.dtsi @@ -270,6 +270,7 @@ bus-width = <8>; vmmc-supply = <&v3v3>; vqmmc-supply = <&vdd>; + mmc-ddr-3_3v; status = "okay"; };

Your commit message is missing
On 5/28/21 6:54 PM, Grzegorz Szymaszek wrote:
Signed-off-by: Grzegorz Szymaszek gszymaszek@short.pl Cc: Patrice Chotard patrice.chotard@foss.st.com Cc: Patrick Delaunay patrick.delaunay@foss.st.com
arch/arm/dts/stm32mp157c-odyssey-som.dtsi | 1 + 1 file changed, 1 insertion(+)
diff --git a/arch/arm/dts/stm32mp157c-odyssey-som.dtsi b/arch/arm/dts/stm32mp157c-odyssey-som.dtsi index 76a364d4ca..0dfdc29db6 100644 --- a/arch/arm/dts/stm32mp157c-odyssey-som.dtsi +++ b/arch/arm/dts/stm32mp157c-odyssey-som.dtsi @@ -270,6 +270,7 @@ bus-width = <8>; vmmc-supply = <&v3v3>; vqmmc-supply = <&vdd>;
- mmc-ddr-3_3v; status = "okay";
};

Signed-off-by: Grzegorz Szymaszek gszymaszek@short.pl Cc: Patrice Chotard patrice.chotard@foss.st.com Cc: Patrick Delaunay patrick.delaunay@foss.st.com --- .../dts/stm32mp157c-odyssey-som-u-boot.dtsi | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+)
diff --git a/arch/arm/dts/stm32mp157c-odyssey-som-u-boot.dtsi b/arch/arm/dts/stm32mp157c-odyssey-som-u-boot.dtsi index 6be728846e..4ff848350d 100644 --- a/arch/arm/dts/stm32mp157c-odyssey-som-u-boot.dtsi +++ b/arch/arm/dts/stm32mp157c-odyssey-som-u-boot.dtsi @@ -123,3 +123,24 @@ u-boot,dm-pre-reloc; }; }; + +&sdmmc2 { + u-boot,dm-spl; +}; + +&sdmmc2_b4_pins_a { + u-boot,dm-spl; + pins1 { + u-boot,dm-spl; + }; + pins2 { + u-boot,dm-spl; + }; +}; + +&sdmmc2_d47_pins_d { + u-boot,dm-spl; + pins { + u-boot,dm-spl; + }; +};

Your commit message is missing
On 5/28/21 6:54 PM, Grzegorz Szymaszek wrote:
Signed-off-by: Grzegorz Szymaszek gszymaszek@short.pl Cc: Patrice Chotard patrice.chotard@foss.st.com Cc: Patrick Delaunay patrick.delaunay@foss.st.com
.../dts/stm32mp157c-odyssey-som-u-boot.dtsi | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+)
diff --git a/arch/arm/dts/stm32mp157c-odyssey-som-u-boot.dtsi b/arch/arm/dts/stm32mp157c-odyssey-som-u-boot.dtsi index 6be728846e..4ff848350d 100644 --- a/arch/arm/dts/stm32mp157c-odyssey-som-u-boot.dtsi +++ b/arch/arm/dts/stm32mp157c-odyssey-som-u-boot.dtsi @@ -123,3 +123,24 @@ u-boot,dm-pre-reloc; }; };
+&sdmmc2 {
- u-boot,dm-spl;
+};
+&sdmmc2_b4_pins_a {
- u-boot,dm-spl;
- pins1 {
u-boot,dm-spl;
- };
- pins2 {
u-boot,dm-spl;
- };
+};
+&sdmmc2_d47_pins_d {
- u-boot,dm-spl;
- pins {
u-boot,dm-spl;
- };
+};
participants (2)
-
Grzegorz Szymaszek
-
Patrice CHOTARD