--- /dev/null
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT\r
+\r
+#include "mt7621.dtsi"\r
+\r
+#include <dt-bindings/gpio/gpio.h>\r
+#include <dt-bindings/input/input.h>\r
+#include <dt-bindings/leds/common.h>\r
+\r
+/ {\r
+ compatible = "winstars,ws-wn536p3", "mediatek,mt7621-soc";\r
+ model = "Winstars WS-WN536P3";\r
+\r
+ aliases {\r
+ led-boot = &led_system_blue;\r
+ led-failsafe = &led_system_blue;\r
+ led-running = &led_system_blue;\r
+ led-upgrade = &led_system_blue;\r
+ label-mac-device = &gmac0;\r
+ };\r
+\r
+ chosen {\r
+ bootargs = "console=ttyS0,115200";\r
+ };\r
+\r
+ keys {\r
+ compatible = "gpio-keys";\r
+\r
+ reset {\r
+ label = "reset";\r
+ gpios = <&gpio 18 GPIO_ACTIVE_LOW>;\r
+ linux,code = <KEY_RESTART>;\r
+ };\r
+\r
+ wps {\r
+ label = "wps";\r
+ gpios = <&gpio 13 GPIO_ACTIVE_LOW>;\r
+ linux,code = <KEY_WPS_BUTTON>;\r
+ };\r
+\r
+ turbo {\r
+ label = "turbo";\r
+ gpios = <&gpio 15 GPIO_ACTIVE_LOW>;\r
+ linux,code = <BTN_0>;\r
+ };\r
+ };\r
+\r
+ leds {\r
+ compatible = "gpio-leds";\r
+\r
+ led_system_blue: led-0 {\r
+ color = <LED_COLOR_ID_BLUE>;\r
+ function = LED_FUNCTION_STATUS;\r
+ gpios = <&gpio 4 GPIO_ACTIVE_LOW>;\r
+ };\r
+\r
+ led-1 {\r
+ color = <LED_COLOR_ID_BLUE>;\r
+ function = LED_FUNCTION_WLAN;\r
+ linux,default-trigger = "phy0tpt";\r
+ gpios = <&gpio 3 GPIO_ACTIVE_LOW>;\r
+ };\r
+ };\r
+};\r
+\r
+&spi0 {\r
+ status = "okay";\r
+\r
+ flash@0 {\r
+ compatible = "jedec,spi-nor";\r
+ reg = <0>;\r
+ spi-max-frequency = <40000000>;\r
+\r
+ partitions {\r
+ compatible = "fixed-partitions";\r
+ #address-cells = <1>;\r
+ #size-cells = <1>;\r
+\r
+ partition@0 {\r
+ label = "u-boot";\r
+ reg = <0x0 0x30000>;\r
+ read-only;\r
+ };\r
+\r
+ partition@30000 {\r
+ label = "config";\r
+ reg = <0x30000 0x10000>;\r
+ read-only;\r
+ };\r
+\r
+ partition@40000 {\r
+ label = "factory";\r
+ reg = <0x40000 0x10000>;\r
+ read-only;\r
+\r
+ nvmem-layout {\r
+ compatible = "fixed-layout";\r
+ #address-cells = <1>;\r
+ #size-cells = <1>;\r
+\r
+ eeprom_factory_0: eeprom@0 {\r
+ reg = <0x0 0x400>;\r
+ };\r
+\r
+ eeprom_factory_8000: eeprom@8000 {\r
+ reg = <0x8000 0x4da8>;\r
+ };\r
+\r
+ macaddr_factory_e000: macaddr@e000 {\r
+ reg = <0xe000 0x6>;\r
+ };\r
+\r
+ macaddr_factory_e006: macaddr@e006 {\r
+ reg = <0xe006 0x6>;\r
+ };\r
+ };\r
+ };\r
+\r
+ partition@50000 {\r
+ compatible = "denx,uimage";\r
+ label = "firmware";\r
+ reg = <0x50000 0xfb0000>;\r
+ };\r
+ };\r
+ };\r
+};\r
+\r
+&pcie {\r
+ status = "okay";\r
+};\r
+\r
+&pcie0 {\r
+ wifi@0,0 {\r
+ compatible = "mediatek,mt76";\r
+ reg = <0x0000 0 0 0 0>;\r
+ ieee80211-freq-limit = <2400000 2500000>;\r
+ nvmem-cells = <&eeprom_factory_0>;\r
+ nvmem-cell-names = "eeprom";\r
+ };\r
+};\r
+\r
+&pcie1 {\r
+ wifi@0,0 {\r
+ compatible = "mediatek,mt76";\r
+ reg = <0x0000 0 0 0 0>;\r
+ ieee80211-freq-limit = <5000000 6000000>;\r
+ nvmem-cells = <&eeprom_factory_8000>;\r
+ nvmem-cell-names = "eeprom";\r
+ };\r
+};\r
+\r
+&gmac0 {\r
+ nvmem-cells = <&macaddr_factory_e000>;\r
+ nvmem-cell-names = "mac-address";\r
+};\r
+\r
+&gmac1 {\r
+ status = "okay";\r
+ label = "wan";\r
+ phy-handle = <ðphy4>;\r
+\r
+ nvmem-cells = <&macaddr_factory_e006>;\r
+ nvmem-cell-names = "mac-address";\r
+};\r
+\r
+ðphy4 {\r
+ /delete-property/ interrupts;\r
+};\r
+\r
+&switch0 {\r
+ ports {\r
+ port@0 {\r
+ status = "okay";\r
+ label = "lan4";\r
+ };\r
+\r
+ port@1 {\r
+ status = "okay";\r
+ label = "lan3";\r
+ };\r
+\r
+ port@2 {\r
+ status = "okay";\r
+ label = "lan2";\r
+ };\r
+\r
+ port@3 {\r
+ status = "okay";\r
+ label = "lan1";\r
+ };\r
+ };\r
+};\r
+\r
+&state_default {\r
+ gpio {\r
+ groups = "i2c", "jtag", "wdt";\r
+ function = "gpio";\r
+ };\r
+};\r