1ae7fd0f57215bf46088e7c78b1ce23aabe16191
[openwrt/openwrt.git] / target / linux / ramips / dts / mt7621_netgear_sercomm_bzv.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
8 / {
9 compatible = "mediatek,mt7621-soc";
10
11 aliases {
12 label-mac-device = &gmac0;
13 led-boot = &led_power_white;
14 led-failsafe = &led_power_orange;
15 led-running = &led_power_white;
16 led-upgrade = &led_power_orange;
17 };
18
19 keys {
20 compatible = "gpio-keys";
21
22 wps {
23 label = "wps";
24 gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
25 linux,code = <KEY_WPS_BUTTON>;
26 };
27
28 rfkill {
29 label = "rfkill";
30 gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
31 linux,code = <KEY_RFKILL>;
32 };
33
34 reset {
35 label = "reset";
36 gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
37 linux,code = <KEY_RESTART>;
38 };
39 };
40
41 leds: leds {
42 compatible = "gpio-leds";
43
44 led_power_orange: power_orange {
45 gpios = <&gpio_expander 0 GPIO_ACTIVE_LOW>;
46 label = "orange:power";
47 };
48
49 led_power_white: power_white {
50 gpios = <&gpio_expander 1 GPIO_ACTIVE_LOW>;
51 label = "white:power";
52 };
53
54 wan_orange {
55 gpios = <&gpio_expander 2 GPIO_ACTIVE_LOW>;
56 label = "orange:wan";
57 };
58
59 wan_white {
60 gpios = <&gpio_expander 3 GPIO_ACTIVE_LOW>;
61 label = "white:wan";
62 };
63
64 wlan2g {
65 gpios = <&gpio_expander 4 GPIO_ACTIVE_LOW>;
66 label = "white:wlan2g";
67 linux,default-trigger = "phy0radio";
68 };
69
70 wlan5g {
71 gpios = <&gpio_expander 5 GPIO_ACTIVE_LOW>;
72 label = "white:wlan5g";
73 linux,default-trigger = "phy1radio";
74 };
75
76 usb3 {
77 gpios = <&gpio_expander 7 GPIO_ACTIVE_LOW>;
78 label = "white:usb3";
79 linux,default-trigger = "usbport";
80 trigger-sources = <&xhci_ehci_port1>;
81 };
82
83 lan1_orange {
84 gpios = <&gpio_expander 8 GPIO_ACTIVE_LOW>;
85 label = "orange:lan1";
86 };
87
88 lan1_white {
89 gpios = <&gpio_expander 9 GPIO_ACTIVE_LOW>;
90 label = "white:lan1";
91 };
92
93 lan2_orange {
94 gpios = <&gpio_expander 10 GPIO_ACTIVE_LOW>;
95 label = "orange:lan2";
96 };
97
98 lan2_white {
99 gpios = <&gpio_expander 11 GPIO_ACTIVE_LOW>;
100 label = "white:lan2";
101 };
102
103 lan3_orange {
104 gpios = <&gpio_expander 12 GPIO_ACTIVE_LOW>;
105 label = "orange:lan3";
106 };
107
108 lan3_white {
109 gpios = <&gpio_expander 13 GPIO_ACTIVE_LOW>;
110 label = "white:lan3";
111 };
112
113 lan4_orange {
114 gpios = <&gpio_expander 14 GPIO_ACTIVE_LOW>;
115 label = "orange:lan4";
116 };
117
118 lan4_white {
119 gpios = <&gpio_expander 15 GPIO_ACTIVE_LOW>;
120 label = "white:lan4";
121 };
122
123 wps {
124 gpios = <&gpio 17 GPIO_ACTIVE_HIGH>;
125 label = "white:wps";
126 };
127
128 wlan {
129 gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
130 label = "white:wlan";
131 };
132 };
133 };
134
135 &state_default {
136 gpio {
137 groups = "uart3", "uart2", "jtag", "wdt";
138 function = "gpio";
139 };
140 };
141
142 &pcie {
143 status = "okay";
144 };
145
146 &pcie0 {
147 wifi@0,0 {
148 compatible = "mediatek,mt76";
149 reg = <0x0 0 0 0 0>;
150 nvmem-cells = <&eeprom_factory_0>;
151 nvmem-cell-names = "eeprom";
152 ieee80211-freq-limit = <2400000 2500000>;
153 };
154 };
155
156 &pcie1 {
157 wifi@0,0 {
158 compatible = "mediatek,mt76";
159 reg = <0x0 0 0 0 0>;
160 nvmem-cells = <&eeprom_factory_8000>;
161 nvmem-cell-names = "eeprom";
162 ieee80211-freq-limit = <5000000 6000000>;
163 };
164 };
165
166 &gmac0 {
167 nvmem-cells = <&macaddr_factory_4 0>;
168 nvmem-cell-names = "mac-address";
169 };
170
171 &gmac1 {
172 status = "okay";
173 label = "wan";
174 phy-handle = <&ethphy4>;
175
176 nvmem-cells = <&macaddr_factory_4 2>;
177 nvmem-cell-names = "mac-address";
178 };
179
180 &mdio {
181 ethphy4: ethernet-phy@4 {
182 reg = <4>;
183 };
184 };
185
186 &switch0 {
187 ports {
188 port@0 {
189 status = "okay";
190 label = "lan4";
191 };
192
193 port@1 {
194 status = "okay";
195 label = "lan3";
196 };
197
198 port@2 {
199 status = "okay";
200 label = "lan2";
201 };
202
203 port@3 {
204 status = "okay";
205 label = "lan1";
206 };
207 };
208 };
209
210 &i2c {
211 status = "okay";
212
213 gpio_expander: i2c0gpio-expander@20{
214 #gpio-cells = <2>;
215 #interrupt-cells = <2>;
216 compatible = "semtech,sx1503q";
217 reg = <0x20>;
218
219 gpio-controller;
220 interrupt-controller;
221 };
222 };
223
224 &nand {
225 status = "okay";
226
227 partitions {
228 compatible = "sercomm,sc-partitions", "fixed-partitions";
229 #address-cells = <1>;
230 #size-cells = <1>;
231
232 partition@0 {
233 label = "u-boot";
234 reg = <0x0 0x100000>;
235 sercomm,scpart-id = <0>;
236 read-only;
237 };
238
239 partition@100000 {
240 label = "SC PART_MAP";
241 reg = <0x100000 0x100000>;
242 sercomm,scpart-id = <1>;
243 read-only;
244 };
245
246 partition@200000 {
247 label = "kernel";
248 reg = <0x200000 0x400000>;
249 sercomm,scpart-id = <2>;
250 };
251
252 partition@600000 {
253 label = "ubi";
254 reg = <0x600000 0x2800000>;
255 sercomm,scpart-id = <3>;
256 };
257
258 partition@2e00000 {
259 label = "English UI";
260 reg = <0x2e00000 0x200000>;
261 sercomm,scpart-id = <4>;
262 read-only;
263 };
264
265 partition@3000000 {
266 label = "ML1";
267 reg = <0x3000000 0x200000>;
268 sercomm,scpart-id = <5>;
269 read-only;
270 };
271
272 partition@3200000 {
273 label = "ML2";
274 reg = <0x3200000 0x200000>;
275 sercomm,scpart-id = <6>;
276 read-only;
277 };
278
279 partition@3400000 {
280 label = "ML3";
281 reg = <0x3400000 0x200000>;
282 sercomm,scpart-id = <7>;
283 read-only;
284 };
285
286 partition@3600000 {
287 label = "ML4";
288 reg = <0x3600000 0x200000>;
289 sercomm,scpart-id = <8>;
290 read-only;
291 };
292
293 partition@3800000 {
294 label = "ML5";
295 reg = <0x3800000 0x200000>;
296 sercomm,scpart-id = <9>;
297 read-only;
298 };
299
300 partition@3a00000 {
301 label = "ML6";
302 reg = <0x3a00000 0x200000>;
303 sercomm,scpart-id = <10>;
304 read-only;
305 };
306
307 partition@3c00000 {
308 label = "ML7";
309 reg = <0x3c00000 0x200000>;
310 sercomm,scpart-id = <11>;
311 read-only;
312 };
313
314 partition@3e00000 {
315 label = "ML8";
316 reg = <0x3e00000 0x200000>;
317 sercomm,scpart-id = <12>;
318 read-only;
319 };
320
321 partition@4000000 {
322 label = "ML9";
323 reg = <0x4000000 0x200000>;
324 sercomm,scpart-id = <13>;
325 read-only;
326 };
327
328 partition@4200000 {
329 label = "ML10";
330 reg = <0x4200000 0x200000>;
331 sercomm,scpart-id = <14>;
332 read-only;
333 };
334
335 partition@4400000 {
336 label = "ML11";
337 reg = <0x4400000 0x200000>;
338 sercomm,scpart-id = <15>;
339 read-only;
340 };
341
342 factory: partition@4600000 {
343 label = "factory";
344 reg = <0x4600000 0x200000>;
345 sercomm,scpart-id = <16>;
346 read-only;
347
348 nvmem-layout {
349 compatible = "fixed-layout";
350 #address-cells = <1>;
351 #size-cells = <1>;
352
353 eeprom_factory_0: eeprom@0 {
354 reg = <0x0 0x4da8>;
355 };
356
357 eeprom_factory_8000: eeprom@8000 {
358 reg = <0x8000 0x4da8>;
359 };
360
361 macaddr_factory_4: macaddr@4 {
362 compatible = "mac-base";
363 reg = <0x4 0x6>;
364 #nvmem-cell-cells = <1>;
365 };
366 };
367 };
368
369 partition@4800000 {
370 label = "SC Private Data";
371 reg = <0x4800000 0x200000>;
372 sercomm,scpart-id = <17>;
373 read-only;
374 };
375
376 partition@4a00000 {
377 label = "POT";
378 reg = <0x4a00000 0x200000>;
379 sercomm,scpart-id = <18>;
380 read-only;
381 };
382
383 partition@4c00000 {
384 label = "Traffic Meter";
385 reg = <0x4c00000 0x200000>;
386 sercomm,scpart-id = <19>;
387 read-only;
388 };
389
390 partition@4e00000 {
391 label = "SC PID";
392 reg = <0x4e00000 0x200000>;
393 sercomm,scpart-id = <20>;
394 read-only;
395 };
396
397 partition@5000000 {
398 label = "SC Nvram";
399 reg = <0x5000000 0x200000>;
400 sercomm,scpart-id = <21>;
401 read-only;
402 };
403
404 partition@5200000 {
405 label = "Ralink Nvram";
406 reg = <0x5200000 0x200000>;
407 sercomm,scpart-id = <22>;
408 read-only;
409 };
410
411 partition@5400000 {
412 label = "reserved0";
413 reg = <0x5400000 0x200000>;
414 sercomm,scpart-id = <23>;
415 read-only;
416 };
417
418 partition@5600000 {
419 label = "reserved1";
420 reg = <0x5600000 0x200000>;
421 sercomm,scpart-id = <24>;
422 read-only;
423 };
424
425 partition@5800000 {
426 label = "reserved2";
427 reg = <0x5800000 0x200000>;
428 sercomm,scpart-id = <25>;
429 read-only;
430 };
431
432 partition@5a00000 {
433 label = "reserved3";
434 reg = <0x5a00000 0x200000>;
435 sercomm,scpart-id = <26>;
436 read-only;
437 };
438
439 partition@5c00000 {
440 label = "reserved4";
441 reg = <0x5c00000 0x200000>;
442 sercomm,scpart-id = <27>;
443 read-only;
444 };
445
446 partition@5e00000 {
447 label = "reserved5";
448 reg = <0x5e00000 0x2180000>;
449 sercomm,scpart-id = <28>;
450 read-only;
451 };
452 };
453 };