ath79: add ubiquiti unifi ap ac lite/lr
authorLucian Cristian <lucian.cristian@gmail.com>
Tue, 5 Jun 2018 12:38:02 +0000 (15:38 +0300)
committerJohn Crispin <john@phrozen.org>
Mon, 18 Jun 2018 16:21:19 +0000 (18:21 +0200)
Signed-off-by: Lucian Cristian <lucian.cristian@gmail.com>
target/linux/ath79/base-files/etc/board.d/02_network
target/linux/ath79/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
target/linux/ath79/dts/qca9563_ubnt-unifiac-lite.dts [new file with mode: 0644]
target/linux/ath79/image/generic-ubnt.mk

index 0c9a5fa..6a344b7 100755 (executable)
@@ -15,6 +15,7 @@ ath79_setup_interfaces()
        "avm,fritz300e"|\
        "tplink,tl-mr10u"|\
        "tplink,tl-wr703n"|\
+       "ubnt,ubnt-unifiac-lite"|\
        "ubnt,unifi")
                ucidef_set_interface_lan "eth0"
                ;;
index d862f61..e3a3432 100644 (file)
@@ -91,6 +91,9 @@ case "$FIRMWARE" in
                ath10kcal_extract "ART" 20480 2116
                ath10kcal_patch_mac $(macaddr_add $(cat /sys/class/net/eth0/address) +16)
                ;;
+       "ubnt,ubnt-unifiac-lite")
+               ath10kcal_extract "EEPROM" 20480 2116
+               ;;
        esac
        ;;
 "ath10k/pre-cal-pci-0000:00:00.0.bin")
diff --git a/target/linux/ath79/dts/qca9563_ubnt-unifiac-lite.dts b/target/linux/ath79/dts/qca9563_ubnt-unifiac-lite.dts
new file mode 100644 (file)
index 0000000..0bfda12
--- /dev/null
@@ -0,0 +1,148 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/dts-v1/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+
+#include "qca956x.dtsi"
+
+/ {
+       compatible = "ubnt,ubnt-unifiac-lite", "qca,qca9563";
+       model = "Ubiquiti UniFi-AC-LITE/MESH/LR";
+
+       memory@0 {
+               device_type = "memory";
+               reg = <0x0 0x8000000>;
+       };
+
+       chosen {
+               bootargs = "console=ttyS0,115200n8";
+       };
+
+       leds {
+               compatible = "gpio-leds";
+
+               wifi_ac {
+                       label = "ubnt:white:dome";
+                       gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
+                       default-state = "off";
+                       linux,default-trigger = "phy0tpt";
+               };
+
+               wifi_n {
+                       label = "ubnt:blue:dome";
+                       gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
+                       default-state = "off";
+                       linux,default-trigger = "phy1tpt";
+               };
+
+       };
+
+       keys {
+               compatible = "gpio-keys";
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               reset {
+                       label = "Reset button";
+                       linux,code = <KEY_RESTART>;
+                       gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
+                       debounce-interval = <60>;
+               };
+       };
+};
+
+&uart {
+       status = "okay";
+};
+
+&gpio {
+       status = "okay";
+};
+
+&pcie {
+       status = "okay";
+};
+
+&spi {
+       status = "okay";
+       num-cs = <1>;
+
+       flash@0 {
+               #address-cells = <1>;
+               #size-cells = <1>;
+               compatible = "jedec,spi-nor";
+               reg = <0>;
+               spi-max-frequency = <25000000>;
+
+               partitions {
+                       compatible = "fixed-partitions";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+
+                       partition@0 {
+                               label = "u-boot";
+                               reg = <0x000000 0x060000>;
+                               read-only;
+                       };
+
+                       partition@60000 {
+                               label = "u-boot-env";
+                               reg = <0x060000 0x010000>;
+                               read-only;
+                       };
+
+                       partition@70000 {
+                               label = "firmware";
+                               reg = <0x070000 0x790000>;
+                       };
+
+                       partition@800000 {
+                               label = "ubnt-airos";
+                               reg = <0x800000 0x790000>;
+                               read-only;
+                       };
+
+                       partition@f90000 {
+                               label = "bs";
+                               reg = <0xf90000 0x020000>;
+                               read-only;
+                       };
+
+                       partition@fb0000 {
+                               label = "cfg";
+                               reg = <0xfb0000 0x040000>;
+                               read-only;
+                       };
+
+                       eeprom: partition@ff0000 {
+                               label = "EEPROM";
+                               reg = <0xff0000 0x010000>;
+                               read-only;
+                       };
+               };
+       };
+};
+
+&mdio0 {
+       status = "okay";
+
+       phy-mask = <4>;
+       phy4: ethernet-phy@4 {
+               phy-mode = "sgmii";
+               reg = <4>;
+       };
+};
+
+&eth0 {
+       status = "okay";
+
+       mtd-mac-address = <&eeprom 0x0>;
+       phy-handle = <&phy4>;
+};
+
+&wmac {
+       status = "okay";
+       mtd-cal-data = <&eeprom 0x1000>;
+       mtd-mac-address = <&eeprom 0x0>;
+};
index 1aae938..900167f 100644 (file)
@@ -79,3 +79,22 @@ define Device/ubnt_unifi
   SUPPORTED_DEVICES += unifi
 endef
 TARGET_DEVICES += ubnt_unifi
+
+define Device/ubnt-unifiac
+  DEVICE_PACKAGES := kmod-usb-core kmod-usb2
+  DEVICE_PROFILE := UBNT
+  IMAGE_SIZE := 7744k
+  IMAGES := sysupgrade.bin
+  IMAGE/sysupgrade.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE)
+endef
+
+
+define Device/ubnt-unifiac-lite
+  $(Device/ubnt-unifiac)
+  DEVICE_TITLE := Ubiquiti UniFi AC-Lite
+  DEVICE_PACKAGES := kmod-ath10k ath10k-firmware-qca988x
+  DEVICE_PROFILE += UBNTUNIFIACLITE
+  BOARDNAME := UBNT-UF-AC-LITE
+  ATH_SOC := qca9563
+endef
+TARGET_DEVICES += ubnt-unifiac-lite