| 
					
				 | 
			
			
				@@ -0,0 +1,213 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// 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 = "tplink,archer-c6u-v1", "mediatek,mt7621-soc"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	model = "TP-Link Archer C6U v1"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	aliases { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		led-boot = &led_power; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		led-failsafe = &led_power; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		led-running = &led_power; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		led-upgrade = &led_power; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		label-mac-device = &gmac0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	chosen { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		bootargs = "console=ttyS0,115200"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	keys { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		compatible = "gpio-keys"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		reset { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			label = "reset"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			gpios = <&gpio 8 GPIO_ACTIVE_LOW>; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			linux,code = <KEY_RESTART>; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		wps { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			label = "wps"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			gpios = <&gpio 10 GPIO_ACTIVE_LOW>; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			linux,code = <KEY_WPS_BUTTON>; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	leds { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		compatible = "gpio-leds"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		led_power: power { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			label = "green:power"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			gpios = <&gpio 4 GPIO_ACTIVE_LOW>; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		usb { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			label = "green:usb"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			gpios = <&gpio 13 GPIO_ACTIVE_LOW>; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			trigger-sources = <&ehci_port2>; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			linux,default-trigger = "usbport"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		wan-orange { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			label = "orange:wan"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			gpios = <&gpio 14 GPIO_ACTIVE_LOW>; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		lan { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			label = "green:lan"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			gpios = <&gpio 15 GPIO_ACTIVE_LOW>; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		wifi5g { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			label = "green:wifi5g"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			gpios = <&gpio 16 GPIO_ACTIVE_LOW>; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			linux,default-trigger = "phy1tpt"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		wifi2g { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			label = "green:wifi2g"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			gpios = <&gpio 18 GPIO_ACTIVE_LOW>; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			linux,default-trigger = "phy0tpt"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		wan-green { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			label = "green:wan"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			gpios = <&gpio 45 GPIO_ACTIVE_LOW>; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	reg_usb_vbus: regulator { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		compatible = "regulator-fixed"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		regulator-name = "usb_vbus"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		regulator-min-microvolt = <5000000>; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		regulator-max-microvolt = <5000000>; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		gpio = <&gpio 3 GPIO_ACTIVE_HIGH>; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		enable-active-high; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+&spi0 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	status = "okay"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	flash@0 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		compatible = "jedec,spi-nor"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		reg = <0>; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		spi-max-frequency = <80000000>; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		partitions { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			compatible = "fixed-partitions"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			#address-cells = <1>; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			#size-cells = <1>; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			partition@0 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				label = "u-boot"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				reg = <0x000000 0x040000>; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				read-only; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			partition@40000 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				compatible = "denx,uimage"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				label = "firmware"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				reg = <0x040000 0xf60000>; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			config: partition@fa0000 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				label = "config"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				reg = <0xfa0000 0x010000>; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				read-only; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			partition@fb0000 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				label = "tplink"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				reg = <0xfb0000 0x040000>; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				read-only; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			radio: partition@ff0000 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				label = "radio"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				reg = <0xff0000 0x010000>; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				read-only; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+&pcie { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	status = "okay"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+&pcie0 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	mt76@0,0 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		compatible = "mediatek,mt76"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		reg = <0x0000 0 0 0 0>; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		mediatek,mtd-eeprom = <&radio 0x0>; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		mtd-mac-address = <&config 0x8>; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		ieee80211-freq-limit = <2400000 2500000>; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+&pcie1 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	mt76@0,0 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		compatible = "mediatek,mt76"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		reg = <0x0000 0 0 0 0>; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		mediatek,mtd-eeprom = <&radio 0x8000>; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		mtd-mac-address = <&config 0x8>; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		mtd-mac-address-increment = <(-1)>; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		ieee80211-freq-limit = <5000000 6000000>; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ðernet { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	pinctrl-names = "default"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	pinctrl-0 = <&rgmii1_pins &mdio_pins>; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+&gmac0 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	mtd-mac-address = <&config 0x8>; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+&switch0 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	ports { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		port@0 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			status = "okay"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			label = "wan"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			mtd-mac-address = <&config 0x8>; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			mtd-mac-address-increment = <1>; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		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", "uart2", "uart3", "jtag", "wdt", "sdhci"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		function = "gpio"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+&xhci { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	vbus-supply = <®_usb_vbus>; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 |