lantiq: add Linux 5.4 support as testing kernel version
[openwrt/staging/wigyori.git] / target / linux / lantiq / files-5.4 / arch / mips / boot / dts / lantiq / vr9.dtsi
1 #include <dt-bindings/gpio/gpio.h>
2 #include <dt-bindings/phy/phy-lantiq-vrx200-pcie.h>
3
4 / {
5 #address-cells = <1>;
6 #size-cells = <1>;
7 compatible = "lantiq,xway", "lantiq,vr9";
8
9 aliases {
10 serial0 = &asc1;
11 };
12
13 chosen {
14 stdout-path = "serial0:115200n8";
15 };
16
17 cpus {
18 #address-cells = <1>;
19 #size-cells = <0>;
20
21 cpu@0 {
22 compatible = "mips,mips34Kc";
23 reg = <0>;
24 };
25 };
26
27 cputemp {
28 compatible = "lantiq,cputemp";
29 };
30
31 reboot {
32 compatible = "syscon-reboot";
33
34 regmap = <&rcu0>;
35 offset = <0x10>;
36 mask = <0xe0000000>;
37 };
38
39 biu@1f800000 {
40 #address-cells = <1>;
41 #size-cells = <1>;
42 compatible = "lantiq,biu", "simple-bus";
43 reg = <0x1f800000 0x800000>;
44 ranges = <0x0 0x1f800000 0x7fffff>;
45
46 icu0: icu@80200 {
47 #interrupt-cells = <1>;
48 interrupt-controller;
49 compatible = "lantiq,icu";
50 reg = <0x80200 0xc8 /* icu0 */
51 0x80300 0xc8>; /* icu1 */
52 };
53
54 watchdog@803f0 {
55 compatible = "lantiq,xrx100-wdt", "lantiq,xrx100-wdt";
56 reg = <0x803f0 0x10>;
57
58 regmap = <&rcu0>;
59 };
60 };
61
62 sram@1f000000 {
63 #address-cells = <1>;
64 #size-cells = <1>;
65 compatible = "lantiq,sram", "simple-bus";
66 reg = <0x1f000000 0x800000>;
67 ranges = <0x0 0x1f000000 0x7fffff>;
68
69 eiu0: eiu@101000 {
70 #interrupt-cells = <1>;
71 interrupt-controller;
72 compatible = "lantiq,eiu-xway";
73 reg = <0x101000 0x1000>;
74 interrupt-parent = <&icu0>;
75 lantiq,eiu-irqs = <166 135 66 40 41 42>;
76 };
77
78 pmu0: pmu@102000 {
79 compatible = "lantiq,pmu-xway";
80 reg = <0x102000 0x1000>;
81 };
82
83 cgu0: cgu@103000 {
84 compatible = "lantiq,cgu-xway";
85 reg = <0x103000 0x1000>;
86 };
87
88 dcdc@106a00 {
89 compatible = "lantiq,dcdc-xrx200";
90 reg = <0x106a00 0x200>;
91 };
92
93 vmmc: vmmc@107000 {
94 status = "disabled";
95 compatible = "lantiq,vmmc-xway";
96 reg = <0x107000 0x300>;
97 interrupt-parent = <&icu0>;
98 interrupts = <150 151 152 153 154 155>;
99 };
100
101 pcie0_phy: phy@106800 {
102 compatible = "lantiq,vrx200-pcie-phy";
103 reg = <0x106800 0x100>;
104 lantiq,rcu = <&rcu0>;
105 lantiq,rcu-endian-offset = <0x4c>;
106 lantiq,rcu-big-endian-mask = <0x80>; /* bit 7 */
107 big-endian;
108 resets = <&reset0 12 24>, <&reset0 22 22>;
109 reset-names = "phy", "pcie";
110 #phy-cells = <1>;
111 };
112
113 rcu0: rcu@203000 {
114 #address-cells = <1>;
115 #size-cells = <1>;
116 compatible = "lantiq,xrx200-rcu", "simple-mfd", "syscon";
117 reg = <0x203000 0x100>;
118 ranges = <0x0 0x203000 0x100>;
119 big-endian;
120
121 gphy0: gphy@20 {
122 compatible = "lantiq,xrx200-gphy";
123 reg = <0x20 0x4>;
124
125 resets = <&reset0 31 30>, <&reset1 7 7>;
126 reset-names = "gphy", "gphy2";
127 };
128
129 gphy1: gphy@68 {
130 compatible = "lantiq,xrx200-gphy";
131 reg = <0x68 0x4>;
132
133 resets = <&reset0 29 28>, <&reset1 6 6>;
134 reset-names = "gphy", "gphy2";
135 };
136
137 reset0: reset-controller@10 {
138 compatible = "lantiq,xrx200-reset";
139 reg = <0x10 4>, <0x14 4>;
140
141 #reset-cells = <2>;
142 };
143
144 reset1: reset-controller@48 {
145 compatible = "lantiq,xrx200-reset";
146 reg = <0x48 4>, <0x24 4>;
147
148 #reset-cells = <2>;
149 };
150
151 usb_phy0: usb2-phy@18 {
152 compatible = "lantiq,xrx200-usb2-phy";
153 reg = <0x18 4>, <0x38 4>;
154 status = "disabled";
155
156 resets = <&reset1 4 4>, <&reset0 4 4>;
157 reset-names = "phy", "ctrl";
158 #phy-cells = <0>;
159 };
160
161 usb_phy1: usb2-phy@34 {
162 compatible = "lantiq,xrx200-usb2-phy";
163 reg = <0x34 4>, <0x3c 4>;
164 status = "disabled";
165
166 resets = <&reset1 5 5>, <&reset0 4 4>;
167 reset-names = "phy", "ctrl";
168 #phy-cells = <0>;
169 };
170 };
171 };
172
173 fpi@10000000 {
174 compatible = "lantiq,xrx200-fpi", "simple-bus";
175 ranges = <0x0 0x10000000 0xf000000>;
176 reg = <0x1f400000 0x1000>,
177 <0x10000000 0xf000000>;
178 regmap = <&rcu0>;
179 offset-endianness = <0x4c>;
180 #address-cells = <1>;
181 #size-cells = <1>;
182
183 localbus: localbus@0 {
184 #address-cells = <2>;
185 #size-cells = <1>;
186 ranges = <0 0 0x0 0x3ffffff /* addrsel0 */
187 1 0 0x4000000 0x4000010>; /* addsel1 */
188 compatible = "lantiq,localbus", "simple-bus";
189 };
190
191 gptu@e100a00 {
192 compatible = "lantiq,gptu-xway";
193 reg = <0xe100a00 0x100>;
194 interrupt-parent = <&icu0>;
195 interrupts = <126 127 128 129 130 131>;
196 };
197
198 usif: usif@da00000 {
199 compatible = "lantiq,usif";
200 reg = <0xda00000 0x1000000>;
201 interrupt-parent = <&icu0>;
202 interrupts = <29 125 107 108 109 110>;
203 status = "disabled";
204 };
205
206 spi: spi@e100800 {
207 compatible = "lantiq,xrx200-spi", "lantiq,xrx100-spi";
208 reg = <0xe100800 0x100>;
209 interrupt-parent = <&icu0>;
210 interrupts = <22 23 24>;
211 interrupt-names = "spi_rx", "spi_tx", "spi_err",
212 "spi_frm";
213 #address-cells = <1>;
214 #size-cells = <0>;
215 pinctrl-names = "default";
216 pinctrl-0 = <&spi_pins>, <&spi_cs4_pins>;
217 status = "disabled";
218 };
219
220 gpio: pinmux@e100b10 {
221 compatible = "lantiq,xrx200-pinctrl";
222 #gpio-cells = <2>;
223 gpio-controller;
224 reg = <0xe100b10 0xa0>;
225
226 gphy0_led0_pins: gphy0-led0 {
227 mux {
228 lantiq,groups = "gphy0 led0";
229 lantiq,function = "gphy";
230 lantiq,open-drain = <0>;
231 lantiq,pull = <2>;
232 lantiq,output = <1>;
233 };
234 };
235
236 gphy0_led1_pins: gphy0-led1 {
237 mux {
238 lantiq,groups = "gphy0 led1";
239 lantiq,function = "gphy";
240 lantiq,open-drain = <0>;
241 lantiq,pull = <2>;
242 lantiq,output = <1>;
243 };
244 };
245
246 gphy0_led2_pins: gphy0-led2 {
247 mux {
248 lantiq,groups = "gphy0 led2";
249 lantiq,function = "gphy";
250 lantiq,open-drain = <0>;
251 lantiq,pull = <2>;
252 lantiq,output = <1>;
253 };
254 };
255
256 gphy1_led0_pins: gphy1-led0 {
257 mux {
258 lantiq,groups = "gphy1 led0";
259 lantiq,function = "gphy";
260 lantiq,open-drain = <0>;
261 lantiq,pull = <2>;
262 lantiq,output = <1>;
263 };
264 };
265
266 gphy1_led1_pins: gphy1-led1 {
267 mux {
268 lantiq,groups = "gphy1 led1";
269 lantiq,function = "gphy";
270 lantiq,open-drain = <0>;
271 lantiq,pull = <2>;
272 lantiq,output = <1>;
273 };
274 };
275
276 gphy1_led2_pins: gphy1-led2 {
277 mux {
278 lantiq,groups = "gphy1 led2";
279 lantiq,function = "gphy";
280 lantiq,open-drain = <0>;
281 lantiq,pull = <2>;
282 lantiq,output = <1>;
283 };
284 };
285
286 mdio_pins: mdio {
287 mux {
288 lantiq,groups = "mdio";
289 lantiq,function = "mdio";
290 };
291 };
292
293 nand_pins: nand {
294 mux-0 {
295 lantiq,groups = "nand cle", "nand ale",
296 "nand rd";
297 lantiq,function = "ebu";
298 lantiq,output = <1>;
299 lantiq,open-drain = <0>;
300 lantiq,pull = <0>;
301 };
302 mux-1 {
303 lantiq,groups = "nand rdy";
304 lantiq,function = "ebu";
305 lantiq,output = <0>;
306 lantiq,pull = <2>;
307 };
308 };
309
310 nand_cs1_pins: nand-cs1 {
311 mux {
312 lantiq,groups = "nand cs1";
313 lantiq,function = "ebu";
314 lantiq,open-drain = <0>;
315 lantiq,pull = <0>;
316 };
317 };
318
319 pci_gnt1_pins: pci-gnt1 {
320 mux {
321 lantiq,groups = "gnt1";
322 lantiq,function = "pci";
323 lantiq,output = <1>;
324 lantiq,open-drain = <0>;
325 lantiq,pull = <0>;
326 };
327 };
328
329 pci_req1_pins: pci-req1 {
330 mux {
331 lantiq,groups = "req1";
332 lantiq,function = "pci";
333 lantiq,output = <0>;
334 lantiq,open-drain = <1>;
335 lantiq,pull = <2>;
336 };
337 };
338
339 spi_pins: spi {
340 mux-0 {
341 lantiq,groups = "spi_di";
342 lantiq,function = "spi";
343 };
344 mux-1 {
345 lantiq,groups = "spi_do", "spi_clk";
346 lantiq,function = "spi";
347 lantiq,output = <1>;
348 };
349 };
350
351 spi_cs4_pins: spi-cs4 {
352 mux {
353 lantiq,groups = "spi_cs4";
354 lantiq,function = "spi";
355 lantiq,output = <1>;
356 };
357 };
358
359 stp_pins: stp {
360 mux {
361 lantiq,groups = "stp";
362 lantiq,function = "stp";
363 lantiq,pull = <0>;
364 lantiq,open-drain = <0>;
365 lantiq,output = <1>;
366 };
367 };
368 };
369
370 stp: stp@e100bb0 {
371 status = "disabled";
372 compatible = "lantiq,gpio-stp-xway";
373 reg = <0xe100bb0 0x40>;
374 #gpio-cells = <2>;
375 gpio-controller;
376
377 pinctrl-0 = <&stp_pins>;
378 pinctrl-names = "default";
379
380 lantiq,shadow = <0xffffff>;
381 lantiq,groups = <0x7>;
382 lantiq,dsl = <0x0>;
383 lantiq,phy1 = <0x0>;
384 lantiq,phy2 = <0x0>;
385 };
386
387 asc1: serial@e100c00 {
388 compatible = "lantiq,asc";
389 reg = <0xe100c00 0x400>;
390 interrupt-parent = <&icu0>;
391 interrupts = <112 113 114>;
392 };
393
394 deu@e103100 {
395 compatible = "lantiq,deu-xrx200";
396 reg = <0xe103100 0xf00>;
397 };
398
399 dma0: dma@e104100 {
400 compatible = "lantiq,dma-xway";
401 reg = <0xe104100 0x800>;
402 };
403
404 ebu0: ebu@e105300 {
405 compatible = "lantiq,ebu-xway";
406 reg = <0xe105300 0x100>;
407 };
408
409 usb0: usb@e101000 {
410 status = "disabled";
411 compatible = "lantiq,xrx200-usb";
412 reg = <0xe101000 0x1000
413 0xe120000 0x3f000>;
414 interrupt-parent = <&icu0>;
415 interrupts = <62 91>;
416 dr_mode = "host";
417 phys = <&usb_phy0>;
418 phy-names = "usb2-phy";
419 };
420
421 usb1: usb@e106000 {
422 status = "disabled";
423 compatible = "lantiq,xrx200-usb";
424 reg = <0xe106000 0x1000>;
425 interrupt-parent = <&icu0>;
426 interrupts = <91>;
427 dr_mode = "host";
428 phys = <&usb_phy1>;
429 phy-names = "usb2-phy";
430 };
431
432 eth0: eth@e108000 {
433 #address-cells = <1>;
434 #size-cells = <0>;
435 compatible = "lantiq,xrx200-net";
436 reg = < 0xe108000 0x3000 /* switch */
437 0xe10b100 0x70 /* mdio */
438 0xe10b1d8 0x30 /* mii */
439 0xe10b308 0x30 /* pmac */
440 >;
441 interrupt-parent = <&icu0>;
442 interrupts = <75 73 72>;
443 resets = <&reset0 21 16>, <&reset0 8 8>;
444 reset-names = "switch", "ppe";
445 lantiq,phys = <&gphy0>, <&gphy1>;
446 pinctrl-0 = <&mdio_pins>;
447 pinctrl-names = "default";
448 };
449
450 mei@e116000 {
451 compatible = "lantiq,mei-xrx200";
452 reg = <0xe116000 0x9c>;
453 interrupt-parent = <&icu0>;
454 interrupts = <63>;
455 };
456
457 ppe@e234000 {
458 compatible = "lantiq,ppe-xrx200";
459 reg = <0xe234000 0x3ffd>;
460 interrupt-parent = <&icu0>;
461 interrupts = <96>;
462 resets = <&reset0 3 3>, <&reset0 11 11>, <&reset0 23 23>;
463 reset-names = "dsp", "dfe", "tc";
464 };
465
466 pcie0: pcie@d900000 {
467 compatible = "lantiq,pcie-xrx200";
468
469 #interrupt-cells = <1>;
470 #size-cells = <2>;
471 #address-cells = <3>;
472
473 reg = <0xd900000 0x1000>;
474
475 interrupt-parent = <&icu0>;
476 interrupts = <161 144>;
477
478 phys = <&pcie0_phy LANTIQ_PCIE_PHY_MODE_36MHZ>;
479 phy-names = "pcie";
480
481 resets = <&reset0 22 22>;
482
483 lantiq,rcu = <&rcu0>;
484
485 device_type = "pci";
486
487 gpio-reset = <&gpio 38 GPIO_ACTIVE_HIGH>;
488 };
489
490 pci0: pci@e105400 {
491 status = "disabled";
492
493 #address-cells = <3>;
494 #size-cells = <2>;
495 #interrupt-cells = <1>;
496 compatible = "lantiq,pci-xway";
497 bus-range = <0x0 0x0>;
498 ranges = <0x2000000 0 0x8000000 0x8000000 0 0x2000000 /* pci memory */
499 0x1000000 0 0x00000000 0xae00000 0 0x200000>; /* io space */
500 reg = <0x7000000 0x8000 /* config space */
501 0xe105400 0x400>; /* pci bridge */
502 lantiq,bus-clock = <33333333>;
503 interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
504 interrupt-map = <0x7000 0 0 1 &icu0 30 1>; /* slot 14, irq 30 */
505 req-mask = <0x1>; /* GNT1 */
506 };
507 };
508
509 vdsl {
510 compatible = "lantiq,vdsl-vrx200";
511 };
512 };