openwrt/target/linux/ramips/dts/mt7621_zyxel_wsm20.dts
Shiji Yang 0e6179e50e
ramips: mt7621: convert MT7915 EEPROM to NVMEM format
Some MT7915 calibration data consists of two parts. The first part
"eeprom" size is 0xe00. The second part "precal" size is 0x19c10.

Though some devices may not have precal data, it's better to assume
that precal data exists as no users/developers confirm it. On the
other hand, some devices definitely do not contain precal data
because the EEPROM partition size is smaller than the precal NVMEM
cell size.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
2024-01-17 01:14:46 +01:00

243 lines
3.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>
/ {
compatible = "zyxel,wsm20", "mediatek,mt7621-soc";
model = "ZyXEL WSM20";
aliases {
led-boot = &led_system_white;
led-failsafe = &led_system_red;
led-running = &led_system_white;
led-upgrade = &led_system_red;
label-mac-device = &gmac0;
};
chosen {
bootargs-override = "console=ttyS0,115200n1";
};
leds {
compatible = "gpio-leds";
led_system_white: led-0 {
gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
label = "white:system";
};
led_system_red: led-1 {
gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
label = "red:system";
};
led-2 {
gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
label = "green:led1";
};
led-3 {
gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
label = "white:led2";
};
led-4 {
gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
label = "green:led3";
};
led-5 {
gpios = <&gpio 17 GPIO_ACTIVE_HIGH>;
label = "red:led4";
};
led-6 {
gpios = <&gpio 5 GPIO_ACTIVE_HIGH>;
label = "white:led5";
};
};
keys {
compatible = "gpio-keys";
led {
label = "led";
gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
linux,code = <KEY_LIGHTS_TOGGLE>;
};
reset {
label = "reset";
gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
wps {
label = "wps";
gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
};
};
};
&nand {
status = "okay";
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
reg = <0x0 0x100000>;
label = "Bootloader";
read-only;
};
partition@100000 {
reg = <0x100000 0x100000>;
label = "Config";
};
factory: partition@200000 {
reg = <0x200000 0x1c0000>;
label = "Factory";
read-only;
nvmem-layout {
compatible = "fixed-layout";
#address-cells = <1>;
#size-cells = <1>;
eeprom_factory_0: eeprom@0 {
reg = <0x0 0xe00>;
};
precal_factory_e10: precal@e10 {
reg = <0xe10 0x19c10>;
};
macaddr_factory_1fdfa: macaddr@1fdfa {
reg = <0x1fdfa 0x6>;
};
macaddr_factory_1fdf4: macaddr@1fdf4 {
reg = <0x1fdf4 0x6>;
};
};
};
partition@3c0000 {
reg = <0x3c0000 0x2800000>;
label = "firmware";
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "kernel";
reg = <0x0 0x800000>;
};
partition@800000 {
label = "ubi";
reg = <0x800000 0x2000000>;
};
};
partition@2bc0000 {
reg = <0x2bc0000 0x2800000>;
label = "Kernel2";
};
partition@53c0000 {
reg = <0x53c0000 0x100000>;
label = "persist";
};
partition@54c0000 {
reg = <0x54c0000 0x400000>;
label = "rootfs_data";
read-only;
};
partition@58C0000 {
reg = <0x58c0000 0x25c0000>;
label = "app";
read-only;
};
partition@7e80000 {
reg = <0x7e80000 0x100000>;
label = "crt";
read-only;
};
};
};
&gmac0 {
nvmem-cells = <&macaddr_factory_1fdfa>;
nvmem-cell-names = "mac-address";
};
&gmac1 {
status = "okay";
label = "wan";
phy-handle = <&ethphy0>;
nvmem-cells = <&macaddr_factory_1fdf4>;
nvmem-cell-names = "mac-address";
};
&mdio {
ethphy0: ethernet-phy@0 {
reg = <0>;
};
};
&pcie {
status = "okay";
};
&pcie1 {
wifi@0,0 {
compatible = "mediatek,mt76";
reg = <0x0000 0 0 0 0>;
nvmem-cells = <&eeprom_factory_0>, <&precal_factory_e10>;
nvmem-cell-names = "eeprom", "precal";
mediatek,disable-radar-background;
};
};
&pcie2 {
status = "disabled";
};
&switch0 {
ports {
port@1 {
status = "okay";
label = "lan3";
};
port@2 {
status = "okay";
label = "lan2";
};
port@3 {
status = "okay";
label = "lan1";
};
};
};
&state_default {
gpio {
groups = "i2c", "uart3", "jtag", "wdt";
function = "gpio";
};
};