aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ath79
diff options
context:
space:
mode:
authorTobias Schramm <tobleminer@gmail.com>2018-09-04 02:08:01 +0200
committerMathias Kresin <dev@kresin.me>2018-10-07 10:46:20 +0200
commitfa3c2676ab0ce5fbb648249da31e31bbc61a3e3d (patch)
treedde6645095330382aa62a655f2519698bcaa45f3 /target/linux/ath79
parent5736af8024bed7a49a8a3e469436bdfe0c02c312 (diff)
downloadupstream-fa3c2676ab0ce5fbb648249da31e31bbc61a3e3d.tar.gz
upstream-fa3c2676ab0ce5fbb648249da31e31bbc61a3e3d.tar.bz2
upstream-fa3c2676ab0ce5fbb648249da31e31bbc61a3e3d.zip
ath79: Add support for Ubiquiti Nanostation AC
5 GHz AC wireless outdoor PoE CPE with internal 2.4 GHz management radio CPU: Atheros AR9342 SoC RAM: 64 MB DDR2 Flash: 16 MB NOR SPI Switch: QCA8334 Ports: 2 GbE ports (1x PoE in, 1x PoE passthrough) WLAN: 5 GHz QCA899X (PCI) and 2.4 GHZ AR9342 Successor to the old NanoStation M5 with AC wireless. The integrated QCA899X is a Ubiquiti branded part with modified vendor and product id (0777:11ac9). Serial Serial settings: 115200, 8N1 * = plated through hole 0 = nylon screw [Top of device] +--------------------------+ | [label] | | 0 | | 0 | | [ubnt] | | [logo] 3V3 * | | TX * | | RX * | | GND * | | | | * | | * | | * | | * | | 0 | | 0 | | | | | Installation 1. Connect to serial header on device 2. Power on device and enter uboot console 3. Set up tftp server serving an openwrt initramfs build 4. Load initramfs build using the command tftpboot in the uboot cli 5. Boot the loaded image using the command bootm 6. Copy squashfs openwrt sysupgrade build to the booted device 7. Use mtd to write sysupgrade to partition "firmware" 8. Reboot and enjoy Signed-off-by: Tobias Schramm <tobleminer@gmail.com>
Diffstat (limited to 'target/linux/ath79')
-rwxr-xr-xtarget/linux/ath79/base-files/etc/board.d/01_leds7
-rwxr-xr-xtarget/linux/ath79/base-files/etc/board.d/02_network1
-rwxr-xr-xtarget/linux/ath79/base-files/etc/board.d/03_gpio_switches20
-rw-r--r--target/linux/ath79/base-files/etc/hotplug.d/firmware/11-ath10k-caldata1
-rw-r--r--target/linux/ath79/dts/ar9342_ubnt_nanostation-ac.dts78
-rw-r--r--target/linux/ath79/image/generic-ubnt.mk10
6 files changed, 117 insertions, 0 deletions
diff --git a/target/linux/ath79/base-files/etc/board.d/01_leds b/target/linux/ath79/base-files/etc/board.d/01_leds
index 7ec5300917..99646ad678 100755
--- a/target/linux/ath79/base-files/etc/board.d/01_leds
+++ b/target/linux/ath79/base-files/etc/board.d/01_leds
@@ -101,6 +101,13 @@ ubnt,rocket-m)
ucidef_set_led_rssi "rssimediumhigh" "RSSIMEDIUMHIGH" "ubnt:green:link3" "wlan0" "51" "100"
ucidef_set_led_rssi "rssihigh" "RSSIHIGH" "ubnt:green:link4" "wlan0" "76" "100"
;;
+ubnt,nanostation-ac)
+ 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"
+ ucidef_set_led_rssi "rssimediumhigh" "RSSIMEDIUMHIGH" "ubnt:blue:rssi2" "wlan0" "51" "100"
+ ucidef_set_led_rssi "rssihigh" "RSSIHIGH" "ubnt:blue:rssi3" "wlan0" "76" "100"
+ ;;
wd,mynet-wifi-rangeextender)
ucidef_set_led_netdev "lan" "LAN" "$boardname:green:lan" "eth0"
ucidef_set_rssimon "wlan0" "200000" "1"
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 30577a1a9f..f782affe34 100755
--- a/target/linux/ath79/base-files/etc/board.d/02_network
+++ b/target/linux/ath79/base-files/etc/board.d/02_network
@@ -161,6 +161,7 @@ ath79_setup_interfaces()
ucidef_add_switch "switch0" \
"0@eth1" "2:lan:3" "3:lan:2" "4:lan:1"
;;
+ ubnt,nanostation-ac|\
ubnt,unifiac-mesh-pro|\
ubnt,unifiac-pro)
ucidef_add_switch "switch0" \
diff --git a/target/linux/ath79/base-files/etc/board.d/03_gpio_switches b/target/linux/ath79/base-files/etc/board.d/03_gpio_switches
new file mode 100755
index 0000000000..4af9845b65
--- /dev/null
+++ b/target/linux/ath79/base-files/etc/board.d/03_gpio_switches
@@ -0,0 +1,20 @@
+#!/bin/sh
+#
+# Copyright (C) 2018 OpenWrt.org
+#
+
+. /lib/functions/uci-defaults.sh
+
+board_config_update
+
+board=$(board_name)
+
+case "$board" in
+ubnt,nanostation-ac)
+ ucidef_add_gpio_switch "poe_passthrough" "PoE Passthrough" "3"
+ ;;
+esac
+
+board_config_flush
+
+exit 0
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 ec490dda7f..9365d67e85 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
@@ -111,6 +111,7 @@ case "$FIRMWARE" in
ubnt,unifiac-lite|\
ubnt,unifiac-mesh|\
ubnt,unifiac-mesh-pro|\
+ ubnt,nanostation-ac|\
ubnt,nanostation-ac-loco|\
ubnt,unifiac-pro)
ath10kcal_extract "EEPROM" 20480 2116
diff --git a/target/linux/ath79/dts/ar9342_ubnt_nanostation-ac.dts b/target/linux/ath79/dts/ar9342_ubnt_nanostation-ac.dts
new file mode 100644
index 0000000000..164587dc3f
--- /dev/null
+++ b/target/linux/ath79/dts/ar9342_ubnt_nanostation-ac.dts
@@ -0,0 +1,78 @@
+// SPDX-License-Identifier: GPL-2.0
+/dts-v1/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+
+#include "ar9342_ubnt_wa.dtsi"
+
+/ {
+ compatible = "ubnt,nanostation-ac", "ubnt,wa";
+ model = "Ubiquiti Nanostation AC (WA)";
+
+ gpio-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>;
+ };
+
+ rssi3 {
+ label = "ubnt:blue:rssi3";
+ gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
+ };
+ };
+};
+
+&mdio0 {
+ status = "okay";
+
+ phy-mask = <4>;
+ phy0: ethernet-phy@0 {
+ phy-mode = "rgmii";
+ reg = <0>;
+
+ qca,ar8327-initvals = <
+ 0x04 0x07600000 /* PORT0 PAD MODE CTRL */
+ 0x58 0xffb7ffb7 /* LED_CTRL2 */
+ 0x5c 0x03ffff00 /* LED_CTRL3 */
+ 0x7c 0x0000007e /* PORT0_STATUS */
+ >;
+ };
+};
+
+&eth0 {
+ status = "okay";
+
+ /* default for ar934x, except for 1000M and 10M */
+ pll-data = <0x06000000 0x00000101 0x00001313>;
+
+ mtd-mac-address = <&eeprom 0x0>;
+
+ phy-mode = "rgmii";
+ phy-handle = <&phy0>;
+
+ gmac-config {
+ device = <&gmac>;
+ rxd-delay = <2>;
+ rxdv-delay = <2>;
+ };
+};
+
+&wmac {
+ status = "okay";
+
+ mtd-cal-data = <&eeprom 0x1000>;
+ mtd-mac-address = <&eeprom 0x1002>;
+};
diff --git a/target/linux/ath79/image/generic-ubnt.mk b/target/linux/ath79/image/generic-ubnt.mk
index 86afa11deb..91cd5fc681 100644
--- a/target/linux/ath79/image/generic-ubnt.mk
+++ b/target/linux/ath79/image/generic-ubnt.mk
@@ -84,6 +84,16 @@ define Device/ubnt_nano-m
endef
TARGET_DEVICES += ubnt_nano-m
+define Device/ubnt_nanostation-ac
+ $(Device/ubnt-wa)
+ DEVICE_TITLE := Ubiquiti Nanostation AC
+ DEVICE_PACKAGES += kmod-ath10k ath10k-firmware-qca988x
+ IMAGE_SIZE := 15744k
+ IMAGES += factory.bin
+ IMAGE/factory.bin := $$(IMAGE/sysupgrade.bin) | mkubntimage-split
+endef
+TARGET_DEVICES += ubnt_nanostation-ac
+
define Device/ubnt_nanostation-ac-loco
$(Device/ubnt-wa)
DEVICE_TITLE := Ubiquiti Nanostation AC loco