aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wdr4300.c
diff options
context:
space:
mode:
authorGabor Juhos <juhosg@openwrt.org>2014-01-24 17:40:17 +0000
committerGabor Juhos <juhosg@openwrt.org>2014-01-24 17:40:17 +0000
commit4ce8df74743ef0be0c834cecbfd4671105e15faa (patch)
tree0eb7cb68273362362e23ffc3ba91f5bd9a7a99d7 /target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wdr4300.c
parenta03765d9c134d069c0c661e5fea57447a34502ac (diff)
downloadmaster-187ad058-4ce8df74743ef0be0c834cecbfd4671105e15faa.tar.gz
master-187ad058-4ce8df74743ef0be0c834cecbfd4671105e15faa.tar.bz2
master-187ad058-4ce8df74743ef0be0c834cecbfd4671105e15faa.zip
ar71xx: fix bad RX sensitivity on newer TL-WDR4300 boards
On recent TL-WDR4300 boards the external LNAs of the 2.4GHz interface are connected to GPIO lines. Because these GPIO lines are disabled by default, the RX sensitivity of the device is quite bad. Setup the GPIOs of the external LNAs to fix the issue. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39392 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wdr4300.c')
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wdr4300.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wdr4300.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wdr4300.c
index 4a0ae968f3..99ae80df9b 100644
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wdr4300.c
+++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wdr4300.c
@@ -37,6 +37,9 @@
#define WDR4300_GPIO_BTN_WPS 16
#define WDR4300_GPIO_BTN_RFKILL 17
+#define WDR4300_GPIO_EXTERNAL_LNA0 18
+#define WDR4300_GPIO_EXTERNAL_LNA1 19
+
#define WDR4300_GPIO_USB1_POWER 22
#define WDR4300_GPIO_USB2_POWER 21
@@ -162,6 +165,9 @@ static void __init wdr4300_setup(void)
ARRAY_SIZE(wdr4300_gpio_keys),
wdr4300_gpio_keys);
+ ath79_wmac_set_ext_lna_gpio(0, WDR4300_GPIO_EXTERNAL_LNA0);
+ ath79_wmac_set_ext_lna_gpio(1, WDR4300_GPIO_EXTERNAL_LNA1);
+
ath79_init_mac(tmpmac, mac, -1);
ath79_register_wmac(art + WDR4300_WMAC_CALDATA_OFFSET, tmpmac);