ar71xx: add support for UniFi-AC-Mesh-Pro
authorChristoph Krapp <achterin@googlemail.com>
Thu, 8 Nov 2018 11:09:02 +0000 (11:09 +0000)
committerJohn Crispin <john@phrozen.org>
Mon, 26 Nov 2018 11:05:44 +0000 (12:05 +0100)
This adds the build option for UniFi AC Mesh Pro as well as
model detection for it.
The device is a hardware clone of the AC Pro.

- SoC: QCA9563-AL3A (775Mhz)
- RAM: 128MiB
- Flash: 16MiB - dual firmware partitions!
- LAN: 2x 1000M - POE+
- Wireless:
        2.4G: QCA9563
          5G: UniFi Chip, QCA988X compatible

Signed-off-by: Christoph Krapp <achterin@googlemail.com>
target/linux/ar71xx/base-files/lib/ar71xx.sh
target/linux/ar71xx/files/arch/mips/ath79/Kconfig.openwrt
target/linux/ar71xx/files/arch/mips/ath79/mach-ubnt-unifiac.c
target/linux/ar71xx/files/arch/mips/ath79/machtypes.h
target/linux/ar71xx/image/generic-ubnt.mk

index b11d2cf92657a6dfbdf3dc7fc005f0e0af693f0a..96ee7550ce95ca2229d0328b090f7b4c19859513 100755 (executable)
@@ -98,22 +98,28 @@ ubnt_xm_board_detect() {
        [ -z "$model" ] || AR71XX_MODEL="${model}${magic:3:1}"
 }
 
-ubnt_ac_lite_get_mtd_part_magic() {
+ubnt_unifi_ac_get_mtd_part_magic() {
        ar71xx_get_mtd_offset_size_format EEPROM 12 2 %02x
 }
 
-ubnt_ac_lite_board_detect() {
+ubnt_unifi_ac_board_detect() {
        local model
        local magic
 
-       magic="$(ubnt_ac_lite_get_mtd_part_magic)"
+       magic="$(ubnt_unifi_ac_get_mtd_part_magic)"
        case ${magic:0:4} in
        "e517")
                model="Ubiquiti UniFi-AC-LITE"
                ;;
+       "e537")
+               model="Ubiquiti UniFi-AC-PRO"
+               ;;
        "e557")
                model="Ubiquiti UniFi-AC-MESH"
                ;;
+       "e567")
+               model="Ubiquiti UniFi-AC-MESH-PRO"
+               ;;
        esac
 
        [ -z "$model" ] || AR71XX_MODEL="${model}"
@@ -1391,10 +1397,11 @@ ar71xx_board_detect() {
                ;;
        *"UniFi-AC-LITE/MESH")
                name="unifiac-lite"
-               ubnt_ac_lite_board_detect
+               ubnt_unifi_ac_board_detect
                ;;
-       *"UniFi-AC-PRO")
+       *"UniFi-AC-PRO/MESH-PRO")
                name="unifiac-pro"
+               ubnt_unifi_ac_board_detect
                ;;
        *"UniFiAP Outdoor")
                name="unifi-outdoor"
index a5a8452e6d4448f1ee7230f53d1b3e0d0999ca56..6f358bc84202d2b5ea8f8b271e64274aabe94239 100644 (file)
@@ -2145,7 +2145,7 @@ config ATH79_MACH_UBNT
        select ATH79_DEV_USB
 
 config ATH79_MACH_UBNT_UNIFIAC
-       bool "Ubiquiti UniFi AC (LITE/LR/MESH/PRO) support"
+       bool "Ubiquiti UniFi AC (LITE/LR/MESH/PRO/MESH-PRO) support"
        select SOC_QCA956X
        select ATH79_DEV_AP9X_PCI if PCI
        select ATH79_DEV_ETH
index 5ea0028df8f8cdea7712f9d4ccc45f95ee7d2af8..09a0bba867177f219d946b774a9c21da01333b2f 100644 (file)
@@ -176,4 +176,4 @@ static void __init ubnt_unifiac_pro_setup(void)
 
 
 MIPS_MACHINE(ATH79_MACH_UBNT_UNIFIAC_PRO, "UBNT-UF-AC-PRO",
-            "Ubiquiti UniFi-AC-PRO", ubnt_unifiac_pro_setup);
+            "Ubiquiti UniFi-AC-PRO/MESH-PRO", ubnt_unifiac_pro_setup);
index c4a7fa350a270bce82e91fef3281511d203851c4..974b69fda689b80f713fe3e65fee204b5702e4ba 100644 (file)
@@ -334,7 +334,7 @@ enum ath79_mach_type {
        ATH79_MACH_UBNT_UAP_PRO,                /* Ubiquiti UniFi AP Pro */
        ATH79_MACH_UBNT_UNIFI,                  /* Ubiquiti Unifi */
        ATH79_MACH_UBNT_UNIFIAC_LITE,           /* Ubiquiti Unifi AC LITE/LR/MESH */
-       ATH79_MACH_UBNT_UNIFIAC_PRO,            /* Ubiquiti Unifi AC PRO */
+       ATH79_MACH_UBNT_UNIFIAC_PRO,            /* Ubiquiti Unifi AC PRO/MESH PRO */
        ATH79_MACH_UBNT_UNIFI_OUTDOOR,          /* Ubiquiti UnifiAP Outdoor */
        ATH79_MACH_UBNT_UNIFI_OUTDOOR_PLUS,     /* Ubiquiti UnifiAP Outdoor+ */
        ATH79_MACH_UBNT_XM,                     /* Ubiquiti Networks XM board rev 1.0 */
index 6941012cbe6ac249af8e53b3b8f823378a8da670..42275bae1863b49f7ec58f0d7b5ea25e9d7b26fa 100644 (file)
@@ -143,6 +143,12 @@ define Device/ubnt-unifiac-pro
 endef
 TARGET_DEVICES += ubnt-unifiac-pro
 
+define Device/ubnt-unifiac-mesh-pro
+  $(Device/ubnt-unifiac-pro)
+  DEVICE_TITLE := Ubiquiti UniFi AC-Mesh-Pro
+endef
+TARGET_DEVICES += ubnt-unifiac-mesh-pro
+
 define Device/ubnt-unifi-outdoor
   $(Device/ubnt-bz)
   DEVICE_TITLE := Ubiquiti UniFi Outdoor