ramips: Add support for Cudy WR1300 v3
[openwrt/openwrt.git] / target / linux / ramips / dts / mt7621_tplink_archer-x6-v3.dtsi
1 // SPDX-License-Identifier: GPL-2.0-only
2
3 #include "mt7621.dtsi"
4
5 #include <dt-bindings/gpio/gpio.h>
6 #include <dt-bindings/input/input.h>
7 #include <dt-bindings/leds/common.h>
8
9 / {
10 aliases {
11 label-mac-device = &gmac0;
12 led-boot = &led_power;
13 led-failsafe = &led_power;
14 led-running = &led_power;
15 led-upgrade = &led_power;
16 };
17
18 chosen {
19 bootargs = "console=ttyS0,115200n8";
20 };
21
22 keys {
23 compatible = "gpio-keys";
24
25 button-wps {
26 label = "wps";
27 gpios = <&gpio 10 GPIO_ACTIVE_LOW>;
28 debounce-interval = <60>;
29 linux,code = <KEY_WPS_BUTTON>;
30 };
31
32 button-reset {
33 label = "reset";
34 gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
35 debounce-interval = <60>;
36 linux,code = <KEY_RESTART>;
37 };
38 };
39
40 leds {
41 compatible = "gpio-leds";
42
43 led_power: led-power {
44 label = "green:power";
45 color = <LED_COLOR_ID_GREEN>;
46 function = LED_FUNCTION_POWER;
47 gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
48 };
49
50 led-wan-amber {
51 color = <LED_COLOR_ID_AMBER>;
52 function = LED_FUNCTION_WAN;
53 gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
54 };
55
56 led-lan {
57 color = <LED_COLOR_ID_GREEN>;
58 function = LED_FUNCTION_LAN;
59 gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
60 };
61
62 led-wifi5g {
63 color = <LED_COLOR_ID_GREEN>;
64 function = LED_FUNCTION_WLAN;
65 function-enumerator = <5>;
66 gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
67 linux,default-trigger = "phy1tpt";
68 };
69
70 led-wifi2g {
71 color = <LED_COLOR_ID_GREEN>;
72 function = LED_FUNCTION_WLAN;
73 function-enumerator = <2>;
74 gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
75 linux,default-trigger = "phy0tpt";
76 };
77
78 led-wan-green {
79 color = <LED_COLOR_ID_GREEN>;
80 function = LED_FUNCTION_WAN;
81 gpios = <&gpio 45 GPIO_ACTIVE_LOW>;
82 };
83 };
84 };
85
86 &spi0 {
87 status = "okay";
88
89 flash@0 {
90 compatible = "jedec,spi-nor";
91 reg = <0>;
92 spi-max-frequency = <40000000>;
93
94 partitions {
95 compatible = "fixed-partitions";
96 #address-cells = <1>;
97 #size-cells = <1>;
98
99 partition@0 {
100 label = "u-boot";
101 reg = <0x0 0x40000>;
102 read-only;
103 };
104
105 partition@40000 {
106 label = "firmware";
107 compatible = "denx,uimage";
108 reg = <0x40000 0xf60000>;
109 };
110
111 config: partition@fa0000 {
112 compatible = "nvmem-cells";
113 label = "config";
114 reg = <0xfa0000 0x50000>;
115 #address-cells = <1>;
116 #size-cells = <1>;
117 read-only;
118
119 macaddr_config_8: macaddr@8 {
120 reg = <0x8 0x6>;
121 };
122 };
123
124 radio: partition@ff0000 {
125 compatible = "nvmem-cells";
126 label = "radio";
127 reg = <0xff0000 0x10000>;
128 #address-cells = <1>;
129 #size-cells = <1>;
130 read-only;
131
132 eeprom_radio_0: eeprom@0 {
133 reg = <0x0 0x400>;
134 };
135
136 eeprom_radio_8000: eeprom@8000 {
137 reg = <0x8000 0x4da8>;
138 };
139 };
140 };
141 };
142 };
143
144 &state_default {
145 gpio {
146 groups = "i2c", "rgmii2", "uart2", "uart3", "jtag", "wdt";
147 function = "gpio";
148 };
149 };
150
151 &pcie {
152 status = "okay";
153 };
154
155 &pcie0 {
156 wifi@0,0 {
157 compatible = "mediatek,mt76";
158 reg = <0x0000 0 0 0 0>;
159 nvmem-cells = <&eeprom_radio_0>, <&macaddr_config_8>;
160 nvmem-cell-names = "eeprom", "mac-address";
161 mac-address-increment = <1>;
162 ieee80211-freq-limit = <2400000 2500000>;
163 };
164 };
165
166 &pcie1 {
167 wifi@0,0 {
168 compatible = "mediatek,mt76";
169 reg = <0x0000 0 0 0 0>;
170 nvmem-cells = <&eeprom_radio_8000>, <&macaddr_config_8>;
171 nvmem-cell-names = "eeprom", "mac-address";
172 mac-address-increment = <2>;
173 ieee80211-freq-limit = <5000000 6000000>;
174 };
175 };
176
177 &ethernet {
178 pinctrl-0 = <&mdio_pins>, <&rgmii1_pins>;
179 };
180
181 &gmac0 {
182 nvmem-cells = <&macaddr_config_8>;
183 nvmem-cell-names = "mac-address";
184 };
185
186 &switch0 {
187 ports {
188 port@0 {
189 status = "okay";
190 label = "wan";
191 };
192
193 port@1 {
194 status = "okay";
195 label = "lan1";
196 };
197
198 port@2 {
199 status = "okay";
200 label = "lan2";
201 };
202
203 port@3 {
204 status = "okay";
205 label = "lan3";
206 };
207
208 port@4 {
209 status = "okay";
210 label = "lan4";
211 };
212 };
213 };