aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ar71xx/files/arch
diff options
context:
space:
mode:
authorGabor Juhos <juhosg@openwrt.org>2014-04-12 19:58:20 +0000
committerGabor Juhos <juhosg@openwrt.org>2014-04-12 19:58:20 +0000
commit7b85e2e527358a39b9ffb7755c37bda321885b52 (patch)
tree8eff3db140c71bc8b1bfd93d8c64997b141a20e5 /target/linux/ar71xx/files/arch
parented72141fd46a8d085da9eef4a6bc669f25d619e4 (diff)
downloadupstream-7b85e2e527358a39b9ffb7755c37bda321885b52.tar.gz
upstream-7b85e2e527358a39b9ffb7755c37bda321885b52.tar.bz2
upstream-7b85e2e527358a39b9ffb7755c37bda321885b52.zip
ar71xx: wndr4300: enable 5V power for the USB port
The 5V power of the USB is controlled by a GPIO pin of the external WiFi chip. Setup the GPIO bitmasks in the platform data of the WiFi chip to ensure that the 5V power gets enabled by the ath9k driver. Based on the the WNDR3700v4 support patch from Ralph Perlich: http://patchwork.openwrt.org/patch/4763/ Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 40478
Diffstat (limited to 'target/linux/ar71xx/files/arch')
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-wndr4300.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-wndr4300.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-wndr4300.c
index f546b7171e..dcdc68ba4f 100644
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-wndr4300.c
+++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-wndr4300.c
@@ -31,6 +31,7 @@
#include "dev-wmac.h"
#include "machtypes.h"
+/* AR9344 GPIOs */
#define WNDR4300_GPIO_LED_POWER_GREEN 0
#define WNDR4300_GPIO_LED_POWER_AMBER 2
#define WNDR4300_GPIO_LED_USB 13
@@ -45,6 +46,9 @@
#define WNDR4300_GPIO_BTN_WIRELESS 15
#define WNDR4300_GPIO_BTN_WPS 12
+/* AR9580 GPIOs */
+#define WNDR4300_GPIO_USB_5V 0
+
#define WNDR4300_KEYS_POLL_INTERVAL 20 /* msecs */
#define WNDR4300_KEYS_DEBOUNCE_INTERVAL (3 * WNDR4300_KEYS_POLL_INTERVAL)
@@ -192,6 +196,11 @@ static void __init wndr4300_setup(void)
ath79_register_usb();
ath79_register_wmac_simple();
+
+ /* enable power for the USB port */
+ ap9x_pci_setup_wmac_gpio(0, BIT(WNDR4300_GPIO_USB_5V),
+ BIT(WNDR4300_GPIO_USB_5V));
+
ap91_pci_init_simple();
}