[PATCH 15/15] omap: zoom: enable WLAN device

Ohad Ben-Cohen ohad at wizery.com
Mon Jul 5 20:37:46 EDT 2010


From: Ohad Ben-Cohen <ohadb at 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 <ohadb at 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




More information about the linux-arm-kernel mailing list