From: Ohad Ben-Cohen <oh...@ti.com>

Make it possible to build and use TI's wl1271
device on the ZOOM boards.

The device is an embedded SDIO WLAN chip
that is hardwired to the 3rd mmc controller
of the ZOOM2/3 boards.

Signed-off-by: Ohad Ben-Cohen <oh...@ti.com>
---
 arch/arm/mach-omap2/Kconfig                  |    5 +++++
 arch/arm/mach-omap2/Makefile                 |    1 +
 arch/arm/mach-omap2/board-zoom-peripherals.c |   15 +++++++++++++++
 3 files changed, 21 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig
index b31b6f1..7fee11b 100644
--- a/arch/arm/mach-omap2/Kconfig
+++ b/arch/arm/mach-omap2/Kconfig
@@ -131,6 +131,11 @@ config MACH_OMAP_ZOOM3
        depends on ARCH_OMAP3
        select OMAP_PACKAGE_CBP
 
+config OMAP_ZOOM_WLAN
+       bool "OMAP Zoom board WLAN support"
+       depends on MACH_OMAP_ZOOM2 || MACH_OMAP_ZOOM3
+       select MMC_EMBEDDED_SDIO
+
 config MACH_CM_T35
        bool "CompuLab CM-T35 module"
        depends on ARCH_OMAP3
diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
index ea52b03..ac1bad9 100644
--- a/arch/arm/mach-omap2/Makefile
+++ b/arch/arm/mach-omap2/Makefile
@@ -129,6 +129,7 @@ obj-$(CONFIG_MACH_OMAP_ZOOM3)               += 
board-zoom3.o \
                                           board-zoom-peripherals.o \
                                           hsmmc.o \
                                           board-zoom-debugboard.o
+obj-y                                  += board-zoom-wlan.o
 obj-$(CONFIG_MACH_OMAP_3630SDP)                += board-3630sdp.o \
                                           board-zoom-peripherals.o \
                                           hsmmc.o
diff --git a/arch/arm/mach-omap2/board-zoom-peripherals.c 
b/arch/arm/mach-omap2/board-zoom-peripherals.c
index 6b39849..3128cd4 100644
--- a/arch/arm/mach-omap2/board-zoom-peripherals.c
+++ b/arch/arm/mach-omap2/board-zoom-peripherals.c
@@ -16,11 +16,13 @@
 #include <linux/gpio.h>
 #include <linux/i2c/twl.h>
 #include <linux/regulator/machine.h>
+#include <linux/mmc/host.h>
 
 #include <asm/mach-types.h>
 #include <asm/mach/arch.h>
 #include <asm/mach/map.h>
 
+#include <mach/board-zoom.h>
 #include <plat/common.h>
 #include <plat/usb.h>
 
@@ -168,6 +170,18 @@ static struct omap2_hsmmc_info mmc[] __initdata = {
                .nonremovable   = true,
                .power_saving   = true,
        },
+#ifdef CONFIG_OMAP_ZOOM_WLAN
+       {
+               .mmc            = 3,
+               .wires          = 4,
+               .gpio_cd        = -EINVAL,
+               .gpio_wp        = -EINVAL,
+               .register_embedded_control =
+                               omap_zoom_wlan_register_embedded_control,
+               .virtual_get_cd = omap_zoom_wlan_get_virtual_cd,
+               .ocr_mask       = MMC_VDD_165_195,
+       },
+#endif
        {}      /* Terminator */
 };
 
@@ -282,4 +296,5 @@ void __init zoom_peripherals_init(void)
        omap_i2c_init();
        usb_musb_init(&musb_board_data);
        enable_board_wakeup_source();
+       omap_zoom_wlan_init();
 }
-- 
1.7.0.4

--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to