openwrt/target/linux/ramips/dts/mt7621_netgear_wax202.dts
Arınç ÜNAL f1c9afd801 ramips: mt7621-dts: mux phy0/4 to gmac1
Mux the MT7530 switch's phy0/4 to the SoC's gmac1 on devices where RGMII2
pins are available. This achieves 2 Gbps total bandwidth to the CPU using
the second RGMII.

The ports called "wan" are muxed where possible. On a minority of devices,
this is not possible. Those cases:

mt7621_ampedwireless_ally-r1900k.dts: lan3
mt7621_ubnt_edgerouter-x.dts: eth0
mt7621_gnubee_gb-pc1.dts: ethblue
mt7621_linksys_re6500.dts: lan1
mt7621_netgear_wac104.dts: lan4
mt7621_tplink_eap235-wall-v1.dts: lan0
mt7621_tplink_eap615-wall-v1.dts: lan0
mt7621_ubnt_usw-flex.dts: lan1

The "wan" port is just what the vendor designated on the board/plastic
chasis of the device. On a technical level, there is no difference between
a lan and wan port on MT7621AT, MT7621DAT and MT7621ST SoCs. Prefer
connecting to WAN via the port described above for these devices to benefit
the feature brought with this patch.

mt7621_d-team_newifi-d2.dts cannot benefit this feature, although it looks
like it should, because the rgmii2 pins are wired to unused components.

Tested on a range of devices documented on the GitHub PR.

Link: https://github.com/openwrt/openwrt/pull/10238
Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
2022-08-20 22:56:12 +02:00

285 lines
4.5 KiB
Plaintext

// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "mt7621.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "netgear,wax202", "mediatek,mt7621-soc";
model = "Netgear WAX202";
aliases {
led-boot = &led_power_green;
led-failsafe = &led_power_orange;
led-running = &led_power_green;
led-upgrade = &led_power_orange;
};
chosen {
bootargs = "console=ttyS0,115200";
};
keys {
compatible = "gpio-keys";
reset {
label = "reset";
gpios = <&gpio 10 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
};
leds {
compatible = "gpio-leds";
led_power_green: power_green {
label = "green:power";
gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
};
led_power_orange: power_orange {
label = "orange:power";
gpios = <&gpio 17 GPIO_ACTIVE_HIGH>;
};
led_net_green: net_green {
label = "green:net";
gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
};
led_net_blue: net_blue {
label = "blue:net";
gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
};
led_lan1_green: lan1_green {
label = "green:lan1";
gpios = <&switch0 3 GPIO_ACTIVE_LOW>;
};
led_lan1_orange: lan1_orange {
label = "orange:lan1";
gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
};
led_lan2_green: lan2_green {
label = "green:lan2";
gpios = <&switch0 6 GPIO_ACTIVE_LOW>;
};
led_lan2_orange: lan2_orange {
label = "orange:lan2";
gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
};
led_lan3_green: lan3_green {
label = "green:lan3";
gpios = <&switch0 12 GPIO_ACTIVE_LOW>;
};
led_lan3_orange: lan3_orange {
label = "orange:lan3";
gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
};
led_wifi2g_green: wifi2g_green {
label = "green:wifi2g";
gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy0radio";
};
led_wifi2g_blue: wifi2g_blue {
label = "blue:wifi2g";
gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
};
led_wifi5g_green: wifi5g_green {
label = "green:wifi5g";
gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy1radio";
};
led_wifi5g_blue: wifi5g_blue {
label = "blue:wifi5g";
gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
};
};
};
&nand {
status = "okay";
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "Bootloader";
reg = <0x0 0x80000>;
read-only;
};
partition@80000 {
label = "Config";
reg = <0x80000 0x80000>;
read-only;
};
factory: partition@100000 {
label = "Factory";
reg = <0x100000 0x80000>;
read-only;
};
partition@180000 {
label = "firmware";
reg = <0x180000 0x2600000>;
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "kernel";
reg = <0x0 0x400000>;
};
partition@400000 {
label = "ubi";
reg = <0x400000 0x2200000>;
};
};
partition@2780000 {
label = "firmware_backup";
reg = <0x2780000 0x2600000>;
read-only;
};
partition@4d80000 {
label = "CFG";
reg = <0x4d80000 0x800000>;
read-only;
};
partition@5580000 {
label = "RAE";
reg = <0x5580000 0x400000>;
read-only;
};
partition@5980000 {
label = "POT";
reg = <0x5980000 0x100000>;
read-only;
};
partition@5a80000 {
label = "Language";
reg = <0x5a80000 0x400000>;
read-only;
};
partition@5e80000 {
label = "Traffic";
reg = <0x5e80000 0x200000>;
read-only;
};
partition@6080000 {
label = "Cert";
reg = <0x6080000 0x100000>;
read-only;
};
partition@6180000 {
label = "NTGRcryptK";
reg = <0x6180000 0x100000>;
read-only;
};
partition@6280000 {
label = "NTGRcryptD";
reg = <0x6280000 0x500000>;
read-only;
};
partition@6780000 {
label = "LOG";
reg = <0x6780000 0x100000>;
read-only;
};
partition@6880000 {
label = "User_data";
reg = <0x6880000 0x640000>;
read-only;
};
};
};
&pcie {
status = "okay";
};
&pcie1 {
wifi@0,0 {
compatible = "mediatek,mt76";
reg = <0x0000 0 0 0 0>;
mediatek,mtd-eeprom = <&factory 0x0>;
};
};
&pcie2 {
status = "disabled";
};
&state_default {
gpio {
groups = "uart3", "uart2", "jtag", "wdt";
function = "gpio";
};
};
&gmac1 {
status = "okay";
label = "wan";
phy-handle = <&ethphy0>;
};
&mdio {
ethphy0: ethernet-phy@0 {
reg = <0>;
};
};
&switch0 {
gpio-controller;
#gpio-cells = <2>;
ports {
port@1 {
status = "okay";
label = "lan1";
};
port@2 {
status = "okay";
label = "lan2";
};
/* port@3 is not used */
port@4 {
status = "okay";
label = "lan3";
};
};
};
&xhci {
status = "disabled";
};