diff --git a/arch/arm/boot/dts/rk3288-miniarm.dts b/arch/arm/boot/dts/rk3288-miniarm.dts index 6bc4b39..79cdede 100644 --- a/arch/arm/boot/dts/rk3288-miniarm.dts +++ b/arch/arm/boot/dts/rk3288-miniarm.dts @@ -44,6 +44,7 @@ #include "rk3288.dtsi" #include +#include / { model = "Rockchip RK3288 Tinker Board"; @@ -54,6 +55,15 @@ device_type = "memory"; }; + wireless-wlan { + compatible = "wlan-platdata"; + rockchip,grf = <&grf>; + wifi_chip_type = "8723bs"; + sdio_vref = <1800>; + WIFI,host_wake_irq = <&gpio4 30 GPIO_ACTIVE_HIGH>; + status = "okay"; + }; + ext_gmac: external-gmac-clock { compatible = "fixed-clock"; #clock-cells = <0>; @@ -133,6 +143,23 @@ startup-delay-us = <100000>; vin-supply = <&vcc_io>; }; + + sdio_pwrseq: sdio-pwrseq { + compatible = "mmc-pwrseq-simple"; + clocks = <&rk808 RK808_CLKOUT1>; + clock-names = "ext_clock"; + pinctrl-names = "default"; + pinctrl-0 = <&chip_enable_h>, <&wifi_enable_h>; + + /* + * 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) + */ + reset-gpios = <&gpio4 RK_PD4 GPIO_ACTIVE_LOW>, <&gpio4 RK_PD3 GPIO_ACTIVE_LOW>; + }; + }; &cpu0 { @@ -396,9 +423,30 @@ status = "okay"; }; -&io_domains { +&sdio0 { status = "okay"; + clock-frequency = <50000000>; + clock-freq-min-max = <200000 50000000>; + bus-width = <4>; + cap-sd-highspeed; + cap-sdio-irq; + disable-wp; + keep-power-in-suspend; + mmc-pwrseq = <&sdio_pwrseq>; + non-removable; + num-slots = <1>; + pinctrl-names = "default"; + pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>; + sd-uhs-sdr104; + supports-sdio; + +}; + +&io_domains { + status = "okay"; + rockchip,grf = <&grf>; + wifi-supply = <&vcc_18>; sdcard-supply = <&vccio_sd>; }; @@ -447,6 +495,17 @@ }; }; + sdio-pwrseq { + wifi_enable_h: wifienable-h { + rockchip,pins = <4 28 RK_FUNC_GPIO &pcfg_pull_none>; + }; + + chip_enable_h: chip-enable-h { + rockchip,pins = <4 27 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; + + sdmmc { sdmmc_bus4: sdmmc-bus4 { rockchip,pins = <6 16 RK_FUNC_1 &pcfg_pull_up_drv_8ma>, @@ -478,6 +537,13 @@ rockchip,pins = <7 8 RK_FUNC_GPIO &pcfg_pull_none>; }; }; + + wireless-bluetooth { + uart0_gpios: uart0-gpios { + rockchip,pins = <4 19 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; + }; &pwm0 { @@ -493,12 +559,17 @@ bus-width = <4>; cap-mmc-highspeed; cap-sd-highspeed; + sd-uhs-sdr12; + sd-uhs-sdr25; + sd-uhs-sdr50; + sd-uhs-sdr104; card-detect-delay = <200>; disable-wp; /* wp not hooked up */ num-slots = <1>; pinctrl-names = "default"; pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>; status = "okay"; + supports-sd; vmmc-supply = <&vcc33_sd>; vqmmc-supply = <&vccio_sd>; };