1 // SPDX-License-Identifier: GPL-2.0+
3 * dts file for Xilinx ZynqMP
5 * (C) Copyright 2014 - 2021, 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.
15 #include <dt-bindings/dma/xlnx-zynqmp-dpdma.h>
16 #include <dt-bindings/power/xlnx-zynqmp-power.h>
17 #include <dt-bindings/reset/xlnx-zynqmp-resets.h>
20 compatible = "xlnx,zynqmp";
29 compatible = "arm,cortex-a53";
31 enable-method = "psci";
32 operating-points-v2 = <&cpu_opp_table>;
34 cpu-idle-states = <&CPU_SLEEP_0>;
38 compatible = "arm,cortex-a53";
40 enable-method = "psci";
42 operating-points-v2 = <&cpu_opp_table>;
43 cpu-idle-states = <&CPU_SLEEP_0>;
47 compatible = "arm,cortex-a53";
49 enable-method = "psci";
51 operating-points-v2 = <&cpu_opp_table>;
52 cpu-idle-states = <&CPU_SLEEP_0>;
56 compatible = "arm,cortex-a53";
58 enable-method = "psci";
60 operating-points-v2 = <&cpu_opp_table>;
61 cpu-idle-states = <&CPU_SLEEP_0>;
65 entry-method = "psci";
67 CPU_SLEEP_0: cpu-sleep-0 {
68 compatible = "arm,idle-state";
69 arm,psci-suspend-param = <0x40000000>;
71 entry-latency-us = <300>;
72 exit-latency-us = <600>;
73 min-residency-us = <10000>;
78 cpu_opp_table: cpu-opp-table {
79 compatible = "operating-points-v2";
82 opp-hz = /bits/ 64 <1199999988>;
83 opp-microvolt = <1000000>;
84 clock-latency-ns = <500000>;
87 opp-hz = /bits/ 64 <599999994>;
88 opp-microvolt = <1000000>;
89 clock-latency-ns = <500000>;
92 opp-hz = /bits/ 64 <399999996>;
93 opp-microvolt = <1000000>;
94 clock-latency-ns = <500000>;
97 opp-hz = /bits/ 64 <299999997>;
98 opp-microvolt = <1000000>;
99 clock-latency-ns = <500000>;
104 #address-cells = <2>;
108 rproc_0_fw_image: memory@3ed00000 {
110 reg = <0x0 0x3ed00000 0x0 0x40000>;
113 rproc_1_fw_image: memory@3ef00000 {
115 reg = <0x0 0x3ef00000 0x0 0x40000>;
119 zynqmp_ipi: zynqmp_ipi {
120 compatible = "xlnx,zynqmp-ipi-mailbox";
121 interrupt-parent = <&gic>;
122 interrupts = <0 35 4>;
124 #address-cells = <2>;
128 ipi_mailbox_pmu1: mailbox@ff990400 {
129 reg = <0x0 0xff9905c0 0x0 0x20>,
130 <0x0 0xff9905e0 0x0 0x20>,
131 <0x0 0xff990e80 0x0 0x20>,
132 <0x0 0xff990ea0 0x0 0x20>;
133 reg-names = "local_request_region",
134 "local_response_region",
135 "remote_request_region",
136 "remote_response_region";
143 compatible = "arm,dcc";
148 compatible = "arm,armv8-pmuv3";
149 interrupt-parent = <&gic>;
150 interrupts = <0 143 4>,
157 compatible = "arm,psci-0.2";
162 zynqmp_firmware: zynqmp-firmware {
163 compatible = "xlnx,zynqmp-firmware";
164 #power-domain-cells = <1>;
167 zynqmp_power: zynqmp-power {
168 compatible = "xlnx,zynqmp-power";
169 interrupt-parent = <&gic>;
170 interrupts = <0 35 4>;
171 mboxes = <&ipi_mailbox_pmu1 0>, <&ipi_mailbox_pmu1 1>;
172 mbox-names = "tx", "rx";
176 compatible = "xlnx,zynqmp-nvmem-fw";
177 #address-cells = <1>;
180 soc_revision: soc_revision@0 {
186 compatible = "xlnx,zynqmp-pcap-fpga";
189 xlnx_aes: zynqmp-aes {
190 compatible = "xlnx,zynqmp-aes";
193 zynqmp_reset: reset-controller {
194 compatible = "xlnx,zynqmp-reset";
199 compatible = "xlnx,zynqmp-pinctrl";
206 compatible = "arm,armv8-timer";
207 interrupt-parent = <&gic>;
208 interrupts = <1 13 0xf08>,
214 fpga_full: fpga-full {
215 compatible = "fpga-region";
216 fpga-mgr = <&zynqmp_pcap>;
217 #address-cells = <2>;
223 compatible = "xlnx,zynqmp-r5fss";
224 xlnx,cluster-mode = <1>;
227 compatible = "xlnx,zynqmp-r5f";
228 power-domains = <&zynqmp_firmware PD_RPU_0>;
229 memory-region = <&rproc_0_fw_image>;
233 compatible = "xlnx,zynqmp-r5f";
234 power-domains = <&zynqmp_firmware PD_RPU_1>;
235 memory-region = <&rproc_1_fw_image>;
240 compatible = "simple-bus";
241 #address-cells = <2>;
246 compatible = "xlnx,zynq-can-1.0";
248 clock-names = "can_clk", "pclk";
249 reg = <0x0 0xff060000 0x0 0x1000>;
250 interrupts = <0 23 4>;
251 interrupt-parent = <&gic>;
252 tx-fifo-depth = <0x40>;
253 rx-fifo-depth = <0x40>;
254 power-domains = <&zynqmp_firmware PD_CAN_0>;
258 compatible = "xlnx,zynq-can-1.0";
260 clock-names = "can_clk", "pclk";
261 reg = <0x0 0xff070000 0x0 0x1000>;
262 interrupts = <0 24 4>;
263 interrupt-parent = <&gic>;
264 tx-fifo-depth = <0x40>;
265 rx-fifo-depth = <0x40>;
266 power-domains = <&zynqmp_firmware PD_CAN_1>;
270 compatible = "arm,cci-400";
272 reg = <0x0 0xfd6e0000 0x0 0x9000>;
273 ranges = <0x0 0x0 0xfd6e0000 0x10000>;
274 #address-cells = <1>;
278 compatible = "arm,cci-400-pmu,r1";
279 reg = <0x9000 0x5000>;
280 interrupt-parent = <&gic>;
281 interrupts = <0 123 4>,
290 fpd_dma_chan1: dma-controller@fd500000 {
292 compatible = "xlnx,zynqmp-dma-1.0";
293 reg = <0x0 0xfd500000 0x0 0x1000>;
294 interrupt-parent = <&gic>;
295 interrupts = <0 124 4>;
296 clock-names = "clk_main", "clk_apb";
298 xlnx,bus-width = <128>;
299 iommus = <&smmu 0x14e8>;
300 power-domains = <&zynqmp_firmware PD_GDMA>;
303 fpd_dma_chan2: dma-controller@fd510000 {
305 compatible = "xlnx,zynqmp-dma-1.0";
306 reg = <0x0 0xfd510000 0x0 0x1000>;
307 interrupt-parent = <&gic>;
308 interrupts = <0 125 4>;
309 clock-names = "clk_main", "clk_apb";
311 xlnx,bus-width = <128>;
312 iommus = <&smmu 0x14e9>;
313 power-domains = <&zynqmp_firmware PD_GDMA>;
316 fpd_dma_chan3: dma-controller@fd520000 {
318 compatible = "xlnx,zynqmp-dma-1.0";
319 reg = <0x0 0xfd520000 0x0 0x1000>;
320 interrupt-parent = <&gic>;
321 interrupts = <0 126 4>;
322 clock-names = "clk_main", "clk_apb";
324 xlnx,bus-width = <128>;
325 iommus = <&smmu 0x14ea>;
326 power-domains = <&zynqmp_firmware PD_GDMA>;
329 fpd_dma_chan4: dma-controller@fd530000 {
331 compatible = "xlnx,zynqmp-dma-1.0";
332 reg = <0x0 0xfd530000 0x0 0x1000>;
333 interrupt-parent = <&gic>;
334 interrupts = <0 127 4>;
335 clock-names = "clk_main", "clk_apb";
337 xlnx,bus-width = <128>;
338 iommus = <&smmu 0x14eb>;
339 power-domains = <&zynqmp_firmware PD_GDMA>;
342 fpd_dma_chan5: dma-controller@fd540000 {
344 compatible = "xlnx,zynqmp-dma-1.0";
345 reg = <0x0 0xfd540000 0x0 0x1000>;
346 interrupt-parent = <&gic>;
347 interrupts = <0 128 4>;
348 clock-names = "clk_main", "clk_apb";
350 xlnx,bus-width = <128>;
351 iommus = <&smmu 0x14ec>;
352 power-domains = <&zynqmp_firmware PD_GDMA>;
355 fpd_dma_chan6: dma-controller@fd550000 {
357 compatible = "xlnx,zynqmp-dma-1.0";
358 reg = <0x0 0xfd550000 0x0 0x1000>;
359 interrupt-parent = <&gic>;
360 interrupts = <0 129 4>;
361 clock-names = "clk_main", "clk_apb";
363 xlnx,bus-width = <128>;
364 iommus = <&smmu 0x14ed>;
365 power-domains = <&zynqmp_firmware PD_GDMA>;
368 fpd_dma_chan7: dma-controller@fd560000 {
370 compatible = "xlnx,zynqmp-dma-1.0";
371 reg = <0x0 0xfd560000 0x0 0x1000>;
372 interrupt-parent = <&gic>;
373 interrupts = <0 130 4>;
374 clock-names = "clk_main", "clk_apb";
376 xlnx,bus-width = <128>;
377 iommus = <&smmu 0x14ee>;
378 power-domains = <&zynqmp_firmware PD_GDMA>;
381 fpd_dma_chan8: dma-controller@fd570000 {
383 compatible = "xlnx,zynqmp-dma-1.0";
384 reg = <0x0 0xfd570000 0x0 0x1000>;
385 interrupt-parent = <&gic>;
386 interrupts = <0 131 4>;
387 clock-names = "clk_main", "clk_apb";
389 xlnx,bus-width = <128>;
390 iommus = <&smmu 0x14ef>;
391 power-domains = <&zynqmp_firmware PD_GDMA>;
394 gic: interrupt-controller@f9010000 {
395 compatible = "arm,gic-400";
396 #address-cells = <0>;
397 #interrupt-cells = <3>;
398 reg = <0x0 0xf9010000 0x0 0x10000>,
399 <0x0 0xf9020000 0x0 0x20000>,
400 <0x0 0xf9040000 0x0 0x20000>,
401 <0x0 0xf9060000 0x0 0x20000>;
402 interrupt-controller;
403 interrupt-parent = <&gic>;
404 interrupts = <1 9 0xf04>;
407 /* LPDDMA default allows only secured access. inorder to enable
408 * These dma channels, Users should ensure that these dma
409 * Channels are allowed for non secure access.
411 lpd_dma_chan1: dma-controller@ffa80000 {
413 compatible = "xlnx,zynqmp-dma-1.0";
414 reg = <0x0 0xffa80000 0x0 0x1000>;
415 interrupt-parent = <&gic>;
416 interrupts = <0 77 4>;
417 clock-names = "clk_main", "clk_apb";
419 xlnx,bus-width = <64>;
420 iommus = <&smmu 0x868>;
421 power-domains = <&zynqmp_firmware PD_ADMA>;
424 lpd_dma_chan2: dma-controller@ffa90000 {
426 compatible = "xlnx,zynqmp-dma-1.0";
427 reg = <0x0 0xffa90000 0x0 0x1000>;
428 interrupt-parent = <&gic>;
429 interrupts = <0 78 4>;
430 clock-names = "clk_main", "clk_apb";
432 xlnx,bus-width = <64>;
433 iommus = <&smmu 0x869>;
434 power-domains = <&zynqmp_firmware PD_ADMA>;
437 lpd_dma_chan3: dma-controller@ffaa0000 {
439 compatible = "xlnx,zynqmp-dma-1.0";
440 reg = <0x0 0xffaa0000 0x0 0x1000>;
441 interrupt-parent = <&gic>;
442 interrupts = <0 79 4>;
443 clock-names = "clk_main", "clk_apb";
445 xlnx,bus-width = <64>;
446 iommus = <&smmu 0x86a>;
447 power-domains = <&zynqmp_firmware PD_ADMA>;
450 lpd_dma_chan4: dma-controller@ffab0000 {
452 compatible = "xlnx,zynqmp-dma-1.0";
453 reg = <0x0 0xffab0000 0x0 0x1000>;
454 interrupt-parent = <&gic>;
455 interrupts = <0 80 4>;
456 clock-names = "clk_main", "clk_apb";
458 xlnx,bus-width = <64>;
459 iommus = <&smmu 0x86b>;
460 power-domains = <&zynqmp_firmware PD_ADMA>;
463 lpd_dma_chan5: dma-controller@ffac0000 {
465 compatible = "xlnx,zynqmp-dma-1.0";
466 reg = <0x0 0xffac0000 0x0 0x1000>;
467 interrupt-parent = <&gic>;
468 interrupts = <0 81 4>;
469 clock-names = "clk_main", "clk_apb";
471 xlnx,bus-width = <64>;
472 iommus = <&smmu 0x86c>;
473 power-domains = <&zynqmp_firmware PD_ADMA>;
476 lpd_dma_chan6: dma-controller@ffad0000 {
478 compatible = "xlnx,zynqmp-dma-1.0";
479 reg = <0x0 0xffad0000 0x0 0x1000>;
480 interrupt-parent = <&gic>;
481 interrupts = <0 82 4>;
482 clock-names = "clk_main", "clk_apb";
484 xlnx,bus-width = <64>;
485 iommus = <&smmu 0x86d>;
486 power-domains = <&zynqmp_firmware PD_ADMA>;
489 lpd_dma_chan7: dma-controller@ffae0000 {
491 compatible = "xlnx,zynqmp-dma-1.0";
492 reg = <0x0 0xffae0000 0x0 0x1000>;
493 interrupt-parent = <&gic>;
494 interrupts = <0 83 4>;
495 clock-names = "clk_main", "clk_apb";
497 xlnx,bus-width = <64>;
498 iommus = <&smmu 0x86e>;
499 power-domains = <&zynqmp_firmware PD_ADMA>;
502 lpd_dma_chan8: dma-controller@ffaf0000 {
504 compatible = "xlnx,zynqmp-dma-1.0";
505 reg = <0x0 0xffaf0000 0x0 0x1000>;
506 interrupt-parent = <&gic>;
507 interrupts = <0 84 4>;
508 clock-names = "clk_main", "clk_apb";
510 xlnx,bus-width = <64>;
511 iommus = <&smmu 0x86f>;
512 power-domains = <&zynqmp_firmware PD_ADMA>;
515 mc: memory-controller@fd070000 {
516 compatible = "xlnx,zynqmp-ddrc-2.40a";
517 reg = <0x0 0xfd070000 0x0 0x30000>;
518 interrupt-parent = <&gic>;
519 interrupts = <0 112 4>;
522 nand0: nand-controller@ff100000 {
523 compatible = "xlnx,zynqmp-nand-controller", "arasan,nfc-v3p10";
525 reg = <0x0 0xff100000 0x0 0x1000>;
526 clock-names = "controller", "bus";
527 interrupt-parent = <&gic>;
528 interrupts = <0 14 4>;
529 #address-cells = <1>;
531 iommus = <&smmu 0x872>;
532 power-domains = <&zynqmp_firmware PD_NAND>;
535 gem0: ethernet@ff0b0000 {
536 compatible = "cdns,zynqmp-gem", "cdns,gem";
538 interrupt-parent = <&gic>;
539 interrupts = <0 57 4>, <0 57 4>;
540 reg = <0x0 0xff0b0000 0x0 0x1000>;
541 clock-names = "pclk", "hclk", "tx_clk";
542 #address-cells = <1>;
544 iommus = <&smmu 0x874>;
545 power-domains = <&zynqmp_firmware PD_ETH_0>;
546 resets = <&zynqmp_reset ZYNQMP_RESET_GEM0>;
547 reset-names = "gem0_rst";
550 gem1: ethernet@ff0c0000 {
551 compatible = "cdns,zynqmp-gem", "cdns,gem";
553 interrupt-parent = <&gic>;
554 interrupts = <0 59 4>, <0 59 4>;
555 reg = <0x0 0xff0c0000 0x0 0x1000>;
556 clock-names = "pclk", "hclk", "tx_clk";
557 #address-cells = <1>;
559 iommus = <&smmu 0x875>;
560 power-domains = <&zynqmp_firmware PD_ETH_1>;
561 resets = <&zynqmp_reset ZYNQMP_RESET_GEM1>;
562 reset-names = "gem1_rst";
565 gem2: ethernet@ff0d0000 {
566 compatible = "cdns,zynqmp-gem", "cdns,gem";
568 interrupt-parent = <&gic>;
569 interrupts = <0 61 4>, <0 61 4>;
570 reg = <0x0 0xff0d0000 0x0 0x1000>;
571 clock-names = "pclk", "hclk", "tx_clk";
572 #address-cells = <1>;
574 iommus = <&smmu 0x876>;
575 power-domains = <&zynqmp_firmware PD_ETH_2>;
576 resets = <&zynqmp_reset ZYNQMP_RESET_GEM2>;
577 reset-names = "gem2_rst";
580 gem3: ethernet@ff0e0000 {
581 compatible = "cdns,zynqmp-gem", "cdns,gem";
583 interrupt-parent = <&gic>;
584 interrupts = <0 63 4>, <0 63 4>;
585 reg = <0x0 0xff0e0000 0x0 0x1000>;
586 clock-names = "pclk", "hclk", "tx_clk";
587 #address-cells = <1>;
589 iommus = <&smmu 0x877>;
590 power-domains = <&zynqmp_firmware PD_ETH_3>;
591 resets = <&zynqmp_reset ZYNQMP_RESET_GEM3>;
592 reset-names = "gem3_rst";
595 gpio: gpio@ff0a0000 {
596 compatible = "xlnx,zynqmp-gpio-1.0";
598 #address-cells = <0>;
601 interrupt-parent = <&gic>;
602 interrupts = <0 16 4>;
603 interrupt-controller;
604 #interrupt-cells = <2>;
605 reg = <0x0 0xff0a0000 0x0 0x1000>;
606 power-domains = <&zynqmp_firmware PD_GPIO>;
610 compatible = "cdns,i2c-r1p14";
612 interrupt-parent = <&gic>;
613 interrupts = <0 17 4>;
614 reg = <0x0 0xff020000 0x0 0x1000>;
615 #address-cells = <1>;
617 power-domains = <&zynqmp_firmware PD_I2C_0>;
621 compatible = "cdns,i2c-r1p14";
623 interrupt-parent = <&gic>;
624 interrupts = <0 18 4>;
625 reg = <0x0 0xff030000 0x0 0x1000>;
626 #address-cells = <1>;
628 power-domains = <&zynqmp_firmware PD_I2C_1>;
631 pcie: pcie@fd0e0000 {
632 compatible = "xlnx,nwl-pcie-2.11";
634 #address-cells = <3>;
636 #interrupt-cells = <1>;
639 interrupt-parent = <&gic>;
640 interrupts = <0 118 4>,
643 <0 115 4>, /* MSI_1 [63...32] */
644 <0 114 4>; /* MSI_0 [31...0] */
645 interrupt-names = "misc", "dummy", "intx",
647 msi-parent = <&pcie>;
648 reg = <0x0 0xfd0e0000 0x0 0x1000>,
649 <0x0 0xfd480000 0x0 0x1000>,
650 <0x80 0x00000000 0x0 0x1000000>;
651 reg-names = "breg", "pcireg", "cfg";
652 ranges = <0x02000000 0x00000000 0xe0000000 0x00000000 0xe0000000 0x00000000 0x10000000>,/* non-prefetchable memory */
653 <0x43000000 0x00000006 0x00000000 0x00000006 0x00000000 0x00000002 0x00000000>;/* prefetchable memory */
654 bus-range = <0x00 0xff>;
655 interrupt-map-mask = <0x0 0x0 0x0 0x7>;
656 interrupt-map = <0x0 0x0 0x0 0x1 &pcie_intc 0x1>,
657 <0x0 0x0 0x0 0x2 &pcie_intc 0x2>,
658 <0x0 0x0 0x0 0x3 &pcie_intc 0x3>,
659 <0x0 0x0 0x0 0x4 &pcie_intc 0x4>;
660 iommus = <&smmu 0x4d0>;
661 power-domains = <&zynqmp_firmware PD_PCIE>;
662 pcie_intc: legacy-interrupt-controller {
663 interrupt-controller;
664 #address-cells = <0>;
665 #interrupt-cells = <1>;
670 compatible = "xlnx,zynqmp-qspi-1.0";
672 clock-names = "ref_clk", "pclk";
673 interrupts = <0 15 4>;
674 interrupt-parent = <&gic>;
676 reg = <0x0 0xff0f0000 0x0 0x1000>,
677 <0x0 0xc0000000 0x0 0x8000000>;
678 #address-cells = <1>;
680 iommus = <&smmu 0x873>;
681 power-domains = <&zynqmp_firmware PD_QSPI>;
684 psgtr: phy@fd400000 {
685 compatible = "xlnx,zynqmp-psgtr-v1.1";
687 reg = <0x0 0xfd400000 0x0 0x40000>,
688 <0x0 0xfd3d0000 0x0 0x1000>;
689 reg-names = "serdes", "siou";
694 compatible = "xlnx,zynqmp-rtc";
696 reg = <0x0 0xffa60000 0x0 0x100>;
697 interrupt-parent = <&gic>;
698 interrupts = <0 26 4>, <0 27 4>;
699 interrupt-names = "alarm", "sec";
700 calibration = <0x7FFF>;
703 sata: ahci@fd0c0000 {
704 compatible = "ceva,ahci-1v84";
706 reg = <0x0 0xfd0c0000 0x0 0x2000>;
707 interrupt-parent = <&gic>;
708 interrupts = <0 133 4>;
709 power-domains = <&zynqmp_firmware PD_SATA>;
710 resets = <&zynqmp_reset ZYNQMP_RESET_SATA>;
711 iommus = <&smmu 0x4c0>, <&smmu 0x4c1>,
712 <&smmu 0x4c2>, <&smmu 0x4c3>;
715 sdhci0: mmc@ff160000 {
716 compatible = "xlnx,zynqmp-8.9a", "arasan,sdhci-8.9a";
718 interrupt-parent = <&gic>;
719 interrupts = <0 48 4>;
720 reg = <0x0 0xff160000 0x0 0x1000>;
721 clock-names = "clk_xin", "clk_ahb";
722 iommus = <&smmu 0x870>;
724 clock-output-names = "clk_out_sd0", "clk_in_sd0";
725 power-domains = <&zynqmp_firmware PD_SD_0>;
728 sdhci1: mmc@ff170000 {
729 compatible = "xlnx,zynqmp-8.9a", "arasan,sdhci-8.9a";
731 interrupt-parent = <&gic>;
732 interrupts = <0 49 4>;
733 reg = <0x0 0xff170000 0x0 0x1000>;
734 clock-names = "clk_xin", "clk_ahb";
735 iommus = <&smmu 0x871>;
737 clock-output-names = "clk_out_sd1", "clk_in_sd1";
738 power-domains = <&zynqmp_firmware PD_SD_1>;
741 smmu: iommu@fd800000 {
742 compatible = "arm,mmu-500";
743 reg = <0x0 0xfd800000 0x0 0x20000>;
746 #global-interrupts = <1>;
747 interrupt-parent = <&gic>;
748 interrupts = <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>,
751 <0 155 4>, <0 155 4>, <0 155 4>, <0 155 4>,
752 <0 155 4>, <0 155 4>, <0 155 4>, <0 155 4>;
756 compatible = "cdns,spi-r1p6";
758 interrupt-parent = <&gic>;
759 interrupts = <0 19 4>;
760 reg = <0x0 0xff040000 0x0 0x1000>;
761 clock-names = "ref_clk", "pclk";
762 #address-cells = <1>;
764 power-domains = <&zynqmp_firmware PD_SPI_0>;
768 compatible = "cdns,spi-r1p6";
770 interrupt-parent = <&gic>;
771 interrupts = <0 20 4>;
772 reg = <0x0 0xff050000 0x0 0x1000>;
773 clock-names = "ref_clk", "pclk";
774 #address-cells = <1>;
776 power-domains = <&zynqmp_firmware PD_SPI_1>;
779 ttc0: timer@ff110000 {
780 compatible = "cdns,ttc";
782 interrupt-parent = <&gic>;
783 interrupts = <0 36 4>, <0 37 4>, <0 38 4>;
784 reg = <0x0 0xff110000 0x0 0x1000>;
786 power-domains = <&zynqmp_firmware PD_TTC_0>;
789 ttc1: timer@ff120000 {
790 compatible = "cdns,ttc";
792 interrupt-parent = <&gic>;
793 interrupts = <0 39 4>, <0 40 4>, <0 41 4>;
794 reg = <0x0 0xff120000 0x0 0x1000>;
796 power-domains = <&zynqmp_firmware PD_TTC_1>;
799 ttc2: timer@ff130000 {
800 compatible = "cdns,ttc";
802 interrupt-parent = <&gic>;
803 interrupts = <0 42 4>, <0 43 4>, <0 44 4>;
804 reg = <0x0 0xff130000 0x0 0x1000>;
806 power-domains = <&zynqmp_firmware PD_TTC_2>;
809 ttc3: timer@ff140000 {
810 compatible = "cdns,ttc";
812 interrupt-parent = <&gic>;
813 interrupts = <0 45 4>, <0 46 4>, <0 47 4>;
814 reg = <0x0 0xff140000 0x0 0x1000>;
816 power-domains = <&zynqmp_firmware PD_TTC_3>;
819 uart0: serial@ff000000 {
820 compatible = "xlnx,zynqmp-uart", "cdns,uart-r1p12";
822 interrupt-parent = <&gic>;
823 interrupts = <0 21 4>;
824 reg = <0x0 0xff000000 0x0 0x1000>;
825 clock-names = "uart_clk", "pclk";
826 power-domains = <&zynqmp_firmware PD_UART_0>;
829 uart1: serial@ff010000 {
830 compatible = "xlnx,zynqmp-uart", "cdns,uart-r1p12";
832 interrupt-parent = <&gic>;
833 interrupts = <0 22 4>;
834 reg = <0x0 0xff010000 0x0 0x1000>;
835 clock-names = "uart_clk", "pclk";
836 power-domains = <&zynqmp_firmware PD_UART_1>;
840 #address-cells = <2>;
843 compatible = "xlnx,zynqmp-dwc3";
844 reg = <0x0 0xff9d0000 0x0 0x100>;
845 power-domains = <&zynqmp_firmware PD_USB_0>;
846 resets = <&zynqmp_reset ZYNQMP_RESET_USB0_CORERESET>,
847 <&zynqmp_reset ZYNQMP_RESET_USB0_HIBERRESET>,
848 <&zynqmp_reset ZYNQMP_RESET_USB0_APB>;
849 reset-names = "usb_crst", "usb_hibrst", "usb_apbrst";
852 dwc3_0: usb@fe200000 {
853 compatible = "snps,dwc3";
854 reg = <0x0 0xfe200000 0x0 0x40000>;
855 interrupt-parent = <&gic>;
856 interrupt-names = "dwc_usb3", "otg";
857 interrupts = <0 65 4>, <0 69 4>;
858 clock-names = "bus_early", "ref";
859 iommus = <&smmu 0x860>;
860 snps,quirk-frame-length-adjustment = <0x20>;
866 #address-cells = <2>;
869 compatible = "xlnx,zynqmp-dwc3";
870 reg = <0x0 0xff9e0000 0x0 0x100>;
871 power-domains = <&zynqmp_firmware PD_USB_1>;
872 resets = <&zynqmp_reset ZYNQMP_RESET_USB1_CORERESET>,
873 <&zynqmp_reset ZYNQMP_RESET_USB1_HIBERRESET>,
874 <&zynqmp_reset ZYNQMP_RESET_USB1_APB>;
875 reset-names = "usb_crst", "usb_hibrst", "usb_apbrst";
878 dwc3_1: usb@fe300000 {
879 compatible = "snps,dwc3";
880 reg = <0x0 0xfe300000 0x0 0x40000>;
881 interrupt-parent = <&gic>;
882 interrupt-names = "dwc_usb3", "otg";
883 interrupts = <0 70 4>, <0 74 4>;
884 clock-names = "bus_early", "ref";
885 iommus = <&smmu 0x861>;
886 snps,quirk-frame-length-adjustment = <0x20>;
891 watchdog0: watchdog@fd4d0000 {
892 compatible = "cdns,wdt-r1p2";
894 interrupt-parent = <&gic>;
895 interrupts = <0 113 1>;
896 reg = <0x0 0xfd4d0000 0x0 0x1000>;
901 lpd_watchdog: watchdog@ff150000 {
902 compatible = "cdns,wdt-r1p2";
904 interrupt-parent = <&gic>;
905 interrupts = <0 52 1>;
906 reg = <0x0 0xff150000 0x0 0x1000>;
910 xilinx_ams: ams@ffa50000 {
911 compatible = "xlnx,zynqmp-ams";
913 interrupt-parent = <&gic>;
914 interrupts = <0 56 4>;
915 reg = <0x0 0xffa50000 0x0 0x800>;
916 #address-cells = <1>;
918 #io-channel-cells = <1>;
919 ranges = <0 0 0xffa50800 0x800>;
922 compatible = "xlnx,zynqmp-ams-ps";
928 compatible = "xlnx,zynqmp-ams-pl";
931 #address-cells = <1>;
936 zynqmp_dpdma: dma-controller@fd4c0000 {
937 compatible = "xlnx,zynqmp-dpdma";
939 reg = <0x0 0xfd4c0000 0x0 0x1000>;
940 interrupts = <0 122 4>;
941 interrupt-parent = <&gic>;
942 clock-names = "axi_clk";
943 power-domains = <&zynqmp_firmware PD_DP>;
947 zynqmp_dpsub: display@fd4a0000 {
948 compatible = "xlnx,zynqmp-dpsub-1.7";
950 reg = <0x0 0xfd4a0000 0x0 0x1000>,
951 <0x0 0xfd4aa000 0x0 0x1000>,
952 <0x0 0xfd4ab000 0x0 0x1000>,
953 <0x0 0xfd4ac000 0x0 0x1000>;
954 reg-names = "dp", "blend", "av_buf", "aud";
955 interrupts = <0 119 4>;
956 interrupt-parent = <&gic>;
957 clock-names = "dp_apb_clk", "dp_aud_clk",
958 "dp_vtc_pixel_clk_in";
959 power-domains = <&zynqmp_firmware PD_DP>;
960 resets = <&zynqmp_reset ZYNQMP_RESET_DP>;
961 dma-names = "vid0", "vid1", "vid2", "gfx0";
962 dmas = <&zynqmp_dpdma ZYNQMP_DPDMA_VIDEO0>,
963 <&zynqmp_dpdma ZYNQMP_DPDMA_VIDEO1>,
964 <&zynqmp_dpdma ZYNQMP_DPDMA_VIDEO2>,
965 <&zynqmp_dpdma ZYNQMP_DPDMA_GRAPHICS>;
968 #address-cells = <1>;