diff options
Diffstat (limited to 'target/linux/ar71xx/files/arch')
3 files changed, 23 insertions, 6 deletions
diff --git a/target/linux/ar71xx/files/arch/mips/ar71xx/dev-ap91-pci.c b/target/linux/ar71xx/files/arch/mips/ar71xx/dev-ap91-pci.c index 2342d7f7e..e773702e1 100644 --- a/target/linux/ar71xx/files/arch/mips/ar71xx/dev-ap91-pci.c +++ b/target/linux/ar71xx/files/arch/mips/ar71xx/dev-ap91-pci.c @@ -18,7 +18,9 @@ #include "dev-ap91-pci.h" #include "pci-ath9k-fixup.h" -static struct ath9k_platform_data ap91_wmac_data; +static struct ath9k_platform_data ap91_wmac_data = { + .led_pin = -1, +}; static char ap91_wmac_mac[6]; static struct ar71xx_pci_irq ap91_pci_irqs[] __initdata = { diff --git a/target/linux/ar71xx/files/arch/mips/ar71xx/dev-ap94-pci.c b/target/linux/ar71xx/files/arch/mips/ar71xx/dev-ap94-pci.c index 2436491b4..1fd40bb62 100644 --- a/target/linux/ar71xx/files/arch/mips/ar71xx/dev-ap94-pci.c +++ b/target/linux/ar71xx/files/arch/mips/ar71xx/dev-ap94-pci.c @@ -18,8 +18,12 @@ #include "dev-ap94-pci.h" #include "pci-ath9k-fixup.h" -static struct ath9k_platform_data ap94_wmac0_data; -static struct ath9k_platform_data ap94_wmac1_data; +static struct ath9k_platform_data ap94_wmac0_data = { + .led_pin = -1, +}; +static struct ath9k_platform_data ap94_wmac1_data = { + .led_pin = -1, +}; static char ap94_wmac0_mac[6]; static char ap94_wmac1_mac[6]; @@ -52,8 +56,17 @@ static int ap94_pci_plat_dev_init(struct pci_dev *dev) void __init ap94_pci_enable_quirk_wndr3700(void) { - ap94_wmac0_data.quirk_wndr3700 = 1; - ap94_wmac1_data.quirk_wndr3700 = 1; + /* WNDR3700 uses GPIO 6-9 for antenna configuration */ + + ap94_wmac0_data.led_pin = 5; + ap94_wmac0_data.gpio_mask = (0xf << 6); + /* 2.4 GHz uses the first fixed antenna group (0, 1, 0, 1) */ + ap94_wmac0_data.gpio_val = (5 << 6); + + ap94_wmac1_data.led_pin = 5; + ap94_wmac1_data.gpio_mask = (0xf << 6); + /* 5 GHz uses the second fixed antenna group (0, 1, 1, 0) */ + ap94_wmac1_data.gpio_val = (6 << 6); } void __init ap94_pci_init(u8 *cal_data0, u8 *mac_addr0, diff --git a/target/linux/ar71xx/files/arch/mips/ar71xx/dev-ar913x-wmac.c b/target/linux/ar71xx/files/arch/mips/ar71xx/dev-ar913x-wmac.c index 024d29044..7840ff9c5 100644 --- a/target/linux/ar71xx/files/arch/mips/ar71xx/dev-ar913x-wmac.c +++ b/target/linux/ar71xx/files/arch/mips/ar71xx/dev-ar913x-wmac.c @@ -22,7 +22,9 @@ #include "dev-ar913x-wmac.h" -static struct ath9k_platform_data ar913x_wmac_data; +static struct ath9k_platform_data ar913x_wmac_data = { + .led_pin = -1, +}; static char ar913x_wmac_mac[6]; static struct resource ar913x_wmac_resources[] = { |