1// SPDX-License-Identifier: GPL-2.0+ 2/* 3 * dts file for Xilinx ZynqMP ZCU102 RevA 4 * 5 * (C) Copyright 2015 - 2022, Xilinx, Inc. 6 * (C) Copyright 2022 - 2023, Advanced Micro Devices, Inc. 7 * 8 * Michal Simek <michal.simek@amd.com> 9 */ 10 11/dts-v1/; 12 13#include "zynqmp.dtsi" 14#include "zynqmp-clk-ccf.dtsi" 15#include <dt-bindings/input/input.h> 16#include <dt-bindings/gpio/gpio.h> 17#include <dt-bindings/pinctrl/pinctrl-zynqmp.h> 18#include <dt-bindings/phy/phy.h> 19 20/ { 21 model = "ZynqMP ZCU102 RevA"; 22 compatible = "xlnx,zynqmp-zcu102-revA", "xlnx,zynqmp-zcu102", "xlnx,zynqmp"; 23 24 aliases { 25 ethernet0 = &gem3; 26 i2c0 = &i2c0; 27 i2c1 = &i2c1; 28 mmc0 = &sdhci1; 29 nvmem0 = &eeprom; 30 rtc0 = &rtc; 31 serial0 = &uart0; 32 serial1 = &uart1; 33 serial2 = &dcc; 34 spi0 = &qspi; 35 usb0 = &usb0; 36 }; 37 38 chosen { 39 bootargs = "earlycon"; 40 stdout-path = "serial0:115200n8"; 41 }; 42 43 memory@0 { 44 device_type = "memory"; 45 reg = <0x0 0x0 0x0 0x80000000>, <0x8 0x00000000 0x0 0x80000000>; 46 }; 47 48 gpio-keys { 49 compatible = "gpio-keys"; 50 autorepeat; 51 switch-19 { 52 label = "sw19"; 53 gpios = <&gpio 22 GPIO_ACTIVE_HIGH>; 54 linux,code = <KEY_DOWN>; 55 wakeup-source; 56 autorepeat; 57 }; 58 }; 59 60 leds { 61 compatible = "gpio-leds"; 62 heartbeat-led { 63 label = "heartbeat"; 64 gpios = <&gpio 23 GPIO_ACTIVE_HIGH>; 65 linux,default-trigger = "heartbeat"; 66 }; 67 }; 68 69 ina226-u76 { 70 compatible = "iio-hwmon"; 71 io-channels = <&u76 0>, <&u76 1>, <&u76 2>, <&u76 3>; 72 }; 73 ina226-u77 { 74 compatible = "iio-hwmon"; 75 io-channels = <&u77 0>, <&u77 1>, <&u77 2>, <&u77 3>; 76 }; 77 ina226-u78 { 78 compatible = "iio-hwmon"; 79 io-channels = <&u78 0>, <&u78 1>, <&u78 2>, <&u78 3>; 80 }; 81 ina226-u87 { 82 compatible = "iio-hwmon"; 83 io-channels = <&u87 0>, <&u87 1>, <&u87 2>, <&u87 3>; 84 }; 85 ina226-u85 { 86 compatible = "iio-hwmon"; 87 io-channels = <&u85 0>, <&u85 1>, <&u85 2>, <&u85 3>; 88 }; 89 ina226-u86 { 90 compatible = "iio-hwmon"; 91 io-channels = <&u86 0>, <&u86 1>, <&u86 2>, <&u86 3>; 92 }; 93 ina226-u93 { 94 compatible = "iio-hwmon"; 95 io-channels = <&u93 0>, <&u93 1>, <&u93 2>, <&u93 3>; 96 }; 97 ina226-u88 { 98 compatible = "iio-hwmon"; 99 io-channels = <&u88 0>, <&u88 1>, <&u88 2>, <&u88 3>; 100 }; 101 ina226-u15 { 102 compatible = "iio-hwmon"; 103 io-channels = <&u15 0>, <&u15 1>, <&u15 2>, <&u15 3>; 104 }; 105 ina226-u92 { 106 compatible = "iio-hwmon"; 107 io-channels = <&u92 0>, <&u92 1>, <&u92 2>, <&u92 3>; 108 }; 109 ina226-u79 { 110 compatible = "iio-hwmon"; 111 io-channels = <&u79 0>, <&u79 1>, <&u79 2>, <&u79 3>; 112 }; 113 ina226-u81 { 114 compatible = "iio-hwmon"; 115 io-channels = <&u81 0>, <&u81 1>, <&u81 2>, <&u81 3>; 116 }; 117 ina226-u80 { 118 compatible = "iio-hwmon"; 119 io-channels = <&u80 0>, <&u80 1>, <&u80 2>, <&u80 3>; 120 }; 121 ina226-u84 { 122 compatible = "iio-hwmon"; 123 io-channels = <&u84 0>, <&u84 1>, <&u84 2>, <&u84 3>; 124 }; 125 ina226-u16 { 126 compatible = "iio-hwmon"; 127 io-channels = <&u16 0>, <&u16 1>, <&u16 2>, <&u16 3>; 128 }; 129 ina226-u65 { 130 compatible = "iio-hwmon"; 131 io-channels = <&u65 0>, <&u65 1>, <&u65 2>, <&u65 3>; 132 }; 133 ina226-u74 { 134 compatible = "iio-hwmon"; 135 io-channels = <&u74 0>, <&u74 1>, <&u74 2>, <&u74 3>; 136 }; 137 ina226-u75 { 138 compatible = "iio-hwmon"; 139 io-channels = <&u75 0>, <&u75 1>, <&u75 2>, <&u75 3>; 140 }; 141 142 /* 48MHz reference crystal */ 143 ref48: ref48M { 144 compatible = "fixed-clock"; 145 #clock-cells = <0>; 146 clock-frequency = <48000000>; 147 }; 148 149 refhdmi: refhdmi { 150 compatible = "fixed-clock"; 151 #clock-cells = <0>; 152 clock-frequency = <114285000>; 153 }; 154}; 155 156&can1 { 157 status = "okay"; 158 pinctrl-names = "default"; 159 pinctrl-0 = <&pinctrl_can1_default>; 160}; 161 162&dcc { 163 status = "okay"; 164}; 165 166&fpd_dma_chan1 { 167 status = "okay"; 168}; 169 170&fpd_dma_chan2 { 171 status = "okay"; 172}; 173 174&fpd_dma_chan3 { 175 status = "okay"; 176}; 177 178&fpd_dma_chan4 { 179 status = "okay"; 180}; 181 182&fpd_dma_chan5 { 183 status = "okay"; 184}; 185 186&fpd_dma_chan6 { 187 status = "okay"; 188}; 189 190&fpd_dma_chan7 { 191 status = "okay"; 192}; 193 194&fpd_dma_chan8 { 195 status = "okay"; 196}; 197 198&gem3 { 199 status = "okay"; 200 phy-handle = <&phy0>; 201 phy-mode = "rgmii-id"; 202 pinctrl-names = "default"; 203 pinctrl-0 = <&pinctrl_gem3_default>; 204 mdio: mdio { 205 #address-cells = <1>; 206 #size-cells = <0>; 207 phy0: ethernet-phy@21 { 208 #phy-cells = <1>; 209 compatible = "ethernet-phy-id2000.a231"; 210 reg = <21>; 211 ti,rx-internal-delay = <0x8>; 212 ti,tx-internal-delay = <0xa>; 213 ti,fifo-depth = <0x1>; 214 ti,dp83867-rxctrl-strap-quirk; 215 reset-gpios = <&tca6416_u97 6 GPIO_ACTIVE_LOW>; 216 }; 217 }; 218}; 219 220&gpio { 221 status = "okay"; 222 pinctrl-names = "default"; 223 pinctrl-0 = <&pinctrl_gpio_default>; 224}; 225 226&gpu { 227 status = "okay"; 228}; 229 230&i2c0 { 231 status = "okay"; 232 clock-frequency = <400000>; 233 pinctrl-names = "default", "gpio"; 234 pinctrl-0 = <&pinctrl_i2c0_default>; 235 pinctrl-1 = <&pinctrl_i2c0_gpio>; 236 scl-gpios = <&gpio 14 GPIO_ACTIVE_HIGH>; 237 sda-gpios = <&gpio 15 GPIO_ACTIVE_HIGH>; 238 239 tca6416_u97: gpio@20 { 240 compatible = "ti,tca6416"; 241 reg = <0x20>; 242 gpio-controller; /* IRQ not connected */ 243 #gpio-cells = <2>; 244 gpio-line-names = "PS_GTR_LAN_SEL0", "PS_GTR_LAN_SEL1", "PS_GTR_LAN_SEL2", "PS_GTR_LAN_SEL3", 245 "PCI_CLK_DIR_SEL", "IIC_MUX_RESET_B", "GEM3_EXP_RESET_B", 246 "", "", "", "", "", "", "", "", ""; 247 gtr-sel0-hog { 248 gpio-hog; 249 gpios = <0 0>; 250 output-low; /* PCIE = 0, DP = 1 */ 251 line-name = "sel0"; 252 }; 253 gtr-sel1-hog { 254 gpio-hog; 255 gpios = <1 0>; 256 output-high; /* PCIE = 0, DP = 1 */ 257 line-name = "sel1"; 258 }; 259 gtr-sel2-hog { 260 gpio-hog; 261 gpios = <2 0>; 262 output-high; /* PCIE = 0, USB0 = 1 */ 263 line-name = "sel2"; 264 }; 265 gtr-sel3-hog { 266 gpio-hog; 267 gpios = <3 0>; 268 output-high; /* PCIE = 0, SATA = 1 */ 269 line-name = "sel3"; 270 }; 271 }; 272 273 tca6416_u61: gpio@21 { 274 compatible = "ti,tca6416"; 275 reg = <0x21>; 276 gpio-controller; /* IRQ not connected */ 277 #gpio-cells = <2>; 278 gpio-line-names = "VCCPSPLL_EN", "MGTRAVCC_EN", "MGTRAVTT_EN", "VCCPSDDRPLL_EN", "MIO26_PMU_INPUT_LS", 279 "PL_PMBUS_ALERT", "PS_PMBUS_ALERT", "MAXIM_PMBUS_ALERT", "PL_DDR4_VTERM_EN", 280 "PL_DDR4_VPP_2V5_EN", "PS_DIMM_VDDQ_TO_PSVCCO_ON", "PS_DIMM_SUSPEND_EN", 281 "PS_DDR4_VTERM_EN", "PS_DDR4_VPP_2V5_EN", "", ""; 282 }; 283 284 i2c-mux@75 { /* u60 */ 285 compatible = "nxp,pca9544"; 286 #address-cells = <1>; 287 #size-cells = <0>; 288 reg = <0x75>; 289 i2c@0 { 290 #address-cells = <1>; 291 #size-cells = <0>; 292 reg = <0>; 293 /* PS_PMBUS */ 294 u76: ina226@40 { /* u76 */ 295 compatible = "ti,ina226"; 296 #io-channel-cells = <1>; 297 label = "ina226-u76"; 298 reg = <0x40>; 299 shunt-resistor = <5000>; 300 }; 301 u77: ina226@41 { /* u77 */ 302 compatible = "ti,ina226"; 303 #io-channel-cells = <1>; 304 label = "ina226-u77"; 305 reg = <0x41>; 306 shunt-resistor = <5000>; 307 }; 308 u78: ina226@42 { /* u78 */ 309 compatible = "ti,ina226"; 310 #io-channel-cells = <1>; 311 label = "ina226-u78"; 312 reg = <0x42>; 313 shunt-resistor = <5000>; 314 }; 315 u87: ina226@43 { /* u87 */ 316 compatible = "ti,ina226"; 317 #io-channel-cells = <1>; 318 label = "ina226-u87"; 319 reg = <0x43>; 320 shunt-resistor = <5000>; 321 }; 322 u85: ina226@44 { /* u85 */ 323 compatible = "ti,ina226"; 324 #io-channel-cells = <1>; 325 label = "ina226-u85"; 326 reg = <0x44>; 327 shunt-resistor = <5000>; 328 }; 329 u86: ina226@45 { /* u86 */ 330 compatible = "ti,ina226"; 331 #io-channel-cells = <1>; 332 label = "ina226-u86"; 333 reg = <0x45>; 334 shunt-resistor = <5000>; 335 }; 336 u93: ina226@46 { /* u93 */ 337 compatible = "ti,ina226"; 338 #io-channel-cells = <1>; 339 label = "ina226-u93"; 340 reg = <0x46>; 341 shunt-resistor = <5000>; 342 }; 343 u88: ina226@47 { /* u88 */ 344 compatible = "ti,ina226"; 345 #io-channel-cells = <1>; 346 label = "ina226-u88"; 347 reg = <0x47>; 348 shunt-resistor = <5000>; 349 }; 350 u15: ina226@4a { /* u15 */ 351 compatible = "ti,ina226"; 352 #io-channel-cells = <1>; 353 label = "ina226-u15"; 354 reg = <0x4a>; 355 shunt-resistor = <5000>; 356 }; 357 u92: ina226@4b { /* u92 */ 358 compatible = "ti,ina226"; 359 #io-channel-cells = <1>; 360 label = "ina226-u92"; 361 reg = <0x4b>; 362 shunt-resistor = <5000>; 363 }; 364 }; 365 i2c@1 { 366 #address-cells = <1>; 367 #size-cells = <0>; 368 reg = <1>; 369 /* PL_PMBUS */ 370 u79: ina226@40 { /* u79 */ 371 compatible = "ti,ina226"; 372 #io-channel-cells = <1>; 373 label = "ina226-u79"; 374 reg = <0x40>; 375 shunt-resistor = <2000>; 376 }; 377 u81: ina226@41 { /* u81 */ 378 compatible = "ti,ina226"; 379 #io-channel-cells = <1>; 380 label = "ina226-u81"; 381 reg = <0x41>; 382 shunt-resistor = <5000>; 383 }; 384 u80: ina226@42 { /* u80 */ 385 compatible = "ti,ina226"; 386 #io-channel-cells = <1>; 387 label = "ina226-u80"; 388 reg = <0x42>; 389 shunt-resistor = <5000>; 390 }; 391 u84: ina226@43 { /* u84 */ 392 compatible = "ti,ina226"; 393 #io-channel-cells = <1>; 394 label = "ina226-u84"; 395 reg = <0x43>; 396 shunt-resistor = <5000>; 397 }; 398 u16: ina226@44 { /* u16 */ 399 compatible = "ti,ina226"; 400 #io-channel-cells = <1>; 401 label = "ina226-u16"; 402 reg = <0x44>; 403 shunt-resistor = <5000>; 404 }; 405 u65: ina226@45 { /* u65 */ 406 compatible = "ti,ina226"; 407 #io-channel-cells = <1>; 408 label = "ina226-u65"; 409 reg = <0x45>; 410 shunt-resistor = <5000>; 411 }; 412 u74: ina226@46 { /* u74 */ 413 compatible = "ti,ina226"; 414 #io-channel-cells = <1>; 415 label = "ina226-u74"; 416 reg = <0x46>; 417 shunt-resistor = <5000>; 418 }; 419 u75: ina226@47 { /* u75 */ 420 compatible = "ti,ina226"; 421 #io-channel-cells = <1>; 422 label = "ina226-u75"; 423 reg = <0x47>; 424 shunt-resistor = <5000>; 425 }; 426 }; 427 i2c@2 { 428 #address-cells = <1>; 429 #size-cells = <0>; 430 reg = <2>; 431 /* MAXIM_PMBUS - 00 */ 432 max15301@a { /* u46 */ 433 compatible = "maxim,max15301"; 434 reg = <0xa>; 435 }; 436 max15303@b { /* u4 */ 437 compatible = "maxim,max15303"; 438 reg = <0xb>; 439 }; 440 max15303@10 { /* u13 */ 441 compatible = "maxim,max15303"; 442 reg = <0x10>; 443 }; 444 max15301@13 { /* u47 */ 445 compatible = "maxim,max15301"; 446 reg = <0x13>; 447 }; 448 max15303@14 { /* u7 */ 449 compatible = "maxim,max15303"; 450 reg = <0x14>; 451 }; 452 max15303@15 { /* u6 */ 453 compatible = "maxim,max15303"; 454 reg = <0x15>; 455 }; 456 max15303@16 { /* u10 */ 457 compatible = "maxim,max15303"; 458 reg = <0x16>; 459 }; 460 max15303@17 { /* u9 */ 461 compatible = "maxim,max15303"; 462 reg = <0x17>; 463 }; 464 max15301@18 { /* u63 */ 465 compatible = "maxim,max15301"; 466 reg = <0x18>; 467 }; 468 max15303@1a { /* u49 */ 469 compatible = "maxim,max15303"; 470 reg = <0x1a>; 471 }; 472 max15303@1d { /* u18 */ 473 compatible = "maxim,max15303"; 474 reg = <0x1d>; 475 }; 476 max15303@20 { /* u8 */ 477 compatible = "maxim,max15303"; 478 status = "disabled"; /* unreachable */ 479 reg = <0x20>; 480 }; 481 max20751@72 { /* u95 */ 482 compatible = "maxim,max20751"; 483 reg = <0x72>; 484 }; 485 max20751@73 { /* u96 */ 486 compatible = "maxim,max20751"; 487 reg = <0x73>; 488 }; 489 }; 490 /* Bus 3 is not connected */ 491 }; 492}; 493 494&i2c1 { 495 status = "okay"; 496 clock-frequency = <400000>; 497 pinctrl-names = "default", "gpio"; 498 pinctrl-0 = <&pinctrl_i2c1_default>; 499 pinctrl-1 = <&pinctrl_i2c1_gpio>; 500 scl-gpios = <&gpio 16 GPIO_ACTIVE_HIGH>; 501 sda-gpios = <&gpio 17 GPIO_ACTIVE_HIGH>; 502 503 /* PL i2c via PCA9306 - u45 */ 504 i2c-mux@74 { /* u34 */ 505 compatible = "nxp,pca9548"; 506 #address-cells = <1>; 507 #size-cells = <0>; 508 reg = <0x74>; 509 i2c@0 { 510 #address-cells = <1>; 511 #size-cells = <0>; 512 reg = <0>; 513 /* 514 * IIC_EEPROM 1kB memory which uses 256B blocks 515 * where every block has different address. 516 * 0 - 256B address 0x54 517 * 256B - 512B address 0x55 518 * 512B - 768B address 0x56 519 * 768B - 1024B address 0x57 520 */ 521 eeprom: eeprom@54 { /* u23 */ 522 compatible = "atmel,24c08"; 523 reg = <0x54>; 524 }; 525 }; 526 i2c@1 { 527 #address-cells = <1>; 528 #size-cells = <0>; 529 reg = <1>; 530 si5341: clock-generator@36 { /* SI5341 - u69 */ 531 compatible = "silabs,si5341"; 532 reg = <0x36>; 533 #clock-cells = <2>; 534 #address-cells = <1>; 535 #size-cells = <0>; 536 clocks = <&ref48>; 537 clock-names = "xtal"; 538 clock-output-names = "si5341"; 539 540 si5341_0: out@0 { 541 /* refclk0 for PS-GT, used for DP */ 542 reg = <0>; 543 always-on; 544 }; 545 si5341_2: out@2 { 546 /* refclk2 for PS-GT, used for USB3 */ 547 reg = <2>; 548 always-on; 549 }; 550 si5341_3: out@3 { 551 /* refclk3 for PS-GT, used for SATA */ 552 reg = <3>; 553 always-on; 554 }; 555 si5341_4: out@4 { 556 /* refclk4 for PS-GT, used for PCIE slot */ 557 reg = <4>; 558 always-on; 559 }; 560 si5341_5: out@5 { 561 /* refclk5 for PS-GT, used for PCIE */ 562 reg = <5>; 563 always-on; 564 }; 565 si5341_6: out@6 { 566 /* refclk6 PL CLK125 */ 567 reg = <6>; 568 always-on; 569 }; 570 si5341_7: out@7 { 571 /* refclk7 PL CLK74 */ 572 reg = <7>; 573 always-on; 574 }; 575 si5341_9: out@9 { 576 /* refclk9 used for PS_REF_CLK 33.3 MHz */ 577 reg = <9>; 578 always-on; 579 }; 580 }; 581 }; 582 i2c@2 { 583 #address-cells = <1>; 584 #size-cells = <0>; 585 reg = <2>; 586 si570_1: clock-generator@5d { /* USER SI570 - u42 */ 587 #clock-cells = <0>; 588 compatible = "silabs,si570"; 589 reg = <0x5d>; 590 temperature-stability = <50>; 591 factory-fout = <300000000>; 592 clock-frequency = <300000000>; 593 clock-output-names = "si570_user"; 594 }; 595 }; 596 i2c@3 { 597 #address-cells = <1>; 598 #size-cells = <0>; 599 reg = <3>; 600 si570_2: clock-generator@5d { /* USER MGT SI570 - u56 */ 601 #clock-cells = <0>; 602 compatible = "silabs,si570"; 603 reg = <0x5d>; 604 temperature-stability = <50>; /* copy from zc702 */ 605 factory-fout = <156250000>; 606 clock-frequency = <148500000>; 607 clock-output-names = "si570_mgt"; 608 }; 609 }; 610 i2c@4 { 611 #address-cells = <1>; 612 #size-cells = <0>; 613 reg = <4>; 614 /* SI5328 - u20 */ 615 }; 616 /* 5 - 7 unconnected */ 617 }; 618 619 i2c-mux@75 { 620 compatible = "nxp,pca9548"; /* u135 */ 621 #address-cells = <1>; 622 #size-cells = <0>; 623 reg = <0x75>; 624 625 i2c@0 { 626 #address-cells = <1>; 627 #size-cells = <0>; 628 reg = <0>; 629 /* HPC0_IIC */ 630 }; 631 i2c@1 { 632 #address-cells = <1>; 633 #size-cells = <0>; 634 reg = <1>; 635 /* HPC1_IIC */ 636 }; 637 i2c@2 { 638 #address-cells = <1>; 639 #size-cells = <0>; 640 reg = <2>; 641 /* SYSMON */ 642 }; 643 i2c@3 { 644 #address-cells = <1>; 645 #size-cells = <0>; 646 reg = <3>; 647 /* DDR4 SODIMM */ 648 }; 649 i2c@4 { 650 #address-cells = <1>; 651 #size-cells = <0>; 652 reg = <4>; 653 /* SEP 3 */ 654 }; 655 i2c@5 { 656 #address-cells = <1>; 657 #size-cells = <0>; 658 reg = <5>; 659 /* SEP 2 */ 660 }; 661 i2c@6 { 662 #address-cells = <1>; 663 #size-cells = <0>; 664 reg = <6>; 665 /* SEP 1 */ 666 }; 667 i2c@7 { 668 #address-cells = <1>; 669 #size-cells = <0>; 670 reg = <7>; 671 /* SEP 0 */ 672 }; 673 }; 674}; 675 676&pinctrl0 { 677 status = "okay"; 678 pinctrl_i2c0_default: i2c0-default { 679 mux { 680 groups = "i2c0_3_grp"; 681 function = "i2c0"; 682 }; 683 684 conf { 685 groups = "i2c0_3_grp"; 686 bias-pull-up; 687 slew-rate = <SLEW_RATE_SLOW>; 688 power-source = <IO_STANDARD_LVCMOS18>; 689 }; 690 }; 691 692 pinctrl_i2c0_gpio: i2c0-gpio { 693 mux { 694 groups = "gpio0_14_grp", "gpio0_15_grp"; 695 function = "gpio0"; 696 }; 697 698 conf { 699 groups = "gpio0_14_grp", "gpio0_15_grp"; 700 slew-rate = <SLEW_RATE_SLOW>; 701 power-source = <IO_STANDARD_LVCMOS18>; 702 }; 703 }; 704 705 pinctrl_i2c1_default: i2c1-default { 706 mux { 707 groups = "i2c1_4_grp"; 708 function = "i2c1"; 709 }; 710 711 conf { 712 groups = "i2c1_4_grp"; 713 bias-pull-up; 714 slew-rate = <SLEW_RATE_SLOW>; 715 power-source = <IO_STANDARD_LVCMOS18>; 716 }; 717 }; 718 719 pinctrl_i2c1_gpio: i2c1-gpio { 720 mux { 721 groups = "gpio0_16_grp", "gpio0_17_grp"; 722 function = "gpio0"; 723 }; 724 725 conf { 726 groups = "gpio0_16_grp", "gpio0_17_grp"; 727 slew-rate = <SLEW_RATE_SLOW>; 728 power-source = <IO_STANDARD_LVCMOS18>; 729 }; 730 }; 731 732 pinctrl_uart0_default: uart0-default { 733 mux { 734 groups = "uart0_4_grp"; 735 function = "uart0"; 736 }; 737 738 conf { 739 groups = "uart0_4_grp"; 740 slew-rate = <SLEW_RATE_SLOW>; 741 power-source = <IO_STANDARD_LVCMOS18>; 742 }; 743 744 conf-rx { 745 pins = "MIO18"; 746 bias-high-impedance; 747 }; 748 749 conf-tx { 750 pins = "MIO19"; 751 bias-disable; 752 }; 753 }; 754 755 pinctrl_uart1_default: uart1-default { 756 mux { 757 groups = "uart1_5_grp"; 758 function = "uart1"; 759 }; 760 761 conf { 762 groups = "uart1_5_grp"; 763 slew-rate = <SLEW_RATE_SLOW>; 764 power-source = <IO_STANDARD_LVCMOS18>; 765 }; 766 767 conf-rx { 768 pins = "MIO21"; 769 bias-high-impedance; 770 }; 771 772 conf-tx { 773 pins = "MIO20"; 774 bias-disable; 775 }; 776 }; 777 778 pinctrl_usb0_default: usb0-default { 779 mux { 780 groups = "usb0_0_grp"; 781 function = "usb0"; 782 }; 783 784 conf { 785 groups = "usb0_0_grp"; 786 slew-rate = <SLEW_RATE_SLOW>; 787 power-source = <IO_STANDARD_LVCMOS18>; 788 }; 789 790 conf-rx { 791 pins = "MIO52", "MIO53", "MIO55"; 792 bias-high-impedance; 793 }; 794 795 conf-tx { 796 pins = "MIO54", "MIO56", "MIO57", "MIO58", "MIO59", 797 "MIO60", "MIO61", "MIO62", "MIO63"; 798 bias-disable; 799 }; 800 }; 801 802 pinctrl_gem3_default: gem3-default { 803 mux { 804 function = "ethernet3"; 805 groups = "ethernet3_0_grp"; 806 }; 807 808 conf { 809 groups = "ethernet3_0_grp"; 810 slew-rate = <SLEW_RATE_SLOW>; 811 power-source = <IO_STANDARD_LVCMOS18>; 812 }; 813 814 conf-rx { 815 pins = "MIO70", "MIO71", "MIO72", "MIO73", "MIO74", 816 "MIO75"; 817 bias-high-impedance; 818 low-power-disable; 819 }; 820 821 conf-tx { 822 pins = "MIO64", "MIO65", "MIO66", "MIO67", "MIO68", 823 "MIO69"; 824 bias-disable; 825 low-power-enable; 826 }; 827 828 mux-mdio { 829 function = "mdio3"; 830 groups = "mdio3_0_grp"; 831 }; 832 833 conf-mdio { 834 groups = "mdio3_0_grp"; 835 slew-rate = <SLEW_RATE_SLOW>; 836 power-source = <IO_STANDARD_LVCMOS18>; 837 bias-disable; 838 }; 839 }; 840 841 pinctrl_can1_default: can1-default { 842 mux { 843 function = "can1"; 844 groups = "can1_6_grp"; 845 }; 846 847 conf { 848 groups = "can1_6_grp"; 849 slew-rate = <SLEW_RATE_SLOW>; 850 power-source = <IO_STANDARD_LVCMOS18>; 851 }; 852 853 conf-rx { 854 pins = "MIO25"; 855 bias-high-impedance; 856 }; 857 858 conf-tx { 859 pins = "MIO24"; 860 bias-disable; 861 }; 862 }; 863 864 pinctrl_sdhci1_default: sdhci1-default { 865 mux { 866 groups = "sdio1_0_grp"; 867 function = "sdio1"; 868 }; 869 870 conf { 871 groups = "sdio1_0_grp"; 872 slew-rate = <SLEW_RATE_SLOW>; 873 power-source = <IO_STANDARD_LVCMOS18>; 874 bias-disable; 875 }; 876 877 mux-cd { 878 groups = "sdio1_cd_0_grp"; 879 function = "sdio1_cd"; 880 }; 881 882 conf-cd { 883 groups = "sdio1_cd_0_grp"; 884 bias-high-impedance; 885 bias-pull-up; 886 slew-rate = <SLEW_RATE_SLOW>; 887 power-source = <IO_STANDARD_LVCMOS18>; 888 }; 889 890 mux-wp { 891 groups = "sdio1_wp_0_grp"; 892 function = "sdio1_wp"; 893 }; 894 895 conf-wp { 896 groups = "sdio1_wp_0_grp"; 897 bias-high-impedance; 898 bias-pull-up; 899 slew-rate = <SLEW_RATE_SLOW>; 900 power-source = <IO_STANDARD_LVCMOS18>; 901 }; 902 }; 903 904 pinctrl_gpio_default: gpio-default { 905 mux-sw { 906 function = "gpio0"; 907 groups = "gpio0_22_grp", "gpio0_23_grp"; 908 }; 909 910 conf-sw { 911 groups = "gpio0_22_grp", "gpio0_23_grp"; 912 slew-rate = <SLEW_RATE_SLOW>; 913 power-source = <IO_STANDARD_LVCMOS18>; 914 }; 915 916 mux-msp { 917 function = "gpio0"; 918 groups = "gpio0_13_grp", "gpio0_38_grp"; 919 }; 920 921 conf-msp { 922 groups = "gpio0_13_grp", "gpio0_38_grp"; 923 slew-rate = <SLEW_RATE_SLOW>; 924 power-source = <IO_STANDARD_LVCMOS18>; 925 }; 926 927 conf-pull-up { 928 pins = "MIO22", "MIO23"; 929 bias-pull-up; 930 }; 931 932 conf-pull-none { 933 pins = "MIO13", "MIO38"; 934 bias-disable; 935 }; 936 }; 937}; 938 939&pcie { 940 status = "okay"; 941}; 942 943&psgtr { 944 status = "okay"; 945 /* pcie, sata, usb3, dp */ 946 clocks = <&si5341 0 5>, <&si5341 0 3>, <&si5341 0 2>, <&si5341 0 0>; 947 clock-names = "ref0", "ref1", "ref2", "ref3"; 948}; 949 950&qspi { 951 status = "okay"; 952 flash@0 { 953 compatible = "m25p80", "jedec,spi-nor"; /* 16MB + 16MB */ 954 #address-cells = <1>; 955 #size-cells = <1>; 956 reg = <0x0>; 957 spi-tx-bus-width = <1>; 958 spi-rx-bus-width = <4>; /* FIXME also DUAL configuration possible */ 959 spi-max-frequency = <108000000>; /* Based on DC1 spec */ 960 }; 961}; 962 963&rtc { 964 status = "okay"; 965}; 966 967&sata { 968 status = "okay"; 969 /* SATA OOB timing settings */ 970 ceva,p0-cominit-params = /bits/ 8 <0x18 0x40 0x18 0x28>; 971 ceva,p0-comwake-params = /bits/ 8 <0x06 0x14 0x08 0x0E>; 972 ceva,p0-burst-params = /bits/ 8 <0x13 0x08 0x4A 0x06>; 973 ceva,p0-retry-params = /bits/ 16 <0x96A4 0x3FFC>; 974 ceva,p1-cominit-params = /bits/ 8 <0x18 0x40 0x18 0x28>; 975 ceva,p1-comwake-params = /bits/ 8 <0x06 0x14 0x08 0x0E>; 976 ceva,p1-burst-params = /bits/ 8 <0x13 0x08 0x4A 0x06>; 977 ceva,p1-retry-params = /bits/ 16 <0x96A4 0x3FFC>; 978 phy-names = "sata-phy"; 979 phys = <&psgtr 3 PHY_TYPE_SATA 1 1>; 980}; 981 982/* SD1 with level shifter */ 983&sdhci1 { 984 status = "okay"; 985 /* 986 * 1.0 revision has level shifter and this property should be 987 * removed for supporting UHS mode 988 */ 989 no-1-8-v; 990 pinctrl-names = "default"; 991 pinctrl-0 = <&pinctrl_sdhci1_default>; 992 xlnx,mio-bank = <1>; 993}; 994 995&uart0 { 996 status = "okay"; 997 pinctrl-names = "default"; 998 pinctrl-0 = <&pinctrl_uart0_default>; 999}; 1000 1001&uart1 { 1002 status = "okay"; 1003 pinctrl-names = "default"; 1004 pinctrl-0 = <&pinctrl_uart1_default>; 1005}; 1006 1007/* ULPI SMSC USB3320 */ 1008&usb0 { 1009 status = "okay"; 1010 pinctrl-names = "default"; 1011 pinctrl-0 = <&pinctrl_usb0_default>; 1012 phy-names = "usb3-phy"; 1013 phys = <&psgtr 2 PHY_TYPE_USB3 0 2>; 1014}; 1015 1016&dwc3_0 { 1017 status = "okay"; 1018 dr_mode = "host"; 1019 snps,usb3_lpm_capable; 1020 maximum-speed = "super-speed"; 1021}; 1022 1023&watchdog0 { 1024 status = "okay"; 1025}; 1026 1027&xilinx_ams { 1028 status = "okay"; 1029}; 1030 1031&ams_ps { 1032 status = "okay"; 1033}; 1034 1035&ams_pl { 1036 status = "okay"; 1037}; 1038 1039&zynqmp_dpdma { 1040 status = "okay"; 1041}; 1042 1043&zynqmp_dpsub { 1044 status = "okay"; 1045 phy-names = "dp-phy0"; 1046 phys = <&psgtr 1 PHY_TYPE_DP 0 3>; 1047}; 1048