arm64: dts: rockchip: Add sdio node to rock-5b
authorTamás Szűcs <tszucs@protonmail.ch>
Sun, 24 Sep 2023 20:37:45 +0000 (20:37 +0000)
committerHeiko Stuebner <heiko@sntech.de>
Wed, 4 Oct 2023 21:09:29 +0000 (23:09 +0200)
Enable SDIO on Radxa ROCK 5 Model B M.2 Key E. Add sdio node and alias as mmc2.
Add regulator for the 3.3 V rail bringing it up during boot. Make sure EKEY_EN
is muxed as GPIO.

Signed-off-by: Tamás Szűcs <tszucs@protonmail.ch>
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Link: https://lore.kernel.org/r/20230924203740.65744-1-tszucs@protonmail.ch
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts

index 947a5ebe5bb3ca6b44caf68d43d46c54492e2882..8618887899d9874059ec4b9502e7b4bbddea89ea 100644 (file)
@@ -12,6 +12,7 @@
        aliases {
                mmc0 = &sdhci;
                mmc1 = &sdmmc;
+               mmc2 = &sdio;
                serial2 = &uart2;
        };
 
                regulator-max-microvolt = <1100000>;
                vin-supply = <&vcc5v0_sys>;
        };
+
+       vcc3v3_wf: vcc3v3-wf-regulator {
+               compatible = "regulator-fixed";
+               regulator-name = "vcc3v3_wf";
+               regulator-always-on;
+               regulator-boot-on;
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               enable-active-high;
+               gpios = <&gpio1 RK_PD2 GPIO_ACTIVE_HIGH>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&vcc3v3_wf_en>;
+               startup-delay-us = <50000>;
+               vin-supply = <&vcc5v0_sys>;
+       };
 };
 
 &combphy0_ps {
                        rockchip,pins = <4 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
                };
        };
+
+       m2e {
+               vcc3v3_wf_en: vcc3v3-wf-en {
+                       rockchip,pins = <1 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
+               };
+       };
 };
 
 &pwm1 {
        status = "okay";
 };
 
+&sdio {
+       max-frequency = <200000000>;
+       no-sd;
+       no-mmc;
+       non-removable;
+       bus-width = <4>;
+       cap-sdio-irq;
+       disable-wp;
+       keep-power-in-suspend;
+       wakeup-source;
+       sd-uhs-sdr12;
+       sd-uhs-sdr25;
+       sd-uhs-sdr50;
+       sd-uhs-sdr104;
+       vmmc-supply = <&vcc3v3_wf>;
+       vqmmc-supply = <&vcc_1v8_s3>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&sdiom0_pins>;
+       status = "okay";
+};
+
 &spi2 {
        status = "okay";
        assigned-clocks = <&cru CLK_SPI2>;