arm: dts: renesas: r8a7740-armadillo800eva: Enable SDHI1
Subsystems (2)
PATCH 1/1 arm: dts: renesas: r8a7740-armadillo800eva: Enable SDHI1
From: bui duc phuc <[email protected]>
The Armadillo800EVA board provides an SD card slot connected to the SDHI1 interface, but it is currently disabled in the device tree.
Add a fixed 3.3V regulator, configure the required pinctrl groups, and enable the SDHI1 controller in 4-bit mode.
--- .../dts/renesas/r8a7740-armadillo800eva.dts | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+)
arch/arm/boot/dts/renesas/r8a7740-armadillo800eva.dts +25 -0
@@ -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";
@@ -336,6 +352,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";
Signature · 1 line
2.43.0
Re: [PATCH] ARM: dts: renesas: r8a7740-armadillo800eva: Enable
Sorry for the previous HTML email.
Hi Geert, hi Magnus,
Gentle ping for this patch:
https://lore.kernel.org/all/[email protected]/
Additional hardware clarification regarding SDHI1:
SDHI1 is routed through a mechanical DIP switch selecting either the SD slot (CON8) or the AWL13 SDIO interface (CON14). Only one device is electrically connected at a time and no runtime reconfiguration is required.
Tested in both configurations:
SD card (CON8):
mmc1: new high speed SDHC card
mmcblk1: 29.7 GiB
SDIO (CON14):
mmc1: new high speed SDIO card
So the SDHI1 host works correctly in both cases.
Please let me know if any changes are needed.
Thanks,
Bui Duc Phuc
PATCH v2 1/1 arm: dts: renesas: r8a7740-armadillo800eva: Enable SDHI1
In reply to [email protected]From: bui duc phuc <[email protected]>
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.
---
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(+)
arch/arm/boot/dts/renesas/r8a7740-armadillo800eva.dts +31 -0
@@ -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";
Signature · 1 line
2.43.0
Quoted 19 lines · On Tue, Feb 24, 2026 at 02:45:32PM +0700, [email protected] wrote:
From: bui duc phuc <[email protected]>
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_ENABLEsignal 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.
Quoted 6 lines
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 <[email protected]>
I don't have any schematics for the Armadillo, but the SDHI parts here look good to me.
Hi Wolfram,
Quoted 2 lines
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:
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
Quoted 19 lines · On Tue, 24 Feb 2026 at 08:45, <[email protected]> wrote:
From: bui duc phuc <[email protected]>
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_ENABLEsignal 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.
Quoted 6 lines
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 <[email protected]>
i.e. will queue in renesas-devel for v7.1.
Quoted 4 lines
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).
Gr{oetje,eeting}s,
Geert
Signature · 5 lines
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected] 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