openwrt/target/linux/ramips/dts/mt7621_ubnt_usw-flex.dts
Anders Melchiorsen a5eb5ee1a6 ramips: restore full switch performance for USW-Flex
Since commit f1c9afd80138 ("ramips: mt7621-dts: mux phy0/4 to gmac1") the
USW-Flex lan1 port has been attached directly to the CPU. This improves
routing performance but hinders switching.

This is a generally accepted trade-off in that commit but for USW-Flex it
is a questionable choice. This switch is designed to deliver PoE to remote
places and using it as a router is unlikely. Meanwhile, the lan1 port is
also PoE-in and will often be the uplink, carrying most of the traffic.

Reverting f1c9afd80138 for USW-Flex restores full 1 Gbps switching
performance on all ports.

Signed-off-by: Anders Melchiorsen <amelchio@nogoto.net>
Link: https://github.com/openwrt/openwrt/pull/17703
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 62872f8bfd5c8bc80bb014417c6ed8057bbeb773)
2025-01-27 12:56:29 +01:00

173 lines
2.7 KiB
Plaintext

#include "mt7621.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/leds/common.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 {
function = LED_FUNCTION_STATUS;
color = <LED_COLOR_ID_BLUE>;
gpios = <&gpio 13 GPIO_ACTIVE_HIGH>;
};
led_white: status_white {
function = LED_FUNCTION_STATUS;
color = <LED_COLOR_ID_WHITE>;
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 = "lan5";
};
port@1 {
status = "okay";
label = "lan4";
};
port@2 {
status = "okay";
label = "lan3";
};
port@3 {
status = "okay";
label = "lan2";
};
port@4 {
status = "okay";
label = "lan1";
};
};
};
&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;
};
partition@80000 {
label = "eeprom";
reg = <0x80000 0x10000>;
read-only;
nvmem-layout {
compatible = "fixed-layout";
#address-cells = <1>;
#size-cells = <1>;
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 {
/* Combine kernel0 / kernel1 */
compatible = "denx,fit";
label = "firmware";
reg = <0x1a0000 0xe60000>;
};
};
};
};
&xhci {
status = "disabled";
};