Re: [PATCH] arm64: dts: rockchip: Enable Wi-Fi on the NanoPi M5
flat view
From: Shawn Lin <shawn.lin@rock-chips.com>
Date: 2026-10-26 00:33:50
Also in:
linux-devicetree, linux-rockchip, lkml
在 2026/10/26 星期一 4:52, Leonard Lausen 写道:
quoted hunk ↗ jump to hunk
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;
disable-wp is for sd cards, please drop it.
quoted hunk ↗ jump to hunk
+ 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;