[WL1271 DC supprot on OMAP3EVM 2/5] ARM: Supported for Standard SDIO driver on OMAP3EVM for WL1271 DC

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Sanjay Kumar Champati <csanjay@xxxxxxxxxxxxxxxxxxxx>

* Apply MMC2 support patch before apply this patch
* Modified the "Kconfig" and "board-omap3evm.c" files to support
  standard SDIO driver for WL1271 DC

Signed-off-by: Sanjay Kumar Champati <csanjay@xxxxxxxxxxxxxxxxxxxx>
---
 arch/arm/mach-omap2/board-omap3evm.c |   13 ++++++++++++-
 drivers/mmc/core/sdio_ops.c          |    7 ++++++-
 drivers/net/wireless/Kconfig         |   11 +++++++++++
 3 files changed, 29 insertions(+), 2 deletions(-)

diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-omap2/board-omap3evm.c
index 6b45b6e..06fab2e 100644
--- a/arch/arm/mach-omap2/board-omap3evm.c
+++ b/arch/arm/mach-omap2/board-omap3evm.c
@@ -79,6 +79,10 @@
 #define OMAP3EVM_ETHR_ID_REV	0x50
 #define OMAP3EVM_ETHR_GPIO_IRQ	176
 #define OMAP3EVM_SMSC911X_CS	5
+#ifdef CONFIG_WL1271_WLAN
+#define OMAP3EVM_WLAN_EN	150
+#define OMAP3EVM_WLAN_IRQ	149
+#endif
 
 extern struct regulator_consumer_supply twl4030_vmmc1_supply;
 extern struct regulator_consumer_supply twl4030_vsim_supply;
@@ -749,7 +753,14 @@ static int omap3evm_twl_gpio_setup(struct device *dev,
 	twl4030_vmmc1_supply.dev = mmc[0].dev;
 	twl4030_vsim_supply.dev = mmc[0].dev;
 	twl4030_vmmc2_supply.dev = mmc[1].dev;
-
+#ifdef CONFIG_WL1271_WLAN
+	omap_mux_init_gpio(OMAP3EVM_WLAN_EN, OMAP_PIN_OUTPUT);
+	if (gpio_request(OMAP3EVM_WLAN_EN, "WLAN_ENABLE"))
+		printk(KERN_ERR "Fail to get WLAN Enable GPIO\n");
+	gpio_direction_output(OMAP3EVM_WLAN_EN, 1);
+	mdelay(100);
+	omap_mux_init_gpio(OMAP3EVM_WLAN_IRQ, OMAP_PIN_INPUT);
+#endif
 	/*
 	 * Most GPIOs are for USB OTG.  Some are mostly sent to
 	 * the P2 connector; notably LEDA for the LCD backlight.
diff --git a/drivers/mmc/core/sdio_ops.c b/drivers/mmc/core/sdio_ops.c
index 4eb7825..4213ee0 100644
--- a/drivers/mmc/core/sdio_ops.c
+++ b/drivers/mmc/core/sdio_ops.c
@@ -114,6 +114,9 @@ int mmc_io_rw_direct(struct mmc_card *card, int write, unsigned fn,
 
 	return 0;
 }
+#ifdef CONFIG_WL1271_WLAN
+EXPORT_SYMBOL(mmc_io_rw_direct);
+#endif
 
 int mmc_io_rw_extended(struct mmc_card *card, int write, unsigned fn,
 	unsigned addr, int incr_addr, u8 *buf, unsigned blocks, unsigned blksz)
@@ -181,4 +184,6 @@ int mmc_io_rw_extended(struct mmc_card *card, int write, unsigned fn,
 
 	return 0;
 }
-
+#ifdef CONFIG_WL1271_WLAN
+EXPORT_SYMBOL(mmc_io_rw_extended);
+#endif
diff --git a/drivers/net/wireless/Kconfig b/drivers/net/wireless/Kconfig
index 56dd665..dc319b7 100644
--- a/drivers/net/wireless/Kconfig
+++ b/drivers/net/wireless/Kconfig
@@ -31,6 +31,17 @@ config PCMCIA_RAYCS
 	  To compile this driver as a module, choose M here: the module will be
 	  called ray_cs.  If unsure, say N.
 
+config WL1271_WLAN
+	tristate "WL1271 TI's SDIO based wireless card"
+	select WIRELESS_EXT
+	select CRYPTO
+	select WEXT_SPY
+	select WEXT_PRIV
+	---help---
+	This driver support both the standard Linux Wireless Extensions
+	and TI's proprietary API, so both the Linux Wireless Tools and this
+	module support 2.4 GHz 802.11 b/g/n standrd.
+
 config LIBERTAS_THINFIRM
 	tristate "Marvell 8xxx Libertas WLAN driver support with thin firmware"
 	depends on MAC80211
-- 
1.6.3.3

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


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux