Browse Source

ar71xx: Fix WD My Net N600 weak signal issue

The LNAs need to be enabled by setting their respective GPIO to high even
though the original firmware's setting sets them to low on initialization.

Obviously the LNAs are then later initialized by the driver on the OEM
firmware. Without this fix the device is mostly "deaf".

Signed-off-by: Felix Kaechele <[email protected]>
Tested-by: Steven Haigh <[email protected]>
Patchwork: http://patchwork.openwrt.org/patch/4689/
[juhosg:
  - remove the GPIO LED changes, the My Net N600 has no yellow LEDs at all,
  - change subject and update the commit message]
Signed-off-by: Gabor Juhos <[email protected]>

SVN-Revision: 39214
Gabor Juhos 12 năm trước cách đây
mục cha
commit
32aef686f7
1 tập tin đã thay đổi với 15 bổ sung0 xóa
  1. 15 0
      target/linux/ar71xx/files/arch/mips/ath79/mach-mynet-n600.c

+ 15 - 0
target/linux/ar71xx/files/arch/mips/ath79/mach-mynet-n600.c

@@ -42,6 +42,9 @@
 #define MYNET_N600_GPIO_BTN_RESET	16
 #define MYNET_N600_GPIO_BTN_WPS		17
 
+#define MYNET_N600_GPIO_EXTERNAL_LNA0	14
+#define MYNET_N600_GPIO_EXTERNAL_LNA1	15
+
 #define MYNET_N600_KEYS_POLL_INTERVAL	20	/* msecs */
 #define MYNET_N600_KEYS_DEBOUNCE_INTERVAL (3 * MYNET_N600_KEYS_POLL_INTERVAL)
 
@@ -152,6 +155,18 @@ static void __init mynet_n600_setup(void)
 					ARRAY_SIZE(mynet_n600_gpio_keys),
 					mynet_n600_gpio_keys);
 
+	/*
+	 * Control signal for external LNAs 0 and 1
+	 * Taken from GPL bootloader source:
+	 *   board/ar7240/db12x/alpha_gpio.c
+	 */
+	gpio_request_one(MYNET_N600_GPIO_EXTERNAL_LNA0,
+			 GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
+			 "External LNA0");
+	gpio_request_one(MYNET_N600_GPIO_EXTERNAL_LNA1,
+			 GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
+			 "External LNA1");
+
 	mynet_n600_get_mac("wlan24mac=", tmpmac);
 	ath79_register_wmac(art + MYNET_N600_WMAC_CALDATA_OFFSET, tmpmac);