From a0ef42e77c367312df7edc78dbd0d18a3faf9808 Mon Sep 17 00:00:00 2001 From: Roger Pueyo Centelles Date: Fri, 24 Apr 2020 02:22:44 +0200 Subject: [PATCH] ath79: add support for Ubiquiti PowerBeam 5AC 500 The Ubiquiti PowerBeam 5AC 500 (PBE-5AC-500) is an outdoor 802.11ac 5 GHz bridge with a radio feed and a dish antenna. Specifications: - SoC: Qualcomm Atheros QCA9558 - RAM: 128 MB DDR2 - Flash: 16 MB SPI NOR (mx25l12805d) - Ethernet: 1x 10/100/1000 Mbps Atheros 8031, 24 Vdc PoE-in - WiFi 5 GHz: QCA988x HW2.0 Ubiquiti target 0x4100016c chip_id 0x043222ff - Buttons: 1x (reset) - LEDs: 1x power, 1x Ethernet, 4x RSSI, all blue - UART: not tested Not supported: - RSSI LEDs (probably through 74HC595 chip) Installation from stock airOS firmware: - Follow instructions for XC-type Ubiquiti devices on OpenWrt wiki at https://openwrt.org/toh/ubiquiti/common Signed-off-by: Roger Pueyo Centelles --- .../dts/qca9558_ubnt_powerbeam-5ac-500.dts | 39 +++++++++++ target/linux/ath79/dts/qca955x_ubnt_xc.dtsi | 67 +++++++++++++++++++ .../generic/base-files/etc/board.d/02_network | 2 + .../etc/hotplug.d/firmware/11-ath10k-caldata | 1 + target/linux/ath79/image/generic-ubnt.mk | 18 +++++ 5 files changed, 127 insertions(+) create mode 100644 target/linux/ath79/dts/qca9558_ubnt_powerbeam-5ac-500.dts create mode 100644 target/linux/ath79/dts/qca955x_ubnt_xc.dtsi diff --git a/target/linux/ath79/dts/qca9558_ubnt_powerbeam-5ac-500.dts b/target/linux/ath79/dts/qca9558_ubnt_powerbeam-5ac-500.dts new file mode 100644 index 0000000000..c41b9e5423 --- /dev/null +++ b/target/linux/ath79/dts/qca9558_ubnt_powerbeam-5ac-500.dts @@ -0,0 +1,39 @@ +// SPDX-License-Identifier: GPL-2.0 +/dts-v1/; + +#include "qca955x_ubnt_xc.dtsi" + +/ { + compatible = "ubnt,powerbeam-5ac-500", "ubnt,xc", "qca,qca9558"; + model = "Ubiquiti PowerBeam 5AC 500"; + + keys { + compatible = "gpio-keys"; + + reset { + label = "Reset button"; + linux,code = ; + gpios = <&gpio 19 GPIO_ACTIVE_LOW>; + debounce-interval = <60>; + }; + }; +}; + +&mdio0 { + status = "okay"; + + phy-mask = <4>; + phy4: ethernet-phy@4 { + phy-mode = "sgmii"; + reg = <4>; + at803x-override-sgmii-link-check; + }; +}; + +ð0 { + status = "okay"; + + mtd-mac-address = <&art 0x0>; + phy-mode = "sgmii"; + phy-handle = <&phy4>; +}; diff --git a/target/linux/ath79/dts/qca955x_ubnt_xc.dtsi b/target/linux/ath79/dts/qca955x_ubnt_xc.dtsi new file mode 100644 index 0000000000..bd8ebaf040 --- /dev/null +++ b/target/linux/ath79/dts/qca955x_ubnt_xc.dtsi @@ -0,0 +1,67 @@ +// SPDX-License-Identifier: GPL-2.0 + +#include +#include + +#include "qca955x.dtsi" + +/ { + chosen { + bootargs = "console=ttyS0,115200n8"; + }; +}; + +&uart { + status = "okay"; +}; + +&pcie0 { + status = "okay"; +}; + +&spi { + status = "okay"; + num-cs = <1>; + + flash@0 { + 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 0x040000>; + read-only; + }; + + partition@40000 { + label = "u-boot-env"; + reg = <0x040000 0x010000>; + read-only; + }; + + partition@50000 { + compatible = "denx,uimage"; + label = "firmware"; + reg = <0x050000 0xf60000>; + }; + + partition@fb0000 { + label = "cfg"; + reg = <0xfb0000 0x040000>; + read-only; + }; + + art: partition@ff0000 { + label = "art"; + reg = <0xff0000 0x010000>; + read-only; + }; + }; + }; +}; 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 9768e4e076..0b05868baf 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-500|\ ubnt,powerbeam-5ac-gen2|\ ubnt,rocket-m|\ ubnt,unifiac-lite|\ @@ -471,6 +472,7 @@ ath79_setup_macs() label_mac=$(cat /sys/class/ieee80211/phy0/macaddress) ;; ubnt,litebeam-ac-gen2|\ + ubnt,powerbeam-5ac-500|\ ubnt,powerbeam-5ac-gen2) label_mac=$(mtd_get_mac_binary art 0x5006) ;; 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 336b0f3c8f..3ce95905b8 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-500|\ ubnt,powerbeam-5ac-gen2|\ ubnt,unifiac-pro|\ yuncore,a770) diff --git a/target/linux/ath79/image/generic-ubnt.mk b/target/linux/ath79/image/generic-ubnt.mk index d056ab6783..577ae98624 100644 --- a/target/linux/ath79/image/generic-ubnt.mk +++ b/target/linux/ath79/image/generic-ubnt.mk @@ -69,6 +69,15 @@ define Device/ubnt-wa UBNT_VERSION := 8.5.0 endef +define Device/ubnt-xc + $(Device/ubnt) + IMAGE_SIZE := 15744k + UBNT_BOARD := XC + UBNT_CHIP := qca955x + UBNT_TYPE := XC + UBNT_VERSION := 8.5.0 +endef + define Device/ubnt-xm $(Device/ubnt) DEVICE_VARIANT := XM @@ -243,6 +252,15 @@ define Device/ubnt_picostation-m endef TARGET_DEVICES += ubnt_picostation-m +define Device/ubnt_powerbeam-5ac-500 + $(Device/ubnt-xc) + SOC := qca9558 + DEVICE_MODEL := PowerBeam 5AC + DEVICE_VARIANT := 500 + DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct +endef +TARGET_DEVICES += ubnt_powerbeam-5ac-500 + define Device/ubnt_powerbeam-5ac-gen2 $(Device/ubnt-wa) DEVICE_MODEL := PowerBeam 5AC -- 2.30.2