[PATCH v2] arm: dts: renesas: r8a7740-armadillo800eva: Enable SDHI1

phucduc.bui@gmail.com posted 1 patch 1 month, 3 weeks ago
.../dts/renesas/r8a7740-armadillo800eva.dts   | 31 +++++++++++++++++++
1 file changed, 31 insertions(+)
[PATCH v2] arm: dts: renesas: r8a7740-armadillo800eva: Enable SDHI1
Posted by phucduc.bui@gmail.com 1 month, 3 weeks ago
From: bui duc phuc <phucduc.bui@gmail.com>

The Armadillo-800EVA board provides an SD card slot and an AWL13 SDIO
interface connected to the SDHI1 controller. Routing between these two
interfaces is controlled by a mechanical DIP switch and a set of
multiplexers.

This patch adds:

  - A fixed 3.3V regulator for SDHI1 power, controlled by PORT16 (G2).
  - SDHI1 pinmux groups for data, control, and card detection.
  - A gpio-hog for PORT6 (J5) to control the SDHI1/AWLAN multiplexer.

PORT176 (N21) is already configured as output-high in this DTS (via
lcd0-mux-hog), routing the SDSLOT2_ENABLE signal to PORT6. Since the
hardware includes an external 10k pull-up resistor (R94) on this line,
PORT6 is configured as an input to allow the physical DIP switch to
determine the routing without SoC interference.

Both configurations have been verified:

  - SD card (CON8): detected as mmcblk1, high-speed SDHC.
  - SDIO (CON14): detected as mmc1, high-speed SDIO.

Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
---

Changes in v2:
  - Added PORT6 (J5) as a gpio-hog in input mode to preserve physical switch
    functionality, influenced by the R94 10k pull-up resistor.
  - Included hardware verification results for both SD card and SDIO modes.
  - Improved commit description with detailed hardware routing logic.

Note: While a specific driver for the AWL13 SDIO module may not be
present in the current mainline kernel, the SDHI1 host successfully
detects it as a high-speed SDIO device, confirming the hardware
description is correct.

 .../dts/renesas/r8a7740-armadillo800eva.dts   | 31 +++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/arch/arm/boot/dts/renesas/r8a7740-armadillo800eva.dts b/arch/arm/boot/dts/renesas/r8a7740-armadillo800eva.dts
index 04d24b6d8056..e7aae1e32b2e 100644
--- a/arch/arm/boot/dts/renesas/r8a7740-armadillo800eva.dts
+++ b/arch/arm/boot/dts/renesas/r8a7740-armadillo800eva.dts
@@ -65,6 +65,17 @@ vccq_sdhi0: regulator-vccq-sdhi0 {
 		enable-active-high;
 	};
 
