arm64: dts: rk3328-evb: add sdio and sdmmc support
[firefly-linux-kernel-4.4.55.git] / arch / arm64 / boot / dts / rockchip / rk3328-evb.dts
index 4f502fe0d39433bad86915c5d4a014f0d048c45d..fec13aee8e86deb3f893da4fa7fc0525e9449d7b 100644 (file)
                regulator-always-on;
                regulator-boot-on;
        };
+
+       sdio_pwrseq: sdio-pwrseq {
+               compatible = "mmc-pwrseq-simple";
+               pinctrl-names = "default";
+               pinctrl-0 = <&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 = <&gpio1 18 GPIO_ACTIVE_LOW>;
+       };
+
+       wireless-wlan {
+               compatible = "wlan-platdata";
+               rockchip,grf = <&grf>;
+               wifi_chip_type = "ap6354";
+               sdio_vref = <1800>;
+               WIFI,host_wake_irq = <&gpio1 19 GPIO_ACTIVE_HIGH>;
+               status = "okay";
+       };
+
 };
 
 &cpu0 {
        cpu-supply = <&vdd_arm>;
 };
 
+&sdio {
+       bus-width = <4>;
+       cap-sd-highspeed;
+       cap-sdio-irq;
+       disable-wp;
+       keep-power-in-suspend;
+       max-frequency = <150000000>;
+       mmc-pwrseq = <&sdio_pwrseq>;
+       non-removable;
+       num-slots = <1>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&sdmmc1_bus4 &sdmmc1_cmd &sdmmc1_clk>;
+       supports-sdio;
+       status = "okay";
+};
+
+&sdmmc {
+       bus-width = <4>;
+       cap-mmc-highspeed;
+       cap-sd-highspeed;
+       disable-wp;
+       max-frequency = <150000000>;
+       num-slots = <1>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&sdmmc0_clk &sdmmc0_cmd &sdmmc0_dectn &sdmmc0_bus4>;
+       supports-sd;
+       status = "okay";
+};
+
 &emmc {
        bus-width = <8>;
        cap-mmc-highspeed;
        pinctrl-0 = <&rgmiim1_pins>;
        tx_delay = <0x26>;
        rx_delay = <0x11>;
-       status = "okay";
+       status = "disabled";
 };
 
 &io_domains {
                        <2 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>;  /* gpio2_a6 */
                };
        };
+
+       sdio-pwrseq {
+               wifi_enable_h: wifi-enable-h {
+               rockchip,pins =
+                       <1 18 RK_FUNC_GPIO &pcfg_pull_none>;
+               };
+       };
 };