mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-22 06:57:57 +00:00
ath79: add support for Ubiquiti UniFi AP Pro
This adds support for the Ubiquiti UniFi AP Pro to the ath79 target. The device was previously supported on the now removed ar71xx target. SoC Atheros AR9344 WiFi Atheros AR9344 & Atheros AR9280 ETH Atheros AR8327 RAM 128M DDR2 FLASH 16M SPI-NOR Installation ------------ Follow the Ubiquiti TFTP recovery procedure for this device. 1. Hold down the reset button while connecting power for 10 seconds. 2. Transfer the factory image via TFTP to the AP (192.168.1.20) 3. Wait 2 minutes for the AP to write the firmware to flash. The device will automatically reboot to OpenWrt. Signed-off-by: David Bauer <mail@david-bauer.net>
This commit is contained in:
parent
caf727767a
commit
b7da0d2944
158
target/linux/ath79/dts/ar9344_ubnt_unifi-ap-pro.dts
Normal file
158
target/linux/ath79/dts/ar9344_ubnt_unifi-ap-pro.dts
Normal file
@ -0,0 +1,158 @@
|
|||||||
|
// 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 "ar9344.dtsi"
|
||||||
|
|
||||||
|
/ {
|
||||||
|
model = "Ubiquiti UniFi AP Pro";
|
||||||
|
compatible = "ubnt,unifi-ap-pro";
|
||||||
|
|
||||||
|
aliases {
|
||||||
|
led-boot = &led_white;
|
||||||
|
led-failsafe = &led_white;
|
||||||
|
led-running = &led_blue;
|
||||||
|
led-upgrade = &led_blue;
|
||||||
|
label-mac-device = ð0;
|
||||||
|
};
|
||||||
|
|
||||||
|
leds {
|
||||||
|
compatible = "gpio-leds";
|
||||||
|
|
||||||
|
led_white: led-white {
|
||||||
|
label = "ubnt:white:dome";
|
||||||
|
gpios = <&gpio 12 GPIO_ACTIVE_HIGH>;
|
||||||
|
};
|
||||||
|
|
||||||
|
led_blue: led-blue {
|
||||||
|
label = "ubnt:blue:dome";
|
||||||
|
gpios = <&gpio 13 GPIO_ACTIVE_HIGH>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
keys {
|
||||||
|
compatible = "gpio-keys";
|
||||||
|
|
||||||
|
reset {
|
||||||
|
linux,code = <KEY_RESTART>;
|
||||||
|
gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
|
||||||
|
debounce-interval = <60>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&ref {
|
||||||
|
clock-frequency = <40000000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
&uart {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&spi {
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
num-cs = <1>;
|
||||||
|
|
||||||
|
flash@0 {
|
||||||
|
compatible = "jedec,spi-nor";
|
||||||
|
reg = <0>;
|
||||||
|
spi-max-frequency = <50000000>;
|
||||||
|
|
||||||
|
partitions {
|
||||||
|
compatible = "fixed-partitions";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
|
||||||
|
uboot: partition@0 {
|
||||||
|
label = "u-boot";
|
||||||
|
reg = <0x0 0x40000>;
|
||||||
|
read-only;
|
||||||
|
};
|
||||||
|
|
||||||
|
partition@40000 {
|
||||||
|
label = "u-boot-env";
|
||||||
|
reg = <0x40000 0x10000>;
|
||||||
|
read-only;
|
||||||
|
};
|
||||||
|
|
||||||
|
partition@50000 {
|
||||||
|
label = "firmware";
|
||||||
|
reg = <0x50000 0xf60000>;
|
||||||
|
|
||||||
|
compatible = "fixed-partitions";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
|
||||||
|
partition@0 {
|
||||||
|
label = "kernel";
|
||||||
|
reg = <0x0 0x300000>;
|
||||||
|
/* Can be resized w/o issues.
|
||||||
|
* U-Boot can load kernel from the
|
||||||
|
* entirety of the "firmware" partition space.
|
||||||
|
*/
|
||||||
|
};
|
||||||
|
|
||||||
|
partition@300000 {
|
||||||
|
label = "rootfs";
|
||||||
|
reg = <0x300000 0xc60000>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
partition@fb0000 {
|
||||||
|
label = "cfg";
|
||||||
|
reg = <0xfb0000 0x40000>;
|
||||||
|
read-only;
|
||||||
|
};
|
||||||
|
|
||||||
|
art: partition@ff0000 {
|
||||||
|
label = "art";
|
||||||
|
reg = <0xff0000 0x10000>;
|
||||||
|
read-only;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&pcie {
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
wifi@0,0 {
|
||||||
|
compatible = "pci168c,0033";
|
||||||
|
reg = <0 0 0 0 0>;
|
||||||
|
qca,no-eeprom;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&wmac {
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
mtd-cal-data = <&art 0x1000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
&mdio0 {
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
phy0: ethernet-phy@0 {
|
||||||
|
reg = <0>;
|
||||||
|
|
||||||
|
qca,ar8327-initvals = <
|
||||||
|
0x4 0x7600000 /* PORT0 PAD MODE CTRL */
|
||||||
|
0x10 0x80000080 /* POWER_ON_STRAP */
|
||||||
|
0x7c 0x7e /* PORT0_STATUS */
|
||||||
|
>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
ð0 {
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
pll-data = <0x6000000 0x101 0x1616>;
|
||||||
|
|
||||||
|
mtd-mac-address = <&art 0x0>;
|
||||||
|
|
||||||
|
phy-mode = "rgmii";
|
||||||
|
phy-handle = <&phy0>;
|
||||||
|
};
|
@ -371,6 +371,10 @@ ath79_setup_interfaces()
|
|||||||
ucidef_add_switch "switch0" \
|
ucidef_add_switch "switch0" \
|
||||||
"0@eth0" "2:lan:1" "3:lan:2"
|
"0@eth0" "2:lan:1" "3:lan:2"
|
||||||
;;
|
;;
|
||||||
|
ubnt,unifi-ap-pro)
|
||||||
|
ucidef_add_switch "switch0" \
|
||||||
|
"0@eth0" "1:lan" "2:lan"
|
||||||
|
;;
|
||||||
zbtlink,zbt-wd323|\
|
zbtlink,zbt-wd323|\
|
||||||
xiaomi,mi-router-4q)
|
xiaomi,mi-router-4q)
|
||||||
ucidef_set_interface_wan "eth1"
|
ucidef_set_interface_wan "eth1"
|
||||||
|
@ -98,6 +98,7 @@ case "$FIRMWARE" in
|
|||||||
tplink,tl-wdr4300-v1-il|\
|
tplink,tl-wdr4300-v1-il|\
|
||||||
tplink,tl-wdr4310-v1|\
|
tplink,tl-wdr4310-v1|\
|
||||||
tplink,tl-wdr4900-v2|\
|
tplink,tl-wdr4900-v2|\
|
||||||
|
ubnt,unifi-ap-pro|\
|
||||||
winchannel,wb2000)
|
winchannel,wb2000)
|
||||||
caldata_extract "art" 0x5000 0x440
|
caldata_extract "art" 0x5000 0x440
|
||||||
;;
|
;;
|
||||||
|
@ -13,6 +13,14 @@ define Build/mkubntimage
|
|||||||
-k $(IMAGE_KERNEL) -r $@ -o $@
|
-k $(IMAGE_KERNEL) -r $@ -o $@
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
define Build/mkubntimage2
|
||||||
|
-$(STAGING_DIR_HOST)/bin/mkfwimage2 -f 0x9f000000 \
|
||||||
|
-v $(UBNT_TYPE).$(UBNT_CHIP).v6.0.0-$(VERSION_DIST)-$(REVISION) \
|
||||||
|
-p jffs2:0x50000:0xf60000:0:0:$@ \
|
||||||
|
-o $@.new
|
||||||
|
@mv $@.new $@
|
||||||
|
endef
|
||||||
|
|
||||||
# all UBNT XM/WA devices expect the kernel image to have 1024k while flash, when
|
# all UBNT XM/WA devices expect the kernel image to have 1024k while flash, when
|
||||||
# booting the image, the size doesn't matter.
|
# booting the image, the size doesn't matter.
|
||||||
define Build/mkubntimage-split
|
define Build/mkubntimage-split
|
||||||
@ -369,3 +377,20 @@ define Device/ubnt_unifiac-pro
|
|||||||
SUPPORTED_DEVICES += unifiac-pro
|
SUPPORTED_DEVICES += unifiac-pro
|
||||||
endef
|
endef
|
||||||
TARGET_DEVICES += ubnt_unifiac-pro
|
TARGET_DEVICES += ubnt_unifiac-pro
|
||||||
|
|
||||||
|
define Device/ubnt_unifi-ap-pro
|
||||||
|
SOC := ar9344
|
||||||
|
DEVICE_VENDOR := Ubiquiti
|
||||||
|
DEVICE_MODEL := UniFi AP Pro
|
||||||
|
UBNT_TYPE := BZ
|
||||||
|
UBNT_CHIP := ar934x
|
||||||
|
KERNEL_SIZE := 3072k
|
||||||
|
IMAGE_SIZE := 15744k
|
||||||
|
KERNEL := kernel-bin | append-dtb | lzma | uImage lzma | jffs2 kernel0
|
||||||
|
IMAGES := sysupgrade.bin factory.bin
|
||||||
|
IMAGE/sysupgrade.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-rootfs |\
|
||||||
|
pad-rootfs | append-metadata | check-size
|
||||||
|
IMAGE/factory.bin := $$(IMAGE/sysupgrade.bin) | mkubntimage2
|
||||||
|
SUPPORTED_DEVICES += uap-pro
|
||||||
|
endef
|
||||||
|
TARGET_DEVICES += ubnt_unifi-ap-pro
|
||||||
|
Loading…
Reference in New Issue
Block a user