[PATCH] arm64: dts: rockchip: Enable Wi-Fi on the NanoPi M5
flat view
HOTtoday
From: Leonard Lausen <hidden>
Date: 2026-10-25 20:54:16
Also in:
linux-devicetree, linux-rockchip, lkml
Subsystem:
the rest · Maintainer:
Linus Torvalds
The NanoPi M5 has an M.2 E-key slot for SDIO Wi-Fi modules such as the RTL8822CS-based AC200. The SDIO controller is disabled and the module's power sequence is not described, preventing the card from enumerating. Enable the controller in four-bit SDR104 mode and connect its 3.3 V card and 1.8 V I/O supplies. Describe the active-low reset on GPIO1_C2, the 200 ms power-on delay used by the vendor device tree, and the external 32.768 kHz clock from the HYM8563 RTC. Keep the card powered during suspend as required by the rtw88 SDIO driver. Signed-off-by: Leonard Lausen <redacted> --- .../boot/dts/rockchip/rk3576-nanopi-m5.dts | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/rk3576-nanopi-m5.dts b/arch/arm64/boot/dts/rockchip/rk3576-nanopi-m5.dts
index 3a305408fa16c..bfa18de1ae1af 100644
--- a/arch/arm64/boot/dts/rockchip/rk3576-nanopi-m5.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3576-nanopi-m5.dts@@ -23,6 +23,7 @@ aliases { ethernet0 = &gmac0; ethernet1 = &gmac1; mmc0 = &sdmmc; + mmc1 = &sdio; }; chosen {
@@ -212,6 +213,16 @@ vcc_3v3_s0: regulator-vcc-3v3-s0 { vin-supply = <&vcc_3v3_s3>; }; + sdio_pwrseq: sdio-pwrseq { + compatible = "mmc-pwrseq-simple"; + clocks = <&hym8563>; + clock-names = "ext_clock"; + pinctrl-0 = <&wifi_reg_on_h>; + pinctrl-names = "default"; + post-power-on-delay-ms = <200>; + reset-gpios = <&gpio1 RK_PC2 GPIO_ACTIVE_LOW>; + }; + sound { compatible = "simple-audio-card"; pinctrl-names = "default";
@@ -855,6 +866,12 @@ pcie0_perstn: pcie0-perstn { }; }; + sdio-pwrseq { + wifi_reg_on_h: wifi-reg-on-h { + rockchip,pins = <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; + sdmmc { sdmmc0_pwren_h: sdmmc0-pwren-h { rockchip,pins = <0 RK_PB6 RK_FUNC_GPIO &pcfg_pull_up>;
@@ -890,6 +907,23 @@ &saradc { status = "okay"; }; +&sdio { + bus-width = <4>; + cap-sd-highspeed; + cap-sdio-irq; + disable-wp; + keep-power-in-suspend; + mmc-pwrseq = <&sdio_pwrseq>; + no-mmc; + no-sd; + non-removable; + sd-uhs-sdr104; + vmmc-supply = <&vcc_3v3_s3>; + vqmmc-supply = <&vcc_1v8_s3>; + + status = "okay"; +}; + &sdmmc { bus-width = <4>; cap-sd-highspeed;
--
2.47.3