summaryrefslogtreecommitdiffstats
path: root/target/linux/ar71xx/patches-3.14/616-MIPS-ath79-ubnt-xw.patch
diff options
context:
space:
mode:
authorJohn Crispin <john@openwrt.org>2015-01-22 09:35:46 +0000
committerJohn Crispin <john@openwrt.org>2015-01-22 09:35:46 +0000
commitae70358b1b0dc6b5881ad931213e00793d8df9c2 (patch)
tree7fe558087b429fc354018fc4f0d4f7f9bd741efe /target/linux/ar71xx/patches-3.14/616-MIPS-ath79-ubnt-xw.patch
parentde3bf7e4c227f9947e352a4de3861c3475415f0a (diff)
downloadmaster-31e0f0ae-ae70358b1b0dc6b5881ad931213e00793d8df9c2.tar.gz
master-31e0f0ae-ae70358b1b0dc6b5881ad931213e00793d8df9c2.tar.bz2
master-31e0f0ae-ae70358b1b0dc6b5881ad931213e00793d8df9c2.zip
ar71xx: add support for the UniFi AP Outdoor Plus
the GPIO controlling the rf filter is not configured properly by this patch. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net> SVN-Revision: 44077
Diffstat (limited to 'target/linux/ar71xx/patches-3.14/616-MIPS-ath79-ubnt-xw.patch')
-rw-r--r--target/linux/ar71xx/patches-3.14/616-MIPS-ath79-ubnt-xw.patch61
1 files changed, 60 insertions, 1 deletions
diff --git a/target/linux/ar71xx/patches-3.14/616-MIPS-ath79-ubnt-xw.patch b/target/linux/ar71xx/patches-3.14/616-MIPS-ath79-ubnt-xw.patch
index 3675518f45..8e16697d1b 100644
--- a/target/linux/ar71xx/patches-3.14/616-MIPS-ath79-ubnt-xw.patch
+++ b/target/linux/ar71xx/patches-3.14/616-MIPS-ath79-ubnt-xw.patch
@@ -1,6 +1,65 @@
--- a/arch/mips/ath79/mach-ubnt-xm.c
+++ b/arch/mips/ath79/mach-ubnt-xm.c
-@@ -332,3 +332,78 @@ static void __init ubnt_uap_pro_setup(vo
+@@ -186,6 +186,19 @@ static struct gpio_led ubnt_unifi_outdoo
+ }
+ };
+
++static struct gpio_led ubnt_unifi_outdoor_plus_leds_gpio[] __initdata = {
++ {
++ .name = "ubnt:white:front",
++ .gpio = 1,
++ .active_low = 0,
++ }, {
++ .name = "ubnt:blue:front",
++ .gpio = 0,
++ .active_low = 0,
++ }
++};
++
++
+ static void __init ubnt_unifi_setup(void)
+ {
+ u8 *mac = (u8 *) KSEG1ADDR(0x1fff0000);
+@@ -245,6 +258,38 @@ MIPS_MACHINE(ATH79_MACH_UBNT_UNIFI_OUTDO
+ "Ubiquiti UniFiAP Outdoor",
+ ubnt_unifi_outdoor_setup);
+
++
++static void __init ubnt_unifi_outdoor_plus_setup(void)
++{
++ u8 *mac1 = (u8 *) KSEG1ADDR(0x1fff0000);
++ u8 *mac2 = (u8 *) KSEG1ADDR(0x1fff0000 + ETH_ALEN);
++ u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
++
++ ath79_register_m25p80(NULL);
++
++ ath79_register_mdio(0, ~(UBNT_UNIFIOD_PRI_PHYMASK |
++ UBNT_UNIFIOD_2ND_PHYMASK));
++
++ ath79_init_mac(ath79_eth0_data.mac_addr, mac1, 0);
++ ath79_init_mac(ath79_eth1_data.mac_addr, mac2, 0);
++ ath79_register_eth(0);
++ ath79_register_eth(1);
++
++ ap91_pci_init(ee, NULL);
++
++ ath79_register_leds_gpio(-1, ARRAY_SIZE(ubnt_unifi_outdoor_plus_leds_gpio),
++ ubnt_unifi_outdoor_plus_leds_gpio);
++
++ ath79_register_gpio_keys_polled(-1, UBNT_XM_KEYS_POLL_INTERVAL,
++ ARRAY_SIZE(ubnt_xm_gpio_keys),
++ ubnt_xm_gpio_keys);
++}
++
++MIPS_MACHINE(ATH79_MACH_UBNT_UNIFI_OUTDOOR_PLUS, "UBNT-UOP",
++ "Ubiquiti UniFiAP Outdoor+",
++ ubnt_unifi_outdoor_plus_setup);
++
++
+ static struct gpio_led ubnt_uap_pro_gpio_leds[] __initdata = {
+ {
+ .name = "ubnt:white:dome",
+@@ -332,3 +377,78 @@ static void __init ubnt_uap_pro_setup(vo
MIPS_MACHINE(ATH79_MACH_UBNT_UAP_PRO, "UAP-PRO", "Ubiquiti UniFi AP Pro",
ubnt_uap_pro_setup);