openwrt/target/linux/ramips/dts/mt7621_tplink_ec330-g5u-v1.dts
Mikhail Zhilkin 15e21d373b ramips: TP-Link EC330-G5u v1: switch to mac-address-ascii
The TP-Link EC330-G5u v1 router has MAC address that stored in factory mtd
in ascii format. This commit makes the router use of "mac-address-ascii"
in dts.

After the change:
1. All MAC addresses are explicitly assigned in dts (the workarounds in
   network scripts are no longer needed);
2. gmac0 (eth0) MAC address is no longer random.

Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
2023-04-29 22:34:51 +02:00

329 lines
5.8 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>
#include <dt-bindings/leds/common.h>
/ {
compatible = "tplink,ec330-g5u-v1", "mediatek,mt7621-soc";
model = "TP-Link EC330-G5u v1";
aliases {
label-mac-device = &gmac0;
led-boot = &led_power;
led-failsafe = &led_power;
led-running = &led_power;
led-upgrade = &led_power;
};
chosen {
bootargs = "console=ttyS0,115200";
};
leds {
compatible = "gpio-leds";
led-0 {
color = <LED_COLOR_ID_BLUE>;
function = LED_FUNCTION_USB;
function-enumerator = <0>;
gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
trigger-sources = <&xhci_ehci_port1>;
linux,default-trigger = "usbport";
};
led-1 {
label = "blue:wps";
color = <LED_COLOR_ID_BLUE>;
function = LED_FUNCTION_WPS;
function-enumerator = <0>;
gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
};
led-2 {
label = "blue:ethernet";
color = <LED_COLOR_ID_BLUE>;
function = LED_FUNCTION_LAN;
function-enumerator = <0>;
gpios = <&gpio 9 GPIO_ACTIVE_LOW>;
};
led-3 {
label = "amber:internet";
color = <LED_COLOR_ID_AMBER>;
function = LED_FUNCTION_WAN;
function-enumerator = <0>;
gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
};
led-4 {
label = "blue:internet";
color = <LED_COLOR_ID_BLUE>;
function = LED_FUNCTION_WAN;
function-enumerator = <1>;
gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
};
led-5 {
label = "blue:wireless_5g";
color = <LED_COLOR_ID_BLUE>;
function = LED_FUNCTION_WLAN;
function-enumerator = <0>;
gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy1radio";
};
led-6 {
label = "blue:wireless_2g";
color = <LED_COLOR_ID_BLUE>;
function = LED_FUNCTION_WLAN;
function-enumerator = <1>;
gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy0radio";
};
led_power: led-7 {
label = "blue:power";
color = <LED_COLOR_ID_BLUE>;
function = LED_FUNCTION_STATUS;
function-enumerator = <0>;
gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
};
};
keys {
compatible = "gpio-keys";
led {
label = "led";
gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
linux,code = <KEY_LIGHTS_TOGGLE>;
};
wifi {
label = "wifi on/off";
gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
linux,code = <KEY_RFKILL>;
};
reset {
label = "reset";
gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
linux,code = <KEY_RESTART>;
};
wps {
label = "wps";
gpios = <&gpio 10 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
linux,code = <KEY_WPS_BUTTON>;
};
};
gpio-export {
compatible = "gpio-export";
led-light {
gpio-export,name = "led-light";
gpio-export,output = <0>;
gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
};
};
ubi-concat {
compatible = "mtd-concat";
devices = <&ubiconcat0 &ubiconcat1>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "ubi";
reg = <0x0 0x3c00000>;
};
};
};
};
&nand {
status = "okay";
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "u-boot";
reg = <0x0 0x400000>;
read-only;
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "u-boot-first";
reg = <0x0 0x20000>;
read-only;
};
partition@20000 {
label = "u-boot-main";
reg = <0x20000 0x40000>;
read-only;
};
partition@60000 {
label = "u-boot-main-reserve";
reg = <0x60000 0x40000>;
read-only;
};
};
partition@400000 {
label = "os0";
reg = <0x400000 0x3000000>;
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "kernel";
reg = <0x0 0x400000>;
};
ubiconcat0: partition@400000 {
label = "ubi-os0";
reg = <0x400000 0x2c00000>;
};
};
partition@3400000 {
label = "os1";
reg = <0x3400000 0x3000000>;
read-only;
};
ubiconcat1: partition@6400000 {
label = "userfs";
reg = <0x6400000 0x1000000>;
};
partition@7400000 {
label = "u-boot-env";
reg = <0x7400000 0x400000>;
};
factory: partition@7800000 {
label = "factory";
reg = <0x7800000 0x400000>;
read-only;
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_factory_165: macaddr@165 {
reg = <0x165 0x11>;
};
};
partition@0_wholeflash {
label = "wholeflash";
reg = <0x0 0x7f80000>;
read-only;
};
};
};
&pcie {
status = "okay";
};
&pcie0 {
wifi@0,0 {
compatible = "mediatek,mt76";
reg = <0x0000 0 0 0 0>;
mediatek,mtd-eeprom = <&factory 0x8000>;
ieee80211-freq-limit = <2400000 2500000>;
nvmem-cells = <&macaddr_factory_165>;
nvmem-cell-names = "mac-address-ascii";
};
};
&pcie1 {
wifi@0,0 {
compatible = "mediatek,mt76";
reg = <0x0000 0 0 0 0>;
mediatek,mtd-eeprom = <&factory 0x14000>;
ieee80211-freq-limit = <5000000 6000000>;
nvmem-cells = <&macaddr_factory_165>;
nvmem-cell-names = "mac-address-ascii";
mac-address-increment = <(2)>;
};
};
&gmac0 {
nvmem-cells = <&macaddr_factory_165>;
nvmem-cell-names = "mac-address-ascii";
};
&gmac1 {
status = "okay";
label = "wan";
phy-handle = <&ethphy0>;
nvmem-cells = <&macaddr_factory_165>;
nvmem-cell-names = "mac-address-ascii";
mac-address-increment = <(1)>;
};
&mdio {
ethphy0: ethernet-phy@0 {
reg = <0>;
};
};
&switch0 {
ports {
port@1 {
status = "okay";
label = "lan1";
};
port@2 {
status = "okay";
label = "lan2";
};
port@3 {
status = "okay";
label = "lan3";
};
port@4 {
status = "okay";
label = "lan4";
};
};
};
&state_default {
gpio {
groups = "i2c", "jtag", "uart2", "uart3", "wdt";
function = "gpio";
};
};