diff options
author | Nitin Bindal <nbindal@nvidia.com> | 2011-11-22 20:32:43 +0530 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2011-11-30 21:52:40 -0800 |
commit | c54ec7f7a0c5caec84c03e99de58c69a68bde699 (patch) | |
tree | a681d5219dde975a0d4354bcc5e85e629537749a /arch/arm/mach-tegra/board-whistler-sdhci.c | |
parent | a906af8e7fa6700ecafec3bc6f543e00ea28b98e (diff) |
arm: tegra: whistler: wifi out-band-interrupt
1) configuring wf_wakeup gpio
2) create resource wifi_resource and provide it to wifi driver
bug 904449
Change-Id: Iadfea38cee4923b211caf8324f270088b9de029c
Reviewed-on: http://git-master/r/66146
Reviewed-by: Nitin Bindal <nbindal@nvidia.com>
Tested-by: Nitin Bindal <nbindal@nvidia.com>
Reviewed-by: Rakesh Goyal <rgoyal@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Rebase-Id: R267fa93fbef9497ec85d5e0a5d8c05b9e8dcc8ae
Diffstat (limited to 'arch/arm/mach-tegra/board-whistler-sdhci.c')
-rw-r--r-- | arch/arm/mach-tegra/board-whistler-sdhci.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/board-whistler-sdhci.c b/arch/arm/mach-tegra/board-whistler-sdhci.c index 9a6aebb6d8a7..336c3854f0e5 100644 --- a/arch/arm/mach-tegra/board-whistler-sdhci.c +++ b/arch/arm/mach-tegra/board-whistler-sdhci.c @@ -34,6 +34,7 @@ #define WHISTLER_WLAN_PWR TEGRA_GPIO_PK5 #define WHISTLER_WLAN_RST TEGRA_GPIO_PK6 +#define WHISTLER_WLAN_WOW TEGRA_GPIO_PU5 #define WHISTLER_EXT_SDCARD_DETECT TEGRA_GPIO_PI5 @@ -84,9 +85,20 @@ static struct wifi_platform_data whistler_wifi_control = { .set_carddetect = whistler_wifi_set_carddetect, }; +static struct resource wifi_resource[] = { + [0] = { + .name = "bcm4329_wlan_irq", + .start = TEGRA_GPIO_TO_IRQ(TEGRA_GPIO_PU5), + .end = TEGRA_GPIO_TO_IRQ(TEGRA_GPIO_PU5), + .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL | IORESOURCE_IRQ_SHAREABLE, + }, +}; + static struct platform_device whistler_wifi_device = { .name = "bcm4329_wlan", .id = 1, + .num_resources = 1, + .resource = wifi_resource, .dev = { .platform_data = &whistler_wifi_control, }, @@ -207,12 +219,15 @@ static int __init whistler_wifi_init(void) { gpio_request(WHISTLER_WLAN_PWR, "wlan_power"); gpio_request(WHISTLER_WLAN_RST, "wlan_rst"); + gpio_request(WHISTLER_WLAN_WOW, "bcmsdh_sdmmc"); tegra_gpio_enable(WHISTLER_WLAN_PWR); tegra_gpio_enable(WHISTLER_WLAN_RST); + tegra_gpio_enable(WHISTLER_WLAN_WOW); gpio_direction_output(WHISTLER_WLAN_PWR, 0); gpio_direction_output(WHISTLER_WLAN_RST, 0); + gpio_direction_input(WHISTLER_WLAN_WOW); platform_device_register(&whistler_wifi_device); return 0; |