summaryrefslogtreecommitdiffstats
path: root/target/linux/ar71xx/files/arch/mips/ar71xx/dev-ap94-pci.c
diff options
context:
space:
mode:
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.c21
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,