AA: ar71xx: fix bad RX sensitivity on newer TL-WDR4300 boards
authorjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Tue, 28 Jan 2014 17:20:08 +0000 (17:20 +0000)
committerjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Tue, 28 Jan 2014 17:20:08 +0000 (17:20 +0000)
Backport of r39392.

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.

[Backport note: the 'ath79_wmac_set_ext_lna_gpio' function
is not available in AA, use the 'gpio_request_one' instead.]

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/branches/attitude_adjustment@39408 3c298f89-4303-0410-b956-a3cf2f4a3e73

target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wdr4300.c

index 7be2955..ea4b1c8 100644 (file)
@@ -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
 
@@ -152,6 +155,13 @@ static void __init wdr4300_setup(void)
                                        ARRAY_SIZE(wdr4300_gpio_keys),
                                        wdr4300_gpio_keys);
 
+       gpio_request_one(WDR4300_GPIO_EXTERNAL_LNA0,
+                        GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
+                        "external LNA0");
+       gpio_request_one(WDR4300_GPIO_EXTERNAL_LNA1,
+                        GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
+                        "external LNA1");
+
        ath79_init_mac(tmpmac, mac, -1);
        ath79_register_wmac(art + WDR4300_WMAC_CALDATA_OFFSET, tmpmac);