+	vcc_sdhi1: regulator-vcc-sdhi1 {
+		compatible = "regulator-fixed";
+
+		regulator-name = "SDHI1 Vcc";
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+
+		gpio = <&pfc 16 GPIO_ACTIVE_HIGH>;
+		enable-active-high;
+	};
+
 	reg_5p0v: regulator-5p0v {
 		compatible = "regulator-fixed";
 		regulator-name = "fixed-5.0V";
@@ -285,6 +296,11 @@ sdhi0_pins: sd0 {
 		function = "sdhi0";
 	};
 
+	sdhi1_pins: sd1 {
+		groups = "sdhi1_data4", "sdhi1_ctrl", "sdhi1_cd", "sdhi1_wp";
+		function = "sdhi1";
+	};
+
 	fsia_pins: sounda {
 		groups = "fsia_sclk_in", "fsia_mclk_out",
 			 "fsia_data_in_1", "fsia_data_out_0";
@@ -302,6 +318,12 @@ lcd0-mux-hog {
 		gpios = <176 0>;
 		output-high;
 	};
+
+	sdhi1-select-hog {
+		gpio-hog;
+		gpios = <6 0>;
+		input;
+	};
 };
 
 &tpu {
@@ -336,6 +358,15 @@ &sdhi0 {
 	status = "okay";
 };
 
+&sdhi1 {
+	pinctrl-0 = <&sdhi1_pins>;
+	pinctrl-names = "default";
+
+	vmmc-supply = <&vcc_sdhi1>;
+	bus-width = <4>;
+	status = "okay";
+};
+
 &sh_fsi2 {
 	pinctrl-0 = <&fsia_pins>;
 	pinctrl-names = "default";
-- 
2.43.0
Re: [PATCH v2] arm: dts: renesas: r8a7740-armadillo800eva: Enable SDHI1
Posted by Geert Uytterhoeven 1 month ago
On Tue, 24 Feb 2026 at 08:45, <phucduc.bui@gmail.com> wrote:
> From: bui duc phuc <phucduc.bui@gmail.com>
>
> The Armadillo-800EVA board provides an SD card slot and an AWL13 SDIO
> interface connected to the SDHI1 controller. Routing between these two
> interfaces is controlled by a mechanical DIP switch and a set of
> multiplexers.
>
> This patch adds:
>
>   - A fixed 3.3V regulator for SDHI1 power, controlled by PORT16 (G2).
>   - SDHI1 pinmux groups for data, control, and card detection.
>   - A gpio-hog for PORT6 (J5) to control the SDHI1/AWLAN multiplexer.
>
> PORT176 (N21) is already configured as output-high in this DTS (via
> lcd0-mux-hog), routing the SDSLOT2_ENABLE signal to PORT6. Since the
> hardware includes an external 10k pull-up resistor (R94) on this line,
> PORT6 is configured as an input to allow the physical DIP switch to
> determine the routing without SoC interference.
>
> Both configurations have been verified:
>
>   - SD card (CON8): detected as mmcblk1, high-speed SDHC.
>   - SDIO (CON14): detected as mmc1, high-speed SDIO.
>
> Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
i.e. will queue in renesas-devel for v7.1.

> Note: While a specific driver for the AWL13 SDIO module may not be
> present in the current mainline kernel, the SDHI1 host successfully
> detects it as a high-speed SDIO device, confirming the hardware
> description is correct.

With SW1.5 OFF, the AWL13 SDIO module is detected as a high-speed SDIO device.
With SW1.5 ON, SD slot 2 works with SD cards (incl. card detect).

Tested-by: Geert Uytterhoeven <geert+renesas@glider.be>

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
Re: [PATCH v2] arm: dts: renesas: r8a7740-armadillo800eva: Enable SDHI1
Posted by Wolfram Sang 1 month, 2 weeks ago
On Tue, Feb 24, 2026 at 02:45:32PM +0700, phucduc.bui@gmail.com wrote:
> From: bui duc phuc <phucduc.bui@gmail.com>
> 
> The Armadillo-800EVA board provides an SD card slot and an AWL13 SDIO
> interface connected to the SDHI1 controller. Routing between these two
> interfaces is controlled by a mechanical DIP switch and a set of
> multiplexers.
> 
> This patch adds:
> 
>   - A fixed 3.3V regulator for SDHI1 power, controlled by PORT16 (G2).
>   - SDHI1 pinmux groups for data, control, and card detection.
>   - A gpio-hog for PORT6 (J5) to control the SDHI1/AWLAN multiplexer.
> 
> PORT176 (N21) is already configured as output-high in this DTS (via
> lcd0-mux-hog), routing the SDSLOT2_ENABLE signal to PORT6. Since the
> hardware includes an external 10k pull-up resistor (R94) on this line,
> PORT6 is configured as an input to allow the physical DIP switch to
> determine the routing without SoC interference.
> 
> Both configurations have been verified:
> 
>   - SD card (CON8): detected as mmcblk1, high-speed SDHC.
>   - SDIO (CON14): detected as mmc1, high-speed SDIO.
> 
> Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>

I don't have any schematics for the Armadillo, but the SDHI parts here
look good to me.

Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com>

Re: [PATCH v2] arm: dts: renesas: r8a7740-armadillo800eva: Enable SDHI1
Posted by phucduc.bui@gmail.com 1 month, 2 weeks ago
Hi Wolfram,

> I don't have any schematics for the Armadillo, but the SDHI parts here
> look good to me.

Thank you for your review.

To further validate the SDHI1 implementation on the Armadillo-800EVA, I
have tested both SD card and SDIO modes. Please find the test results
below:

Video demonstration:

https://youtu.be/jWDJSKTzyn8

Boot logs:
https://gist.github.com/BuiDucPhuc/f0390f11407b7973a43b4279a1435589

Regarding the schematics, I am referencing the hardware documentation
included with the original DVD shipped with the board. Since the online
schematics require registration and hardware verification, I hope the 
provided logs and video serve as sufficient verification for this patch.

Please let me know if any additional information is needed.

Best regards,
Phuc