diff options
author | David Bauer <mail@david-bauer.net> | 2021-08-20 13:23:42 +0200 |
---|---|---|
committer | David Bauer <mail@david-bauer.net> | 2021-09-25 21:04:53 +0200 |
commit | a9839697896c4fdf8c44a06bbce466ce52493069 (patch) | |
tree | ae64239283c80a52abd2c847ad7ef26bdbe0dfc8 /target/linux/ramips/dts | |
parent | ac03e246351fbfa98e98f0319cce3a8663f836d3 (diff) | |
download | upstream-a9839697896c4fdf8c44a06bbce466ce52493069.tar.gz upstream-a9839697896c4fdf8c44a06bbce466ce52493069.tar.bz2 upstream-a9839697896c4fdf8c44a06bbce466ce52493069.zip |
ramips: add support for Ubiquiti USW-Flex
Hardware
--------
MediaTek MT7621AT
16M SPI-NOR Macronix MX25L12835FMI
Microchip PD69104B1 4-Channel PoE-PSE controller
TI TPS2373 PoE-PD controller
PoE-Controller
--------------
By default, the PoE outputs do not work with OpenWrt. To make them output
power, install the "poemgr" package from the packages feed.
This package can control the PD69104B1 PSE controller.
Installation
------------
1. Connect to the booted device at 192.168.1.20 using username/password
"ubnt" via SSH.
2. Add the uboot-envtools configuration file /etc/fw_env.config with the
following content
$ echo "/dev/mtd1 0x0 0x1000 0x10000 1" > /etc/fw_env.config
3. Update the bootloader environment.
$ fw_setenv boot_openwrt "fdt addr \$(fdtcontroladdr);
fdt rm /signature; bootubnt"
$ fw_setenv bootcmd "run boot_openwrt"
4. Transfer the OpenWrt sysupgrade image to the device using SCP.
5. Check the mtd partition number for bs / kernel0 / kernel1
$ cat /proc/mtd
6. Set the bootselect flag to boot from kernel0
$ dd if=/dev/zero bs=1 count=1 of=/dev/mtdblock4
7. Write the OpenWrt sysupgrade image to both kernel0 as well as kernel1
$ dd if=openwrt.bin of=/dev/mtdblock6
$ dd if=openwrt.bin of=/dev/mtdblock7
8. Reboot the device. It should boot into OpenWrt.
Restore to UniFi
----------------
To restore the vendor firmware, follow the Ubiquiti UniFi TFTP
recovery guide for access points. The process is the same for
the Flex switch.
Signed-off-by: David Bauer <mail@david-bauer.net>
Diffstat (limited to 'target/linux/ramips/dts')
-rw-r--r-- | target/linux/ramips/dts/mt7621_ubnt_usw-flex.dts | 172 |
1 files changed, 172 insertions, 0 deletions
diff --git a/target/linux/ramips/dts/mt7621_ubnt_usw-flex.dts b/target/linux/ramips/dts/mt7621_ubnt_usw-flex.dts new file mode 100644 index 0000000000..de5491bf1b --- /dev/null +++ b/target/linux/ramips/dts/mt7621_ubnt_usw-flex.dts @@ -0,0 +1,172 @@ +#include "mt7621.dtsi" + +#include <dt-bindings/gpio/gpio.h> +#include <dt-bindings/input/input.h> + +/ { + model = "Ubiquiti UniFi Switch Flex"; + compatible = "ubnt,usw-flex", "mediatek,mt7621-soc"; + + aliases { + led-boot = &led_white; + led-failsafe = &led_white; + led-running = &led_blue; + led-upgrade = &led_blue; + label-mac-device = &gmac0; + }; + + chosen { + bootargs-override = "console=ttyS0,115200"; + }; + + keys { + compatible = "gpio-keys"; + + reset { + label = "reset"; + gpios = <&gpio 12 GPIO_ACTIVE_LOW>; + linux,code = <KEY_RESTART>; + }; + }; + + leds { + compatible = "gpio-leds"; + + led_blue: status_blue { + label = "blue:status"; + gpios = <&gpio 13 GPIO_ACTIVE_HIGH>; + }; + + led_white: status_white { + label = "white:status"; + gpios = <&gpio 16 GPIO_ACTIVE_HIGH>; + }; + }; + + i2c-gpio { + compatible = "i2c-gpio"; + + sda-gpios = <&gpio 3 GPIO_ACTIVE_HIGH>; + scl-gpios = <&gpio 4 GPIO_ACTIVE_HIGH>; + + i2c-gpio,delay-us = <50>; + + /* Microsemi PD69104B1 PSE controller */ + }; +}; + +&gmac0 { + nvmem-cells = <&macaddr_eeprom>; + nvmem-cell-names = "mac-address"; + label = "dsa"; +}; + +&switch0 { + ports { + port@0 { + status = "okay"; + label = "lan1"; + }; + + port@1 { + status = "okay"; + label = "lan2"; + }; + + port@2 { + status = "okay"; + label = "lan3"; + }; + + port@3 { + status = "okay"; + label = "lan4"; + }; + + port@4 { + status = "okay"; + label = "lan5"; + }; + }; +}; + +&state_default { + gpio { + groups = "i2c", "uart2", "uart3", "jtag"; + function = "gpio"; + }; +}; + +&spi0 { + status = "okay"; + + flash@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <30000000>; + + 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>; + }; + + partition@70000 { + label = "factory"; + reg = <0x70000 0x10000>; + read-only; + }; + + part_eeprom: partition@80000 { + compatible = "nvmem-cells"; + + #address-cells = <1>; + #size-cells = <1>; + + label = "eeprom"; + reg = <0x80000 0x10000>; + read-only; + + macaddr_eeprom: macaddr@0 { + reg = <0x0 0x6>; + }; + }; + + partition@90000 { + label = "bs"; + reg = <0x90000 0x10000>; + }; + + partition@a0000 { + label = "cfg"; + reg = <0xa0000 0x100000>; + read-only; + }; + + partition@1a0000 { + compatible = "denx,fit"; + label = "firmware"; + reg = <0x1a0000 0x730000>; + }; + + partition@8d0000 { + label = "kernel1"; + reg = <0x8d0000 0x730000>; + }; + }; + }; +}; + +&xhci { + status = "disabled"; +}; |