1 // SPDX-License-Identifier: GPL-2.0+
3 * dts file for Xilinx ZynqMP
5 * (C) Copyright 2014 - 2015, Xilinx, Inc.
7 * Michal Simek <michal.simek@xilinx.com>
9 * This program is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU General Public License as
11 * published by the Free Software Foundation; either version 2 of
12 * the License, or (at your option) any later version.
16 compatible = "xlnx,zynqmp";
25 compatible = "arm,cortex-a53", "arm,armv8";
27 enable-method = "psci";
28 operating-points-v2 = <&cpu_opp_table>;
30 cpu-idle-states = <&CPU_SLEEP_0>;
34 compatible = "arm,cortex-a53", "arm,armv8";
36 enable-method = "psci";
38 operating-points-v2 = <&cpu_opp_table>;
39 cpu-idle-states = <&CPU_SLEEP_0>;
43 compatible = "arm,cortex-a53", "arm,armv8";
45 enable-method = "psci";
47 operating-points-v2 = <&cpu_opp_table>;
48 cpu-idle-states = <&CPU_SLEEP_0>;
52 compatible = "arm,cortex-a53", "arm,armv8";
54 enable-method = "psci";
56 operating-points-v2 = <&cpu_opp_table>;
57 cpu-idle-states = <&CPU_SLEEP_0>;
61 entry-method = "arm,psci";
63 CPU_SLEEP_0: cpu-sleep-0 {
64 compatible = "arm,idle-state";
65 arm,psci-suspend-param = <0x40000000>;
67 entry-latency-us = <300>;
68 exit-latency-us = <600>;
69 min-residency-us = <10000>;
74 cpu_opp_table: cpu_opp_table {
75 compatible = "operating-points-v2";
78 opp-hz = /bits/ 64 <1199999988>;
79 opp-microvolt = <1000000>;
80 clock-latency-ns = <500000>;
83 opp-hz = /bits/ 64 <599999994>;
84 opp-microvolt = <1000000>;
85 clock-latency-ns = <500000>;
88 opp-hz = /bits/ 64 <399999996>;
89 opp-microvolt = <1000000>;
90 clock-latency-ns = <500000>;
93 opp-hz = /bits/ 64 <299999997>;
94 opp-microvolt = <1000000>;
95 clock-latency-ns = <500000>;
100 compatible = "arm,dcc";
106 compatible = "arm,armv8-pmuv3";
107 interrupt-parent = <&gic>;
108 interrupts = <0 143 4>,
115 compatible = "arm,psci-0.2";
120 compatible = "xlnx,zynqmp-pm";
122 interrupt-parent = <&gic>;
123 interrupts = <0 35 4>;
127 compatible = "arm,armv8-timer";
128 interrupt-parent = <&gic>;
129 interrupts = <1 13 0xf08>,
136 compatible = "arm,cortex-a53-edac";
139 fpga_full: fpga-full {
140 compatible = "fpga-region";
142 #address-cells = <2>;
147 compatible = "xlnx,zynqmp-nvmem-fw";
148 #address-cells = <1>;
151 soc_revision: soc_revision@0 {
157 compatible = "xlnx,zynqmp-pcap-fpga";
160 rst: reset-controller {
161 compatible = "xlnx,zynqmp-reset";
165 xlnx_dp_snd_card: dp_snd_card {
166 compatible = "xlnx,dp-snd-card";
168 xlnx,dp-snd-pcm = <&xlnx_dp_snd_pcm0>, <&xlnx_dp_snd_pcm1>;
169 xlnx,dp-snd-codec = <&xlnx_dp_snd_codec0>;
172 xlnx_dp_snd_codec0: dp_snd_codec0 {
173 compatible = "xlnx,dp-snd-codec";
175 clock-names = "aud_clk";
178 xlnx_dp_snd_pcm0: dp_snd_pcm0 {
179 compatible = "xlnx,dp-snd-pcm";
181 dmas = <&xlnx_dpdma 4>;
185 xlnx_dp_snd_pcm1: dp_snd_pcm1 {
186 compatible = "xlnx,dp-snd-pcm";
188 dmas = <&xlnx_dpdma 5>;
192 xilinx_drm: xilinx_drm {
193 compatible = "xlnx,drm";
195 xlnx,encoder-slave = <&xlnx_dp>;
196 xlnx,connector-type = "DisplayPort";
197 xlnx,dp-sub = <&xlnx_dp_sub>;
199 xlnx,pixel-format = "rgb565";
201 dmas = <&xlnx_dpdma 3>;
205 dmas = <&xlnx_dpdma 0>,
208 dma-names = "dma0", "dma1", "dma2";
213 amba_apu: amba_apu@0 {
214 compatible = "simple-bus";
215 #address-cells = <2>;
217 ranges = <0 0 0 0 0xffffffff>;
219 gic: interrupt-controller@f9010000 {
220 compatible = "arm,gic-400", "arm,cortex-a15-gic";
221 #interrupt-cells = <3>;
222 reg = <0x0 0xf9010000 0x10000>,
223 <0x0 0xf9020000 0x20000>,
224 <0x0 0xf9040000 0x20000>,
225 <0x0 0xf9060000 0x20000>;
226 interrupt-controller;
227 interrupt-parent = <&gic>;
228 interrupts = <1 9 0xf04>;
233 compatible = "simple-bus";
235 #address-cells = <2>;
240 compatible = "xlnx,zynq-can-1.0";
242 clock-names = "can_clk", "pclk";
243 reg = <0x0 0xff060000 0x0 0x1000>;
244 interrupts = <0 23 4>;
245 interrupt-parent = <&gic>;
246 tx-fifo-depth = <0x40>;
247 rx-fifo-depth = <0x40>;
251 compatible = "xlnx,zynq-can-1.0";
253 clock-names = "can_clk", "pclk";
254 reg = <0x0 0xff070000 0x0 0x1000>;
255 interrupts = <0 24 4>;
256 interrupt-parent = <&gic>;
257 tx-fifo-depth = <0x40>;
258 rx-fifo-depth = <0x40>;
262 compatible = "arm,cci-400";
263 reg = <0x0 0xfd6e0000 0x0 0x9000>;
264 ranges = <0x0 0x0 0xfd6e0000 0x10000>;
265 #address-cells = <1>;
269 compatible = "arm,cci-400-pmu,r1";
270 reg = <0x9000 0x5000>;
271 interrupt-parent = <&gic>;
272 interrupts = <0 123 4>,
281 fpd_dma_chan1: dma@fd500000 {
283 compatible = "xlnx,zynqmp-dma-1.0";
284 reg = <0x0 0xfd500000 0x0 0x1000>;
285 interrupt-parent = <&gic>;
286 interrupts = <0 124 4>;
287 clock-names = "clk_main", "clk_apb";
288 xlnx,bus-width = <128>;
289 #stream-id-cells = <1>;
290 iommus = <&smmu 0x14e8>;
293 fpd_dma_chan2: dma@fd510000 {
295 compatible = "xlnx,zynqmp-dma-1.0";
296 reg = <0x0 0xfd510000 0x0 0x1000>;
297 interrupt-parent = <&gic>;
298 interrupts = <0 125 4>;
299 clock-names = "clk_main", "clk_apb";
300 xlnx,bus-width = <128>;
301 #stream-id-cells = <1>;
302 iommus = <&smmu 0x14e9>;
305 fpd_dma_chan3: dma@fd520000 {
307 compatible = "xlnx,zynqmp-dma-1.0";
308 reg = <0x0 0xfd520000 0x0 0x1000>;
309 interrupt-parent = <&gic>;
310 interrupts = <0 126 4>;
311 clock-names = "clk_main", "clk_apb";
312 xlnx,bus-width = <128>;
313 #stream-id-cells = <1>;
314 iommus = <&smmu 0x14ea>;
317 fpd_dma_chan4: dma@fd530000 {
319 compatible = "xlnx,zynqmp-dma-1.0";
320 reg = <0x0 0xfd530000 0x0 0x1000>;
321 interrupt-parent = <&gic>;
322 interrupts = <0 127 4>;
323 clock-names = "clk_main", "clk_apb";
324 xlnx,bus-width = <128>;
325 #stream-id-cells = <1>;
326 iommus = <&smmu 0x14eb>;
329 fpd_dma_chan5: dma@fd540000 {
331 compatible = "xlnx,zynqmp-dma-1.0";
332 reg = <0x0 0xfd540000 0x0 0x1000>;
333 interrupt-parent = <&gic>;
334 interrupts = <0 128 4>;
335 clock-names = "clk_main", "clk_apb";
336 xlnx,bus-width = <128>;
337 #stream-id-cells = <1>;
338 iommus = <&smmu 0x14ec>;
341 fpd_dma_chan6: dma@fd550000 {
343 compatible = "xlnx,zynqmp-dma-1.0";
344 reg = <0x0 0xfd550000 0x0 0x1000>;
345 interrupt-parent = <&gic>;
346 interrupts = <0 129 4>;
347 clock-names = "clk_main", "clk_apb";
348 xlnx,bus-width = <128>;
349 #stream-id-cells = <1>;
350 iommus = <&smmu 0x14ed>;
353 fpd_dma_chan7: dma@fd560000 {
355 compatible = "xlnx,zynqmp-dma-1.0";
356 reg = <0x0 0xfd560000 0x0 0x1000>;
357 interrupt-parent = <&gic>;
358 interrupts = <0 130 4>;
359 clock-names = "clk_main", "clk_apb";
360 xlnx,bus-width = <128>;
361 #stream-id-cells = <1>;
362 iommus = <&smmu 0x14ee>;
365 fpd_dma_chan8: dma@fd570000 {
367 compatible = "xlnx,zynqmp-dma-1.0";
368 reg = <0x0 0xfd570000 0x0 0x1000>;
369 interrupt-parent = <&gic>;
370 interrupts = <0 131 4>;
371 clock-names = "clk_main", "clk_apb";
372 xlnx,bus-width = <128>;
373 #stream-id-cells = <1>;
374 iommus = <&smmu 0x14ef>;
379 compatible = "arm,mali-400", "arm,mali-utgard";
380 reg = <0x0 0xfd4b0000 0x0 0x10000>;
381 interrupt-parent = <&gic>;
382 interrupts = <0 132 4>, <0 132 4>, <0 132 4>, <0 132 4>, <0 132 4>, <0 132 4>;
383 interrupt-names = "IRQGP", "IRQGPMMU", "IRQPP0", "IRQPPMMU0", "IRQPP1", "IRQPPMMU1";
384 clock-names = "gpu", "gpu_pp0", "gpu_pp1";
387 /* LPDDMA default allows only secured access. inorder to enable
388 * These dma channels, Users should ensure that these dma
389 * Channels are allowed for non secure access.
391 lpd_dma_chan1: dma@ffa80000 {
393 compatible = "xlnx,zynqmp-dma-1.0";
394 reg = <0x0 0xffa80000 0x0 0x1000>;
395 interrupt-parent = <&gic>;
396 interrupts = <0 77 4>;
397 clock-names = "clk_main", "clk_apb";
398 xlnx,bus-width = <64>;
399 #stream-id-cells = <1>;
400 iommus = <&smmu 0x868>;
403 lpd_dma_chan2: dma@ffa90000 {
405 compatible = "xlnx,zynqmp-dma-1.0";
406 reg = <0x0 0xffa90000 0x0 0x1000>;
407 interrupt-parent = <&gic>;
408 interrupts = <0 78 4>;
409 clock-names = "clk_main", "clk_apb";
410 xlnx,bus-width = <64>;
411 #stream-id-cells = <1>;
412 iommus = <&smmu 0x869>;
415 lpd_dma_chan3: dma@ffaa0000 {
417 compatible = "xlnx,zynqmp-dma-1.0";
418 reg = <0x0 0xffaa0000 0x0 0x1000>;
419 interrupt-parent = <&gic>;
420 interrupts = <0 79 4>;
421 clock-names = "clk_main", "clk_apb";
422 xlnx,bus-width = <64>;
423 #stream-id-cells = <1>;
424 iommus = <&smmu 0x86a>;
427 lpd_dma_chan4: dma@ffab0000 {
429 compatible = "xlnx,zynqmp-dma-1.0";
430 reg = <0x0 0xffab0000 0x0 0x1000>;
431 interrupt-parent = <&gic>;
432 interrupts = <0 80 4>;
433 clock-names = "clk_main", "clk_apb";
434 xlnx,bus-width = <64>;
435 #stream-id-cells = <1>;
436 iommus = <&smmu 0x86b>;
439 lpd_dma_chan5: dma@ffac0000 {
441 compatible = "xlnx,zynqmp-dma-1.0";
442 reg = <0x0 0xffac0000 0x0 0x1000>;
443 interrupt-parent = <&gic>;
444 interrupts = <0 81 4>;
445 clock-names = "clk_main", "clk_apb";
446 xlnx,bus-width = <64>;
447 #stream-id-cells = <1>;
448 iommus = <&smmu 0x86c>;
451 lpd_dma_chan6: dma@ffad0000 {
453 compatible = "xlnx,zynqmp-dma-1.0";
454 reg = <0x0 0xffad0000 0x0 0x1000>;
455 interrupt-parent = <&gic>;
456 interrupts = <0 82 4>;
457 clock-names = "clk_main", "clk_apb";
458 xlnx,bus-width = <64>;
459 #stream-id-cells = <1>;
460 iommus = <&smmu 0x86d>;
463 lpd_dma_chan7: dma@ffae0000 {
465 compatible = "xlnx,zynqmp-dma-1.0";
466 reg = <0x0 0xffae0000 0x0 0x1000>;
467 interrupt-parent = <&gic>;
468 interrupts = <0 83 4>;
469 clock-names = "clk_main", "clk_apb";
470 xlnx,bus-width = <64>;
471 #stream-id-cells = <1>;
472 iommus = <&smmu 0x86e>;
475 lpd_dma_chan8: dma@ffaf0000 {
477 compatible = "xlnx,zynqmp-dma-1.0";
478 reg = <0x0 0xffaf0000 0x0 0x1000>;
479 interrupt-parent = <&gic>;
480 interrupts = <0 84 4>;
481 clock-names = "clk_main", "clk_apb";
482 xlnx,bus-width = <64>;
483 #stream-id-cells = <1>;
484 iommus = <&smmu 0x86f>;
487 mc: memory-controller@fd070000 {
488 compatible = "xlnx,zynqmp-ddrc-2.40a";
489 reg = <0x0 0xfd070000 0x0 0x30000>;
490 interrupt-parent = <&gic>;
491 interrupts = <0 112 4>;
494 nand0: nand@ff100000 {
495 compatible = "arasan,nfc-v3p10";
497 reg = <0x0 0xff100000 0x0 0x1000>;
498 clock-names = "clk_sys", "clk_flash";
499 interrupt-parent = <&gic>;
500 interrupts = <0 14 4>;
501 #address-cells = <2>;
503 #stream-id-cells = <1>;
504 iommus = <&smmu 0x872>;
507 gem0: ethernet@ff0b0000 {
508 compatible = "cdns,zynqmp-gem";
510 interrupt-parent = <&gic>;
511 interrupts = <0 57 4>, <0 57 4>;
512 reg = <0x0 0xff0b0000 0x0 0x1000>;
513 clock-names = "pclk", "hclk", "tx_clk";
514 #address-cells = <1>;
516 #stream-id-cells = <1>;
517 iommus = <&smmu 0x874>;
520 gem1: ethernet@ff0c0000 {
521 compatible = "cdns,zynqmp-gem";
523 interrupt-parent = <&gic>;
524 interrupts = <0 59 4>, <0 59 4>;
525 reg = <0x0 0xff0c0000 0x0 0x1000>;
526 clock-names = "pclk", "hclk", "tx_clk";
527 #address-cells = <1>;
529 #stream-id-cells = <1>;
530 iommus = <&smmu 0x875>;
533 gem2: ethernet@ff0d0000 {
534 compatible = "cdns,zynqmp-gem";
536 interrupt-parent = <&gic>;
537 interrupts = <0 61 4>, <0 61 4>;
538 reg = <0x0 0xff0d0000 0x0 0x1000>;
539 clock-names = "pclk", "hclk", "tx_clk";
540 #address-cells = <1>;
542 #stream-id-cells = <1>;
543 iommus = <&smmu 0x876>;
546 gem3: ethernet@ff0e0000 {
547 compatible = "cdns,zynqmp-gem";
549 interrupt-parent = <&gic>;
550 interrupts = <0 63 4>, <0 63 4>;
551 reg = <0x0 0xff0e0000 0x0 0x1000>;
552 clock-names = "pclk", "hclk", "tx_clk";
553 #address-cells = <1>;
555 #stream-id-cells = <1>;
556 iommus = <&smmu 0x877>;
559 gpio: gpio@ff0a0000 {
560 compatible = "xlnx,zynqmp-gpio-1.0";
563 interrupt-parent = <&gic>;
564 interrupts = <0 16 4>;
565 interrupt-controller;
566 #interrupt-cells = <2>;
567 reg = <0x0 0xff0a0000 0x0 0x1000>;
572 compatible = "cdns,i2c-r1p14", "cdns,i2c-r1p10";
574 interrupt-parent = <&gic>;
575 interrupts = <0 17 4>;
576 reg = <0x0 0xff020000 0x0 0x1000>;
577 #address-cells = <1>;
582 compatible = "cdns,i2c-r1p14", "cdns,i2c-r1p10";
584 interrupt-parent = <&gic>;
585 interrupts = <0 18 4>;
586 reg = <0x0 0xff030000 0x0 0x1000>;
587 #address-cells = <1>;
591 ocm: memory-controller@ff960000 {
592 compatible = "xlnx,zynqmp-ocmc-1.0";
593 reg = <0x0 0xff960000 0x0 0x1000>;
594 interrupt-parent = <&gic>;
595 interrupts = <0 10 4>;
598 pcie: pcie@fd0e0000 {
599 compatible = "xlnx,nwl-pcie-2.11";
601 #address-cells = <3>;
603 #interrupt-cells = <1>;
606 interrupt-parent = <&gic>;
607 interrupts = <0 118 4>,
610 <0 115 4>, /* MSI_1 [63...32] */
611 <0 114 4>; /* MSI_0 [31...0] */
612 interrupt-names = "misc", "dummy", "intx",
614 msi-parent = <&pcie>;
615 reg = <0x0 0xfd0e0000 0x0 0x1000>,
616 <0x0 0xfd480000 0x0 0x1000>,
617 <0x80 0x00000000 0x0 0x1000000>;
618 reg-names = "breg", "pcireg", "cfg";
619 ranges = <0x02000000 0x00000000 0xe0000000 0x00000000 0xe0000000 0x00000000 0x10000000 /* non-prefetchable memory */
620 0x43000000 0x00000006 0x00000000 0x00000006 0x00000000 0x00000002 0x00000000>;/* prefetchable memory */
621 bus-range = <0x00 0xff>;
622 interrupt-map-mask = <0x0 0x0 0x0 0x7>;
623 interrupt-map = <0x0 0x0 0x0 0x1 &pcie_intc 0x1>,
624 <0x0 0x0 0x0 0x2 &pcie_intc 0x2>,
625 <0x0 0x0 0x0 0x3 &pcie_intc 0x3>,
626 <0x0 0x0 0x0 0x4 &pcie_intc 0x4>;
627 pcie_intc: legacy-interrupt-controller {
628 interrupt-controller;
629 #address-cells = <0>;
630 #interrupt-cells = <1>;
636 compatible = "xlnx,zynqmp-qspi-1.0";
638 clock-names = "ref_clk", "pclk";
639 interrupts = <0 15 4>;
640 interrupt-parent = <&gic>;
642 reg = <0x0 0xff0f0000 0x0 0x1000>,
643 <0x0 0xc0000000 0x0 0x8000000>;
644 #address-cells = <1>;
646 #stream-id-cells = <1>;
647 iommus = <&smmu 0x873>;
651 compatible = "xlnx,zynqmp-rtc";
653 reg = <0x0 0xffa60000 0x0 0x100>;
654 interrupt-parent = <&gic>;
655 interrupts = <0 26 4>, <0 27 4>;
656 interrupt-names = "alarm", "sec";
657 calibration = <0x8000>;
660 serdes: zynqmp_phy@fd400000 {
661 compatible = "xlnx,zynqmp-psgtr";
663 reg = <0x0 0xfd400000 0x0 0x40000>,
664 <0x0 0xfd3d0000 0x0 0x1000>,
665 <0x0 0xff5e0000 0x0 0x1000>;
666 reg-names = "serdes", "siou", "lpd";
667 nvmem-cells = <&soc_revision>;
668 nvmem-cell-names = "soc_revision";
669 resets = <&rst 16>, <&rst 59>, <&rst 60>,
670 <&rst 61>, <&rst 62>, <&rst 63>,
671 <&rst 64>, <&rst 3>, <&rst 29>,
672 <&rst 30>, <&rst 31>, <&rst 32>;
673 reset-names = "sata_rst", "usb0_crst", "usb1_crst",
674 "usb0_hibrst", "usb1_hibrst", "usb0_apbrst",
675 "usb1_apbrst", "dp_rst", "gem0_rst",
676 "gem1_rst", "gem2_rst", "gem3_rst";
691 sata: ahci@fd0c0000 {
692 compatible = "ceva,ahci-1v84";
694 reg = <0x0 0xfd0c0000 0x0 0x2000>;
695 interrupt-parent = <&gic>;
696 interrupts = <0 133 4>;
697 #stream-id-cells = <4>;
698 iommus = <&smmu 0x4c0>, <&smmu 0x4c1>,
699 <&smmu 0x4c2>, <&smmu 0x4c3>;
703 sdhci0: sdhci@ff160000 {
705 compatible = "xlnx,zynqmp-8.9a", "arasan,sdhci-8.9a";
707 interrupt-parent = <&gic>;
708 interrupts = <0 48 4>;
709 reg = <0x0 0xff160000 0x0 0x1000>;
710 clock-names = "clk_xin", "clk_ahb";
711 xlnx,device_id = <0>;
712 #stream-id-cells = <1>;
713 iommus = <&smmu 0x870>;
714 nvmem-cells = <&soc_revision>;
715 nvmem-cell-names = "soc_revision";
718 sdhci1: sdhci@ff170000 {
720 compatible = "xlnx,zynqmp-8.9a", "arasan,sdhci-8.9a";
722 interrupt-parent = <&gic>;
723 interrupts = <0 49 4>;
724 reg = <0x0 0xff170000 0x0 0x1000>;
725 clock-names = "clk_xin", "clk_ahb";
726 xlnx,device_id = <1>;
727 #stream-id-cells = <1>;
728 iommus = <&smmu 0x871>;
729 nvmem-cells = <&soc_revision>;
730 nvmem-cell-names = "soc_revision";
733 pinctrl0: pinctrl@ff180000 {
734 compatible = "xlnx,pinctrl-zynqmp";
736 reg = <0x0 0xff180000 0x0 0x1000>;
739 smmu: smmu@fd800000 {
740 compatible = "arm,mmu-500";
741 reg = <0x0 0xfd800000 0x0 0x20000>;
744 #global-interrupts = <1>;
745 interrupt-parent = <&gic>;
746 interrupts = <0 155 4>,
747 <0 155 4>, <0 155 4>, <0 155 4>, <0 155 4>,
748 <0 155 4>, <0 155 4>, <0 155 4>, <0 155 4>,
749 <0 155 4>, <0 155 4>, <0 155 4>, <0 155 4>,
750 <0 155 4>, <0 155 4>, <0 155 4>, <0 155 4>;
754 compatible = "cdns,spi-r1p6";
756 interrupt-parent = <&gic>;
757 interrupts = <0 19 4>;
758 reg = <0x0 0xff040000 0x0 0x1000>;
759 clock-names = "ref_clk", "pclk";
760 #address-cells = <1>;
765 compatible = "cdns,spi-r1p6";
767 interrupt-parent = <&gic>;
768 interrupts = <0 20 4>;
769 reg = <0x0 0xff050000 0x0 0x1000>;
770 clock-names = "ref_clk", "pclk";
771 #address-cells = <1>;
775 ttc0: timer@ff110000 {
776 compatible = "cdns,ttc";
778 interrupt-parent = <&gic>;
779 interrupts = <0 36 4>, <0 37 4>, <0 38 4>;
780 reg = <0x0 0xff110000 0x0 0x1000>;
784 ttc1: timer@ff120000 {
785 compatible = "cdns,ttc";
787 interrupt-parent = <&gic>;
788 interrupts = <0 39 4>, <0 40 4>, <0 41 4>;
789 reg = <0x0 0xff120000 0x0 0x1000>;
793 ttc2: timer@ff130000 {
794 compatible = "cdns,ttc";
796 interrupt-parent = <&gic>;
797 interrupts = <0 42 4>, <0 43 4>, <0 44 4>;
798 reg = <0x0 0xff130000 0x0 0x1000>;
802 ttc3: timer@ff140000 {
803 compatible = "cdns,ttc";
805 interrupt-parent = <&gic>;
806 interrupts = <0 45 4>, <0 46 4>, <0 47 4>;
807 reg = <0x0 0xff140000 0x0 0x1000>;
811 uart0: serial@ff000000 {
813 compatible = "cdns,uart-r1p12", "xlnx,xuartps";
815 interrupt-parent = <&gic>;
816 interrupts = <0 21 4>;
817 reg = <0x0 0xff000000 0x0 0x1000>;
818 clock-names = "uart_clk", "pclk";
821 uart1: serial@ff010000 {
823 compatible = "cdns,uart-r1p12", "xlnx,xuartps";
825 interrupt-parent = <&gic>;
826 interrupts = <0 22 4>;
827 reg = <0x0 0xff010000 0x0 0x1000>;
828 clock-names = "uart_clk", "pclk";
831 usb0: usb0@ff9d0000 {
832 #address-cells = <2>;
835 compatible = "xlnx,zynqmp-dwc3";
836 reg = <0x0 0xff9d0000 0x0 0x100>;
837 clock-names = "bus_clk", "ref_clk";
839 nvmem-cells = <&soc_revision>;
840 nvmem-cell-names = "soc_revision";
842 dwc3_0: dwc3@fe200000 {
843 compatible = "snps,dwc3";
845 reg = <0x0 0xfe200000 0x0 0x40000>;
846 interrupt-parent = <&gic>;
847 interrupts = <0 65 4>, <0 69 4>;
848 #stream-id-cells = <1>;
849 iommus = <&smmu 0x860>;
850 snps,quirk-frame-length-adjustment = <0x20>;
856 usb1: usb1@ff9e0000 {
857 #address-cells = <2>;
860 compatible = "xlnx,zynqmp-dwc3";
861 reg = <0x0 0xff9e0000 0x0 0x100>;
862 clock-names = "bus_clk", "ref_clk";
864 nvmem-cells = <&soc_revision>;
865 nvmem-cell-names = "soc_revision";
867 dwc3_1: dwc3@fe300000 {
868 compatible = "snps,dwc3";
870 reg = <0x0 0xfe300000 0x0 0x40000>;
871 interrupt-parent = <&gic>;
872 interrupts = <0 70 4>, <0 74 4>;
873 #stream-id-cells = <1>;
874 iommus = <&smmu 0x861>;
875 snps,quirk-frame-length-adjustment = <0x20>;
881 watchdog0: watchdog@fd4d0000 {
882 compatible = "cdns,wdt-r1p2";
884 interrupt-parent = <&gic>;
885 interrupts = <0 113 1>;
886 reg = <0x0 0xfd4d0000 0x0 0x1000>;
890 xilinx_ams: ams@ffa50000 {
891 compatible = "xlnx,zynqmp-ams";
893 interrupt-parent = <&gic>;
894 interrupts = <0 56 4>;
895 interrupt-names = "ams-irq";
896 reg = <0x0 0xffa50000 0x0 0x800>;
897 reg-names = "ams-base";
898 #address-cells = <2>;
900 #io-channel-cells = <1>;
903 ams_ps: ams_ps@ffa50800 {
904 compatible = "xlnx,zynqmp-ams-ps";
906 reg = <0x0 0xffa50800 0x0 0x400>;
909 ams_pl: ams_pl@ffa50c00 {
910 compatible = "xlnx,zynqmp-ams-pl";
912 reg = <0x0 0xffa50c00 0x0 0x400>;
916 xlnx_dp: dp@fd4a0000 {
917 compatible = "xlnx,v-dp";
919 reg = <0x0 0xfd4a0000 0x0 0x1000>;
920 interrupts = <0 119 4>;
921 interrupt-parent = <&gic>;
922 clock-names = "aclk", "aud_clk";
923 xlnx,dp-version = "v1.2";
924 xlnx,max-lanes = <2>;
925 xlnx,max-link-rate = <540000>;
928 xlnx,colormetry = "rgb";
930 xlnx,audio-chan = <2>;
931 xlnx,dp-sub = <&xlnx_dp_sub>;
932 xlnx,max-pclock-frequency = <300000>;
935 xlnx_dp_sub: dp_sub@fd4aa000 {
936 compatible = "xlnx,dp-sub";
938 reg = <0x0 0xfd4aa000 0x0 0x1000>,
939 <0x0 0xfd4ab000 0x0 0x1000>,
940 <0x0 0xfd4ac000 0x0 0x1000>;
941 reg-names = "blend", "av_buf", "aud";
942 xlnx,output-fmt = "rgb";
943 xlnx,vid-fmt = "yuyv";
944 xlnx,gfx-fmt = "rgb565";
947 xlnx_dpdma: dma@fd4c0000 {
948 compatible = "xlnx,dpdma";
950 reg = <0x0 0xfd4c0000 0x0 0x1000>;
951 interrupts = <0 122 4>;
952 interrupt-parent = <&gic>;
953 clock-names = "axi_clk";
957 compatible = "xlnx,video0";
960 compatible = "xlnx,video1";
963 compatible = "xlnx,video2";
965 dma-graphicschannel {
966 compatible = "xlnx,graphics";
969 compatible = "xlnx,audio0";
972 compatible = "xlnx,audio1";