--- /dev/null
+--- a/arch/arm/boot/dts/am335x-evmsk.dts
++++ b/arch/arm/boot/dts/am335x-evmsk.dts
+@@ -14,6 +14,7 @@
+ /dts-v1/;
+
+ #include "am33xx.dtsi"
++#include <dt-bindings/interrupt-controller/irq.h>
+ #include <dt-bindings/pwm/pwm.h>
+
+ / {
+@@ -200,6 +201,33 @@
+ 0x144 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* rmii1_ref_clk.mcasp1_axr3 */
+ >;
+ };
++
++ wilink_pins: pinmux_wilink_pins {
++ pinctrl-single,pins = <
++ 0x74 (PIN_INPUT_PULLUP | MUX_MODE7) /* gpmc_wpn.gpio0_31 */
++ 0x7c (PIN_OUTPUT_PULLUP | MUX_MODE7) /* gpmc_csn0.gpio1_29 */
++ 0x80 (PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_csn1.mmc1_clk */
++ 0x84 (PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_csn2.mmc1_cmd */
++ 0x00 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad0.mmc1_dat0 */
++ 0x04 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad1.mmc1_dat1 */
++ 0x08 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad2.mmc1_dat2 */
++ 0x0c (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad3.mmc1_dat3 */
++ >;
++ };
++ };
++
++ wlan {
++ compatible = "ti,wilink6";
++ interrupt-parent = <&gpio0>;
++ interrupts = <31 IRQ_TYPE_LEVEL_HIGH>;
++ clocks = <&refclock>;
++ clock-names = "refclock";
++
++ refclock: refclock {
++ compatible = "ti,wilink-clock";
++ #clock-cells = <0>;
++ clock-frequency = <38400000>;
++ };
+ };
+
+ ocp {
+@@ -335,6 +363,16 @@
+ regulator-boot-on;
+ };
+
++ vmmc_wl: fixedregulator@2 {
++ compatible = "regulator-fixed";
++ regulator-name = "vmmc-wl";
++ regulator-min-microvolt = <1800000>;
++ regulator-max-microvolt = <1800000>;
++ gpio = <&gpio1 29 0>;
++ startup-delay-us = <70000>;
++ enable-active-high;
++ };
++
+ leds {
+ pinctrl-names = "default";
+ pinctrl-0 = <&user_leds_s0>;
+@@ -535,6 +573,16 @@
+ status = "okay";
+ };
+
++&mmc2 {
++ status = "okay";
++ vmmc-supply = <&vmmc_wl>;
++ bus-width = <4>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&wilink_pins>;
++ ti,non-removable;
++ keep-power-in-suspend;
++};
++
+ &mcasp1 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&mcasp1_pins>;