blob: 595b4b5abba0ddb16a8fc3248b0b34ee9524bfd9 [file] [log] [blame]
Pali Rohár0934ddd2022-02-14 11:34:30 +01001// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
Marek Behún80af1a92018-04-24 17:21:31 +02002/*
3 * Device Tree file for CZ.NIC Turris Mox Board
Pali Rohár0934ddd2022-02-14 11:34:30 +01004 * 2019 by Marek Behún <kabel@kernel.org>
Marek Behún80af1a92018-04-24 17:21:31 +02005 */
6
7/dts-v1/;
8
Pali Rohár0934ddd2022-02-14 11:34:30 +01009#include <dt-bindings/bus/moxtet.h>
Marek Behún80af1a92018-04-24 17:21:31 +020010#include <dt-bindings/gpio/gpio.h>
Marek Behúne04bf432021-06-07 16:34:46 +020011#include <dt-bindings/input/input.h>
Marek Behún80af1a92018-04-24 17:21:31 +020012#include "armada-372x.dtsi"
13
14/ {
15 model = "CZ.NIC Turris Mox Board";
16 compatible = "cznic,turris-mox", "marvell,armada3720",
17 "marvell,armada3710";
18
Pali Rohár0934ddd2022-02-14 11:34:30 +010019 aliases {
20 spi0 = &spi0;
21 ethernet0 = &eth0;
22 ethernet1 = &eth1;
23 mmc0 = &sdhci0;
24 mmc1 = &sdhci1;
25 };
26
Marek Behún80af1a92018-04-24 17:21:31 +020027 chosen {
28 stdout-path = "serial0:115200n8";
29 };
30
Pali Rohár0934ddd2022-02-14 11:34:30 +010031 memory@0 {
Marek Behún80af1a92018-04-24 17:21:31 +020032 device_type = "memory";
33 reg = <0x00000000 0x00000000 0x00000000 0x20000000>;
34 };
35
Marek Behúne04bf432021-06-07 16:34:46 +020036 leds {
37 compatible = "gpio-leds";
Pali Rohár0934ddd2022-02-14 11:34:30 +010038 red {
39 label = "mox:red:activity";
Marek Behúne04bf432021-06-07 16:34:46 +020040 gpios = <&gpiosb 21 GPIO_ACTIVE_LOW>;
Pali Rohár0934ddd2022-02-14 11:34:30 +010041 linux,default-trigger = "default-on";
Marek Behúne04bf432021-06-07 16:34:46 +020042 };
43 };
44
45 gpio-keys {
46 compatible = "gpio-keys";
47
48 reset {
Marek Behúne04bf432021-06-07 16:34:46 +020049 label = "reset";
50 linux,code = <KEY_RESTART>;
51 gpios = <&gpiosb 20 GPIO_ACTIVE_LOW>;
52 debounce-interval = <60>;
53 };
54 };
55
Pali Rohár0934ddd2022-02-14 11:34:30 +010056 exp_usb3_vbus: usb3-vbus {
Marek Behún80af1a92018-04-24 17:21:31 +020057 compatible = "regulator-fixed";
58 regulator-name = "usb3-vbus";
59 regulator-min-microvolt = <5000000>;
60 regulator-max-microvolt = <5000000>;
Marek Behún9e4cdba2020-04-08 12:02:06 +020061 enable-active-high;
Pali Rohár0934ddd2022-02-14 11:34:30 +010062 regulator-always-on;
63 gpio = <&gpiosb 0 GPIO_ACTIVE_HIGH>;
Marek Behún80af1a92018-04-24 17:21:31 +020064 };
65
Marek Behúneddd6f92020-04-08 12:02:04 +020066 vsdc_reg: vsdc-reg {
67 compatible = "regulator-gpio";
68 regulator-name = "vsdc";
69 regulator-min-microvolt = <1800000>;
70 regulator-max-microvolt = <3300000>;
71 regulator-boot-on;
72
73 gpios = <&gpiosb 23 GPIO_ACTIVE_HIGH>;
74 gpios-states = <0>;
75 states = <1800000 0x1
76 3300000 0x0>;
77 enable-active-high;
78 };
79
Pali Rohár0934ddd2022-02-14 11:34:30 +010080 vsdio_reg: vsdio-reg {
81 compatible = "regulator-gpio";
82 regulator-name = "vsdio";
83 regulator-min-microvolt = <1800000>;
84 regulator-max-microvolt = <3300000>;
85 regulator-boot-on;
Marek Behún3dc2f452018-12-17 16:10:04 +010086
Pali Rohár0934ddd2022-02-14 11:34:30 +010087 gpios = <&gpiosb 22 GPIO_ACTIVE_HIGH>;
88 gpios-states = <0>;
89 states = <1800000 0x1
90 3300000 0x0>;
91 enable-active-high;
92 };
93
94 sdhci1_pwrseq: sdhci1-pwrseq {
95 compatible = "mmc-pwrseq-simple";
96 reset-gpios = <&gpionb 19 GPIO_ACTIVE_HIGH>;
97 status = "okay";
98 };
99
100 sfp: sfp {
101 compatible = "sff,sfp";
102 i2c-bus = <&i2c0>;
103 los-gpio = <&moxtet_sfp 0 GPIO_ACTIVE_HIGH>;
104 tx-fault-gpio = <&moxtet_sfp 1 GPIO_ACTIVE_HIGH>;
105 mod-def0-gpio = <&moxtet_sfp 2 GPIO_ACTIVE_LOW>;
106 tx-disable-gpio = <&moxtet_sfp 4 GPIO_ACTIVE_HIGH>;
107 rate-select0-gpio = <&moxtet_sfp 5 GPIO_ACTIVE_HIGH>;
108 maximum-power-milliwatt = <3000>;
109
110 /* enabled by U-Boot if SFP module is present */
111 status = "disabled";
112 };
113
114 firmware {
115 armada-3700-rwtm {
116 compatible = "marvell,armada-3700-rwtm-firmware", "cznic,turris-mox-rwtm";
Marek Behún80af1a92018-04-24 17:21:31 +0200117 };
118 };
119};
120
Marek Behún80af1a92018-04-24 17:21:31 +0200121&i2c0 {
122 pinctrl-names = "default";
123 pinctrl-0 = <&i2c1_pins>;
Pali Rohár0934ddd2022-02-14 11:34:30 +0100124 clock-frequency = <100000>;
125 /delete-property/ mrvl,i2c-fast-mode;
Marek Behún80af1a92018-04-24 17:21:31 +0200126 status = "okay";
Marek Behún3dc2f452018-12-17 16:10:04 +0100127
128 rtc@6f {
Pali Rohár0934ddd2022-02-14 11:34:30 +0100129 compatible = "microchip,mcp7940x";
Marek Behún3dc2f452018-12-17 16:10:04 +0100130 reg = <0x6f>;
131 };
Marek Behún80af1a92018-04-24 17:21:31 +0200132};
133
Pali Rohár0934ddd2022-02-14 11:34:30 +0100134&pcie0 {
135 pinctrl-names = "default";
136 pinctrl-0 = <&pcie_reset_pins &pcie_clkreq_pins>;
137 status = "okay";
138 reset-gpios = <&gpiosb 3 GPIO_ACTIVE_LOW>;
139 /*
140 * U-Boot port for Turris Mox has a bug which always expects that "ranges" DT property
141 * contains exactly 2 ranges with 3 (child) address cells, 2 (parent) address cells and
Pali Rohár037bb6e2022-03-07 19:12:59 +0100142 * 2 size cells and also expects that the second range starts at 16 MB offset. Also it
143 * expects that first range uses same address for PCI (child) and CPU (parent) cells (so
144 * no remapping) and that this address is the lowest from all specified ranges. If these
Pali Rohár0934ddd2022-02-14 11:34:30 +0100145 * conditions are not met then U-Boot crashes during loading kernel DTB file. PCIe address
146 * space is 128 MB long, so the best split between MEM and IO is to use fixed 16 MB window
147 * for IO and the rest 112 MB (64+32+16) for MEM. Controller supports 32-bit IO mapping.
148 * This bug is not present in U-Boot ports for other Armada 3700 devices and is fixed in
149 * U-Boot version 2021.07. See relevant U-Boot commits (the last one contains fix):
150 * https://source.denx.de/u-boot/u-boot/-/commit/cb2ddb291ee6fcbddd6d8f4ff49089dfe580f5d7
151 * https://source.denx.de/u-boot/u-boot/-/commit/c64ac3b3185aeb3846297ad7391fc6df8ecd73bf
152 * https://source.denx.de/u-boot/u-boot/-/commit/4a82fca8e330157081fc132a591ebd99ba02ee33
Pali Rohár037bb6e2022-03-07 19:12:59 +0100153 * Bug related to requirement of same child and parent addresses for first range is fixed
154 * in U-Boot version 2022.04 by following commit:
155 * https://source.denx.de/u-boot/u-boot/-/commit/1fd54253bca7d43d046bba4853fe5fafd034bc17
Pali Rohár0934ddd2022-02-14 11:34:30 +0100156 */
157 #address-cells = <3>;
158 #size-cells = <2>;
159 ranges = <0x81000000 0 0xe8000000 0 0xe8000000 0 0x01000000 /* Port 0 IO */
160 0x82000000 0 0xe9000000 0 0xe9000000 0 0x07000000>; /* Port 0 MEM */
161
162 /* enabled by U-Boot if PCIe module is present */
163 status = "disabled";
164};
165
166&uart0 {
167 status = "okay";
168};
169
170&eth0 {
171 pinctrl-names = "default";
172 pinctrl-0 = <&rgmii_pins>;
173 phy-mode = "rgmii-id";
174 phy-handle = <&phy1>;
175 status = "okay";
176};
177
178&eth1 {
179 phy-mode = "2500base-x";
180 managed = "in-band-status";
181 phys = <&comphy0 1>;
182};
183
Pali Rohár9dde7a02022-02-14 11:34:27 +0100184&sdhci0 {
Marek Behúneddd6f92020-04-08 12:02:04 +0200185 wp-inverted;
Marek Behún80af1a92018-04-24 17:21:31 +0200186 bus-width = <4>;
Marek Behúneddd6f92020-04-08 12:02:04 +0200187 cd-gpios = <&gpionb 10 GPIO_ACTIVE_HIGH>;
188 vqmmc-supply = <&vsdc_reg>;
189 marvell,pad-type = "sd";
Marek Behún80af1a92018-04-24 17:21:31 +0200190 status = "okay";
191};
192
Pali Rohár0934ddd2022-02-14 11:34:30 +0100193&sdhci1 {
194 pinctrl-names = "default";
195 pinctrl-0 = <&sdio_pins>;
196 non-removable;
197 bus-width = <4>;
198 marvell,pad-type = "sd";
199 vqmmc-supply = <&vsdio_reg>;
200 mmc-pwrseq = <&sdhci1_pwrseq>;
201 /* forbid SDR104 for FCC purposes */
202 sdhci-caps-mask = <0x2 0x0>;
203 status = "okay";
Marek Behún80af1a92018-04-24 17:21:31 +0200204};
205
Marek Behún80af1a92018-04-24 17:21:31 +0200206&spi0 {
207 status = "okay";
208 pinctrl-names = "default";
Pali Rohár0934ddd2022-02-14 11:34:30 +0100209 pinctrl-0 = <&spi_quad_pins &spi_cs1_pins>;
Marek Behún0f6686e2018-08-17 12:59:01 +0200210 assigned-clocks = <&nb_periph_clk 7>;
211 assigned-clock-parents = <&tbg 1>;
212 assigned-clock-rates = <20000000>;
Marek Behún80af1a92018-04-24 17:21:31 +0200213
214 spi-flash@0 {
215 #address-cells = <1>;
216 #size-cells = <1>;
Pali Rohár0934ddd2022-02-14 11:34:30 +0100217 compatible = "jedec,spi-nor";
Marek Behún80af1a92018-04-24 17:21:31 +0200218 reg = <0>;
219 spi-max-frequency = <20000000>;
Marek Behúnf2213332021-06-07 16:34:50 +0200220
221 partitions {
222 compatible = "fixed-partitions";
223 #address-cells = <1>;
224 #size-cells = <1>;
225
226 partition@0 {
227 label = "secure-firmware";
228 reg = <0x0 0x20000>;
229 };
230
231 partition@20000 {
232 label = "a53-firmware";
233 reg = <0x20000 0x160000>;
234 };
235
236 partition@180000 {
237 label = "u-boot-env";
238 reg = <0x180000 0x10000>;
239 };
240
241 partition@190000 {
242 label = "Rescue system";
243 reg = <0x190000 0x660000>;
244 };
245
246 partition@7f0000 {
247 label = "dtb";
248 reg = <0x7f0000 0x10000>;
249 };
250 };
Marek Behún80af1a92018-04-24 17:21:31 +0200251 };
Marek Behún7dd7c2e2018-12-17 16:10:03 +0100252
Pali Rohár0934ddd2022-02-14 11:34:30 +0100253 moxtet: moxtet@1 {
Marek Behún7dd7c2e2018-12-17 16:10:03 +0100254 #address-cells = <1>;
255 #size-cells = <0>;
256 compatible = "cznic,moxtet";
257 reg = <1>;
258 reset-gpios = <&gpiosb 2 GPIO_ACTIVE_LOW>;
Pali Rohár0934ddd2022-02-14 11:34:30 +0100259 spi-max-frequency = <10000000>;
Marek Behún7dd7c2e2018-12-17 16:10:03 +0100260 spi-cpol;
261 spi-cpha;
Pali Rohár0934ddd2022-02-14 11:34:30 +0100262 interrupt-controller;
263 #interrupt-cells = <1>;
264 interrupt-parent = <&gpiosb>;
265 interrupts = <5 IRQ_TYPE_EDGE_FALLING>;
266 status = "okay";
Marek Behún80af1a92018-04-24 17:21:31 +0200267
Pali Rohár0934ddd2022-02-14 11:34:30 +0100268 moxtet_sfp: gpio@0 {
269 compatible = "cznic,moxtet-gpio";
270 gpio-controller;
271 #gpio-cells = <2>;
272 reg = <0>;
273 status = "disabled";
274 };
275 };
Marek Behún80af1a92018-04-24 17:21:31 +0200276};
277
278&usb2 {
279 status = "okay";
280};
281
Pali Rohár0934ddd2022-02-14 11:34:30 +0100282&comphy2 {
283 connector {
284 compatible = "usb-a-connector";
285 phy-supply = <&exp_usb3_vbus>;
286 };
287};
288
Marek Behún80af1a92018-04-24 17:21:31 +0200289&usb3 {
Marek Behún80af1a92018-04-24 17:21:31 +0200290 status = "okay";
Pali Rohárd368e102021-11-26 14:57:13 +0100291 phys = <&comphy2 0>;
Marek Behún80af1a92018-04-24 17:21:31 +0200292};
Marek Behún863949e2018-08-21 12:22:09 +0200293
Pali Rohár0934ddd2022-02-14 11:34:30 +0100294&mdio {
Marek Behún863949e2018-08-21 12:22:09 +0200295 pinctrl-names = "default";
Pali Rohár0934ddd2022-02-14 11:34:30 +0100296 pinctrl-0 = <&smi_pins>;
297 status = "okay";
298
299 phy1: ethernet-phy@1 {
300 reg = <1>;
301 };
302
303 /* switch nodes are enabled by U-Boot if modules are present */
304 switch0@10 {
305 compatible = "marvell,mv88e6190";
306 reg = <0x10 0>;
307 dsa,member = <0 0>;
308 interrupt-parent = <&moxtet>;
309 interrupts = <MOXTET_IRQ_PERIDOT(0)>;
310 status = "disabled";
311
312 mdio {
313 #address-cells = <1>;
314 #size-cells = <0>;
315
316 switch0phy1: switch0phy1@1 {
317 reg = <0x1>;
318 };
319
320 switch0phy2: switch0phy2@2 {
321 reg = <0x2>;
322 };
323
324 switch0phy3: switch0phy3@3 {
325 reg = <0x3>;
326 };
327
328 switch0phy4: switch0phy4@4 {
329 reg = <0x4>;
330 };
331
332 switch0phy5: switch0phy5@5 {
333 reg = <0x5>;
334 };
335
336 switch0phy6: switch0phy6@6 {
337 reg = <0x6>;
338 };
339
340 switch0phy7: switch0phy7@7 {
341 reg = <0x7>;
342 };
343
344 switch0phy8: switch0phy8@8 {
345 reg = <0x8>;
346 };
347 };
348
349 ports {
350 #address-cells = <1>;
351 #size-cells = <0>;
352
353 port@1 {
354 reg = <0x1>;
355 label = "lan1";
356 phy-handle = <&switch0phy1>;
357 };
358
359 port@2 {
360 reg = <0x2>;
361 label = "lan2";
362 phy-handle = <&switch0phy2>;
363 };
364
365 port@3 {
366 reg = <0x3>;
367 label = "lan3";
368 phy-handle = <&switch0phy3>;
369 };
370
371 port@4 {
372 reg = <0x4>;
373 label = "lan4";
374 phy-handle = <&switch0phy4>;
375 };
376
377 port@5 {
378 reg = <0x5>;
379 label = "lan5";
380 phy-handle = <&switch0phy5>;
381 };
382
383 port@6 {
384 reg = <0x6>;
385 label = "lan6";
386 phy-handle = <&switch0phy6>;
387 };
388
389 port@7 {
390 reg = <0x7>;
391 label = "lan7";
392 phy-handle = <&switch0phy7>;
393 };
394
395 port@8 {
396 reg = <0x8>;
397 label = "lan8";
398 phy-handle = <&switch0phy8>;
399 };
400
401 port@9 {
402 reg = <0x9>;
403 label = "cpu";
404 ethernet = <&eth1>;
405 phy-mode = "2500base-x";
406 managed = "in-band-status";
407 };
408
409 switch0port10: port@a {
410 reg = <0xa>;
411 label = "dsa";
412 phy-mode = "2500base-x";
413 managed = "in-band-status";
414 link = <&switch1port9 &switch2port9>;
415 status = "disabled";
416 };
417
418 port-sfp@a {
419 reg = <0xa>;
420 label = "sfp";
421 sfp = <&sfp>;
422 phy-mode = "sgmii";
423 managed = "in-band-status";
424 status = "disabled";
425 };
426 };
427 };
428
429 switch0@2 {
430 compatible = "marvell,mv88e6085";
431 reg = <0x2 0>;
432 dsa,member = <0 0>;
433 interrupt-parent = <&moxtet>;
434 interrupts = <MOXTET_IRQ_TOPAZ>;
435 status = "disabled";
436
437 mdio {
438 #address-cells = <1>;
439 #size-cells = <0>;
440
441 switch0phy1_topaz: switch0phy1@11 {
442 reg = <0x11>;
443 };
444
445 switch0phy2_topaz: switch0phy2@12 {
446 reg = <0x12>;
447 };
448
449 switch0phy3_topaz: switch0phy3@13 {
450 reg = <0x13>;
451 };
452
453 switch0phy4_topaz: switch0phy4@14 {
454 reg = <0x14>;
455 };
456 };
457
458 ports {
459 #address-cells = <1>;
460 #size-cells = <0>;
461
462 port@1 {
463 reg = <0x1>;
464 label = "lan1";
465 phy-handle = <&switch0phy1_topaz>;
466 };
467
468 port@2 {
469 reg = <0x2>;
470 label = "lan2";
471 phy-handle = <&switch0phy2_topaz>;
472 };
473
474 port@3 {
475 reg = <0x3>;
476 label = "lan3";
477 phy-handle = <&switch0phy3_topaz>;
478 };
479
480 port@4 {
481 reg = <0x4>;
482 label = "lan4";
483 phy-handle = <&switch0phy4_topaz>;
484 };
485
486 port@5 {
487 reg = <0x5>;
488 label = "cpu";
489 phy-mode = "2500base-x";
490 managed = "in-band-status";
491 ethernet = <&eth1>;
492 };
493 };
494 };
495
496 switch1@11 {
497 compatible = "marvell,mv88e6190";
498 reg = <0x11 0>;
499 dsa,member = <0 1>;
500 interrupt-parent = <&moxtet>;
501 interrupts = <MOXTET_IRQ_PERIDOT(1)>;
502 status = "disabled";
503
504 mdio {
505 #address-cells = <1>;
506 #size-cells = <0>;
507
508 switch1phy1: switch1phy1@1 {
509 reg = <0x1>;
510 };
511
512 switch1phy2: switch1phy2@2 {
513 reg = <0x2>;
514 };
515
516 switch1phy3: switch1phy3@3 {
517 reg = <0x3>;
518 };
519
520 switch1phy4: switch1phy4@4 {
521 reg = <0x4>;
522 };
523
524 switch1phy5: switch1phy5@5 {
525 reg = <0x5>;
526 };
527
528 switch1phy6: switch1phy6@6 {
529 reg = <0x6>;
530 };
531
532 switch1phy7: switch1phy7@7 {
533 reg = <0x7>;
534 };
535
536 switch1phy8: switch1phy8@8 {
537 reg = <0x8>;
538 };
539 };
540
541 ports {
542 #address-cells = <1>;
543 #size-cells = <0>;
544
545 port@1 {
546 reg = <0x1>;
547 label = "lan9";
548 phy-handle = <&switch1phy1>;
549 };
550
551 port@2 {
552 reg = <0x2>;
553 label = "lan10";
554 phy-handle = <&switch1phy2>;
555 };
556
557 port@3 {
558 reg = <0x3>;
559 label = "lan11";
560 phy-handle = <&switch1phy3>;
561 };
562
563 port@4 {
564 reg = <0x4>;
565 label = "lan12";
566 phy-handle = <&switch1phy4>;
567 };
568
569 port@5 {
570 reg = <0x5>;
571 label = "lan13";
572 phy-handle = <&switch1phy5>;
573 };
574
575 port@6 {
576 reg = <0x6>;
577 label = "lan14";
578 phy-handle = <&switch1phy6>;
579 };
580
581 port@7 {
582 reg = <0x7>;
583 label = "lan15";
584 phy-handle = <&switch1phy7>;
585 };
586
587 port@8 {
588 reg = <0x8>;
589 label = "lan16";
590 phy-handle = <&switch1phy8>;
591 };
592
593 switch1port9: port@9 {
594 reg = <0x9>;
595 label = "dsa";
596 phy-mode = "2500base-x";
597 managed = "in-band-status";
598 link = <&switch0port10>;
599 };
600
601 switch1port10: port@a {
602 reg = <0xa>;
603 label = "dsa";
604 phy-mode = "2500base-x";
605 managed = "in-band-status";
606 link = <&switch2port9>;
607 status = "disabled";
608 };
609
610 port-sfp@a {
611 reg = <0xa>;
612 label = "sfp";
613 sfp = <&sfp>;
614 phy-mode = "sgmii";
615 managed = "in-band-status";
616 status = "disabled";
617 };
618 };
619 };
620
621 switch1@2 {
622 compatible = "marvell,mv88e6085";
623 reg = <0x2 0>;
624 dsa,member = <0 1>;
625 interrupt-parent = <&moxtet>;
626 interrupts = <MOXTET_IRQ_TOPAZ>;
627 status = "disabled";
628
629 mdio {
630 #address-cells = <1>;
631 #size-cells = <0>;
632
633 switch1phy1_topaz: switch1phy1@11 {
634 reg = <0x11>;
635 };
636
637 switch1phy2_topaz: switch1phy2@12 {
638 reg = <0x12>;
639 };
640
641 switch1phy3_topaz: switch1phy3@13 {
642 reg = <0x13>;
643 };
644
645 switch1phy4_topaz: switch1phy4@14 {
646 reg = <0x14>;
647 };
648 };
649
650 ports {
651 #address-cells = <1>;
652 #size-cells = <0>;
653
654 port@1 {
655 reg = <0x1>;
656 label = "lan9";
657 phy-handle = <&switch1phy1_topaz>;
658 };
659
660 port@2 {
661 reg = <0x2>;
662 label = "lan10";
663 phy-handle = <&switch1phy2_topaz>;
664 };
665
666 port@3 {
667 reg = <0x3>;
668 label = "lan11";
669 phy-handle = <&switch1phy3_topaz>;
670 };
671
672 port@4 {
673 reg = <0x4>;
674 label = "lan12";
675 phy-handle = <&switch1phy4_topaz>;
676 };
677
678 port@5 {
679 reg = <0x5>;
680 label = "dsa";
681 phy-mode = "2500base-x";
682 managed = "in-band-status";
683 link = <&switch0port10>;
684 };
685 };
686 };
687
688 switch2@12 {
689 compatible = "marvell,mv88e6190";
690 reg = <0x12 0>;
691 dsa,member = <0 2>;
692 interrupt-parent = <&moxtet>;
693 interrupts = <MOXTET_IRQ_PERIDOT(2)>;
694 status = "disabled";
695
696 mdio {
697 #address-cells = <1>;
698 #size-cells = <0>;
699
700 switch2phy1: switch2phy1@1 {
701 reg = <0x1>;
702 };
703
704 switch2phy2: switch2phy2@2 {
705 reg = <0x2>;
706 };
707
708 switch2phy3: switch2phy3@3 {
709 reg = <0x3>;
710 };
711
712 switch2phy4: switch2phy4@4 {
713 reg = <0x4>;
714 };
715
716 switch2phy5: switch2phy5@5 {
717 reg = <0x5>;
718 };
719
720 switch2phy6: switch2phy6@6 {
721 reg = <0x6>;
722 };
723
724 switch2phy7: switch2phy7@7 {
725 reg = <0x7>;
726 };
727
728 switch2phy8: switch2phy8@8 {
729 reg = <0x8>;
730 };
731 };
732
733 ports {
734 #address-cells = <1>;
735 #size-cells = <0>;
736
737 port@1 {
738 reg = <0x1>;
739 label = "lan17";
740 phy-handle = <&switch2phy1>;
741 };
742
743 port@2 {
744 reg = <0x2>;
745 label = "lan18";
746 phy-handle = <&switch2phy2>;
747 };
748
749 port@3 {
750 reg = <0x3>;
751 label = "lan19";
752 phy-handle = <&switch2phy3>;
753 };
754
755 port@4 {
756 reg = <0x4>;
757 label = "lan20";
758 phy-handle = <&switch2phy4>;
759 };
760
761 port@5 {
762 reg = <0x5>;
763 label = "lan21";
764 phy-handle = <&switch2phy5>;
765 };
766
767 port@6 {
768 reg = <0x6>;
769 label = "lan22";
770 phy-handle = <&switch2phy6>;
771 };
772
773 port@7 {
774 reg = <0x7>;
775 label = "lan23";
776 phy-handle = <&switch2phy7>;
777 };
778
779 port@8 {
780 reg = <0x8>;
781 label = "lan24";
782 phy-handle = <&switch2phy8>;
783 };
784
785 switch2port9: port@9 {
786 reg = <0x9>;
787 label = "dsa";
788 phy-mode = "2500base-x";
789 managed = "in-band-status";
790 link = <&switch1port10 &switch0port10>;
791 };
792
793 port-sfp@a {
794 reg = <0xa>;
795 label = "sfp";
796 sfp = <&sfp>;
797 phy-mode = "sgmii";
798 managed = "in-band-status";
799 status = "disabled";
800 };
801 };
802 };
803
804 switch2@2 {
805 compatible = "marvell,mv88e6085";
806 reg = <0x2 0>;
807 dsa,member = <0 2>;
808 interrupt-parent = <&moxtet>;
809 interrupts = <MOXTET_IRQ_TOPAZ>;
810 status = "disabled";
811
812 mdio {
813 #address-cells = <1>;
814 #size-cells = <0>;
815
816 switch2phy1_topaz: switch2phy1@11 {
817 reg = <0x11>;
818 };
819
820 switch2phy2_topaz: switch2phy2@12 {
821 reg = <0x12>;
822 };
823
824 switch2phy3_topaz: switch2phy3@13 {
825 reg = <0x13>;
826 };
827
828 switch2phy4_topaz: switch2phy4@14 {
829 reg = <0x14>;
830 };
831 };
832
833 ports {
834 #address-cells = <1>;
835 #size-cells = <0>;
836
837 port@1 {
838 reg = <0x1>;
839 label = "lan17";
840 phy-handle = <&switch2phy1_topaz>;
841 };
842
843 port@2 {
844 reg = <0x2>;
845 label = "lan18";
846 phy-handle = <&switch2phy2_topaz>;
847 };
848
849 port@3 {
850 reg = <0x3>;
851 label = "lan19";
852 phy-handle = <&switch2phy3_topaz>;
853 };
854
855 port@4 {
856 reg = <0x4>;
857 label = "lan20";
858 phy-handle = <&switch2phy4_topaz>;
859 };
860
861 port@5 {
862 reg = <0x5>;
863 label = "dsa";
864 phy-mode = "2500base-x";
865 managed = "in-band-status";
866 link = <&switch1port10 &switch0port10>;
867 };
868 };
869 };
Marek Behún863949e2018-08-21 12:22:09 +0200870};