// SPDX-License-Identifier: GPL-2.0-or-later #include "mt7620a.dtsi" #include #include #include / { compatible = "wavlink,wl-wn579x3", "ralink,mt7620a-soc"; model = "Wavlink WL-WN579X3"; aliases { led-boot = &led_wps; led-failsafe = &led_wps; led-running = &led_wps; led-upgrade = &led_wps; }; keys { compatible = "gpio-keys"; reset { label = "reset"; gpios = <&gpio0 1 GPIO_ACTIVE_LOW>; linux,code = ; }; wps { label = "wps"; gpios = <&gpio0 2 GPIO_ACTIVE_LOW>; linux,code = ; }; switch_aps { label = "mode_aps"; gpios = <&gpio0 11 GPIO_ACTIVE_LOW>; linux,code = ; linux,input-type = ; }; switch_repeater { label = "mode_repeater"; gpios = <&gpio0 9 GPIO_ACTIVE_LOW>; linux,code = ; linux,input-type = ; }; }; leds { compatible = "gpio-leds"; led_wps: wps { function = LED_FUNCTION_WPS; color = ; gpios = <&gpio2 2 GPIO_ACTIVE_LOW>; }; lan { function = LED_FUNCTION_LAN; color = ; gpios = <&gpio2 4 GPIO_ACTIVE_LOW>; }; wan { function = LED_FUNCTION_WAN; color = ; gpios = <&gpio2 1 GPIO_ACTIVE_LOW>; }; wifi { label = "blue:wifi"; gpios = <&gpio3 0 GPIO_ACTIVE_LOW>; }; /* These three form the signal wifi strength segments */ wifi_high { label = "blue:wifi_high"; gpios = <&gpio0 13 GPIO_ACTIVE_LOW>; }; wifi_medium { label = "blue:wifi_medium"; gpios = <&gpio0 12 GPIO_ACTIVE_LOW>; }; wifi_low { label = "blue:wifi_low"; gpios = <&gpio2 3 GPIO_ACTIVE_LOW>; }; }; }; &gpio2 { status = "okay"; }; &gpio3 { status = "okay"; }; &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 = "config"; reg = <0x30000 0x10000>; read-only; }; partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; nvmem-layout { compatible = "fixed-layout"; #address-cells = <1>; #size-cells = <1>; eeprom_factory_0: eeprom@0 { reg = <0x0 0x200>; }; eeprom_factory_8000: eeprom@8000 { reg = <0x8000 0x200>; }; macaddr_factory_28: macaddr@28 { reg = <0x28 0x6>; }; }; }; partition@50000 { compatible = "denx,uimage"; label = "firmware"; reg = <0x50000 0x790000>; }; partition@7e0000 { label = "board_data"; reg = <0x7e0000 0x10000>; read-only; }; partition@7f0000 { label = "nvram"; reg = <0x7f0000 0x10000>; read-only; }; }; }; }; &pcie { status = "okay"; }; &pcie0 { wifi@0,0 { reg = <0x0000 0 0 0 0>; nvmem-cells = <&eeprom_factory_8000>; nvmem-cell-names = "eeprom"; ieee80211-freq-limit = <5000000 6000000>; }; }; ðernet { pinctrl-names = "default"; pinctrl-0 = <&rgmii1_pins &rgmii2_pins &mdio_pins>; nvmem-cells = <&macaddr_factory_28>; nvmem-cell-names = "mac-address"; mediatek,portmap = "llllw"; port@4 { status = "okay"; phy-handle = <&phy4>; phy-mode = "rgmii"; }; port@5 { status = "okay"; phy-handle = <&phy5>; phy-mode = "rgmii"; }; mdio-bus { status = "okay"; phy4: ethernet-phy@4 { reg = <4>; phy-mode = "rgmii"; }; phy5: ethernet-phy@5 { reg = <5>; phy-mode = "rgmii"; }; }; }; &gsw { mediatek,port4-gmac; mediatek,ephy-base = /bits/ 8 <8>; }; &wmac { nvmem-cells = <&eeprom_factory_0>; nvmem-cell-names = "eeprom"; }; &state_default { gpio { groups = "ephy", "i2c", "wled", "uartf"; function = "gpio"; }; };