blob: 84952c14f0219966887004401e39cd0d2962f6dd [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001// 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 | GPIO_OPEN_DRAIN)>;
237 sda-gpios = <&gpio 15 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
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 | GPIO_OPEN_DRAIN)>;
501 sda-gpios = <&gpio 17 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
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 power-source = <IO_STANDARD_LVCMOS18>;
787 };
788
789 conf-rx {
790 pins = "MIO52", "MIO53", "MIO55";
791 bias-high-impedance;
792 drive-strength = <12>;
793 slew-rate = <SLEW_RATE_FAST>;
794 };
795
796 conf-tx {
797 pins = "MIO54", "MIO56", "MIO57", "MIO58", "MIO59",
798 "MIO60", "MIO61", "MIO62", "MIO63";
799 bias-disable;
800 drive-strength = <4>;
801 slew-rate = <SLEW_RATE_SLOW>;
802 };
803 };
804
805 pinctrl_gem3_default: gem3-default {
806 mux {
807 function = "ethernet3";
808 groups = "ethernet3_0_grp";
809 };
810
811 conf {
812 groups = "ethernet3_0_grp";
813 slew-rate = <SLEW_RATE_SLOW>;
814 power-source = <IO_STANDARD_LVCMOS18>;
815 };
816
817 conf-rx {
818 pins = "MIO70", "MIO71", "MIO72", "MIO73", "MIO74",
819 "MIO75";
820 bias-high-impedance;
821 low-power-disable;
822 };
823
824 conf-tx {
825 pins = "MIO64", "MIO65", "MIO66", "MIO67", "MIO68",
826 "MIO69";
827 bias-disable;
828 low-power-enable;
829 };
830
831 mux-mdio {
832 function = "mdio3";
833 groups = "mdio3_0_grp";
834 };
835
836 conf-mdio {
837 groups = "mdio3_0_grp";
838 slew-rate = <SLEW_RATE_SLOW>;
839 power-source = <IO_STANDARD_LVCMOS18>;
840 bias-disable;
841 };
842 };
843
844 pinctrl_can1_default: can1-default {
845 mux {
846 function = "can1";
847 groups = "can1_6_grp";
848 };
849
850 conf {
851 groups = "can1_6_grp";
852 slew-rate = <SLEW_RATE_SLOW>;
853 power-source = <IO_STANDARD_LVCMOS18>;
854 };
855
856 conf-rx {
857 pins = "MIO25";
858 bias-high-impedance;
859 };
860
861 conf-tx {
862 pins = "MIO24";
863 bias-disable;
864 };
865 };
866
867 pinctrl_sdhci1_default: sdhci1-default {
868 mux {
869 groups = "sdio1_0_grp";
870 function = "sdio1";
871 };
872
873 conf {
874 groups = "sdio1_0_grp";
875 slew-rate = <SLEW_RATE_SLOW>;
876 power-source = <IO_STANDARD_LVCMOS18>;
877 bias-disable;
878 };
879
880 mux-cd {
881 groups = "sdio1_cd_0_grp";
882 function = "sdio1_cd";
883 };
884
885 conf-cd {
886 groups = "sdio1_cd_0_grp";
887 bias-high-impedance;
888 bias-pull-up;
889 slew-rate = <SLEW_RATE_SLOW>;
890 power-source = <IO_STANDARD_LVCMOS18>;
891 };
892
893 mux-wp {
894 groups = "sdio1_wp_0_grp";
895 function = "sdio1_wp";
896 };
897
898 conf-wp {
899 groups = "sdio1_wp_0_grp";
900 bias-high-impedance;
901 bias-pull-up;
902 slew-rate = <SLEW_RATE_SLOW>;
903 power-source = <IO_STANDARD_LVCMOS18>;
904 };
905 };
906
907 pinctrl_gpio_default: gpio-default {
908 mux-sw {
909 function = "gpio0";
910 groups = "gpio0_22_grp", "gpio0_23_grp";
911 };
912
913 conf-sw {
914 groups = "gpio0_22_grp", "gpio0_23_grp";
915 slew-rate = <SLEW_RATE_SLOW>;
916 power-source = <IO_STANDARD_LVCMOS18>;
917 };
918
919 mux-msp {
920 function = "gpio0";
921 groups = "gpio0_13_grp", "gpio0_38_grp";
922 };
923
924 conf-msp {
925 groups = "gpio0_13_grp", "gpio0_38_grp";
926 slew-rate = <SLEW_RATE_SLOW>;
927 power-source = <IO_STANDARD_LVCMOS18>;
928 };
929
930 conf-pull-up {
931 pins = "MIO22", "MIO23";
932 bias-pull-up;
933 };
934
935 conf-pull-none {
936 pins = "MIO13", "MIO38";
937 bias-disable;
938 };
939 };
940};
941
942&pcie {
943 status = "okay";
944};
945
946&psgtr {
947 status = "okay";
948 /* pcie, sata, usb3, dp */
949 clocks = <&si5341 0 5>, <&si5341 0 3>, <&si5341 0 2>, <&si5341 0 0>;
950 clock-names = "ref0", "ref1", "ref2", "ref3";
951};
952
953&qspi {
954 status = "okay";
955 flash@0 {
956 compatible = "m25p80", "jedec,spi-nor"; /* 16MB + 16MB */
957 #address-cells = <1>;
958 #size-cells = <1>;
959 reg = <0x0>;
960 spi-tx-bus-width = <4>;
961 spi-rx-bus-width = <4>; /* FIXME also DUAL configuration possible */
962 spi-max-frequency = <108000000>; /* Based on DC1 spec */
963 };
964};
965
966&rtc {
967 status = "okay";
968};
969
970&sata {
971 status = "okay";
972 /* SATA OOB timing settings */
973 ceva,p0-cominit-params = /bits/ 8 <0x18 0x40 0x18 0x28>;
974 ceva,p0-comwake-params = /bits/ 8 <0x06 0x14 0x08 0x0E>;
975 ceva,p0-burst-params = /bits/ 8 <0x13 0x08 0x4A 0x06>;
976 ceva,p0-retry-params = /bits/ 16 <0x96A4 0x3FFC>;
977 ceva,p1-cominit-params = /bits/ 8 <0x18 0x40 0x18 0x28>;
978 ceva,p1-comwake-params = /bits/ 8 <0x06 0x14 0x08 0x0E>;
979 ceva,p1-burst-params = /bits/ 8 <0x13 0x08 0x4A 0x06>;
980 ceva,p1-retry-params = /bits/ 16 <0x96A4 0x3FFC>;
981 phy-names = "sata-phy";
982 phys = <&psgtr 3 PHY_TYPE_SATA 1 1>;
983};
984
985/* SD1 with level shifter */
986&sdhci1 {
987 status = "okay";
988 /*
989 * 1.0 revision has level shifter and this property should be
990 * removed for supporting UHS mode
991 */
992 no-1-8-v;
993 pinctrl-names = "default";
994 pinctrl-0 = <&pinctrl_sdhci1_default>;
995 xlnx,mio-bank = <1>;
996};
997
998&uart0 {
999 status = "okay";
1000 pinctrl-names = "default";
1001 pinctrl-0 = <&pinctrl_uart0_default>;
1002};
1003
1004&uart1 {
1005 status = "okay";
1006 pinctrl-names = "default";
1007 pinctrl-0 = <&pinctrl_uart1_default>;
1008};
1009
1010/* ULPI SMSC USB3320 */
1011&usb0 {
1012 status = "okay";
1013 pinctrl-names = "default";
1014 pinctrl-0 = <&pinctrl_usb0_default>;
1015 phy-names = "usb3-phy";
1016 phys = <&psgtr 2 PHY_TYPE_USB3 0 2>;
1017};
1018
1019&dwc3_0 {
1020 status = "okay";
1021 dr_mode = "host";
1022 snps,usb3_lpm_capable;
1023 maximum-speed = "super-speed";
1024};
1025
1026&watchdog0 {
1027 status = "okay";
1028};
1029
1030&xilinx_ams {
1031 status = "okay";
1032};
1033
1034&ams_ps {
1035 status = "okay";
1036};
1037
1038&ams_pl {
1039 status = "okay";
1040};
1041
1042&zynqmp_dpdma {
1043 status = "okay";
1044};
1045
1046&zynqmp_dpsub {
1047 status = "okay";
1048 phy-names = "dp-phy0";
1049 phys = <&psgtr 1 PHY_TYPE_DP 0 3>;
1050};