From 4c8446bf39de99990847eb4bc7744e25835a34f5 Mon Sep 17 00:00:00 2001 From: David Bauer Date: Sun, 8 Mar 2020 21:39:19 +0100 Subject: [PATCH] ramips: add support for Ubiquiti UniFi nanoHD Hardware -------- SoC: MediaTek MT7621AT WiFi: MediaTek MT7603 bgn 2T2R MediaTek MT7615 ac 4T4R Flash: 32M SPI (Macronix MX25L25635F) RAM: 128M DDR3 (Winbond W631GG6KB) LED: Dome (Blue / White) BTN: Reset Installation ------------ These instructions were written for firmware version v3.9.27. Downgrade if necessary. 1. Copy the OpenWrt sysupgrade image to the devices /tmp folder via scp. On factory defaults, user and password is "ubnt" at 192.168.1.20/24. 2. Write the bootselect flag. Otherwise, the device might boot from the wrong partition. Verify the mtd partition used in the command below is the one labled "bs" in /proc/mtd (as this might change in the future). > dd if=/dev/zero bs=1 count=1 of=/dev/mtd4 3. Write the OpenWrt sysupgrade to the mtd partitions labled "kernel0" and "kernel1". > dd if=/tmp/openwrt-sysupgrade.bin of=/dev/mtdblock6 > dd if=/tmp/openwrt-sysupgrade.bin of=/dev/mtdblock7 4. Reboot or powercycle the device. Signed-off-by: David Bauer --- .../ramips/dts/mt7621_ubnt_unifi-nanohd.dts | 141 ++++++++++++++++++ target/linux/ramips/image/mt7621.mk | 8 + .../mt7621/base-files/etc/board.d/02_network | 3 +- 3 files changed, 151 insertions(+), 1 deletion(-) create mode 100644 target/linux/ramips/dts/mt7621_ubnt_unifi-nanohd.dts diff --git a/target/linux/ramips/dts/mt7621_ubnt_unifi-nanohd.dts b/target/linux/ramips/dts/mt7621_ubnt_unifi-nanohd.dts new file mode 100644 index 000000000000..903cbc6125f0 --- /dev/null +++ b/target/linux/ramips/dts/mt7621_ubnt_unifi-nanohd.dts @@ -0,0 +1,141 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/dts-v1/; + +#include "mt7621.dtsi" + +#include +#include + +/ { + compatible = "ubnt,unifi-nanohd", "mediatek,mt7621-soc"; + model = "Ubiquiti UniFi nanoHD"; + + aliases { + led-boot = &led_white; + led-failsafe = &led_white; + led-running = &led_blue; + led-upgrade = &led_blue; + + label-mac-device = ðernet; + }; + + chosen { + bootargs = "console=ttyS0,115200"; + }; + + leds { + compatible = "gpio-leds"; + + led_blue: dome_blue { + label = "nanohd:blue:dome"; + gpios = <&gpio0 3 GPIO_ACTIVE_HIGH>; + }; + + led_white: dome_white { + label = "nanohd:white:dome"; + gpios = <&gpio0 4 GPIO_ACTIVE_HIGH>; + }; + }; + + keys { + compatible = "gpio-keys"; + + reset { + label = "reset"; + gpios = <&gpio0 12 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + }; +}; + +&spi0 { + status = "okay"; + + flash@0 { + compatible = "mx25l25635f", "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <50000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x60000>; + read-only; + }; + + partition@60000 { + label = "u-boot-env"; + reg = <0x60000 0x10000>; + read-only; + }; + + factory: partition@70000 { + label = "factory"; + reg = <0x70000 0x10000>; + read-only; + }; + + eeprom: partition@80000 { + label = "eeprom"; + reg = <0x80000 0x10000>; + read-only; + }; + + partition@90000 { + label = "bs"; + reg = <0x90000 0x10000>; + }; + + partition@a0000 { + label = "cfg"; + reg = <0xa0000 0x100000>; + read-only; + }; + + partition@1a0000 { + compatible = "denx,uimage"; + label = "firmware"; + reg = <0x1a0000 0xf30000>; + }; + + partition@10d0000 { + label = "kernel1"; + reg = <0x10d0000 0xf30000>; + read-only; + }; + }; + }; +}; + +&pcie { + status = "okay"; +}; + +&pcie0 { + wifi@0,0 { + reg = <0x0 0 0 0 0>; + mediatek,mtd-eeprom = <&factory 0x0000>; + }; +}; + +&pcie1 { + wifi@0,0 { + reg = <0x0 0 0 0 0>; + mediatek,mtd-eeprom = <&factory 0x8000>; + }; +}; + +ðernet { + mtd-mac-address = <&eeprom 0x0>; +}; + +&state_default { + gpio { + ralink,group = "i2c", "uart2"; + ralink,function = "gpio"; + }; +}; diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk index 98d83f944ffd..f24830bfb79b 100644 --- a/target/linux/ramips/image/mt7621.mk +++ b/target/linux/ramips/image/mt7621.mk @@ -792,6 +792,14 @@ define Device/ubiquiti_edgerouterx-sfp endef TARGET_DEVICES += ubiquiti_edgerouterx-sfp +define Device/ubnt_unifi-nanohd + DEVICE_VENDOR := Ubiquiti + DEVICE_MODEL := UniFi nanoHD + DEVICE_PACKAGES += kmod-mt7603 kmod-mt7615e wpad-basic + IMAGE_SIZE := 15552k +endef +TARGET_DEVICES += ubnt_unifi-nanohd + define Device/unielec_u7621-06-16m IMAGE_SIZE := 16064k DEVICE_VENDOR := UniElec diff --git a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network index c930f34592bf..a68ffe612628 100755 --- a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network +++ b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network @@ -129,7 +129,8 @@ ramips_setup_interfaces() ;; netgear,ex6150|\ tplink,re350-v1|\ - tplink,re650-v1) + tplink,re650-v1|\ + ubnt,unifi-nanohd) ucidef_add_switch "switch0" \ "0:lan" "6@eth0" ;; -- 2.30.2