From e210fe91b186ba5b229fd64d165a631810d60dac Mon Sep 17 00:00:00 2001 From: Roger Pueyo Centelles Date: Thu, 12 Mar 2020 11:37:10 +0100 Subject: [PATCH] ath79: add support for Ubiquiti PowerBeam 5AC Gen2 The Ubiquiti PowerBeam 5AC Gen 2 (PBE-5AC-Gen2) is an outdoor 802.11ac 5 GHz bridge with a radio feed and a dish antenna. The device is hardware-compatible with the LiteBeam AC Gen2, plus the 4 extra LEDs. Specifications: - SoC: Qualcomm Atheros AR9342 rev 2 - RAM: 64 MB DDR2 - Flash: 16 MB SPI NOR (mx25l12805d) - Ethernet: 1x 10/100/1000 Mbps Atheros 8035, 24 Vdc PoE-in - WiFi 5 GHz: QCA988x HW2.0 Ubiquiti target 0x4100016c chip_id 0x043222ff - WiFi 2.4 GHz: Atheros AR9340 (SoC-based) - Buttons: 1x (reset) - LEDs: 1x power, 1x Ethernet, 4x RSSI via GPIO. All blue. - UART: not tested Installation from stock airOS firmware: - Follow instructions for WA-type Ubiquiti devices on OpenWrt wiki Signed-off-by: Roger Pueyo Centelles [changed device name in commit title] Signed-off-by: Adrian Schmutzler --- .../dts/ar9342_ubnt_powerbeam-5ac-gen2.dts | 66 +++++++++++++++++++ .../generic/base-files/etc/board.d/01_leds | 3 +- .../generic/base-files/etc/board.d/02_network | 4 +- .../etc/hotplug.d/firmware/11-ath10k-caldata | 1 + target/linux/ath79/image/generic-ubnt.mk | 8 +++ 5 files changed, 80 insertions(+), 2 deletions(-) create mode 100644 target/linux/ath79/dts/ar9342_ubnt_powerbeam-5ac-gen2.dts diff --git a/target/linux/ath79/dts/ar9342_ubnt_powerbeam-5ac-gen2.dts b/target/linux/ath79/dts/ar9342_ubnt_powerbeam-5ac-gen2.dts new file mode 100644 index 0000000000..6b60ed256e --- /dev/null +++ b/target/linux/ath79/dts/ar9342_ubnt_powerbeam-5ac-gen2.dts @@ -0,0 +1,66 @@ +// SPDX-License-Identifier: GPL-2.0 +/dts-v1/; + +#include "ar9342_ubnt_wa.dtsi" + +/ { + compatible = "ubnt,powerbeam-5ac-gen2", "ubnt,wa", "qca,ar9342"; + model = "Ubiquiti PowerBeam 5AC Gen2"; + + aliases { + led-boot = &led_rssi3; + led-failsafe = &led_rssi3; + led-upgrade = &led_rssi3; + }; + + leds { + compatible = "gpio-leds"; + + rssi0 { + label = "ubnt:blue:rssi0"; + gpios = <&gpio 11 GPIO_ACTIVE_LOW>; + }; + + rssi1 { + label = "ubnt:blue:rssi1"; + gpios = <&gpio 16 GPIO_ACTIVE_LOW>; + }; + + rssi2 { + label = "ubnt:blue:rssi2"; + gpios = <&gpio 13 GPIO_ACTIVE_LOW>; + }; + + led_rssi3: rssi3 { + label = "ubnt:blue:rssi3"; + gpios = <&gpio 14 GPIO_ACTIVE_LOW>; + }; + }; +}; + +&mdio0 { + status = "okay"; + + phy-mask = <4>; + phy4: ethernet-phy@4 { + reg = <4>; + }; +}; + +ð0 { + status = "okay"; + + /* default for ar934x, except for 1000M and 10M */ + pll-data = <0x02000000 0x00000101 0x00001313>; + + mtd-mac-address = <&art 0x0>; + + phy-mode = "rgmii-id"; + phy-handle = <&phy4>; + + gmac-config { + device = <&gmac>; + rxd-delay = <3>; + rxdv-delay = <3>; + }; +}; diff --git a/target/linux/ath79/generic/base-files/etc/board.d/01_leds b/target/linux/ath79/generic/base-files/etc/board.d/01_leds index ca4bb3dd33..a3c5b3f988 100755 --- a/target/linux/ath79/generic/base-files/etc/board.d/01_leds +++ b/target/linux/ath79/generic/base-files/etc/board.d/01_leds @@ -282,7 +282,8 @@ ubnt,rocket-m) ucidef_set_led_rssi "rssihigh" "RSSIHIGH" "ubnt:green:link4" "wlan0" "76" "100" ;; ubnt,nanobeam-ac|\ -ubnt,nanostation-ac) +ubnt,nanostation-ac|\ +ubnt,powerbeam-5ac-gen2) ucidef_set_rssimon "wlan0" "200000" "1" ucidef_set_led_rssi "rssilow" "RSSILOW" "ubnt:blue:rssi0" "wlan0" "1" "100" ucidef_set_led_rssi "rssimediumlow" "RSSIMEDIUMLOW" "ubnt:blue:rssi1" "wlan0" "26" "100" diff --git a/target/linux/ath79/generic/base-files/etc/board.d/02_network b/target/linux/ath79/generic/base-files/etc/board.d/02_network index 543543ad54..d7f7eed829 100755 --- a/target/linux/ath79/generic/base-files/etc/board.d/02_network +++ b/target/linux/ath79/generic/base-files/etc/board.d/02_network @@ -53,6 +53,7 @@ ath79_setup_interfaces() ubnt,nanostation-loco-m|\ ubnt,nanostation-loco-m-xw|\ ubnt,picostation-m|\ + ubnt,powerbeam-5ac-gen2|\ ubnt,rocket-m|\ ubnt,unifiac-lite|\ ubnt,unifiac-lr|\ @@ -468,7 +469,8 @@ ath79_setup_macs() ubnt,unifi) label_mac=$(cat /sys/class/ieee80211/phy0/macaddress) ;; - ubnt,litebeam-ac-gen2) + ubnt,litebeam-ac-gen2|\ + ubnt,powerbeam-5ac-gen2) label_mac=$(mtd_get_mac_binary art 0x5006) ;; ubnt,routerstation|\ diff --git a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/11-ath10k-caldata b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/11-ath10k-caldata index dd821dd339..336b0f3c8f 100644 --- a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/11-ath10k-caldata +++ b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/11-ath10k-caldata @@ -25,6 +25,7 @@ case "$FIRMWARE" in ubnt,nanobeam-ac|\ ubnt,nanostation-ac|\ ubnt,nanostation-ac-loco|\ + ubnt,powerbeam-5ac-gen2|\ ubnt,unifiac-pro|\ yuncore,a770) caldata_extract "art" 0x5000 0x844 diff --git a/target/linux/ath79/image/generic-ubnt.mk b/target/linux/ath79/image/generic-ubnt.mk index 7ad54083b6..d056ab6783 100644 --- a/target/linux/ath79/image/generic-ubnt.mk +++ b/target/linux/ath79/image/generic-ubnt.mk @@ -243,6 +243,14 @@ define Device/ubnt_picostation-m endef TARGET_DEVICES += ubnt_picostation-m +define Device/ubnt_powerbeam-5ac-gen2 + $(Device/ubnt-wa) + DEVICE_MODEL := PowerBeam 5AC + DEVICE_VARIANT := Gen2 + DEVICE_PACKAGES := kmod-ath10k-ct-smallbuffers ath10k-firmware-qca988x-ct rssileds +endef +TARGET_DEVICES += ubnt_powerbeam-5ac-gen2 + define Device/ubnt_rocket-m $(Device/ubnt-xm) SOC := ar7241 -- 2.30.2