1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2/* 3 * Copyright (c) 2020 Microchip Technology Inc. and its subsidiaries. 4 */ 5 6/dts-v1/; 7#include "sparx5_pcb_common.dtsi" 8 9/{ 10 aliases { 11 i2c0 = &i2c0; 12 i2c100 = &i2c100; 13 i2c101 = &i2c101; 14 i2c102 = &i2c102; 15 i2c103 = &i2c103; 16 i2c104 = &i2c104; 17 i2c105 = &i2c105; 18 i2c106 = &i2c106; 19 i2c107 = &i2c107; 20 i2c108 = &i2c108; 21 i2c109 = &i2c109; 22 i2c110 = &i2c110; 23 i2c111 = &i2c111; 24 i2c112 = &i2c112; 25 i2c113 = &i2c113; 26 i2c114 = &i2c114; 27 i2c115 = &i2c115; 28 i2c116 = &i2c116; 29 i2c117 = &i2c117; 30 i2c118 = &i2c118; 31 i2c119 = &i2c119; 32 }; 33 34 gpio-restart { 35 compatible = "gpio-restart"; 36 gpios = <&gpio 37 GPIO_ACTIVE_LOW>; 37 priority = <200>; 38 }; 39 40 leds { 41 compatible = "gpio-leds"; 42 led@0 { 43 label = "twr0:green"; 44 gpios = <&sgpio_out0 8 0 GPIO_ACTIVE_LOW>; 45 }; 46 led@1 { 47 label = "twr0:yellow"; 48 gpios = <&sgpio_out0 8 1 GPIO_ACTIVE_LOW>; 49 }; 50 led@2 { 51 label = "twr1:green"; 52 gpios = <&sgpio_out0 9 0 GPIO_ACTIVE_LOW>; 53 }; 54 led@3 { 55 label = "twr1:yellow"; 56 gpios = <&sgpio_out0 9 1 GPIO_ACTIVE_LOW>; 57 }; 58 led@4 { 59 label = "twr2:green"; 60 gpios = <&sgpio_out0 10 0 GPIO_ACTIVE_LOW>; 61 }; 62 led@5 { 63 label = "twr2:yellow"; 64 gpios = <&sgpio_out0 10 1 GPIO_ACTIVE_LOW>; 65 }; 66 led@6 { 67 label = "twr3:green"; 68 gpios = <&sgpio_out0 11 0 GPIO_ACTIVE_LOW>; 69 }; 70 led@7 { 71 label = "twr3:yellow"; 72 gpios = <&sgpio_out0 11 1 GPIO_ACTIVE_LOW>; 73 }; 74 led@8 { 75 label = "eth12:green"; 76 gpios = <&sgpio_out0 12 0 GPIO_ACTIVE_HIGH>; 77 default-state = "off"; 78 }; 79 led@9 { 80 label = "eth12:yellow"; 81 gpios = <&sgpio_out0 12 1 GPIO_ACTIVE_HIGH>; 82 default-state = "off"; 83 }; 84 led@10 { 85 label = "eth13:green"; 86 gpios = <&sgpio_out0 13 0 GPIO_ACTIVE_HIGH>; 87 default-state = "off"; 88 }; 89 led@11 { 90 label = "eth13:yellow"; 91 gpios = <&sgpio_out0 13 1 GPIO_ACTIVE_HIGH>; 92 default-state = "off"; 93 }; 94 led@12 { 95 label = "eth14:green"; 96 gpios = <&sgpio_out0 14 0 GPIO_ACTIVE_HIGH>; 97 default-state = "off"; 98 }; 99 led@13 { 100 label = "eth14:yellow"; 101 gpios = <&sgpio_out0 14 1 GPIO_ACTIVE_HIGH>; 102 default-state = "off"; 103 }; 104 led@14 { 105 label = "eth15:green"; 106 gpios = <&sgpio_out0 15 0 GPIO_ACTIVE_HIGH>; 107 default-state = "off"; 108 }; 109 led@15 { 110 label = "eth15:yellow"; 111 gpios = <&sgpio_out0 15 1 GPIO_ACTIVE_HIGH>; 112 default-state = "off"; 113 }; 114 led@16 { 115 label = "eth48:green"; 116 gpios = <&sgpio_out1 16 0 GPIO_ACTIVE_HIGH>; 117 default-state = "off"; 118 }; 119 led@17 { 120 label = "eth48:yellow"; 121 gpios = <&sgpio_out1 16 1 GPIO_ACTIVE_HIGH>; 122 default-state = "off"; 123 }; 124 led@18 { 125 label = "eth49:green"; 126 gpios = <&sgpio_out1 17 0 GPIO_ACTIVE_HIGH>; 127 default-state = "off"; 128 }; 129 led@19 { 130 label = "eth49:yellow"; 131 gpios = <&sgpio_out1 17 1 GPIO_ACTIVE_HIGH>; 132 default-state = "off"; 133 }; 134 led@20 { 135 label = "eth50:green"; 136 gpios = <&sgpio_out1 18 0 GPIO_ACTIVE_HIGH>; 137 default-state = "off"; 138 }; 139 led@21 { 140 label = "eth50:yellow"; 141 gpios = <&sgpio_out1 18 1 GPIO_ACTIVE_HIGH>; 142 default-state = "off"; 143 }; 144 led@22 { 145 label = "eth51:green"; 146 gpios = <&sgpio_out1 19 0 GPIO_ACTIVE_HIGH>; 147 default-state = "off"; 148 }; 149 led@23 { 150 label = "eth51:yellow"; 151 gpios = <&sgpio_out1 19 1 GPIO_ACTIVE_HIGH>; 152 default-state = "off"; 153 }; 154 led@24 { 155 label = "eth52:green"; 156 gpios = <&sgpio_out1 20 0 GPIO_ACTIVE_HIGH>; 157 default-state = "off"; 158 }; 159 led@25 { 160 label = "eth52:yellow"; 161 gpios = <&sgpio_out1 20 1 GPIO_ACTIVE_HIGH>; 162 default-state = "off"; 163 }; 164 led@26 { 165 label = "eth53:green"; 166 gpios = <&sgpio_out1 21 0 GPIO_ACTIVE_HIGH>; 167 default-state = "off"; 168 }; 169 led@27 { 170 label = "eth53:yellow"; 171 gpios = <&sgpio_out1 21 1 GPIO_ACTIVE_HIGH>; 172 default-state = "off"; 173 }; 174 led@28 { 175 label = "eth54:green"; 176 gpios = <&sgpio_out1 22 0 GPIO_ACTIVE_HIGH>; 177 default-state = "off"; 178 }; 179 led@29 { 180 label = "eth54:yellow"; 181 gpios = <&sgpio_out1 22 1 GPIO_ACTIVE_HIGH>; 182 default-state = "off"; 183 }; 184 led@30 { 185 label = "eth55:green"; 186 gpios = <&sgpio_out1 23 0 GPIO_ACTIVE_HIGH>; 187 default-state = "off"; 188 }; 189 led@31 { 190 label = "eth55:yellow"; 191 gpios = <&sgpio_out1 23 1 GPIO_ACTIVE_HIGH>; 192 default-state = "off"; 193 }; 194 led@32 { 195 label = "eth56:green"; 196 gpios = <&sgpio_out1 24 0 GPIO_ACTIVE_HIGH>; 197 default-state = "off"; 198 }; 199 led@33 { 200 label = "eth56:yellow"; 201 gpios = <&sgpio_out1 24 1 GPIO_ACTIVE_HIGH>; 202 default-state = "off"; 203 }; 204 led@34 { 205 label = "eth57:green"; 206 gpios = <&sgpio_out1 25 0 GPIO_ACTIVE_HIGH>; 207 default-state = "off"; 208 }; 209 led@35 { 210 label = "eth57:yellow"; 211 gpios = <&sgpio_out1 25 1 GPIO_ACTIVE_HIGH>; 212 default-state = "off"; 213 }; 214 led@36 { 215 label = "eth58:green"; 216 gpios = <&sgpio_out1 26 0 GPIO_ACTIVE_HIGH>; 217 default-state = "off"; 218 }; 219 led@37 { 220 label = "eth58:yellow"; 221 gpios = <&sgpio_out1 26 1 GPIO_ACTIVE_HIGH>; 222 default-state = "off"; 223 }; 224 led@38 { 225 label = "eth59:green"; 226 gpios = <&sgpio_out1 27 0 GPIO_ACTIVE_HIGH>; 227 default-state = "off"; 228 }; 229 led@39 { 230 label = "eth59:yellow"; 231 gpios = <&sgpio_out1 27 1 GPIO_ACTIVE_HIGH>; 232 default-state = "off"; 233 }; 234 led@40 { 235 label = "eth60:green"; 236 gpios = <&sgpio_out1 28 0 GPIO_ACTIVE_HIGH>; 237 default-state = "off"; 238 }; 239 led@41 { 240 label = "eth60:yellow"; 241 gpios = <&sgpio_out1 28 1 GPIO_ACTIVE_HIGH>; 242 default-state = "off"; 243 }; 244 led@42 { 245 label = "eth61:green"; 246 gpios = <&sgpio_out1 29 0 GPIO_ACTIVE_HIGH>; 247 default-state = "off"; 248 }; 249 led@43 { 250 label = "eth61:yellow"; 251 gpios = <&sgpio_out1 29 1 GPIO_ACTIVE_HIGH>; 252 default-state = "off"; 253 }; 254 led@44 { 255 label = "eth62:green"; 256 gpios = <&sgpio_out1 30 0 GPIO_ACTIVE_HIGH>; 257 default-state = "off"; 258 }; 259 led@45 { 260 label = "eth62:yellow"; 261 gpios = <&sgpio_out1 30 1 GPIO_ACTIVE_HIGH>; 262 default-state = "off"; 263 }; 264 led@46 { 265 label = "eth63:green"; 266 gpios = <&sgpio_out1 31 0 GPIO_ACTIVE_HIGH>; 267 default-state = "off"; 268 }; 269 led@47 { 270 label = "eth63:yellow"; 271 gpios = <&sgpio_out1 31 1 GPIO_ACTIVE_HIGH>; 272 default-state = "off"; 273 }; 274 }; 275}; 276 277&sgpio0 { 278 status = "okay"; 279 microchip,sgpio-port-ranges = <8 15>; 280 gpio@0 { 281 ngpios = <64>; 282 }; 283 gpio@1 { 284 ngpios = <64>; 285 }; 286}; 287 288&sgpio1 { 289 status = "okay"; 290 microchip,sgpio-port-ranges = <24 31>; 291 gpio@0 { 292 ngpios = <64>; 293 }; 294 gpio@1 { 295 ngpios = <64>; 296 }; 297}; 298 299&spi0 { 300 status = "okay"; 301 spi@0 { 302 compatible = "spi-mux"; 303 mux-controls = <&mux>; 304 #address-cells = <1>; 305 #size-cells = <0>; 306 reg = <0>; /* CS0 */ 307 spi-flash@9 { 308 compatible = "jedec,spi-nor"; 309 spi-max-frequency = <8000000>; 310 reg = <0x9>; /* SPI */ 311 }; 312 }; 313}; 314 315&spi0 { 316 status = "okay"; 317 spi@0 { 318 compatible = "spi-mux"; 319 mux-controls = <&mux>; 320 #address-cells = <1>; 321 #size-cells = <0>; 322 reg = <0>; /* CS0 */ 323 spi-flash@9 { 324 compatible = "jedec,spi-nor"; 325 spi-max-frequency = <8000000>; 326 reg = <0x9>; /* SPI */ 327 }; 328 }; 329}; 330 331&gpio { 332 i2cmux_pins_i: i2cmux-pins-i { 333 pins = "GPIO_16", "GPIO_17", "GPIO_18", "GPIO_19", 334 "GPIO_20", "GPIO_22", "GPIO_36", "GPIO_35", 335 "GPIO_50", "GPIO_51", "GPIO_56", "GPIO_57"; 336 function = "twi_scl_m"; 337 output-low; 338 }; 339 i2cmux_0: i2cmux-0 { 340 pins = "GPIO_16"; 341 function = "twi_scl_m"; 342 output-high; 343 }; 344 i2cmux_1: i2cmux-1 { 345 pins = "GPIO_17"; 346 function = "twi_scl_m"; 347 output-high; 348 }; 349 i2cmux_2: i2cmux-2 { 350 pins = "GPIO_18"; 351 function = "twi_scl_m"; 352 output-high; 353 }; 354 i2cmux_3: i2cmux-3 { 355 pins = "GPIO_19"; 356 function = "twi_scl_m"; 357 output-high; 358 }; 359 i2cmux_4: i2cmux-4 { 360 pins = "GPIO_20"; 361 function = "twi_scl_m"; 362 output-high; 363 }; 364 i2cmux_5: i2cmux-5 { 365 pins = "GPIO_22"; 366 function = "twi_scl_m"; 367 output-high; 368 }; 369 i2cmux_6: i2cmux-6 { 370 pins = "GPIO_36"; 371 function = "twi_scl_m"; 372 output-high; 373 }; 374 i2cmux_7: i2cmux-7 { 375 pins = "GPIO_35"; 376 function = "twi_scl_m"; 377 output-high; 378 }; 379 i2cmux_8: i2cmux-8 { 380 pins = "GPIO_50"; 381 function = "twi_scl_m"; 382 output-high; 383 }; 384 i2cmux_9: i2cmux-9 { 385 pins = "GPIO_51"; 386 function = "twi_scl_m"; 387 output-high; 388 }; 389 i2cmux_10: i2cmux-10 { 390 pins = "GPIO_56"; 391 function = "twi_scl_m"; 392 output-high; 393 }; 394 i2cmux_11: i2cmux-11 { 395 pins = "GPIO_57"; 396 function = "twi_scl_m"; 397 output-high; 398 }; 399}; 400 401&axi { 402 i2c0_imux: i2c0-imux@0 { 403 compatible = "i2c-mux-pinctrl"; 404 #address-cells = <1>; 405 #size-cells = <0>; 406 i2c-parent = <&i2c0>; 407 }; 408 i2c0_emux: i2c0-emux@0 { 409 compatible = "i2c-mux-gpio"; 410 #address-cells = <1>; 411 #size-cells = <0>; 412 i2c-parent = <&i2c0>; 413 }; 414}; 415 416&i2c0_imux { 417 pinctrl-names = 418 "i2c100", "i2c101", "i2c102", "i2c103", 419 "i2c104", "i2c105", "i2c106", "i2c107", 420 "i2c108", "i2c109", "i2c110", "i2c111", "idle"; 421 pinctrl-0 = <&i2cmux_0>; 422 pinctrl-1 = <&i2cmux_1>; 423 pinctrl-2 = <&i2cmux_2>; 424 pinctrl-3 = <&i2cmux_3>; 425 pinctrl-4 = <&i2cmux_4>; 426 pinctrl-5 = <&i2cmux_5>; 427 pinctrl-6 = <&i2cmux_6>; 428 pinctrl-7 = <&i2cmux_7>; 429 pinctrl-8 = <&i2cmux_8>; 430 pinctrl-9 = <&i2cmux_9>; 431 pinctrl-10 = <&i2cmux_10>; 432 pinctrl-11 = <&i2cmux_11>; 433 pinctrl-12 = <&i2cmux_pins_i>; 434 i2c100: i2c_sfp1 { 435 reg = <0x0>; 436 #address-cells = <1>; 437 #size-cells = <0>; 438 }; 439 i2c101: i2c_sfp2 { 440 reg = <0x1>; 441 #address-cells = <1>; 442 #size-cells = <0>; 443 }; 444 i2c102: i2c_sfp3 { 445 reg = <0x2>; 446 #address-cells = <1>; 447 #size-cells = <0>; 448 }; 449 i2c103: i2c_sfp4 { 450 reg = <0x3>; 451 #address-cells = <1>; 452 #size-cells = <0>; 453 }; 454 i2c104: i2c_sfp5 { 455 reg = <0x4>; 456 #address-cells = <1>; 457 #size-cells = <0>; 458 }; 459 i2c105: i2c_sfp6 { 460 reg = <0x5>; 461 #address-cells = <1>; 462 #size-cells = <0>; 463 }; 464 i2c106: i2c_sfp7 { 465 reg = <0x6>; 466 #address-cells = <1>; 467 #size-cells = <0>; 468 }; 469 i2c107: i2c_sfp8 { 470 reg = <0x7>; 471 #address-cells = <1>; 472 #size-cells = <0>; 473 }; 474 i2c108: i2c_sfp9 { 475 reg = <0x8>; 476 #address-cells = <1>; 477 #size-cells = <0>; 478 }; 479 i2c109: i2c_sfp10 { 480 reg = <0x9>; 481 #address-cells = <1>; 482 #size-cells = <0>; 483 }; 484 i2c110: i2c_sfp11 { 485 reg = <0xa>; 486 #address-cells = <1>; 487 #size-cells = <0>; 488 }; 489 i2c111: i2c_sfp12 { 490 reg = <0xb>; 491 #address-cells = <1>; 492 #size-cells = <0>; 493 }; 494}; 495 496&i2c0_emux { 497 mux-gpios = <&gpio 55 GPIO_ACTIVE_HIGH 498 &gpio 60 GPIO_ACTIVE_HIGH 499 &gpio 61 GPIO_ACTIVE_HIGH 500 &gpio 54 GPIO_ACTIVE_HIGH>; 501 idle-state = <0x8>; 502 i2c112: i2c_sfp13 { 503 reg = <0x0>; 504 #address-cells = <1>; 505 #size-cells = <0>; 506 }; 507 i2c113: i2c_sfp14 { 508 reg = <0x1>; 509 #address-cells = <1>; 510 #size-cells = <0>; 511 }; 512 i2c114: i2c_sfp15 { 513 reg = <0x2>; 514 #address-cells = <1>; 515 #size-cells = <0>; 516 }; 517 i2c115: i2c_sfp16 { 518 reg = <0x3>; 519 #address-cells = <1>; 520 #size-cells = <0>; 521 }; 522 i2c116: i2c_sfp17 { 523 reg = <0x4>; 524 #address-cells = <1>; 525 #size-cells = <0>; 526 }; 527 i2c117: i2c_sfp18 { 528 reg = <0x5>; 529 #address-cells = <1>; 530 #size-cells = <0>; 531 }; 532 i2c118: i2c_sfp19 { 533 reg = <0x6>; 534 #address-cells = <1>; 535 #size-cells = <0>; 536 }; 537 i2c119: i2c_sfp20 { 538 reg = <0x7>; 539 #address-cells = <1>; 540 #size-cells = <0>; 541 }; 542}; 543