From 877b7863631313b53a720f48cebcbb9f8f119839 Mon Sep 17 00:00:00 2001 From: Alex Zhao Date: Wed, 13 Mar 2024 17:35:46 +0800 Subject: [PATCH] arm64: dts: rockchip: add sdio node for rk3576 boards Change-Id: I5009993be91644fb51df816ee7ca371d0194ba54 Signed-off-by: Alex Zhao --- arch/arm64/boot/dts/rockchip/rk3576-evb1.dtsi | 33 +++++++++++++++++ .../arm64/boot/dts/rockchip/rk3576-test1.dtsi | 2 +- .../arm64/boot/dts/rockchip/rk3576-test2.dtsi | 36 +++++++++++++++++++ 3 files changed, 70 insertions(+), 1 deletion(-) diff --git a/arch/arm64/boot/dts/rockchip/rk3576-evb1.dtsi b/arch/arm64/boot/dts/rockchip/rk3576-evb1.dtsi index 8ab71185a75d..2e1976682c99 100644 --- a/arch/arm64/boot/dts/rockchip/rk3576-evb1.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3576-evb1.dtsi @@ -65,6 +65,22 @@ }; }; + sdio_pwrseq: sdio-pwrseq { + compatible = "mmc-pwrseq-simple"; + pinctrl-names = "default"; + pinctrl-0 = <&wifi_poweren_gpio>; + + /* + * On the module itself this is one of these (depending + * on the actual card populated): + * - SDIO_RESET_L_WL_REG_ON + * - PDN (power down when low) + */ + post-power-on-delay-ms = <200>; + reset-gpios = <&gpio1 RK_PC6 GPIO_ACTIVE_LOW>; + status = "disabled"; + }; + vcc_1v8_s0: vcc-1v8-s0 { compatible = "regulator-fixed"; regulator-name = "vcc_1v8_s0"; @@ -502,6 +518,23 @@ &sai1m0_sdo0>; }; +&sdio { + max-frequency = <200000000>; + no-sd; + no-mmc; + bus-width = <4>; + disable-wp; + cap-sd-highspeed; + cap-sdio-irq; + keep-power-in-suspend; + mmc-pwrseq = <&sdio_pwrseq>; + non-removable; + pinctrl-names = "default"; + pinctrl-0 = <&sdmmc1m0_bus4 &sdmmc1m0_clk &sdmmc1m0_cmd>; + sd-uhs-sdr104; + status = "disabled"; +}; + &sdmmc { status = "okay"; }; diff --git a/arch/arm64/boot/dts/rockchip/rk3576-test1.dtsi b/arch/arm64/boot/dts/rockchip/rk3576-test1.dtsi index 4bd9238c03d2..5be92d7a893a 100644 --- a/arch/arm64/boot/dts/rockchip/rk3576-test1.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3576-test1.dtsi @@ -450,7 +450,7 @@ }; &sdio { - max-frequency = <150000000>; + max-frequency = <200000000>; no-sd; no-mmc; bus-width = <4>; diff --git a/arch/arm64/boot/dts/rockchip/rk3576-test2.dtsi b/arch/arm64/boot/dts/rockchip/rk3576-test2.dtsi index b93c030400b8..53399ac9cc34 100644 --- a/arch/arm64/boot/dts/rockchip/rk3576-test2.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3576-test2.dtsi @@ -44,6 +44,21 @@ }; }; + sdio_pwrseq: sdio-pwrseq { + compatible = "mmc-pwrseq-simple"; + pinctrl-names = "default"; + pinctrl-0 = <&wifi_poweren_gpio>; + + /* + * On the module itself this is one of these (depending + * on the actual card populated): + * - SDIO_RESET_L_WL_REG_ON + * - PDN (power down when low) + */ + post-power-on-delay-ms = <200>; + reset-gpios = <&gpio4 RK_PB4 GPIO_ACTIVE_LOW>; + }; + vcc_1v8_s0: vcc-1v8-s0 { compatible = "regulator-fixed"; regulator-name = "vcc_1v8_s0"; @@ -826,6 +841,23 @@ status = "okay"; }; +&sdio { + max-frequency = <200000000>; + no-sd; + no-mmc; + bus-width = <4>; + disable-wp; + cap-sd-highspeed; + cap-sdio-irq; + keep-power-in-suspend; + mmc-pwrseq = <&sdio_pwrseq>; + non-removable; + pinctrl-names = "default"; + pinctrl-0 = <&sdmmc1m1_bus4 &sdmmc1m1_clk &sdmmc1m1_cmd>; + sd-uhs-sdr104; + status = "okay"; +}; + &u2phy0_otg { vbus-supply = <&vcc5v0_otg>; rockchip,sel-pipe-phystatus; @@ -873,3 +905,7 @@ &wireless_bluetooth { status = "disabled"; }; + +&wireless_wlan { + WIFI,poweren_gpio = <&gpio4 RK_PB4 GPIO_ACTIVE_HIGH>; +};