ramips: mt7621: convert to nvmem-layout
[openwrt/staging/jow.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 mediatek,mtd-eeprom = <&factory 0x0>;
151 ieee80211-freq-limit = <2400000 2500000>;
152 };
153 };
154
155 &pcie1 {
156 wifi@0,0 {
157 compatible = "mediatek,mt76";
158 reg = <0x0 0 0 0 0>;
159 mediatek,mtd-eeprom = <&factory 0x8000>;
160 ieee80211-freq-limit = <5000000 6000000>;
161 };
162 };
163
164 &gmac0 {
165 nvmem-cells = <&macaddr_factory_4>;
166 nvmem-cell-names = "mac-address";
167 };
168
169 &gmac1 {
170 status = "okay";
171 label = "wan";
172 phy-handle = <&ethphy4>;
173
174 nvmem-cells = <&macaddr_factory_4>;
175 nvmem-cell-names = "mac-address";
176 mac-address-increment = <2>;
177 };
178
179 &mdio {
180 ethphy4: ethernet-phy@4 {
181 reg = <4>;
182 };
183 };
184
185 &switch0 {
186 ports {
187 port@0 {
188 status = "okay";
189 label = "lan4";
190 };
191
192 port@1 {
193 status = "okay";
194 label = "lan3";
195 };
196
197 port@2 {
198 status = "okay";
199 label = "lan2";
200 };
201
202 port@3 {
203 status = "okay";
204 label = "lan1";
205 };
206 };
207 };
208
209 &i2c {
210 status = "okay";
211
212 gpio_expander: i2c0gpio-expander@20{
213 #gpio-cells = <2>;
214 #interrupt-cells = <2>;
215 compatible = "semtech,sx1503q";
216 reg = <0x20>;
217
218 gpio-controller;
219 interrupt-controller;
220 };
221 };
222
223 &nand {
224 status = "okay";
225
226 partitions {
227 compatible = "sercomm,sc-partitions", "fixed-partitions";
228 #address-cells = <1>;
229 #size-cells = <1>;
230
231 partition@0 {
232 label = "u-boot";
233 reg = <0x0 0x100000>;
234 sercomm,scpart-id = <0>;
235 read-only;
236 };
237
238 partition@100000 {
239 label = "SC PART_MAP";
240 reg = <0x100000 0x100000>;
241 sercomm,scpart-id = <1>;
242 read-only;
243 };
244
245 partition@200000 {
246 label = "kernel";
247 reg = <0x200000 0x400000>;
248 sercomm,scpart-id = <2>;
249 };
250
251 partition@600000 {
252 label = "ubi";
253 reg = <0x600000 0x2800000>;
254 sercomm,scpart-id = <3>;
255 };
256
257 partition@2e00000 {
258 label = "English UI";
259 reg = <0x2e00000 0x200000>;
260 sercomm,scpart-id = <4>;
261 read-only;
262 };
263
264 partition@3000000 {
265 label = "ML1";
266 reg = <0x3000000 0x200000>;
267 sercomm,scpart-id = <5>;
268 read-only;
269 };
270
271 partition@3200000 {
272 label = "ML2";
273 reg = <0x3200000 0x200000>;
274 sercomm,scpart-id = <6>;
275 read-only;
276 };
277
278 partition@3400000 {
279 label = "ML3";
280 reg = <0x3400000 0x200000>;
281 sercomm,scpart-id = <7>;
282 read-only;
283 };
284
285 partition@3600000 {
286 label = "ML4";
287 reg = <0x3600000 0x200000>;
288 sercomm,scpart-id = <8>;
289 read-only;
290 };
291
292 partition@3800000 {
293 label = "ML5";
294 reg = <0x3800000 0x200000>;
295 sercomm,scpart-id = <9>;
296 read-only;
297 };
298
299 partition@3a00000 {
300 label = "ML6";
301 reg = <0x3a00000 0x200000>;
302 sercomm,scpart-id = <10>;
303 read-only;
304 };
305
306 partition@3c00000 {
307 label = "ML7";
308 reg = <0x3c00000 0x200000>;
309 sercomm,scpart-id = <11>;
310 read-only;
311 };
312
313 partition@3e00000 {
314 label = "ML8";
315 reg = <0x3e00000 0x200000>;
316 sercomm,scpart-id = <12>;
317 read-only;
318 };
319
320 partition@4000000 {
321 label = "ML9";
322 reg = <0x4000000 0x200000>;
323 sercomm,scpart-id = <13>;
324 read-only;
325 };
326
327 partition@4200000 {
328 label = "ML10";
329 reg = <0x4200000 0x200000>;
330 sercomm,scpart-id = <14>;
331 read-only;
332 };
333
334 partition@4400000 {
335 label = "ML11";
336 reg = <0x4400000 0x200000>;
337 sercomm,scpart-id = <15>;
338 read-only;
339 };
340
341 factory: partition@4600000 {
342 label = "factory";
343 reg = <0x4600000 0x200000>;
344 sercomm,scpart-id = <16>;
345 read-only;
346
347 nvmem-layout {
348 compatible = "fixed-layout";
349 #address-cells = <1>;
350 #size-cells = <1>;
351
352 macaddr_factory_4: macaddr@4 {
353 reg = <0x4 0x6>;
354 };
355 };
356 };
357
358 partition@4800000 {
359 label = "SC Private Data";
360 reg = <0x4800000 0x200000>;
361 sercomm,scpart-id = <17>;
362 read-only;
363 };
364
365 partition@4a00000 {
366 label = "POT";
367 reg = <0x4a00000 0x200000>;
368 sercomm,scpart-id = <18>;
369 read-only;
370 };
371
372 partition@4c00000 {
373 label = "Traffic Meter";
374 reg = <0x4c00000 0x200000>;
375 sercomm,scpart-id = <19>;
376 read-only;
377 };
378
379 partition@4e00000 {
380 label = "SC PID";
381 reg = <0x4e00000 0x200000>;
382 sercomm,scpart-id = <20>;
383 read-only;
384 };
385
386 partition@5000000 {
387 label = "SC Nvram";
388 reg = <0x5000000 0x200000>;
389 sercomm,scpart-id = <21>;
390 read-only;
391 };
392
393 partition@5200000 {
394 label = "Ralink Nvram";
395 reg = <0x5200000 0x200000>;
396 sercomm,scpart-id = <22>;
397 read-only;
398 };
399
400 partition@5400000 {
401 label = "reserved0";
402 reg = <0x5400000 0x200000>;
403 sercomm,scpart-id = <23>;
404 read-only;
405 };
406
407 partition@5600000 {
408 label = "reserved1";
409 reg = <0x5600000 0x200000>;
410 sercomm,scpart-id = <24>;
411 read-only;
412 };
413
414 partition@5800000 {
415 label = "reserved2";
416 reg = <0x5800000 0x200000>;
417 sercomm,scpart-id = <25>;
418 read-only;
419 };
420
421 partition@5a00000 {
422 label = "reserved3";
423 reg = <0x5a00000 0x200000>;
424 sercomm,scpart-id = <26>;
425 read-only;
426 };
427
428 partition@5c00000 {
429 label = "reserved4";
430 reg = <0x5c00000 0x200000>;
431 sercomm,scpart-id = <27>;
432 read-only;
433 };
434
435 partition@5e00000 {
436 label = "reserved5";
437 reg = <0x5e00000 0x2180000>;
438 sercomm,scpart-id = <28>;
439 read-only;
440 };
441 };
442 };