0001 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
0002 /*
0003 * Copyright (c) 2020 Microchip Technology Inc. and its subsidiaries.
0004 */
0005
0006 /dts-v1/;
0007 #include "sparx5_pcb_common.dtsi"
0008
0009 /{
0010 gpio-restart {
0011 compatible = "gpio-restart";
0012 gpios = <&gpio 37 GPIO_ACTIVE_LOW>;
0013 priority = <200>;
0014 };
0015
0016 leds {
0017 compatible = "gpio-leds";
0018 led@0 {
0019 label = "twr0:green";
0020 gpios = <&sgpio_out0 8 0 GPIO_ACTIVE_LOW>;
0021 };
0022 led@1 {
0023 label = "twr0:yellow";
0024 gpios = <&sgpio_out0 8 1 GPIO_ACTIVE_LOW>;
0025 };
0026 led@2 {
0027 label = "twr1:green";
0028 gpios = <&sgpio_out0 9 0 GPIO_ACTIVE_LOW>;
0029 };
0030 led@3 {
0031 label = "twr1:yellow";
0032 gpios = <&sgpio_out0 9 1 GPIO_ACTIVE_LOW>;
0033 };
0034 led@4 {
0035 label = "twr2:green";
0036 gpios = <&sgpio_out0 10 0 GPIO_ACTIVE_LOW>;
0037 };
0038 led@5 {
0039 label = "twr2:yellow";
0040 gpios = <&sgpio_out0 10 1 GPIO_ACTIVE_LOW>;
0041 };
0042 led@6 {
0043 label = "twr3:green";
0044 gpios = <&sgpio_out0 11 0 GPIO_ACTIVE_LOW>;
0045 };
0046 led@7 {
0047 label = "twr3:yellow";
0048 gpios = <&sgpio_out0 11 1 GPIO_ACTIVE_LOW>;
0049 };
0050 led@8 {
0051 label = "eth12:green";
0052 gpios = <&sgpio_out0 12 0 GPIO_ACTIVE_HIGH>;
0053 default-state = "off";
0054 };
0055 led@9 {
0056 label = "eth12:yellow";
0057 gpios = <&sgpio_out0 12 1 GPIO_ACTIVE_HIGH>;
0058 default-state = "off";
0059 };
0060 led@10 {
0061 label = "eth13:green";
0062 gpios = <&sgpio_out0 13 0 GPIO_ACTIVE_HIGH>;
0063 default-state = "off";
0064 };
0065 led@11 {
0066 label = "eth13:yellow";
0067 gpios = <&sgpio_out0 13 1 GPIO_ACTIVE_HIGH>;
0068 default-state = "off";
0069 };
0070 led@12 {
0071 label = "eth14:green";
0072 gpios = <&sgpio_out0 14 0 GPIO_ACTIVE_HIGH>;
0073 default-state = "off";
0074 };
0075 led@13 {
0076 label = "eth14:yellow";
0077 gpios = <&sgpio_out0 14 1 GPIO_ACTIVE_HIGH>;
0078 default-state = "off";
0079 };
0080 led@14 {
0081 label = "eth15:green";
0082 gpios = <&sgpio_out0 15 0 GPIO_ACTIVE_HIGH>;
0083 default-state = "off";
0084 };
0085 led@15 {
0086 label = "eth15:yellow";
0087 gpios = <&sgpio_out0 15 1 GPIO_ACTIVE_HIGH>;
0088 default-state = "off";
0089 };
0090 led@16 {
0091 label = "eth48:green";
0092 gpios = <&sgpio_out1 16 0 GPIO_ACTIVE_HIGH>;
0093 default-state = "off";
0094 };
0095 led@17 {
0096 label = "eth48:yellow";
0097 gpios = <&sgpio_out1 16 1 GPIO_ACTIVE_HIGH>;
0098 default-state = "off";
0099 };
0100 led@18 {
0101 label = "eth49:green";
0102 gpios = <&sgpio_out1 17 0 GPIO_ACTIVE_HIGH>;
0103 default-state = "off";
0104 };
0105 led@19 {
0106 label = "eth49:yellow";
0107 gpios = <&sgpio_out1 17 1 GPIO_ACTIVE_HIGH>;
0108 default-state = "off";
0109 };
0110 led@20 {
0111 label = "eth50:green";
0112 gpios = <&sgpio_out1 18 0 GPIO_ACTIVE_HIGH>;
0113 default-state = "off";
0114 };
0115 led@21 {
0116 label = "eth50:yellow";
0117 gpios = <&sgpio_out1 18 1 GPIO_ACTIVE_HIGH>;
0118 default-state = "off";
0119 };
0120 led@22 {
0121 label = "eth51:green";
0122 gpios = <&sgpio_out1 19 0 GPIO_ACTIVE_HIGH>;
0123 default-state = "off";
0124 };
0125 led@23 {
0126 label = "eth51:yellow";
0127 gpios = <&sgpio_out1 19 1 GPIO_ACTIVE_HIGH>;
0128 default-state = "off";
0129 };
0130 led@24 {
0131 label = "eth52:green";
0132 gpios = <&sgpio_out1 20 0 GPIO_ACTIVE_HIGH>;
0133 default-state = "off";
0134 };
0135 led@25 {
0136 label = "eth52:yellow";
0137 gpios = <&sgpio_out1 20 1 GPIO_ACTIVE_HIGH>;
0138 default-state = "off";
0139 };
0140 led@26 {
0141 label = "eth53:green";
0142 gpios = <&sgpio_out1 21 0 GPIO_ACTIVE_HIGH>;
0143 default-state = "off";
0144 };
0145 led@27 {
0146 label = "eth53:yellow";
0147 gpios = <&sgpio_out1 21 1 GPIO_ACTIVE_HIGH>;
0148 default-state = "off";
0149 };
0150 led@28 {
0151 label = "eth54:green";
0152 gpios = <&sgpio_out1 22 0 GPIO_ACTIVE_HIGH>;
0153 default-state = "off";
0154 };
0155 led@29 {
0156 label = "eth54:yellow";
0157 gpios = <&sgpio_out1 22 1 GPIO_ACTIVE_HIGH>;
0158 default-state = "off";
0159 };
0160 led@30 {
0161 label = "eth55:green";
0162 gpios = <&sgpio_out1 23 0 GPIO_ACTIVE_HIGH>;
0163 default-state = "off";
0164 };
0165 led@31 {
0166 label = "eth55:yellow";
0167 gpios = <&sgpio_out1 23 1 GPIO_ACTIVE_HIGH>;
0168 default-state = "off";
0169 };
0170 led@32 {
0171 label = "eth56:green";
0172 gpios = <&sgpio_out1 24 0 GPIO_ACTIVE_HIGH>;
0173 default-state = "off";
0174 };
0175 led@33 {
0176 label = "eth56:yellow";
0177 gpios = <&sgpio_out1 24 1 GPIO_ACTIVE_HIGH>;
0178 default-state = "off";
0179 };
0180 led@34 {
0181 label = "eth57:green";
0182 gpios = <&sgpio_out1 25 0 GPIO_ACTIVE_HIGH>;
0183 default-state = "off";
0184 };
0185 led@35 {
0186 label = "eth57:yellow";
0187 gpios = <&sgpio_out1 25 1 GPIO_ACTIVE_HIGH>;
0188 default-state = "off";
0189 };
0190 led@36 {
0191 label = "eth58:green";
0192 gpios = <&sgpio_out1 26 0 GPIO_ACTIVE_HIGH>;
0193 default-state = "off";
0194 };
0195 led@37 {
0196 label = "eth58:yellow";
0197 gpios = <&sgpio_out1 26 1 GPIO_ACTIVE_HIGH>;
0198 default-state = "off";
0199 };
0200 led@38 {
0201 label = "eth59:green";
0202 gpios = <&sgpio_out1 27 0 GPIO_ACTIVE_HIGH>;
0203 default-state = "off";
0204 };
0205 led@39 {
0206 label = "eth59:yellow";
0207 gpios = <&sgpio_out1 27 1 GPIO_ACTIVE_HIGH>;
0208 default-state = "off";
0209 };
0210 led@40 {
0211 label = "eth60:green";
0212 gpios = <&sgpio_out1 28 0 GPIO_ACTIVE_HIGH>;
0213 default-state = "off";
0214 };
0215 led@41 {
0216 label = "eth60:yellow";
0217 gpios = <&sgpio_out1 28 1 GPIO_ACTIVE_HIGH>;
0218 default-state = "off";
0219 };
0220 led@42 {
0221 label = "eth61:green";
0222 gpios = <&sgpio_out1 29 0 GPIO_ACTIVE_HIGH>;
0223 default-state = "off";
0224 };
0225 led@43 {
0226 label = "eth61:yellow";
0227 gpios = <&sgpio_out1 29 1 GPIO_ACTIVE_HIGH>;
0228 default-state = "off";
0229 };
0230 led@44 {
0231 label = "eth62:green";
0232 gpios = <&sgpio_out1 30 0 GPIO_ACTIVE_HIGH>;
0233 default-state = "off";
0234 };
0235 led@45 {
0236 label = "eth62:yellow";
0237 gpios = <&sgpio_out1 30 1 GPIO_ACTIVE_HIGH>;
0238 default-state = "off";
0239 };
0240 led@46 {
0241 label = "eth63:green";
0242 gpios = <&sgpio_out1 31 0 GPIO_ACTIVE_HIGH>;
0243 default-state = "off";
0244 };
0245 led@47 {
0246 label = "eth63:yellow";
0247 gpios = <&sgpio_out1 31 1 GPIO_ACTIVE_HIGH>;
0248 default-state = "off";
0249 };
0250 };
0251 };
0252
0253 &sgpio0 {
0254 status = "okay";
0255 microchip,sgpio-port-ranges = <8 15>;
0256 gpio@0 {
0257 ngpios = <64>;
0258 };
0259 gpio@1 {
0260 ngpios = <64>;
0261 };
0262 };
0263
0264 &sgpio1 {
0265 status = "okay";
0266 microchip,sgpio-port-ranges = <24 31>;
0267 gpio@0 {
0268 ngpios = <64>;
0269 };
0270 gpio@1 {
0271 ngpios = <64>;
0272 };
0273 };
0274
0275 &spi0 {
0276 status = "okay";
0277 flash@0 {
0278 compatible = "jedec,spi-nor";
0279 spi-max-frequency = <8000000>;
0280 reg = <0>;
0281 };
0282 };
0283
0284 &spi0 {
0285 status = "okay";
0286 spi@0 {
0287 compatible = "spi-mux";
0288 mux-controls = <&mux>;
0289 #address-cells = <1>;
0290 #size-cells = <0>;
0291 reg = <0>; /* CS0 */
0292 flash@9 {
0293 compatible = "jedec,spi-nor";
0294 spi-max-frequency = <8000000>;
0295 reg = <0x9>; /* SPI */
0296 };
0297 };
0298 };
0299
0300 &sgpio0 {
0301 status = "okay";
0302 microchip,sgpio-port-ranges = <8 15>;
0303 gpio@0 {
0304 ngpios = <64>;
0305 };
0306 gpio@1 {
0307 ngpios = <64>;
0308 };
0309 };
0310
0311 &sgpio1 {
0312 status = "okay";
0313 microchip,sgpio-port-ranges = <24 31>;
0314 gpio@0 {
0315 ngpios = <64>;
0316 };
0317 gpio@1 {
0318 ngpios = <64>;
0319 };
0320 };
0321
0322 &sgpio2 {
0323 status = "okay";
0324 microchip,sgpio-port-ranges = <0 0>, <11 31>;
0325 };
0326
0327 &gpio {
0328 i2cmux_pins_i: i2cmux-pins-i {
0329 pins = "GPIO_16", "GPIO_17", "GPIO_18", "GPIO_19",
0330 "GPIO_20", "GPIO_22", "GPIO_36", "GPIO_35",
0331 "GPIO_50", "GPIO_51", "GPIO_56", "GPIO_57";
0332 function = "twi_scl_m";
0333 output-low;
0334 };
0335 i2cmux_0: i2cmux-0 {
0336 pins = "GPIO_16";
0337 function = "twi_scl_m";
0338 output-high;
0339 };
0340 i2cmux_1: i2cmux-1 {
0341 pins = "GPIO_17";
0342 function = "twi_scl_m";
0343 output-high;
0344 };
0345 i2cmux_2: i2cmux-2 {
0346 pins = "GPIO_18";
0347 function = "twi_scl_m";
0348 output-high;
0349 };
0350 i2cmux_3: i2cmux-3 {
0351 pins = "GPIO_19";
0352 function = "twi_scl_m";
0353 output-high;
0354 };
0355 i2cmux_4: i2cmux-4 {
0356 pins = "GPIO_20";
0357 function = "twi_scl_m";
0358 output-high;
0359 };
0360 i2cmux_5: i2cmux-5 {
0361 pins = "GPIO_22";
0362 function = "twi_scl_m";
0363 output-high;
0364 };
0365 i2cmux_6: i2cmux-6 {
0366 pins = "GPIO_36";
0367 function = "twi_scl_m";
0368 output-high;
0369 };
0370 i2cmux_7: i2cmux-7 {
0371 pins = "GPIO_35";
0372 function = "twi_scl_m";
0373 output-high;
0374 };
0375 i2cmux_8: i2cmux-8 {
0376 pins = "GPIO_50";
0377 function = "twi_scl_m";
0378 output-high;
0379 };
0380 i2cmux_9: i2cmux-9 {
0381 pins = "GPIO_51";
0382 function = "twi_scl_m";
0383 output-high;
0384 };
0385 i2cmux_10: i2cmux-10 {
0386 pins = "GPIO_56";
0387 function = "twi_scl_m";
0388 output-high;
0389 };
0390 i2cmux_11: i2cmux-11 {
0391 pins = "GPIO_57";
0392 function = "twi_scl_m";
0393 output-high;
0394 };
0395 };
0396
0397 &axi {
0398 i2c0_imux: i2c0-imux@0 {
0399 compatible = "i2c-mux-pinctrl";
0400 #address-cells = <1>;
0401 #size-cells = <0>;
0402 i2c-parent = <&i2c0>;
0403 };
0404 i2c0_emux: i2c0-emux@0 {
0405 compatible = "i2c-mux-gpio";
0406 #address-cells = <1>;
0407 #size-cells = <0>;
0408 i2c-parent = <&i2c0>;
0409 };
0410 };
0411
0412 &i2c0_imux {
0413 pinctrl-names =
0414 "i2c_sfp1", "i2c_sfp2", "i2c_sfp3", "i2c_sfp4",
0415 "i2c_sfp5", "i2c_sfp6", "i2c_sfp7", "i2c_sfp8",
0416 "i2c_sfp9", "i2c_sfp10", "i2c_sfp11", "i2c_sfp12", "idle";
0417 pinctrl-0 = <&i2cmux_0>;
0418 pinctrl-1 = <&i2cmux_1>;
0419 pinctrl-2 = <&i2cmux_2>;
0420 pinctrl-3 = <&i2cmux_3>;
0421 pinctrl-4 = <&i2cmux_4>;
0422 pinctrl-5 = <&i2cmux_5>;
0423 pinctrl-6 = <&i2cmux_6>;
0424 pinctrl-7 = <&i2cmux_7>;
0425 pinctrl-8 = <&i2cmux_8>;
0426 pinctrl-9 = <&i2cmux_9>;
0427 pinctrl-10 = <&i2cmux_10>;
0428 pinctrl-11 = <&i2cmux_11>;
0429 pinctrl-12 = <&i2cmux_pins_i>;
0430 i2c_sfp1: i2c_sfp1 {
0431 reg = <0x0>;
0432 #address-cells = <1>;
0433 #size-cells = <0>;
0434 };
0435 i2c_sfp2: i2c_sfp2 {
0436 reg = <0x1>;
0437 #address-cells = <1>;
0438 #size-cells = <0>;
0439 };
0440 i2c_sfp3: i2c_sfp3 {
0441 reg = <0x2>;
0442 #address-cells = <1>;
0443 #size-cells = <0>;
0444 };
0445 i2c_sfp4: i2c_sfp4 {
0446 reg = <0x3>;
0447 #address-cells = <1>;
0448 #size-cells = <0>;
0449 };
0450 i2c_sfp5: i2c_sfp5 {
0451 reg = <0x4>;
0452 #address-cells = <1>;
0453 #size-cells = <0>;
0454 };
0455 i2c_sfp6: i2c_sfp6 {
0456 reg = <0x5>;
0457 #address-cells = <1>;
0458 #size-cells = <0>;
0459 };
0460 i2c_sfp7: i2c_sfp7 {
0461 reg = <0x6>;
0462 #address-cells = <1>;
0463 #size-cells = <0>;
0464 };
0465 i2c_sfp8: i2c_sfp8 {
0466 reg = <0x7>;
0467 #address-cells = <1>;
0468 #size-cells = <0>;
0469 };
0470 i2c_sfp9: i2c_sfp9 {
0471 reg = <0x8>;
0472 #address-cells = <1>;
0473 #size-cells = <0>;
0474 };
0475 i2c_sfp10: i2c_sfp10 {
0476 reg = <0x9>;
0477 #address-cells = <1>;
0478 #size-cells = <0>;
0479 };
0480 i2c_sfp11: i2c_sfp11 {
0481 reg = <0xa>;
0482 #address-cells = <1>;
0483 #size-cells = <0>;
0484 };
0485 i2c_sfp12: i2c_sfp12 {
0486 reg = <0xb>;
0487 #address-cells = <1>;
0488 #size-cells = <0>;
0489 };
0490 };
0491
0492 &i2c0_emux {
0493 mux-gpios = <&gpio 55 GPIO_ACTIVE_HIGH
0494 &gpio 60 GPIO_ACTIVE_HIGH
0495 &gpio 61 GPIO_ACTIVE_HIGH
0496 &gpio 54 GPIO_ACTIVE_HIGH>;
0497 idle-state = <0x8>;
0498 i2c_sfp13: i2c_sfp13 {
0499 reg = <0x0>;
0500 #address-cells = <1>;
0501 #size-cells = <0>;
0502 };
0503 i2c_sfp14: i2c_sfp14 {
0504 reg = <0x1>;
0505 #address-cells = <1>;
0506 #size-cells = <0>;
0507 };
0508 i2c_sfp15: i2c_sfp15 {
0509 reg = <0x2>;
0510 #address-cells = <1>;
0511 #size-cells = <0>;
0512 };
0513 i2c_sfp16: i2c_sfp16 {
0514 reg = <0x3>;
0515 #address-cells = <1>;
0516 #size-cells = <0>;
0517 };
0518 i2c_sfp17: i2c_sfp17 {
0519 reg = <0x4>;
0520 #address-cells = <1>;
0521 #size-cells = <0>;
0522 };
0523 i2c_sfp18: i2c_sfp18 {
0524 reg = <0x5>;
0525 #address-cells = <1>;
0526 #size-cells = <0>;
0527 };
0528 i2c_sfp19: i2c_sfp19 {
0529 reg = <0x6>;
0530 #address-cells = <1>;
0531 #size-cells = <0>;
0532 };
0533 i2c_sfp20: i2c_sfp20 {
0534 reg = <0x7>;
0535 #address-cells = <1>;
0536 #size-cells = <0>;
0537 };
0538 };
0539
0540 &mdio3 {
0541 status = "ok";
0542 phy64: ethernet-phy@64 {
0543 reg = <28>;
0544 };
0545 };
0546
0547 &axi {
0548 sfp_eth12: sfp-eth12 {
0549 compatible = "sff,sfp";
0550 i2c-bus = <&i2c_sfp1>;
0551 tx-disable-gpios = <&sgpio_out2 11 1 GPIO_ACTIVE_LOW>;
0552 los-gpios = <&sgpio_in2 11 1 GPIO_ACTIVE_HIGH>;
0553 mod-def0-gpios = <&sgpio_in2 11 2 GPIO_ACTIVE_LOW>;
0554 tx-fault-gpios = <&sgpio_in2 12 0 GPIO_ACTIVE_HIGH>;
0555 };
0556 sfp_eth13: sfp-eth13 {
0557 compatible = "sff,sfp";
0558 i2c-bus = <&i2c_sfp2>;
0559 tx-disable-gpios = <&sgpio_out2 12 1 GPIO_ACTIVE_LOW>;
0560 los-gpios = <&sgpio_in2 12 1 GPIO_ACTIVE_HIGH>;
0561 mod-def0-gpios = <&sgpio_in2 12 2 GPIO_ACTIVE_LOW>;
0562 tx-fault-gpios = <&sgpio_in2 13 0 GPIO_ACTIVE_HIGH>;
0563 };
0564 sfp_eth14: sfp-eth14 {
0565 compatible = "sff,sfp";
0566 i2c-bus = <&i2c_sfp3>;
0567 tx-disable-gpios = <&sgpio_out2 13 1 GPIO_ACTIVE_LOW>;
0568 los-gpios = <&sgpio_in2 13 1 GPIO_ACTIVE_HIGH>;
0569 mod-def0-gpios = <&sgpio_in2 13 2 GPIO_ACTIVE_LOW>;
0570 tx-fault-gpios = <&sgpio_in2 14 0 GPIO_ACTIVE_HIGH>;
0571 };
0572 sfp_eth15: sfp-eth15 {
0573 compatible = "sff,sfp";
0574 i2c-bus = <&i2c_sfp4>;
0575 tx-disable-gpios = <&sgpio_out2 14 1 GPIO_ACTIVE_LOW>;
0576 los-gpios = <&sgpio_in2 14 1 GPIO_ACTIVE_HIGH>;
0577 mod-def0-gpios = <&sgpio_in2 14 2 GPIO_ACTIVE_LOW>;
0578 tx-fault-gpios = <&sgpio_in2 15 0 GPIO_ACTIVE_HIGH>;
0579 };
0580 sfp_eth48: sfp-eth48 {
0581 compatible = "sff,sfp";
0582 i2c-bus = <&i2c_sfp5>;
0583 tx-disable-gpios = <&sgpio_out2 15 1 GPIO_ACTIVE_LOW>;
0584 los-gpios = <&sgpio_in2 15 1 GPIO_ACTIVE_HIGH>;
0585 mod-def0-gpios = <&sgpio_in2 15 2 GPIO_ACTIVE_LOW>;
0586 tx-fault-gpios = <&sgpio_in2 16 0 GPIO_ACTIVE_HIGH>;
0587 };
0588 sfp_eth49: sfp-eth49 {
0589 compatible = "sff,sfp";
0590 i2c-bus = <&i2c_sfp6>;
0591 tx-disable-gpios = <&sgpio_out2 16 1 GPIO_ACTIVE_LOW>;
0592 los-gpios = <&sgpio_in2 16 1 GPIO_ACTIVE_HIGH>;
0593 mod-def0-gpios = <&sgpio_in2 16 2 GPIO_ACTIVE_LOW>;
0594 tx-fault-gpios = <&sgpio_in2 17 0 GPIO_ACTIVE_HIGH>;
0595 };
0596 sfp_eth50: sfp-eth50 {
0597 compatible = "sff,sfp";
0598 i2c-bus = <&i2c_sfp7>;
0599 tx-disable-gpios = <&sgpio_out2 17 1 GPIO_ACTIVE_LOW>;
0600 los-gpios = <&sgpio_in2 17 1 GPIO_ACTIVE_HIGH>;
0601 mod-def0-gpios = <&sgpio_in2 17 2 GPIO_ACTIVE_LOW>;
0602 tx-fault-gpios = <&sgpio_in2 18 0 GPIO_ACTIVE_HIGH>;
0603 };
0604 sfp_eth51: sfp-eth51 {
0605 compatible = "sff,sfp";
0606 i2c-bus = <&i2c_sfp8>;
0607 tx-disable-gpios = <&sgpio_out2 18 1 GPIO_ACTIVE_LOW>;
0608 los-gpios = <&sgpio_in2 18 1 GPIO_ACTIVE_HIGH>;
0609 mod-def0-gpios = <&sgpio_in2 18 2 GPIO_ACTIVE_LOW>;
0610 tx-fault-gpios = <&sgpio_in2 19 0 GPIO_ACTIVE_HIGH>;
0611 };
0612 sfp_eth52: sfp-eth52 {
0613 compatible = "sff,sfp";
0614 i2c-bus = <&i2c_sfp9>;
0615 tx-disable-gpios = <&sgpio_out2 19 1 GPIO_ACTIVE_LOW>;
0616 los-gpios = <&sgpio_in2 19 1 GPIO_ACTIVE_HIGH>;
0617 mod-def0-gpios = <&sgpio_in2 19 2 GPIO_ACTIVE_LOW>;
0618 tx-fault-gpios = <&sgpio_in2 20 0 GPIO_ACTIVE_HIGH>;
0619 };
0620 sfp_eth53: sfp-eth53 {
0621 compatible = "sff,sfp";
0622 i2c-bus = <&i2c_sfp10>;
0623 tx-disable-gpios = <&sgpio_out2 20 1 GPIO_ACTIVE_LOW>;
0624 los-gpios = <&sgpio_in2 20 1 GPIO_ACTIVE_HIGH>;
0625 mod-def0-gpios = <&sgpio_in2 20 2 GPIO_ACTIVE_LOW>;
0626 tx-fault-gpios = <&sgpio_in2 21 0 GPIO_ACTIVE_HIGH>;
0627 };
0628 sfp_eth54: sfp-eth54 {
0629 compatible = "sff,sfp";
0630 i2c-bus = <&i2c_sfp11>;
0631 tx-disable-gpios = <&sgpio_out2 21 1 GPIO_ACTIVE_LOW>;
0632 los-gpios = <&sgpio_in2 21 1 GPIO_ACTIVE_HIGH>;
0633 mod-def0-gpios = <&sgpio_in2 21 2 GPIO_ACTIVE_LOW>;
0634 tx-fault-gpios = <&sgpio_in2 22 0 GPIO_ACTIVE_HIGH>;
0635 };
0636 sfp_eth55: sfp-eth55 {
0637 compatible = "sff,sfp";
0638 i2c-bus = <&i2c_sfp12>;
0639 tx-disable-gpios = <&sgpio_out2 22 1 GPIO_ACTIVE_LOW>;
0640 los-gpios = <&sgpio_in2 22 1 GPIO_ACTIVE_HIGH>;
0641 mod-def0-gpios = <&sgpio_in2 22 2 GPIO_ACTIVE_LOW>;
0642 tx-fault-gpios = <&sgpio_in2 23 0 GPIO_ACTIVE_HIGH>;
0643 };
0644 sfp_eth56: sfp-eth56 {
0645 compatible = "sff,sfp";
0646 i2c-bus = <&i2c_sfp13>;
0647 tx-disable-gpios = <&sgpio_out2 23 1 GPIO_ACTIVE_LOW>;
0648 los-gpios = <&sgpio_in2 23 1 GPIO_ACTIVE_HIGH>;
0649 mod-def0-gpios = <&sgpio_in2 23 2 GPIO_ACTIVE_LOW>;
0650 tx-fault-gpios = <&sgpio_in2 24 0 GPIO_ACTIVE_HIGH>;
0651 };
0652 sfp_eth57: sfp-eth57 {
0653 compatible = "sff,sfp";
0654 i2c-bus = <&i2c_sfp14>;
0655 tx-disable-gpios = <&sgpio_out2 24 1 GPIO_ACTIVE_LOW>;
0656 los-gpios = <&sgpio_in2 24 1 GPIO_ACTIVE_HIGH>;
0657 mod-def0-gpios = <&sgpio_in2 24 2 GPIO_ACTIVE_LOW>;
0658 tx-fault-gpios = <&sgpio_in2 25 0 GPIO_ACTIVE_HIGH>;
0659 };
0660 sfp_eth58: sfp-eth58 {
0661 compatible = "sff,sfp";
0662 i2c-bus = <&i2c_sfp15>;
0663 tx-disable-gpios = <&sgpio_out2 25 1 GPIO_ACTIVE_LOW>;
0664 los-gpios = <&sgpio_in2 25 1 GPIO_ACTIVE_HIGH>;
0665 mod-def0-gpios = <&sgpio_in2 25 2 GPIO_ACTIVE_LOW>;
0666 tx-fault-gpios = <&sgpio_in2 26 0 GPIO_ACTIVE_HIGH>;
0667 };
0668 sfp_eth59: sfp-eth59 {
0669 compatible = "sff,sfp";
0670 i2c-bus = <&i2c_sfp16>;
0671 tx-disable-gpios = <&sgpio_out2 26 1 GPIO_ACTIVE_LOW>;
0672 los-gpios = <&sgpio_in2 26 1 GPIO_ACTIVE_HIGH>;
0673 mod-def0-gpios = <&sgpio_in2 26 2 GPIO_ACTIVE_LOW>;
0674 tx-fault-gpios = <&sgpio_in2 27 0 GPIO_ACTIVE_HIGH>;
0675 };
0676 sfp_eth60: sfp-eth60 {
0677 compatible = "sff,sfp";
0678 i2c-bus = <&i2c_sfp17>;
0679 tx-disable-gpios = <&sgpio_out2 27 1 GPIO_ACTIVE_LOW>;
0680 los-gpios = <&sgpio_in2 27 1 GPIO_ACTIVE_HIGH>;
0681 mod-def0-gpios = <&sgpio_in2 27 2 GPIO_ACTIVE_LOW>;
0682 tx-fault-gpios = <&sgpio_in2 28 0 GPIO_ACTIVE_HIGH>;
0683 };
0684 sfp_eth61: sfp-eth61 {
0685 compatible = "sff,sfp";
0686 i2c-bus = <&i2c_sfp18>;
0687 tx-disable-gpios = <&sgpio_out2 28 1 GPIO_ACTIVE_LOW>;
0688 los-gpios = <&sgpio_in2 28 1 GPIO_ACTIVE_HIGH>;
0689 mod-def0-gpios = <&sgpio_in2 28 2 GPIO_ACTIVE_LOW>;
0690 tx-fault-gpios = <&sgpio_in2 29 0 GPIO_ACTIVE_HIGH>;
0691 };
0692 sfp_eth62: sfp-eth62 {
0693 compatible = "sff,sfp";
0694 i2c-bus = <&i2c_sfp19>;
0695 tx-disable-gpios = <&sgpio_out2 29 1 GPIO_ACTIVE_LOW>;
0696 los-gpios = <&sgpio_in2 29 1 GPIO_ACTIVE_HIGH>;
0697 mod-def0-gpios = <&sgpio_in2 29 2 GPIO_ACTIVE_LOW>;
0698 tx-fault-gpios = <&sgpio_in2 30 0 GPIO_ACTIVE_HIGH>;
0699 };
0700 sfp_eth63: sfp-eth63 {
0701 compatible = "sff,sfp";
0702 i2c-bus = <&i2c_sfp20>;
0703 tx-disable-gpios = <&sgpio_out2 30 1 GPIO_ACTIVE_LOW>;
0704 los-gpios = <&sgpio_in2 30 1 GPIO_ACTIVE_HIGH>;
0705 mod-def0-gpios = <&sgpio_in2 30 2 GPIO_ACTIVE_LOW>;
0706 tx-fault-gpios = <&sgpio_in2 31 0 GPIO_ACTIVE_HIGH>;
0707 };
0708 };
0709
0710 &switch {
0711 ethernet-ports {
0712 #address-cells = <1>;
0713 #size-cells = <0>;
0714
0715 /* 10G SFPs */
0716 port12: port@12 {
0717 reg = <12>;
0718 microchip,bandwidth = <10000>;
0719 phys = <&serdes 13>;
0720 phy-mode = "10gbase-r";
0721 sfp = <&sfp_eth12>;
0722 microchip,sd-sgpio = <301>;
0723 managed = "in-band-status";
0724 };
0725 port13: port@13 {
0726 reg = <13>;
0727 /* Example: CU SFP, 1G speed */
0728 microchip,bandwidth = <10000>;
0729 phys = <&serdes 14>;
0730 phy-mode = "10gbase-r";
0731 sfp = <&sfp_eth13>;
0732 microchip,sd-sgpio = <305>;
0733 managed = "in-band-status";
0734 };
0735 port14: port@14 {
0736 reg = <14>;
0737 microchip,bandwidth = <10000>;
0738 phys = <&serdes 15>;
0739 phy-mode = "10gbase-r";
0740 sfp = <&sfp_eth14>;
0741 microchip,sd-sgpio = <309>;
0742 managed = "in-band-status";
0743 };
0744 port15: port@15 {
0745 reg = <15>;
0746 microchip,bandwidth = <10000>;
0747 phys = <&serdes 16>;
0748 phy-mode = "10gbase-r";
0749 sfp = <&sfp_eth15>;
0750 microchip,sd-sgpio = <313>;
0751 managed = "in-band-status";
0752 };
0753 port48: port@48 {
0754 reg = <48>;
0755 microchip,bandwidth = <10000>;
0756 phys = <&serdes 17>;
0757 phy-mode = "10gbase-r";
0758 sfp = <&sfp_eth48>;
0759 microchip,sd-sgpio = <317>;
0760 managed = "in-band-status";
0761 };
0762 port49: port@49 {
0763 reg = <49>;
0764 microchip,bandwidth = <10000>;
0765 phys = <&serdes 18>;
0766 phy-mode = "10gbase-r";
0767 sfp = <&sfp_eth49>;
0768 microchip,sd-sgpio = <321>;
0769 managed = "in-band-status";
0770 };
0771 port50: port@50 {
0772 reg = <50>;
0773 microchip,bandwidth = <10000>;
0774 phys = <&serdes 19>;
0775 phy-mode = "10gbase-r";
0776 sfp = <&sfp_eth50>;
0777 microchip,sd-sgpio = <325>;
0778 managed = "in-band-status";
0779 };
0780 port51: port@51 {
0781 reg = <51>;
0782 microchip,bandwidth = <10000>;
0783 phys = <&serdes 20>;
0784 phy-mode = "10gbase-r";
0785 sfp = <&sfp_eth51>;
0786 microchip,sd-sgpio = <329>;
0787 managed = "in-band-status";
0788 };
0789 port52: port@52 {
0790 reg = <52>;
0791 microchip,bandwidth = <10000>;
0792 phys = <&serdes 21>;
0793 phy-mode = "10gbase-r";
0794 sfp = <&sfp_eth52>;
0795 microchip,sd-sgpio = <333>;
0796 managed = "in-band-status";
0797 };
0798 port53: port@53 {
0799 reg = <53>;
0800 microchip,bandwidth = <10000>;
0801 phys = <&serdes 22>;
0802 phy-mode = "10gbase-r";
0803 sfp = <&sfp_eth53>;
0804 microchip,sd-sgpio = <337>;
0805 managed = "in-band-status";
0806 };
0807 port54: port@54 {
0808 reg = <54>;
0809 microchip,bandwidth = <10000>;
0810 phys = <&serdes 23>;
0811 phy-mode = "10gbase-r";
0812 sfp = <&sfp_eth54>;
0813 microchip,sd-sgpio = <341>;
0814 managed = "in-band-status";
0815 };
0816 port55: port@55 {
0817 reg = <55>;
0818 microchip,bandwidth = <10000>;
0819 phys = <&serdes 24>;
0820 phy-mode = "10gbase-r";
0821 sfp = <&sfp_eth55>;
0822 microchip,sd-sgpio = <345>;
0823 managed = "in-band-status";
0824 };
0825 /* 25G SFPs */
0826 port56: port@56 {
0827 reg = <56>;
0828 microchip,bandwidth = <10000>;
0829 phys = <&serdes 25>;
0830 phy-mode = "10gbase-r";
0831 sfp = <&sfp_eth56>;
0832 microchip,sd-sgpio = <349>;
0833 managed = "in-band-status";
0834 };
0835 port57: port@57 {
0836 reg = <57>;
0837 microchip,bandwidth = <10000>;
0838 phys = <&serdes 26>;
0839 phy-mode = "10gbase-r";
0840 sfp = <&sfp_eth57>;
0841 microchip,sd-sgpio = <353>;
0842 managed = "in-band-status";
0843 };
0844 port58: port@58 {
0845 reg = <58>;
0846 microchip,bandwidth = <10000>;
0847 phys = <&serdes 27>;
0848 phy-mode = "10gbase-r";
0849 sfp = <&sfp_eth58>;
0850 microchip,sd-sgpio = <357>;
0851 managed = "in-band-status";
0852 };
0853 port59: port@59 {
0854 reg = <59>;
0855 microchip,bandwidth = <10000>;
0856 phys = <&serdes 28>;
0857 phy-mode = "10gbase-r";
0858 sfp = <&sfp_eth59>;
0859 microchip,sd-sgpio = <361>;
0860 managed = "in-band-status";
0861 };
0862 port60: port@60 {
0863 reg = <60>;
0864 microchip,bandwidth = <10000>;
0865 phys = <&serdes 29>;
0866 phy-mode = "10gbase-r";
0867 sfp = <&sfp_eth60>;
0868 microchip,sd-sgpio = <365>;
0869 managed = "in-band-status";
0870 };
0871 port61: port@61 {
0872 reg = <61>;
0873 microchip,bandwidth = <10000>;
0874 phys = <&serdes 30>;
0875 phy-mode = "10gbase-r";
0876 sfp = <&sfp_eth61>;
0877 microchip,sd-sgpio = <369>;
0878 managed = "in-band-status";
0879 };
0880 port62: port@62 {
0881 reg = <62>;
0882 microchip,bandwidth = <10000>;
0883 phys = <&serdes 31>;
0884 phy-mode = "10gbase-r";
0885 sfp = <&sfp_eth62>;
0886 microchip,sd-sgpio = <373>;
0887 managed = "in-band-status";
0888 };
0889 port63: port@63 {
0890 reg = <63>;
0891 microchip,bandwidth = <10000>;
0892 phys = <&serdes 32>;
0893 phy-mode = "10gbase-r";
0894 sfp = <&sfp_eth63>;
0895 microchip,sd-sgpio = <377>;
0896 managed = "in-band-status";
0897 };
0898 /* Finally the Management interface */
0899 port64: port@64 {
0900 reg = <64>;
0901 microchip,bandwidth = <1000>;
0902 phys = <&serdes 0>;
0903 phy-handle = <&phy64>;
0904 phy-mode = "sgmii";
0905 };
0906 };
0907 };