Currently the WAN MAC address is read from a different offset contrary to all other addresses. There's conflicting information whether offset 0x28 on the factory partition contains the valid WAN mac for all devices while 0x4 seems to be uniform. Read the WAN mac from this location and calculate it. Signed-off-by: David Bauer <mail@david-bauer.net>
209 lines
3.4 KiB
Text
209 lines
3.4 KiB
Text
// 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 = "tenbay,t-mb5eu-v01", "mediatek,mt7621-soc";
|
|
model = "Tenbay T-MB5EU-V01";
|
|
|
|
aliases {
|
|
led-boot = &led_green;
|
|
led-failsafe = &led_red;
|
|
led-running = &led_blue;
|
|
led-upgrade = &led_red;
|
|
label-mac-device = &wan_port;
|
|
};
|
|
|
|
chosen {
|
|
bootargs = "console=ttyS0,115200";
|
|
bootargs-override = "console=ttyS0,115200";
|
|
};
|
|
|
|
leds {
|
|
compatible = "gpio-leds";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&led_pins>;
|
|
|
|
led_blue: blue {
|
|
label = "blue";
|
|
gpios = <&aw9523 0 GPIO_ACTIVE_LOW>;
|
|
};
|
|
|
|
led_red: red {
|
|
label = "red";
|
|
gpios = <&aw9523 1 GPIO_ACTIVE_LOW>;
|
|
};
|
|
|
|
led_green: green {
|
|
label = "green";
|
|
gpios = <&aw9523 11 GPIO_ACTIVE_LOW>;
|
|
};
|
|
};
|
|
|
|
keys {
|
|
compatible = "gpio-keys-polled";
|
|
poll-interval = <50>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&button_pins>;
|
|
|
|
reset {
|
|
label = "reset";
|
|
gpios = <&aw9523 9 GPIO_ACTIVE_LOW>;
|
|
linux,code = <KEY_RESTART>;
|
|
};
|
|
|
|
wps {
|
|
label = "wps";
|
|
gpios = <&aw9523 8 GPIO_ACTIVE_LOW>;
|
|
linux,code = <KEY_WPS_BUTTON>;
|
|
};
|
|
};
|
|
|
|
i2c-gpio {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
compatible = "i2c-gpio";
|
|
gpios = <&gpio 7 GPIO_ACTIVE_HIGH &gpio 8 GPIO_ACTIVE_HIGH>;
|
|
i2c-gpio,delay-us = <10>;
|
|
|
|
aw9523: gpio-expander@5b {
|
|
compatible = "awinic,aw9523-pinctrl";
|
|
reg = <0x5b>;
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
gpio-ranges = <&aw9523 0 0 16>;
|
|
|
|
reset-gpios = <&gpio 6 GPIO_ACTIVE_HIGH>;
|
|
|
|
button_pins: button-pins {
|
|
pins = "gpio8", "gpio9";
|
|
function = "gpio";
|
|
bias-pull-up;
|
|
drive-open-drain;
|
|
input-enable;
|
|
};
|
|
|
|
led_pins: led-pins {
|
|
pins = "gpio0", "gpio1", "gpio11";
|
|
function = "gpio";
|
|
input-disable;
|
|
output-low;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&pcie {
|
|
status = "okay";
|
|
};
|
|
|
|
&pcie1 {
|
|
wifi@0,0 {
|
|
reg = <0x0 0 0 0 0>;
|
|
mediatek,mtd-eeprom = <&factory 0x0>;
|
|
};
|
|
};
|
|
|
|
&gmac0 {
|
|
nvmem-cells = <&macaddr_factory_4>;
|
|
nvmem-cell-names = "mac-address";
|
|
};
|
|
|
|
&switch0 {
|
|
ports {
|
|
wan_port: port@0 {
|
|
status = "okay";
|
|
label = "wan";
|
|
nvmem-cells = <&macaddr_factory_4>;
|
|
nvmem-cell-names = "mac-address";
|
|
mac-address-increment = <(-2)>;
|
|
};
|
|
|
|
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 = "uart3";
|
|
function = "gpio";
|
|
};
|
|
};
|
|
|
|
&spi0 {
|
|
status = "okay";
|
|
|
|
flash@0 {
|
|
compatible = "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 0x30000>;
|
|
read-only;
|
|
};
|
|
|
|
partition@30000 {
|
|
label = "u-boot-env";
|
|
reg = <0x30000 0x10000>;
|
|
read-only;
|
|
};
|
|
|
|
partition@40000 {
|
|
label = "product";
|
|
reg = <0x40000 0x10000>;
|
|
read-only;
|
|
};
|
|
|
|
factory: partition@50000 {
|
|
label = "factory";
|
|
reg = <0x50000 0x40000>;
|
|
read-only;
|
|
};
|
|
|
|
partition@90000 {
|
|
compatible = "denx,fit";
|
|
label = "firmware";
|
|
reg = <0x90000 0xf70000>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&factory {
|
|
compatible = "nvmem-cells";
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
|
|
macaddr_factory_4: macaddr@4 {
|
|
reg = <0x4 0x6>;
|
|
};
|
|
};
|