aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLucian Cristian <lucian.cristian@gmail.com>2018-06-26 10:30:46 +0300
committerMathias Kresin <dev@kresin.me>2018-06-28 18:39:57 +0200
commit7dd3d7e1d3845160c2ef51e6148b452e666bd6f5 (patch)
tree2f52500febdd143f0d79ebb31ad365e3cb6d4ff6
parent56fddc2577baf194d1e9a7b37d454d12ff9fb469 (diff)
downloadupstream-7dd3d7e1d3845160c2ef51e6148b452e666bd6f5.tar.gz
upstream-7dd3d7e1d3845160c2ef51e6148b452e666bd6f5.tar.bz2
upstream-7dd3d7e1d3845160c2ef51e6148b452e666bd6f5.zip
ath79: add support for Ubiquiti UniFi AC-Pro
rework the dts to a common unifi-ac dtsi pro network is connected via phy0 and has usb ports lite network is connected via phy4 without usb ports Signed-off-by: Lucian Cristian <lucian.cristian@gmail.com>
-rwxr-xr-xtarget/linux/ath79/base-files/etc/board.d/02_network4
-rw-r--r--target/linux/ath79/base-files/etc/hotplug.d/firmware/11-ath10k-caldata3
-rw-r--r--target/linux/ath79/dts/qca9563_ubnt_unifiac-lite.dts119
-rw-r--r--target/linux/ath79/dts/qca9563_ubnt_unifiac-pro.dts38
-rw-r--r--target/linux/ath79/dts/qca9563_ubnt_unifiac.dtsi122
-rw-r--r--target/linux/ath79/image/generic-ubnt.mk18
6 files changed, 178 insertions, 126 deletions
diff --git a/target/linux/ath79/base-files/etc/board.d/02_network b/target/linux/ath79/base-files/etc/board.d/02_network
index e880abe5ac..3282d8ad90 100755
--- a/target/linux/ath79/base-files/etc/board.d/02_network
+++ b/target/linux/ath79/base-files/etc/board.d/02_network
@@ -98,6 +98,10 @@ ath79_setup_interfaces()
ucidef_add_switch "switch0" \
"0@eth0" "3:lan:1" "5:lan:2" "4:wan"
;;
+ "ubnt,unifiac-pro")
+ ucidef_add_switch "switch0" \
+ "0@eth0" "2:lan" "3:wan"
+ ;;
*)
ucidef_set_interfaces_lan_wan "eth0" "eth1"
;;
diff --git a/target/linux/ath79/base-files/etc/hotplug.d/firmware/11-ath10k-caldata b/target/linux/ath79/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
index c3cc4d9986..dff33b70ce 100644
--- a/target/linux/ath79/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
+++ b/target/linux/ath79/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
@@ -95,7 +95,8 @@ case "$FIRMWARE" in
ath10kcal_extract "art" 20480 2116
ath10kcal_patch_mac $(macaddr_add $(cat /sys/class/net/eth1/address) -2)
;;
- "ubnt,unifiac-lite")
+ "ubnt,unifiac-lite"|\
+ "ubnt,unifiac-pro")
ath10kcal_extract "EEPROM" 20480 2116
;;
esac
diff --git a/target/linux/ath79/dts/qca9563_ubnt_unifiac-lite.dts b/target/linux/ath79/dts/qca9563_ubnt_unifiac-lite.dts
index ff24338ca0..6b872561ed 100644
--- a/target/linux/ath79/dts/qca9563_ubnt_unifiac-lite.dts
+++ b/target/linux/ath79/dts/qca9563_ubnt_unifiac-lite.dts
@@ -1,122 +1,11 @@
// 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"
+#include "qca9563_ubnt_unifiac.dtsi"
/ {
compatible = "ubnt,unifiac-lite", "qca,qca9563";
model = "Ubiquiti UniFi-AC-LITE/MESH/LR";
-
- 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 {
@@ -135,9 +24,3 @@
mtd-mac-address = <&eeprom 0x0>;
phy-handle = <&phy4>;
};
-
-&wmac {
- status = "okay";
- mtd-cal-data = <&eeprom 0x1000>;
- mtd-mac-address = <&eeprom 0x0>;
-};
diff --git a/target/linux/ath79/dts/qca9563_ubnt_unifiac-pro.dts b/target/linux/ath79/dts/qca9563_ubnt_unifiac-pro.dts
new file mode 100644
index 0000000000..31ca0ab965
--- /dev/null
+++ b/target/linux/ath79/dts/qca9563_ubnt_unifiac-pro.dts
@@ -0,0 +1,38 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/dts-v1/;
+
+#include "qca9563_ubnt_unifiac.dtsi"
+
+/ {
+ compatible = "ubnt,unifiac-pro", "qca,qca9563";
+ model = "Ubiquiti UniFi-AC-PRO/MESH PRO";
+};
+
+&usb_phy0 {
+ status = "okay";
+};
+
+&usb0 {
+ status = "okay";
+};
+
+&mdio0 {
+ status = "okay";
+ phy-mask = <0>;
+
+ phy0: ethernet-phy@0 {
+ reg = <0>;
+ phy-mode = "sgmii";
+ qca,ar8327-initvals = <
+ 0x04 0x00080080 /* PORT0 PAD MODE CTRL */
+ 0x7c 0x0000007e /* PORT0_STATUS */
+ >;
+ };
+};
+
+&eth0 {
+ status = "okay";
+
+ mtd-mac-address = <&eeprom 0x0>;
+ phy-handle = <&phy0>;
+};
diff --git a/target/linux/ath79/dts/qca9563_ubnt_unifiac.dtsi b/target/linux/ath79/dts/qca9563_ubnt_unifiac.dtsi
new file mode 100644
index 0000000000..941a5180df
--- /dev/null
+++ b/target/linux/ath79/dts/qca9563_ubnt_unifiac.dtsi
@@ -0,0 +1,122 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+
+#include "qca956x.dtsi"
+
+/ {
+ 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;
+ };
+ };
+ };
+};
+
+&wmac {
+ status = "okay";
+ mtd-cal-data = <&eeprom 0x1000>;
+ mtd-mac-address = <&eeprom 0x0>;
+};
diff --git a/target/linux/ath79/image/generic-ubnt.mk b/target/linux/ath79/image/generic-ubnt.mk
index aa898be2ee..31905820a0 100644
--- a/target/linux/ath79/image/generic-ubnt.mk
+++ b/target/linux/ath79/image/generic-ubnt.mk
@@ -81,11 +81,11 @@ endef
TARGET_DEVICES += ubnt_unifi
define Device/ubnt_unifiac
- DEVICE_PACKAGES := kmod-usb-core kmod-usb2
- DEVICE_PROFILE := UBNT
+ ATH_SOC := qca9563
IMAGE_SIZE := 7744k
IMAGES := sysupgrade.bin
- IMAGE/sysupgrade.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE)
+ IMAGE/sysupgrade.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
+ DEVICE_PACKAGES := kmod-ath10k ath10k-firmware-qca988x
endef
@@ -93,9 +93,13 @@ define Device/ubnt_unifiac-lite
$(Device/ubnt_unifiac)
DEVICE_TITLE := Ubiquiti UniFi AC-Lite
SUPPORTED_DEVICES += ubnt-unifiac-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
+
+define Device/ubnt_unifiac-pro
+ $(Device/ubnt_unifiac)
+ DEVICE_TITLE := Ubiquiti UniFi AC-Pro
+ DEVICE_PACKAGES += kmod-usb-core kmod-usb2
+ SUPPORTED_DEVICES += ubnt-unifiac-pro
+endef
+TARGET_DEVICES += ubnt_unifiac-pro