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