diff options
Diffstat (limited to 'target/linux/ar71xx/files/arch/mips/ar71xx/dev-ap94-pci.c')
-rw-r--r-- | target/linux/ar71xx/files/arch/mips/ar71xx/dev-ap94-pci.c | 21 |
1 files changed, 17 insertions, 4 deletions
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, |