diff options
author | Rejane Durand <rejane.durand@stericsson.com> | 2011-10-18 13:37:05 +0200 |
---|---|---|
committer | Philippe Langlais <philippe.langlais@stericsson.com> | 2012-05-22 11:06:34 +0200 |
commit | 9e3cdf2a27ebe893f839b968ff34083ab0d777b1 (patch) | |
tree | 114c66e7119f4ddbaddab0224bd45c266e108f0e /arch | |
parent | f8de7ace1f962ec815f24569746f6aa65ef7a4b2 (diff) |
[U9500] Correct the GPIO configuration for WLAN
There are two parts in this correction.
Firstly, as there is much in common between a U9500 platform
and a U8500 one, all the tests performed to identify a U9500 platform
shall be done before the ones related to U8500. Otherwise,
the platform will be considered as a U8500 one and the GPIOs will
be badly configured.
Secondly, the mapping of WLAN_IRQ has to be changed. On U8500, WLAN_IRQ
is mapped onto GPIO04. On U9500, it is GPIO144 that shall be used.
ST-Ericsson ID: 368270
ST-Ericsson Linux next: NA
ST-Ericsson FOSS-OUT ID: Trivial
Change-Id: I5880f617c65f7cf4ca9eeabf22a53f7a77c20133
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/34320
Reviewed-by: Rejane DURAND <rejane.durand@stericsson.com>
Tested-by: Rejane DURAND <rejane.durand@stericsson.com>
Reviewed-by: QATOOLS
Reviewed-by: Baptiste CHAULOUX <baptiste.chauloux@stericsson.com>
Tested-by: Baptiste CHAULOUX <baptiste.chauloux@stericsson.com>
Reviewed-by: Christophe GUIBOUT <christophe.guibout@stericsson.com>
Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-ux500/board-mop500-wlan.c | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/arch/arm/mach-ux500/board-mop500-wlan.c b/arch/arm/mach-ux500/board-mop500-wlan.c index 52cd23b2852..46037ca76ae 100644 --- a/arch/arm/mach-ux500/board-mop500-wlan.c +++ b/arch/arm/mach-ux500/board-mop500-wlan.c @@ -54,6 +54,21 @@ static struct resource cw1200_href60_resources[] = { }, }; +static struct resource cw1200_u9500_resources[] = { + { + .start = 85, + .end = 85, + .flags = IORESOURCE_IO, + .name = "cw1200_reset", + }, + { + .start = NOMADIK_GPIO_TO_IRQ(144), + .end = NOMADIK_GPIO_TO_IRQ(144), + .flags = IORESOURCE_IRQ, + .name = "cw1200_irq", + }, +}; + static struct cw1200_platform_data cw1200_platform_data = { .clk_ctrl = cw1200_clk_ctrl, }; @@ -167,9 +182,10 @@ int __init mop500_wlan_init(void) { int ret; - if (machine_is_u8500() || - machine_is_nomadik() || - machine_is_snowball()) { + if (pins_for_u9500()) { + cw1200_device.num_resources = ARRAY_SIZE(cw1200_u9500_resources); + cw1200_device.resource = cw1200_u9500_resources; + } else if (machine_is_u8500() || machine_is_nomadik() || machine_is_snowball()) { cw1200_device.num_resources = ARRAY_SIZE(cw1200_href_resources); cw1200_device.resource = cw1200_href_resources; } else if (machine_is_hrefv60()) { |