blob: e8750b08162d9dd3071f0fede6a9dc67dd30d40e [file] [log] [blame]
Michal Simek090a2d72018-03-27 10:36:39 +02001// SPDX-License-Identifier: GPL-2.0+
Michal Simek54b896f2015-10-30 15:39:18 +01002/*
3 * dts file for Xilinx ZynqMP
4 *
Michal Simek821e32a2021-05-31 09:50:01 +02005 * (C) Copyright 2014 - 2021, Xilinx, Inc.
Michal Simek54b896f2015-10-30 15:39:18 +01006 *
Michal Simeka8c94362023-07-10 14:35:49 +02007 * Michal Simek <michal.simek@amd.com>
Michal Simek54b896f2015-10-30 15:39:18 +01008 *
Michal Simek090a2d72018-03-27 10:36:39 +02009 * 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.
Michal Simek54b896f2015-10-30 15:39:18 +010013 */
Michal Simek0c365702016-12-16 13:12:48 +010014
Michal Simek958c0e92020-11-26 14:25:02 +010015#include <dt-bindings/dma/xlnx-zynqmp-dpdma.h>
Piyush Mehta949e7952022-05-11 11:52:45 +020016#include <dt-bindings/gpio/gpio.h>
Michal Simek86eb8952023-09-22 12:35:30 +020017#include <dt-bindings/interrupt-controller/arm-gic.h>
18#include <dt-bindings/interrupt-controller/irq.h>
Michal Simek7c001dc2019-10-14 15:56:31 +020019#include <dt-bindings/power/xlnx-zynqmp-power.h>
Michal Simeka898c332019-10-14 15:55:53 +020020#include <dt-bindings/reset/xlnx-zynqmp-resets.h>
Michal Simekf095c7d2024-12-12 10:41:44 +010021#include <dt-bindings/thermal/thermal.h>
Michal Simeka898c332019-10-14 15:55:53 +020022
Michal Simek54b896f2015-10-30 15:39:18 +010023/ {
24 compatible = "xlnx,zynqmp";
25 #address-cells = <2>;
Michal Simekd171c752016-04-07 15:07:38 +020026 #size-cells = <2>;
Michal Simek54b896f2015-10-30 15:39:18 +010027
Michal Simekc9ac4dd2023-08-03 14:51:53 +020028 options {
29 u-boot {
30 compatible = "u-boot,config";
31 bootscr-address = /bits/ 64 <0x20000000>;
32 };
33 };
34
Michal Simek54b896f2015-10-30 15:39:18 +010035 cpus {
36 #address-cells = <1>;
37 #size-cells = <0>;
38
Michal Simek28663032017-02-06 10:09:53 +010039 cpu0: cpu@0 {
Michal Simekf095c7d2024-12-12 10:41:44 +010040 #cooling-cells = <2>;
Rob Herringff9eb352019-01-14 11:45:33 -060041 compatible = "arm,cortex-a53";
Michal Simek54b896f2015-10-30 15:39:18 +010042 device_type = "cpu";
43 enable-method = "psci";
Shubhrajyoti Dattaec9c6c82017-02-13 15:58:55 +053044 operating-points-v2 = <&cpu_opp_table>;
Michal Simek54b896f2015-10-30 15:39:18 +010045 reg = <0x0>;
Stefan Krsmanovic8e16a6e2016-10-21 12:44:56 +020046 cpu-idle-states = <&CPU_SLEEP_0>;
Radhey Shyam Pandey305760b2023-07-10 14:37:37 +020047 next-level-cache = <&L2>;
Michal Simek54b896f2015-10-30 15:39:18 +010048 };
49
Michal Simek28663032017-02-06 10:09:53 +010050 cpu1: cpu@1 {
Michal Simekf095c7d2024-12-12 10:41:44 +010051 #cooling-cells = <2>;
Rob Herringff9eb352019-01-14 11:45:33 -060052 compatible = "arm,cortex-a53";
Michal Simek54b896f2015-10-30 15:39:18 +010053 device_type = "cpu";
54 enable-method = "psci";
55 reg = <0x1>;
Shubhrajyoti Dattaec9c6c82017-02-13 15:58:55 +053056 operating-points-v2 = <&cpu_opp_table>;
Stefan Krsmanovic8e16a6e2016-10-21 12:44:56 +020057 cpu-idle-states = <&CPU_SLEEP_0>;
Radhey Shyam Pandey305760b2023-07-10 14:37:37 +020058 next-level-cache = <&L2>;
Michal Simek54b896f2015-10-30 15:39:18 +010059 };
60
Michal Simek28663032017-02-06 10:09:53 +010061 cpu2: cpu@2 {
Michal Simekf095c7d2024-12-12 10:41:44 +010062 #cooling-cells = <2>;
Rob Herringff9eb352019-01-14 11:45:33 -060063 compatible = "arm,cortex-a53";
Michal Simek54b896f2015-10-30 15:39:18 +010064 device_type = "cpu";
65 enable-method = "psci";
66 reg = <0x2>;
Shubhrajyoti Dattaec9c6c82017-02-13 15:58:55 +053067 operating-points-v2 = <&cpu_opp_table>;
Stefan Krsmanovic8e16a6e2016-10-21 12:44:56 +020068 cpu-idle-states = <&CPU_SLEEP_0>;
Radhey Shyam Pandey305760b2023-07-10 14:37:37 +020069 next-level-cache = <&L2>;
Michal Simek54b896f2015-10-30 15:39:18 +010070 };
71
Michal Simek28663032017-02-06 10:09:53 +010072 cpu3: cpu@3 {
Michal Simekf095c7d2024-12-12 10:41:44 +010073 #cooling-cells = <2>;
Rob Herringff9eb352019-01-14 11:45:33 -060074 compatible = "arm,cortex-a53";
Michal Simek54b896f2015-10-30 15:39:18 +010075 device_type = "cpu";
76 enable-method = "psci";
77 reg = <0x3>;
Shubhrajyoti Dattaec9c6c82017-02-13 15:58:55 +053078 operating-points-v2 = <&cpu_opp_table>;
Stefan Krsmanovic8e16a6e2016-10-21 12:44:56 +020079 cpu-idle-states = <&CPU_SLEEP_0>;
Radhey Shyam Pandey305760b2023-07-10 14:37:37 +020080 next-level-cache = <&L2>;
81 };
82
83 L2: l2-cache {
84 compatible = "cache";
85 cache-level = <2>;
86 cache-unified;
Stefan Krsmanovic8e16a6e2016-10-21 12:44:56 +020087 };
88
89 idle-states {
Amit Kucheriaefa69732018-08-23 14:23:29 +053090 entry-method = "psci";
Stefan Krsmanovic8e16a6e2016-10-21 12:44:56 +020091
92 CPU_SLEEP_0: cpu-sleep-0 {
93 compatible = "arm,idle-state";
94 arm,psci-suspend-param = <0x40000000>;
95 local-timer-stop;
96 entry-latency-us = <300>;
97 exit-latency-us = <600>;
Jolly Shah5a5d5b32017-06-14 15:03:52 -070098 min-residency-us = <10000>;
Stefan Krsmanovic8e16a6e2016-10-21 12:44:56 +020099 };
Michal Simek54b896f2015-10-30 15:39:18 +0100100 };
101 };
102
Michal Simek330ea2d2022-05-11 11:52:47 +0200103 cpu_opp_table: opp-table-cpu {
Shubhrajyoti Dattaec9c6c82017-02-13 15:58:55 +0530104 compatible = "operating-points-v2";
105 opp-shared;
106 opp00 {
107 opp-hz = /bits/ 64 <1199999988>;
108 opp-microvolt = <1000000>;
109 clock-latency-ns = <500000>;
110 };
111 opp01 {
112 opp-hz = /bits/ 64 <599999994>;
113 opp-microvolt = <1000000>;
114 clock-latency-ns = <500000>;
115 };
116 opp02 {
117 opp-hz = /bits/ 64 <399999996>;
118 opp-microvolt = <1000000>;
119 clock-latency-ns = <500000>;
120 };
121 opp03 {
122 opp-hz = /bits/ 64 <299999997>;
123 opp-microvolt = <1000000>;
124 clock-latency-ns = <500000>;
125 };
126 };
127
Tanmay Shah6cec96a2023-09-22 12:35:31 +0200128 reserved-memory {
129 #address-cells = <2>;
130 #size-cells = <2>;
131 ranges;
132
133 rproc_0_fw_image: memory@3ed00000 {
134 no-map;
135 reg = <0x0 0x3ed00000 0x0 0x40000>;
136 };
137
138 rproc_1_fw_image: memory@3ef00000 {
139 no-map;
140 reg = <0x0 0x3ef00000 0x0 0x40000>;
141 };
142 };
143
Michal Simekc8288e32023-09-27 11:57:48 +0200144 zynqmp_ipi: zynqmp-ipi {
Simon Glassd3a98cb2023-02-13 08:56:33 -0700145 bootph-all;
Ibai Erkiaga1c79e1e2019-09-27 11:36:58 +0100146 compatible = "xlnx,zynqmp-ipi-mailbox";
147 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +0200148 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
Ibai Erkiaga1c79e1e2019-09-27 11:36:58 +0100149 xlnx,ipi-id = <0>;
150 #address-cells = <2>;
151 #size-cells = <2>;
152 ranges;
153
Michal Simek366111e2023-07-10 14:37:38 +0200154 ipi_mailbox_pmu1: mailbox@ff9905c0 {
Simon Glassd3a98cb2023-02-13 08:56:33 -0700155 bootph-all;
Tanmay Shahf2d319c2023-12-04 13:56:20 -0800156 compatible = "xlnx,zynqmp-ipi-dest-mailbox";
Ibai Erkiaga1c79e1e2019-09-27 11:36:58 +0100157 reg = <0x0 0xff9905c0 0x0 0x20>,
158 <0x0 0xff9905e0 0x0 0x20>,
159 <0x0 0xff990e80 0x0 0x20>,
160 <0x0 0xff990ea0 0x0 0x20>;
Michal Simek26cbd922020-09-29 13:43:22 +0200161 reg-names = "local_request_region",
162 "local_response_region",
163 "remote_request_region",
164 "remote_response_region";
Ibai Erkiaga1c79e1e2019-09-27 11:36:58 +0100165 #mbox-cells = <1>;
166 xlnx,ipi-id = <4>;
167 };
168 };
169
Michal Simekde29d542016-09-09 08:46:39 +0200170 dcc: dcc {
171 compatible = "arm,dcc";
172 status = "disabled";
Simon Glassd3a98cb2023-02-13 08:56:33 -0700173 bootph-all;
Michal Simekde29d542016-09-09 08:46:39 +0200174 };
175
Michal Simek19e355d2024-11-28 15:49:14 +0100176 pmu {
177 compatible = "arm,cortex-a53-pmu";
Michal Simek86e6eee2016-04-07 15:28:33 +0200178 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +0200179 interrupts = <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>,
180 <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>,
181 <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>,
182 <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>;
Radhey Shyam Pandeybf388882023-07-10 14:37:39 +0200183 interrupt-affinity = <&cpu0>,
184 <&cpu1>,
185 <&cpu2>,
186 <&cpu3>;
Michal Simek54b896f2015-10-30 15:39:18 +0100187 };
188
189 psci {
190 compatible = "arm,psci-0.2";
191 method = "smc";
192 };
193
Ibai Erkiaga1c79e1e2019-09-27 11:36:58 +0100194 firmware {
Ilias Apalodimas8c930902023-02-16 15:39:20 +0200195 optee: optee {
196 compatible = "linaro,optee-tz";
197 method = "smc";
198 };
199
Michal Simekebddf492019-10-14 15:42:03 +0200200 zynqmp_firmware: zynqmp-firmware {
Ibai Erkiaga1c79e1e2019-09-27 11:36:58 +0100201 compatible = "xlnx,zynqmp-firmware";
Michal Simek26cbd922020-09-29 13:43:22 +0200202 #power-domain-cells = <1>;
Ibai Erkiaga1c79e1e2019-09-27 11:36:58 +0100203 method = "smc";
Simon Glassd3a98cb2023-02-13 08:56:33 -0700204 bootph-all;
Ibai Erkiaga1c79e1e2019-09-27 11:36:58 +0100205
Michal Simekb4c00812024-01-04 10:12:57 +0100206 zynqmp_power: power-management {
Simon Glassd3a98cb2023-02-13 08:56:33 -0700207 bootph-all;
Ibai Erkiaga1c79e1e2019-09-27 11:36:58 +0100208 compatible = "xlnx,zynqmp-power";
209 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +0200210 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
Ibai Erkiaga1c79e1e2019-09-27 11:36:58 +0100211 mboxes = <&ipi_mailbox_pmu1 0>, <&ipi_mailbox_pmu1 1>;
212 mbox-names = "tx", "rx";
213 };
Michal Simeka898c332019-10-14 15:55:53 +0200214
Michal Simekd46ce3e2024-02-01 13:38:42 +0100215 soc-nvmem {
Michal Simek958c0e92020-11-26 14:25:02 +0100216 compatible = "xlnx,zynqmp-nvmem-fw";
Michal Simekd46ce3e2024-02-01 13:38:42 +0100217 nvmem-layout {
218 compatible = "fixed-layout";
219 #address-cells = <1>;
220 #size-cells = <1>;
Michal Simek958c0e92020-11-26 14:25:02 +0100221
Michal Simekd46ce3e2024-02-01 13:38:42 +0100222 soc_revision: soc-revision@0 {
223 reg = <0x0 0x4>;
224 };
225 /* efuse access */
226 efuse_dna: efuse-dna@c {
227 reg = <0xc 0xc>;
228 };
229 efuse_usr0: efuse-usr0@20 {
230 reg = <0x20 0x4>;
231 };
232 efuse_usr1: efuse-usr1@24 {
233 reg = <0x24 0x4>;
234 };
235 efuse_usr2: efuse-usr2@28 {
236 reg = <0x28 0x4>;
237 };
238 efuse_usr3: efuse-usr3@2c {
239 reg = <0x2c 0x4>;
240 };
241 efuse_usr4: efuse-usr4@30 {
242 reg = <0x30 0x4>;
243 };
244 efuse_usr5: efuse-usr5@34 {
245 reg = <0x34 0x4>;
246 };
247 efuse_usr6: efuse-usr6@38 {
248 reg = <0x38 0x4>;
249 };
250 efuse_usr7: efuse-usr7@3c {
251 reg = <0x3c 0x4>;
252 };
253 efuse_miscusr: efuse-miscusr@40 {
254 reg = <0x40 0x4>;
255 };
256 efuse_chash: efuse-chash@50 {
257 reg = <0x50 0x4>;
258 };
259 efuse_pufmisc: efuse-pufmisc@54 {
260 reg = <0x54 0x4>;
261 };
262 efuse_sec: efuse-sec@58 {
263 reg = <0x58 0x4>;
264 };
265 efuse_spkid: efuse-spkid@5c {
266 reg = <0x5c 0x4>;
267 };
268 efuse_aeskey: efuse-aeskey@60 {
269 reg = <0x60 0x20>;
270 };
271 efuse_ppk0hash: efuse-ppk0hash@a0 {
272 reg = <0xa0 0x30>;
273 };
274 efuse_ppk1hash: efuse-ppk1hash@d0 {
275 reg = <0xd0 0x30>;
276 };
277 efuse_pufuser: efuse-pufuser@100 {
278 reg = <0x100 0x7F>;
279 };
Michal Simek3ecfb952024-01-09 12:26:10 +0100280 };
Michal Simek958c0e92020-11-26 14:25:02 +0100281 };
282
Michal Simek26cbd922020-09-29 13:43:22 +0200283 zynqmp_pcap: pcap {
284 compatible = "xlnx,zynqmp-pcap-fpga";
Michal Simek26cbd922020-09-29 13:43:22 +0200285 };
286
Michal Simeka898c332019-10-14 15:55:53 +0200287 zynqmp_reset: reset-controller {
288 compatible = "xlnx,zynqmp-reset";
289 #reset-cells = <1>;
290 };
Michal Simekaa8206e2020-02-18 13:04:06 +0100291
292 pinctrl0: pinctrl {
293 compatible = "xlnx,zynqmp-pinctrl";
294 status = "disabled";
295 };
Piyush Mehta949e7952022-05-11 11:52:45 +0200296
297 modepin_gpio: gpio {
298 compatible = "xlnx,zynqmp-gpio-modepin";
299 gpio-controller;
300 #gpio-cells = <2>;
301 };
Ibai Erkiaga1c79e1e2019-09-27 11:36:58 +0100302 };
Michal Simek54b896f2015-10-30 15:39:18 +0100303 };
304
305 timer {
306 compatible = "arm,armv8-timer";
307 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +0200308 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
309 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
310 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
311 <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
Michal Simek54b896f2015-10-30 15:39:18 +0100312 };
313
Michal Simek8fde0942024-02-01 13:38:40 +0100314 fpga_full: fpga-region {
Nava kishore Mannea1763ba2017-05-22 12:05:17 +0530315 compatible = "fpga-region";
Nava kishore Manne042ae5e2019-10-18 18:07:32 +0200316 fpga-mgr = <&zynqmp_pcap>;
Nava kishore Mannea1763ba2017-05-22 12:05:17 +0530317 #address-cells = <2>;
318 #size-cells = <2>;
Nava kishore Manne042ae5e2019-10-18 18:07:32 +0200319 ranges;
Nava kishore Mannea1763ba2017-05-22 12:05:17 +0530320 };
321
Michal Simekc6004e72024-05-30 12:39:23 +0200322 rproc_lockstep: remoteproc@ffe00000 {
Tanmay Shah6cec96a2023-09-22 12:35:31 +0200323 compatible = "xlnx,zynqmp-r5fss";
324 xlnx,cluster-mode = <1>;
Michal Simekc6004e72024-05-30 12:39:23 +0200325 xlnx,tcm-mode = <1>;
Tanmay Shah6cec96a2023-09-22 12:35:31 +0200326
Michal Simekc6004e72024-05-30 12:39:23 +0200327 #address-cells = <2>;
328 #size-cells = <2>;
329
330 ranges = <0x0 0x0 0x0 0xffe00000 0x0 0x10000>,
331 <0x0 0x20000 0x0 0xffe20000 0x0 0x10000>,
332 <0x0 0x10000 0x0 0xffe10000 0x0 0x10000>,
333 <0x0 0x30000 0x0 0xffe30000 0x0 0x10000>;
334
335 r5f@0 {
336 compatible = "xlnx,zynqmp-r5f";
337 reg = <0x0 0x0 0x0 0x10000>,
338 <0x0 0x20000 0x0 0x10000>,
339 <0x0 0x10000 0x0 0x10000>,
340 <0x0 0x30000 0x0 0x10000>;
341 reg-names = "atcm0", "btcm0", "atcm1", "btcm1";
342 power-domains = <&zynqmp_firmware PD_RPU_0>,
343 <&zynqmp_firmware PD_R5_0_ATCM>,
344 <&zynqmp_firmware PD_R5_0_BTCM>,
345 <&zynqmp_firmware PD_R5_1_ATCM>,
346 <&zynqmp_firmware PD_R5_1_BTCM>;
347 memory-region = <&rproc_0_fw_image>;
348 };
349
350 r5f@1 {
351 compatible = "xlnx,zynqmp-r5f";
352 reg = <0x1 0x0 0x0 0x10000>, <0x1 0x20000 0x0 0x10000>;
353 reg-names = "atcm0", "btcm0";
354 power-domains = <&zynqmp_firmware PD_RPU_1>,
355 <&zynqmp_firmware PD_R5_1_ATCM>,
356 <&zynqmp_firmware PD_R5_1_BTCM>;
357 memory-region = <&rproc_1_fw_image>;
358 };
359 };
360
361 rproc_split: remoteproc-split@ffe00000 {
362 status = "disabled";
363 compatible = "xlnx,zynqmp-r5fss";
364 xlnx,cluster-mode = <0>;
365 xlnx,tcm-mode = <0>;
366
367 #address-cells = <2>;
368 #size-cells = <2>;
369
370 ranges = <0x0 0x0 0x0 0xffe00000 0x0 0x10000>,
371 <0x0 0x20000 0x0 0xffe20000 0x0 0x10000>,
372 <0x1 0x0 0x0 0xffe90000 0x0 0x10000>,
373 <0x1 0x20000 0x0 0xffeb0000 0x0 0x10000>;
374
375 r5f@0 {
Tanmay Shah6cec96a2023-09-22 12:35:31 +0200376 compatible = "xlnx,zynqmp-r5f";
Michal Simekc6004e72024-05-30 12:39:23 +0200377 reg = <0x0 0x0 0x0 0x10000>, <0x0 0x20000 0x0 0x10000>;
378 reg-names = "atcm0", "btcm0";
379 power-domains = <&zynqmp_firmware PD_RPU_0>,
380 <&zynqmp_firmware PD_R5_0_ATCM>,
381 <&zynqmp_firmware PD_R5_0_BTCM>;
Tanmay Shah6cec96a2023-09-22 12:35:31 +0200382 memory-region = <&rproc_0_fw_image>;
383 };
384
Michal Simekc6004e72024-05-30 12:39:23 +0200385 r5f@1 {
Tanmay Shah6cec96a2023-09-22 12:35:31 +0200386 compatible = "xlnx,zynqmp-r5f";
Michal Simekc6004e72024-05-30 12:39:23 +0200387 reg = <0x1 0x0 0x0 0x10000>, <0x1 0x20000 0x0 0x10000>;
388 reg-names = "atcm0", "btcm0";
389 power-domains = <&zynqmp_firmware PD_RPU_1>,
390 <&zynqmp_firmware PD_R5_1_ATCM>,
391 <&zynqmp_firmware PD_R5_1_BTCM>;
Tanmay Shah6cec96a2023-09-22 12:35:31 +0200392 memory-region = <&rproc_1_fw_image>;
393 };
394 };
395
Michal Simekf095c7d2024-12-12 10:41:44 +0100396 ams {
397 compatible = "iio-hwmon";
398 io-channels = <&xilinx_ams 0>, <&xilinx_ams 1>, <&xilinx_ams 2>,
399 <&xilinx_ams 3>, <&xilinx_ams 4>, <&xilinx_ams 5>,
400 <&xilinx_ams 6>, <&xilinx_ams 7>, <&xilinx_ams 8>,
401 <&xilinx_ams 9>, <&xilinx_ams 10>, <&xilinx_ams 11>,
402 <&xilinx_ams 12>, <&xilinx_ams 13>, <&xilinx_ams 14>,
403 <&xilinx_ams 15>, <&xilinx_ams 16>, <&xilinx_ams 17>,
404 <&xilinx_ams 18>, <&xilinx_ams 19>, <&xilinx_ams 20>,
405 <&xilinx_ams 21>, <&xilinx_ams 22>, <&xilinx_ams 23>,
406 <&xilinx_ams 24>, <&xilinx_ams 25>, <&xilinx_ams 26>,
407 <&xilinx_ams 27>, <&xilinx_ams 28>, <&xilinx_ams 29>;
408 };
409
410
411 tsens_apu: thermal-sensor-apu {
412 compatible = "generic-adc-thermal";
413 #thermal-sensor-cells = <0>;
414 io-channels = <&xilinx_ams 7>;
415 io-channel-names = "sensor-channel";
416 };
417
418 tsens_rpu: thermal-sensor-rpu {
419 compatible = "generic-adc-thermal";
420 #thermal-sensor-cells = <0>;
421 io-channels = <&xilinx_ams 8>;
422 io-channel-names = "sensor-channel";
423 };
424
425 tsens_pl: thermal-sensor-pl {
426 compatible = "generic-adc-thermal";
427 #thermal-sensor-cells = <0>;
428 io-channels = <&xilinx_ams 20>;
429 io-channel-names = "sensor-channel";
430 };
431
432 thermal-zones {
433 apu-thermal {
434 polling-delay-passive = <1000>;
435 polling-delay = <5000>;
436 thermal-sensors = <&tsens_apu>;
437
438 trips {
439 apu_passive: passive {
440 temperature = <93000>;
441 hysteresis = <3500>;
442 type = "passive";
443 };
444
445 apu_critical: critical {
446 temperature = <96500>;
447 hysteresis = <3500>;
448 type = "critical";
449 };
450 };
451
452 cooling-maps {
453 map {
454 trip = <&apu_passive>;
455 cooling-device =
456 <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
457 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
458 <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
459 <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
460 };
461 };
462 };
463
464 rpu-thermal {
465 polling-delay = <10000>;
466 thermal-sensors = <&tsens_rpu>;
467
468 trips {
469 critical {
470 temperature = <96500>;
471 hysteresis = <3500>;
472 type = "critical";
473 };
474 };
475 };
476
477 pl-thermal {
478 polling-delay = <10000>;
479 thermal-sensors = <&tsens_pl>;
480
481 trips {
482 critical {
483 temperature = <96500>;
484 hysteresis = <3500>;
485 type = "critical";
486 };
487 };
488 };
489 };
490
Michal Simek26cbd922020-09-29 13:43:22 +0200491 amba: axi {
Michal Simek54b896f2015-10-30 15:39:18 +0100492 compatible = "simple-bus";
Simon Glassd3a98cb2023-02-13 08:56:33 -0700493 bootph-all;
Michal Simek54b896f2015-10-30 15:39:18 +0100494 #address-cells = <2>;
Michal Simek72b562a2016-02-11 07:19:06 +0100495 #size-cells = <2>;
496 ranges;
Michal Simek54b896f2015-10-30 15:39:18 +0100497
498 can0: can@ff060000 {
499 compatible = "xlnx,zynq-can-1.0";
500 status = "disabled";
501 clock-names = "can_clk", "pclk";
Michal Simek72b562a2016-02-11 07:19:06 +0100502 reg = <0x0 0xff060000 0x0 0x1000>;
Michal Simek86eb8952023-09-22 12:35:30 +0200503 interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
Michal Simek54b896f2015-10-30 15:39:18 +0100504 interrupt-parent = <&gic>;
505 tx-fifo-depth = <0x40>;
506 rx-fifo-depth = <0x40>;
Srinivas Neeli047c3502023-09-11 16:10:49 +0200507 resets = <&zynqmp_reset ZYNQMP_RESET_CAN0>;
Michal Simek7c001dc2019-10-14 15:56:31 +0200508 power-domains = <&zynqmp_firmware PD_CAN_0>;
Michal Simek54b896f2015-10-30 15:39:18 +0100509 };
510
511 can1: can@ff070000 {
512 compatible = "xlnx,zynq-can-1.0";
513 status = "disabled";
514 clock-names = "can_clk", "pclk";
Michal Simek72b562a2016-02-11 07:19:06 +0100515 reg = <0x0 0xff070000 0x0 0x1000>;
Michal Simek86eb8952023-09-22 12:35:30 +0200516 interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
Michal Simek54b896f2015-10-30 15:39:18 +0100517 interrupt-parent = <&gic>;
518 tx-fifo-depth = <0x40>;
519 rx-fifo-depth = <0x40>;
Srinivas Neeli047c3502023-09-11 16:10:49 +0200520 resets = <&zynqmp_reset ZYNQMP_RESET_CAN1>;
Michal Simek7c001dc2019-10-14 15:56:31 +0200521 power-domains = <&zynqmp_firmware PD_CAN_1>;
Michal Simek54b896f2015-10-30 15:39:18 +0100522 };
523
Michal Simekb197dd42015-11-26 11:21:25 +0100524 cci: cci@fd6e0000 {
525 compatible = "arm,cci-400";
Michal Simek79db3c62020-05-11 10:14:34 +0200526 status = "disabled";
Michal Simek72b562a2016-02-11 07:19:06 +0100527 reg = <0x0 0xfd6e0000 0x0 0x9000>;
Michal Simekb197dd42015-11-26 11:21:25 +0100528 ranges = <0x0 0x0 0xfd6e0000 0x10000>;
529 #address-cells = <1>;
530 #size-cells = <1>;
531
532 pmu@9000 {
533 compatible = "arm,cci-400-pmu,r1";
534 reg = <0x9000 0x5000>;
535 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +0200536 interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
537 <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
538 <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
539 <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
540 <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>;
Michal Simekb197dd42015-11-26 11:21:25 +0100541 };
542 };
543
Michal Simek19e355d2024-11-28 15:49:14 +0100544 cpu0_debug: debug@fec10000 {
545 compatible = "arm,coresight-cpu-debug", "arm,primecell";
546 reg = <0x0 0xfec10000 0x0 0x1000>;
547 clock-names = "apb_pclk";
548 cpu = <&cpu0>;
549 };
550
551 cpu1_debug: debug@fed10000 {
552 compatible = "arm,coresight-cpu-debug", "arm,primecell";
553 reg = <0x0 0xfed10000 0x0 0x1000>;
554 clock-names = "apb_pclk";
555 cpu = <&cpu1>;
556 };
557
558 cpu2_debug: debug@fee10000 {
559 compatible = "arm,coresight-cpu-debug", "arm,primecell";
560 reg = <0x0 0xfee10000 0x0 0x1000>;
561 clock-names = "apb_pclk";
562 cpu = <&cpu2>;
563 };
564
565 cpu3_debug: debug@fef10000 {
566 compatible = "arm,coresight-cpu-debug", "arm,primecell";
567 reg = <0x0 0xfef10000 0x0 0x1000>;
568 clock-names = "apb_pclk";
569 cpu = <&cpu3>;
570 };
571
Michal Simek54b896f2015-10-30 15:39:18 +0100572 /* GDMA */
Shravya Kumbhamafab9b32022-01-14 12:44:06 +0100573 fpd_dma_chan1: dma-controller@fd500000 {
Michal Simek54b896f2015-10-30 15:39:18 +0100574 status = "disabled";
575 compatible = "xlnx,zynqmp-dma-1.0";
Michal Simek72b562a2016-02-11 07:19:06 +0100576 reg = <0x0 0xfd500000 0x0 0x1000>;
Michal Simek54b896f2015-10-30 15:39:18 +0100577 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +0200578 interrupts = <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>;
VNSL Durga7b3cb892016-03-24 22:45:12 +0530579 clock-names = "clk_main", "clk_apb";
Michal Simek745ea1a2022-12-09 13:56:37 +0100580 #dma-cells = <1>;
Michal Simek54b896f2015-10-30 15:39:18 +0100581 xlnx,bus-width = <128>;
Michal Simekb075d472023-11-01 09:01:03 +0100582 /* iommus = <&smmu 0x14e8>; */
Michal Simek7c001dc2019-10-14 15:56:31 +0200583 power-domains = <&zynqmp_firmware PD_GDMA>;
Michal Simek54b896f2015-10-30 15:39:18 +0100584 };
585
Shravya Kumbhamafab9b32022-01-14 12:44:06 +0100586 fpd_dma_chan2: dma-controller@fd510000 {
Michal Simek54b896f2015-10-30 15:39:18 +0100587 status = "disabled";
588 compatible = "xlnx,zynqmp-dma-1.0";
Michal Simek72b562a2016-02-11 07:19:06 +0100589 reg = <0x0 0xfd510000 0x0 0x1000>;
Michal Simek54b896f2015-10-30 15:39:18 +0100590 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +0200591 interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
VNSL Durga7b3cb892016-03-24 22:45:12 +0530592 clock-names = "clk_main", "clk_apb";
Michal Simek745ea1a2022-12-09 13:56:37 +0100593 #dma-cells = <1>;
Michal Simek54b896f2015-10-30 15:39:18 +0100594 xlnx,bus-width = <128>;
Michal Simekb075d472023-11-01 09:01:03 +0100595 /* iommus = <&smmu 0x14e9>; */
Michal Simek7c001dc2019-10-14 15:56:31 +0200596 power-domains = <&zynqmp_firmware PD_GDMA>;
Michal Simek54b896f2015-10-30 15:39:18 +0100597 };
598
Shravya Kumbhamafab9b32022-01-14 12:44:06 +0100599 fpd_dma_chan3: dma-controller@fd520000 {
Michal Simek54b896f2015-10-30 15:39:18 +0100600 status = "disabled";
601 compatible = "xlnx,zynqmp-dma-1.0";
Michal Simek72b562a2016-02-11 07:19:06 +0100602 reg = <0x0 0xfd520000 0x0 0x1000>;
Michal Simek54b896f2015-10-30 15:39:18 +0100603 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +0200604 interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>;
VNSL Durga7b3cb892016-03-24 22:45:12 +0530605 clock-names = "clk_main", "clk_apb";
Michal Simek745ea1a2022-12-09 13:56:37 +0100606 #dma-cells = <1>;
Michal Simek54b896f2015-10-30 15:39:18 +0100607 xlnx,bus-width = <128>;
Michal Simekb075d472023-11-01 09:01:03 +0100608 /* iommus = <&smmu 0x14ea>; */
Michal Simek7c001dc2019-10-14 15:56:31 +0200609 power-domains = <&zynqmp_firmware PD_GDMA>;
Michal Simek54b896f2015-10-30 15:39:18 +0100610 };
611
Shravya Kumbhamafab9b32022-01-14 12:44:06 +0100612 fpd_dma_chan4: dma-controller@fd530000 {
Michal Simek54b896f2015-10-30 15:39:18 +0100613 status = "disabled";
614 compatible = "xlnx,zynqmp-dma-1.0";
Michal Simek72b562a2016-02-11 07:19:06 +0100615 reg = <0x0 0xfd530000 0x0 0x1000>;
Michal Simek54b896f2015-10-30 15:39:18 +0100616 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +0200617 interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
VNSL Durga7b3cb892016-03-24 22:45:12 +0530618 clock-names = "clk_main", "clk_apb";
Michal Simek745ea1a2022-12-09 13:56:37 +0100619 #dma-cells = <1>;
Michal Simek54b896f2015-10-30 15:39:18 +0100620 xlnx,bus-width = <128>;
Michal Simekb075d472023-11-01 09:01:03 +0100621 /* iommus = <&smmu 0x14eb>; */
Michal Simek7c001dc2019-10-14 15:56:31 +0200622 power-domains = <&zynqmp_firmware PD_GDMA>;
Michal Simek54b896f2015-10-30 15:39:18 +0100623 };
624
Shravya Kumbhamafab9b32022-01-14 12:44:06 +0100625 fpd_dma_chan5: dma-controller@fd540000 {
Michal Simek54b896f2015-10-30 15:39:18 +0100626 status = "disabled";
627 compatible = "xlnx,zynqmp-dma-1.0";
Michal Simek72b562a2016-02-11 07:19:06 +0100628 reg = <0x0 0xfd540000 0x0 0x1000>;
Michal Simek54b896f2015-10-30 15:39:18 +0100629 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +0200630 interrupts = <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>;
VNSL Durga7b3cb892016-03-24 22:45:12 +0530631 clock-names = "clk_main", "clk_apb";
Michal Simek745ea1a2022-12-09 13:56:37 +0100632 #dma-cells = <1>;
Michal Simek54b896f2015-10-30 15:39:18 +0100633 xlnx,bus-width = <128>;
Michal Simekb075d472023-11-01 09:01:03 +0100634 /* iommus = <&smmu 0x14ec>; */
Michal Simek7c001dc2019-10-14 15:56:31 +0200635 power-domains = <&zynqmp_firmware PD_GDMA>;
Michal Simek54b896f2015-10-30 15:39:18 +0100636 };
637
Shravya Kumbhamafab9b32022-01-14 12:44:06 +0100638 fpd_dma_chan6: dma-controller@fd550000 {
Michal Simek54b896f2015-10-30 15:39:18 +0100639 status = "disabled";
640 compatible = "xlnx,zynqmp-dma-1.0";
Michal Simek72b562a2016-02-11 07:19:06 +0100641 reg = <0x0 0xfd550000 0x0 0x1000>;
Michal Simek54b896f2015-10-30 15:39:18 +0100642 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +0200643 interrupts = <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>;
VNSL Durga7b3cb892016-03-24 22:45:12 +0530644 clock-names = "clk_main", "clk_apb";
Michal Simek745ea1a2022-12-09 13:56:37 +0100645 #dma-cells = <1>;
Michal Simek54b896f2015-10-30 15:39:18 +0100646 xlnx,bus-width = <128>;
Michal Simekb075d472023-11-01 09:01:03 +0100647 /* iommus = <&smmu 0x14ed>; */
Michal Simek7c001dc2019-10-14 15:56:31 +0200648 power-domains = <&zynqmp_firmware PD_GDMA>;
Michal Simek54b896f2015-10-30 15:39:18 +0100649 };
650
Shravya Kumbhamafab9b32022-01-14 12:44:06 +0100651 fpd_dma_chan7: dma-controller@fd560000 {
Michal Simek54b896f2015-10-30 15:39:18 +0100652 status = "disabled";
653 compatible = "xlnx,zynqmp-dma-1.0";
Michal Simek72b562a2016-02-11 07:19:06 +0100654 reg = <0x0 0xfd560000 0x0 0x1000>;
Michal Simek54b896f2015-10-30 15:39:18 +0100655 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +0200656 interrupts = <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>;
VNSL Durga7b3cb892016-03-24 22:45:12 +0530657 clock-names = "clk_main", "clk_apb";
Michal Simek745ea1a2022-12-09 13:56:37 +0100658 #dma-cells = <1>;
Michal Simek54b896f2015-10-30 15:39:18 +0100659 xlnx,bus-width = <128>;
Michal Simekb075d472023-11-01 09:01:03 +0100660 /* iommus = <&smmu 0x14ee>; */
Michal Simek7c001dc2019-10-14 15:56:31 +0200661 power-domains = <&zynqmp_firmware PD_GDMA>;
Michal Simek54b896f2015-10-30 15:39:18 +0100662 };
663
Shravya Kumbhamafab9b32022-01-14 12:44:06 +0100664 fpd_dma_chan8: dma-controller@fd570000 {
Michal Simek54b896f2015-10-30 15:39:18 +0100665 status = "disabled";
666 compatible = "xlnx,zynqmp-dma-1.0";
Michal Simek72b562a2016-02-11 07:19:06 +0100667 reg = <0x0 0xfd570000 0x0 0x1000>;
Michal Simek54b896f2015-10-30 15:39:18 +0100668 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +0200669 interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>;
VNSL Durga7b3cb892016-03-24 22:45:12 +0530670 clock-names = "clk_main", "clk_apb";
Michal Simek745ea1a2022-12-09 13:56:37 +0100671 #dma-cells = <1>;
Michal Simek54b896f2015-10-30 15:39:18 +0100672 xlnx,bus-width = <128>;
Michal Simekb075d472023-11-01 09:01:03 +0100673 /* iommus = <&smmu 0x14ef>; */
Michal Simek7c001dc2019-10-14 15:56:31 +0200674 power-domains = <&zynqmp_firmware PD_GDMA>;
Michal Simek54b896f2015-10-30 15:39:18 +0100675 };
676
Michal Simek26cbd922020-09-29 13:43:22 +0200677 gic: interrupt-controller@f9010000 {
678 compatible = "arm,gic-400";
679 #interrupt-cells = <3>;
680 reg = <0x0 0xf9010000 0x0 0x10000>,
681 <0x0 0xf9020000 0x0 0x20000>,
682 <0x0 0xf9040000 0x0 0x20000>,
683 <0x0 0xf9060000 0x0 0x20000>;
684 interrupt-controller;
685 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +0200686 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
Michal Simek26cbd922020-09-29 13:43:22 +0200687 };
688
Michal Simek54b896f2015-10-30 15:39:18 +0100689 gpu: gpu@fd4b0000 {
690 status = "disabled";
Parth Gajjara281ad02023-07-10 14:37:29 +0200691 compatible = "xlnx,zynqmp-mali", "arm,mali-400";
Hyun Kwon991faf72017-08-21 18:54:29 -0700692 reg = <0x0 0xfd4b0000 0x0 0x10000>;
Michal Simek54b896f2015-10-30 15:39:18 +0100693 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +0200694 interrupts = <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>,
695 <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>,
696 <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>,
697 <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>,
698 <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>,
699 <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>;
Parth Gajjara281ad02023-07-10 14:37:29 +0200700 interrupt-names = "gp", "gpmmu", "pp0", "ppmmu0", "pp1", "ppmmu1";
701 clock-names = "bus", "core";
Michal Simek7c001dc2019-10-14 15:56:31 +0200702 power-domains = <&zynqmp_firmware PD_GPU>;
Michal Simek54b896f2015-10-30 15:39:18 +0100703 };
704
Kedareswara rao Appanaae9342f2016-09-09 12:36:01 +0530705 /* LPDDMA default allows only secured access. inorder to enable
706 * These dma channels, Users should ensure that these dma
707 * Channels are allowed for non secure access.
708 */
Shravya Kumbhamafab9b32022-01-14 12:44:06 +0100709 lpd_dma_chan1: dma-controller@ffa80000 {
Michal Simek54b896f2015-10-30 15:39:18 +0100710 status = "disabled";
711 compatible = "xlnx,zynqmp-dma-1.0";
Michal Simek72b562a2016-02-11 07:19:06 +0100712 reg = <0x0 0xffa80000 0x0 0x1000>;
Michal Simek54b896f2015-10-30 15:39:18 +0100713 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +0200714 interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
Michal Simek91ab8252018-01-17 16:32:33 +0100715 clock-names = "clk_main", "clk_apb";
Michal Simek745ea1a2022-12-09 13:56:37 +0100716 #dma-cells = <1>;
Michal Simek54b896f2015-10-30 15:39:18 +0100717 xlnx,bus-width = <64>;
Michal Simekb075d472023-11-01 09:01:03 +0100718 /* iommus = <&smmu 0x868>; */
Michal Simek7c001dc2019-10-14 15:56:31 +0200719 power-domains = <&zynqmp_firmware PD_ADMA>;
Michal Simek54b896f2015-10-30 15:39:18 +0100720 };
721
Shravya Kumbhamafab9b32022-01-14 12:44:06 +0100722 lpd_dma_chan2: dma-controller@ffa90000 {
Michal Simek54b896f2015-10-30 15:39:18 +0100723 status = "disabled";
724 compatible = "xlnx,zynqmp-dma-1.0";
Michal Simek72b562a2016-02-11 07:19:06 +0100725 reg = <0x0 0xffa90000 0x0 0x1000>;
Michal Simek54b896f2015-10-30 15:39:18 +0100726 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +0200727 interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
Michal Simek91ab8252018-01-17 16:32:33 +0100728 clock-names = "clk_main", "clk_apb";
Michal Simek745ea1a2022-12-09 13:56:37 +0100729 #dma-cells = <1>;
Michal Simek54b896f2015-10-30 15:39:18 +0100730 xlnx,bus-width = <64>;
Michal Simekb075d472023-11-01 09:01:03 +0100731 /* iommus = <&smmu 0x869>; */
Michal Simek7c001dc2019-10-14 15:56:31 +0200732 power-domains = <&zynqmp_firmware PD_ADMA>;
Michal Simek54b896f2015-10-30 15:39:18 +0100733 };
734
Shravya Kumbhamafab9b32022-01-14 12:44:06 +0100735 lpd_dma_chan3: dma-controller@ffaa0000 {
Michal Simek54b896f2015-10-30 15:39:18 +0100736 status = "disabled";
737 compatible = "xlnx,zynqmp-dma-1.0";
Michal Simek72b562a2016-02-11 07:19:06 +0100738 reg = <0x0 0xffaa0000 0x0 0x1000>;
Michal Simek54b896f2015-10-30 15:39:18 +0100739 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +0200740 interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
Michal Simek91ab8252018-01-17 16:32:33 +0100741 clock-names = "clk_main", "clk_apb";
Michal Simek745ea1a2022-12-09 13:56:37 +0100742 #dma-cells = <1>;
Michal Simek54b896f2015-10-30 15:39:18 +0100743 xlnx,bus-width = <64>;
Michal Simekb075d472023-11-01 09:01:03 +0100744 /* iommus = <&smmu 0x86a>; */
Michal Simek7c001dc2019-10-14 15:56:31 +0200745 power-domains = <&zynqmp_firmware PD_ADMA>;
Michal Simek54b896f2015-10-30 15:39:18 +0100746 };
747
Shravya Kumbhamafab9b32022-01-14 12:44:06 +0100748 lpd_dma_chan4: dma-controller@ffab0000 {
Michal Simek54b896f2015-10-30 15:39:18 +0100749 status = "disabled";
750 compatible = "xlnx,zynqmp-dma-1.0";
Michal Simek72b562a2016-02-11 07:19:06 +0100751 reg = <0x0 0xffab0000 0x0 0x1000>;
Michal Simek54b896f2015-10-30 15:39:18 +0100752 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +0200753 interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
Michal Simek91ab8252018-01-17 16:32:33 +0100754 clock-names = "clk_main", "clk_apb";
Michal Simek745ea1a2022-12-09 13:56:37 +0100755 #dma-cells = <1>;
Michal Simek54b896f2015-10-30 15:39:18 +0100756 xlnx,bus-width = <64>;
Michal Simekb075d472023-11-01 09:01:03 +0100757 /* iommus = <&smmu 0x86b>; */
Michal Simek7c001dc2019-10-14 15:56:31 +0200758 power-domains = <&zynqmp_firmware PD_ADMA>;
Michal Simek54b896f2015-10-30 15:39:18 +0100759 };
760
Shravya Kumbhamafab9b32022-01-14 12:44:06 +0100761 lpd_dma_chan5: dma-controller@ffac0000 {
Michal Simek54b896f2015-10-30 15:39:18 +0100762 status = "disabled";
763 compatible = "xlnx,zynqmp-dma-1.0";
Michal Simek72b562a2016-02-11 07:19:06 +0100764 reg = <0x0 0xffac0000 0x0 0x1000>;
Michal Simek54b896f2015-10-30 15:39:18 +0100765 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +0200766 interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
Michal Simek91ab8252018-01-17 16:32:33 +0100767 clock-names = "clk_main", "clk_apb";
Michal Simek745ea1a2022-12-09 13:56:37 +0100768 #dma-cells = <1>;
Michal Simek54b896f2015-10-30 15:39:18 +0100769 xlnx,bus-width = <64>;
Michal Simekb075d472023-11-01 09:01:03 +0100770 /* iommus = <&smmu 0x86c>; */
Michal Simek7c001dc2019-10-14 15:56:31 +0200771 power-domains = <&zynqmp_firmware PD_ADMA>;
Michal Simek54b896f2015-10-30 15:39:18 +0100772 };
773
Shravya Kumbhamafab9b32022-01-14 12:44:06 +0100774 lpd_dma_chan6: dma-controller@ffad0000 {
Michal Simek54b896f2015-10-30 15:39:18 +0100775 status = "disabled";
776 compatible = "xlnx,zynqmp-dma-1.0";
Michal Simek72b562a2016-02-11 07:19:06 +0100777 reg = <0x0 0xffad0000 0x0 0x1000>;
Michal Simek54b896f2015-10-30 15:39:18 +0100778 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +0200779 interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
Michal Simek91ab8252018-01-17 16:32:33 +0100780 clock-names = "clk_main", "clk_apb";
Michal Simek745ea1a2022-12-09 13:56:37 +0100781 #dma-cells = <1>;
Michal Simek54b896f2015-10-30 15:39:18 +0100782 xlnx,bus-width = <64>;
Michal Simekb075d472023-11-01 09:01:03 +0100783 /* iommus = <&smmu 0x86d>; */
Michal Simek7c001dc2019-10-14 15:56:31 +0200784 power-domains = <&zynqmp_firmware PD_ADMA>;
Michal Simek54b896f2015-10-30 15:39:18 +0100785 };
786
Shravya Kumbhamafab9b32022-01-14 12:44:06 +0100787 lpd_dma_chan7: dma-controller@ffae0000 {
Michal Simek54b896f2015-10-30 15:39:18 +0100788 status = "disabled";
789 compatible = "xlnx,zynqmp-dma-1.0";
Michal Simek72b562a2016-02-11 07:19:06 +0100790 reg = <0x0 0xffae0000 0x0 0x1000>;
Michal Simek54b896f2015-10-30 15:39:18 +0100791 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +0200792 interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
Michal Simek91ab8252018-01-17 16:32:33 +0100793 clock-names = "clk_main", "clk_apb";
Michal Simek745ea1a2022-12-09 13:56:37 +0100794 #dma-cells = <1>;
Michal Simek54b896f2015-10-30 15:39:18 +0100795 xlnx,bus-width = <64>;
Michal Simekb075d472023-11-01 09:01:03 +0100796 /* iommus = <&smmu 0x86e>; */
Michal Simek7c001dc2019-10-14 15:56:31 +0200797 power-domains = <&zynqmp_firmware PD_ADMA>;
Michal Simek54b896f2015-10-30 15:39:18 +0100798 };
799
Shravya Kumbhamafab9b32022-01-14 12:44:06 +0100800 lpd_dma_chan8: dma-controller@ffaf0000 {
Michal Simek54b896f2015-10-30 15:39:18 +0100801 status = "disabled";
802 compatible = "xlnx,zynqmp-dma-1.0";
Michal Simek72b562a2016-02-11 07:19:06 +0100803 reg = <0x0 0xffaf0000 0x0 0x1000>;
Michal Simek54b896f2015-10-30 15:39:18 +0100804 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +0200805 interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
Michal Simek91ab8252018-01-17 16:32:33 +0100806 clock-names = "clk_main", "clk_apb";
Michal Simek745ea1a2022-12-09 13:56:37 +0100807 #dma-cells = <1>;
Michal Simek54b896f2015-10-30 15:39:18 +0100808 xlnx,bus-width = <64>;
Michal Simekb075d472023-11-01 09:01:03 +0100809 /* iommus = <&smmu 0x86f>; */
Michal Simek7c001dc2019-10-14 15:56:31 +0200810 power-domains = <&zynqmp_firmware PD_ADMA>;
Michal Simek54b896f2015-10-30 15:39:18 +0100811 };
812
Naga Sureshkumar Rellide96a3e2016-03-11 13:10:26 +0530813 mc: memory-controller@fd070000 {
814 compatible = "xlnx,zynqmp-ddrc-2.40a";
Michal Simek72b562a2016-02-11 07:19:06 +0100815 reg = <0x0 0xfd070000 0x0 0x30000>;
Naga Sureshkumar Rellide96a3e2016-03-11 13:10:26 +0530816 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +0200817 interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
Naga Sureshkumar Rellide96a3e2016-03-11 13:10:26 +0530818 };
819
Michal Simek958c0e92020-11-26 14:25:02 +0100820 nand0: nand-controller@ff100000 {
821 compatible = "xlnx,zynqmp-nand-controller", "arasan,nfc-v3p10";
Michal Simek54b896f2015-10-30 15:39:18 +0100822 status = "disabled";
Michal Simek72b562a2016-02-11 07:19:06 +0100823 reg = <0x0 0xff100000 0x0 0x1000>;
Amit Kumar Mahapatrac0504ca2021-02-23 13:47:20 -0700824 clock-names = "controller", "bus";
Michal Simek54b896f2015-10-30 15:39:18 +0100825 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +0200826 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
Naga Sureshkumar Rellie007a352017-01-23 16:20:37 +0530827 #address-cells = <1>;
828 #size-cells = <0>;
Michal Simekb075d472023-11-01 09:01:03 +0100829 /* iommus = <&smmu 0x872>; */
Michal Simek7c001dc2019-10-14 15:56:31 +0200830 power-domains = <&zynqmp_firmware PD_NAND>;
Michal Simek54b896f2015-10-30 15:39:18 +0100831 };
832
833 gem0: ethernet@ff0b0000 {
Michal Simeka8ecf552023-02-06 13:50:00 +0100834 compatible = "xlnx,zynqmp-gem", "cdns,gem";
Michal Simek54b896f2015-10-30 15:39:18 +0100835 status = "disabled";
836 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +0200837 interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>,
838 <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
Michal Simek72b562a2016-02-11 07:19:06 +0100839 reg = <0x0 0xff0b0000 0x0 0x1000>;
Michal Simek90c43f62021-11-18 13:42:28 +0100840 clock-names = "pclk", "hclk", "tx_clk", "rx_clk", "tsu_clk";
Michal Simekb075d472023-11-01 09:01:03 +0100841 /* iommus = <&smmu 0x874>; */
Michal Simek7c001dc2019-10-14 15:56:31 +0200842 power-domains = <&zynqmp_firmware PD_ETH_0>;
Michal Simek676c2af2021-11-18 13:42:27 +0100843 resets = <&zynqmp_reset ZYNQMP_RESET_GEM0>;
Michal Simek7159a442022-12-09 13:56:38 +0100844 reset-names = "gem0_rst";
Michal Simek54b896f2015-10-30 15:39:18 +0100845 };
846
847 gem1: ethernet@ff0c0000 {
Michal Simeka8ecf552023-02-06 13:50:00 +0100848 compatible = "xlnx,zynqmp-gem", "cdns,gem";
Michal Simek54b896f2015-10-30 15:39:18 +0100849 status = "disabled";
850 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +0200851 interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>,
852 <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
Michal Simek72b562a2016-02-11 07:19:06 +0100853 reg = <0x0 0xff0c0000 0x0 0x1000>;
Michal Simek90c43f62021-11-18 13:42:28 +0100854 clock-names = "pclk", "hclk", "tx_clk", "rx_clk", "tsu_clk";
Michal Simekb075d472023-11-01 09:01:03 +0100855 /* iommus = <&smmu 0x875>; */
Michal Simek7c001dc2019-10-14 15:56:31 +0200856 power-domains = <&zynqmp_firmware PD_ETH_1>;
Michal Simek676c2af2021-11-18 13:42:27 +0100857 resets = <&zynqmp_reset ZYNQMP_RESET_GEM1>;
Michal Simek7159a442022-12-09 13:56:38 +0100858 reset-names = "gem1_rst";
Michal Simek54b896f2015-10-30 15:39:18 +0100859 };
860
861 gem2: ethernet@ff0d0000 {
Michal Simeka8ecf552023-02-06 13:50:00 +0100862 compatible = "xlnx,zynqmp-gem", "cdns,gem";
Michal Simek54b896f2015-10-30 15:39:18 +0100863 status = "disabled";
864 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +0200865 interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>,
866 <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
Michal Simek72b562a2016-02-11 07:19:06 +0100867 reg = <0x0 0xff0d0000 0x0 0x1000>;
Michal Simek90c43f62021-11-18 13:42:28 +0100868 clock-names = "pclk", "hclk", "tx_clk", "rx_clk", "tsu_clk";
Michal Simekb075d472023-11-01 09:01:03 +0100869 /* iommus = <&smmu 0x876>; */
Michal Simek7c001dc2019-10-14 15:56:31 +0200870 power-domains = <&zynqmp_firmware PD_ETH_2>;
Michal Simek676c2af2021-11-18 13:42:27 +0100871 resets = <&zynqmp_reset ZYNQMP_RESET_GEM2>;
Michal Simek7159a442022-12-09 13:56:38 +0100872 reset-names = "gem2_rst";
Michal Simek54b896f2015-10-30 15:39:18 +0100873 };
874
875 gem3: ethernet@ff0e0000 {
Michal Simeka8ecf552023-02-06 13:50:00 +0100876 compatible = "xlnx,zynqmp-gem", "cdns,gem";
Michal Simek54b896f2015-10-30 15:39:18 +0100877 status = "disabled";
878 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +0200879 interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>,
880 <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
Michal Simek72b562a2016-02-11 07:19:06 +0100881 reg = <0x0 0xff0e0000 0x0 0x1000>;
Michal Simek90c43f62021-11-18 13:42:28 +0100882 clock-names = "pclk", "hclk", "tx_clk", "rx_clk", "tsu_clk";
Michal Simekb075d472023-11-01 09:01:03 +0100883 /* iommus = <&smmu 0x877>; */
Michal Simek7c001dc2019-10-14 15:56:31 +0200884 power-domains = <&zynqmp_firmware PD_ETH_3>;
Michal Simek676c2af2021-11-18 13:42:27 +0100885 resets = <&zynqmp_reset ZYNQMP_RESET_GEM3>;
Michal Simek7159a442022-12-09 13:56:38 +0100886 reset-names = "gem3_rst";
Michal Simek54b896f2015-10-30 15:39:18 +0100887 };
888
889 gpio: gpio@ff0a0000 {
890 compatible = "xlnx,zynqmp-gpio-1.0";
891 status = "disabled";
892 #gpio-cells = <0x2>;
Michal Simek3d5f0f62020-01-09 13:10:59 +0100893 gpio-controller;
Michal Simek54b896f2015-10-30 15:39:18 +0100894 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +0200895 interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
Michal Simek7e2df452016-10-20 10:26:13 +0200896 interrupt-controller;
897 #interrupt-cells = <2>;
Michal Simek72b562a2016-02-11 07:19:06 +0100898 reg = <0x0 0xff0a0000 0x0 0x1000>;
Michal Simek7c001dc2019-10-14 15:56:31 +0200899 power-domains = <&zynqmp_firmware PD_GPIO>;
Michal Simek54b896f2015-10-30 15:39:18 +0100900 };
901
902 i2c0: i2c@ff020000 {
Michal Simek26cbd922020-09-29 13:43:22 +0200903 compatible = "cdns,i2c-r1p14";
Michal Simek54b896f2015-10-30 15:39:18 +0100904 status = "disabled";
905 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +0200906 interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
Varalaxmi Bingi2b6ea082023-07-10 14:37:27 +0200907 clock-frequency = <400000>;
Michal Simek72b562a2016-02-11 07:19:06 +0100908 reg = <0x0 0xff020000 0x0 0x1000>;
Michal Simek54b896f2015-10-30 15:39:18 +0100909 #address-cells = <1>;
910 #size-cells = <0>;
Michal Simek7c001dc2019-10-14 15:56:31 +0200911 power-domains = <&zynqmp_firmware PD_I2C_0>;
Michal Simek54b896f2015-10-30 15:39:18 +0100912 };
913
914 i2c1: i2c@ff030000 {
Michal Simek26cbd922020-09-29 13:43:22 +0200915 compatible = "cdns,i2c-r1p14";
Michal Simek54b896f2015-10-30 15:39:18 +0100916 status = "disabled";
917 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +0200918 interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>;
Varalaxmi Bingi2b6ea082023-07-10 14:37:27 +0200919 clock-frequency = <400000>;
Michal Simek72b562a2016-02-11 07:19:06 +0100920 reg = <0x0 0xff030000 0x0 0x1000>;
Michal Simek54b896f2015-10-30 15:39:18 +0100921 #address-cells = <1>;
922 #size-cells = <0>;
Michal Simek7c001dc2019-10-14 15:56:31 +0200923 power-domains = <&zynqmp_firmware PD_I2C_1>;
Michal Simek54b896f2015-10-30 15:39:18 +0100924 };
925
Naga Sureshkumar Relli104b4fc2016-05-18 12:23:13 +0530926 ocm: memory-controller@ff960000 {
927 compatible = "xlnx,zynqmp-ocmc-1.0";
Michal Simek72b562a2016-02-11 07:19:06 +0100928 reg = <0x0 0xff960000 0x0 0x1000>;
Naga Sureshkumar Relli104b4fc2016-05-18 12:23:13 +0530929 interrupt-parent = <&gic>;
Michal Simekaef89832024-01-08 11:25:57 +0100930 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
Naga Sureshkumar Relli104b4fc2016-05-18 12:23:13 +0530931 };
932
Michal Simek54b896f2015-10-30 15:39:18 +0100933 pcie: pcie@fd0e0000 {
934 compatible = "xlnx,nwl-pcie-2.11";
935 status = "disabled";
936 #address-cells = <3>;
937 #size-cells = <2>;
938 #interrupt-cells = <1>;
Bharat Kumar Gogadae44f69d2016-07-19 20:49:29 +0530939 msi-controller;
Michal Simek54b896f2015-10-30 15:39:18 +0100940 device_type = "pci";
941 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +0200942 interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
943 <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
944 <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
945 <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>, /* MSI_1 [63...32] */
946 <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>; /* MSI_0 [31...0] */
Michal Simek91ab8252018-01-17 16:32:33 +0100947 interrupt-names = "misc", "dummy", "intx",
948 "msi1", "msi0";
Bharat Kumar Gogadae44f69d2016-07-19 20:49:29 +0530949 msi-parent = <&pcie>;
Michal Simek72b562a2016-02-11 07:19:06 +0100950 reg = <0x0 0xfd0e0000 0x0 0x1000>,
951 <0x0 0xfd480000 0x0 0x1000>,
Thippeswamy Havalige0146f8b2023-09-11 16:10:50 +0200952 <0x80 0x00000000 0x0 0x10000000>;
Michal Simek54b896f2015-10-30 15:39:18 +0100953 reg-names = "breg", "pcireg", "cfg";
Michal Simek26cbd922020-09-29 13:43:22 +0200954 ranges = <0x02000000 0x00000000 0xe0000000 0x00000000 0xe0000000 0x00000000 0x10000000>,/* non-prefetchable memory */
955 <0x43000000 0x00000006 0x00000000 0x00000006 0x00000000 0x00000002 0x00000000>;/* prefetchable memory */
Rob Herring1559f562017-03-21 21:03:13 -0500956 bus-range = <0x00 0xff>;
Bharat Kumar Gogadaf6e02b32016-02-15 21:18:58 +0530957 interrupt-map-mask = <0x0 0x0 0x0 0x7>;
958 interrupt-map = <0x0 0x0 0x0 0x1 &pcie_intc 0x1>,
959 <0x0 0x0 0x0 0x2 &pcie_intc 0x2>,
960 <0x0 0x0 0x0 0x3 &pcie_intc 0x3>,
961 <0x0 0x0 0x0 0x4 &pcie_intc 0x4>;
Michal Simekb075d472023-11-01 09:01:03 +0100962 /* iommus = <&smmu 0x4d0>; */
Michal Simek7c001dc2019-10-14 15:56:31 +0200963 power-domains = <&zynqmp_firmware PD_PCIE>;
Bharat Kumar Gogadaf6e02b32016-02-15 21:18:58 +0530964 pcie_intc: legacy-interrupt-controller {
965 interrupt-controller;
966 #address-cells = <0>;
967 #interrupt-cells = <1>;
968 };
Michal Simek54b896f2015-10-30 15:39:18 +0100969 };
970
971 qspi: spi@ff0f0000 {
Simon Glassd3a98cb2023-02-13 08:56:33 -0700972 bootph-all;
Michal Simek54b896f2015-10-30 15:39:18 +0100973 compatible = "xlnx,zynqmp-qspi-1.0";
974 status = "disabled";
975 clock-names = "ref_clk", "pclk";
Michal Simek86eb8952023-09-22 12:35:30 +0200976 interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
Michal Simek54b896f2015-10-30 15:39:18 +0100977 interrupt-parent = <&gic>;
978 num-cs = <1>;
Michal Simek72b562a2016-02-11 07:19:06 +0100979 reg = <0x0 0xff0f0000 0x0 0x1000>,
980 <0x0 0xc0000000 0x0 0x8000000>;
Michal Simek54b896f2015-10-30 15:39:18 +0100981 #address-cells = <1>;
982 #size-cells = <0>;
Michal Simekb075d472023-11-01 09:01:03 +0100983 /* iommus = <&smmu 0x873>; */
Michal Simek7c001dc2019-10-14 15:56:31 +0200984 power-domains = <&zynqmp_firmware PD_QSPI>;
Michal Simek54b896f2015-10-30 15:39:18 +0100985 };
986
Michal Simek958c0e92020-11-26 14:25:02 +0100987 psgtr: phy@fd400000 {
988 compatible = "xlnx,zynqmp-psgtr-v1.1";
989 status = "disabled";
990 reg = <0x0 0xfd400000 0x0 0x40000>,
991 <0x0 0xfd3d0000 0x0 0x1000>;
992 reg-names = "serdes", "siou";
993 #phy-cells = <4>;
994 };
995
Michal Simek54b896f2015-10-30 15:39:18 +0100996 rtc: rtc@ffa60000 {
997 compatible = "xlnx,zynqmp-rtc";
998 status = "disabled";
Michal Simek72b562a2016-02-11 07:19:06 +0100999 reg = <0x0 0xffa60000 0x0 0x100>;
Michal Simek54b896f2015-10-30 15:39:18 +01001000 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +02001001 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>,
1002 <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
Michal Simek54b896f2015-10-30 15:39:18 +01001003 interrupt-names = "alarm", "sec";
Srinivas Neeli45b66c42021-03-08 14:05:19 +05301004 calibration = <0x7FFF>;
Michal Simek54b896f2015-10-30 15:39:18 +01001005 };
1006
1007 sata: ahci@fd0c0000 {
1008 compatible = "ceva,ahci-1v84";
1009 status = "disabled";
Michal Simek72b562a2016-02-11 07:19:06 +01001010 reg = <0x0 0xfd0c0000 0x0 0x2000>;
Michal Simek54b896f2015-10-30 15:39:18 +01001011 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +02001012 interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
Michal Simek7c001dc2019-10-14 15:56:31 +02001013 power-domains = <&zynqmp_firmware PD_SATA>;
Michal Simek04fd5412021-05-27 13:49:05 +02001014 resets = <&zynqmp_reset ZYNQMP_RESET_SATA>;
Michal Simekb075d472023-11-01 09:01:03 +01001015 /* iommus = <&smmu 0x4c0>, <&smmu 0x4c1>, <&smmu 0x4c2>, <&smmu 0x4c3>; */
Michal Simek54b896f2015-10-30 15:39:18 +01001016 };
1017
Siva Durga Prasad Paladugue91778d2019-01-03 15:44:24 +05301018 sdhci0: mmc@ff160000 {
Simon Glassd3a98cb2023-02-13 08:56:33 -07001019 bootph-all;
Sai Krishna Potthuri02550fb2016-08-16 14:41:35 +05301020 compatible = "xlnx,zynqmp-8.9a", "arasan,sdhci-8.9a";
Michal Simek54b896f2015-10-30 15:39:18 +01001021 status = "disabled";
1022 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +02001023 interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
Michal Simek72b562a2016-02-11 07:19:06 +01001024 reg = <0x0 0xff160000 0x0 0x1000>;
Michal Simek54b896f2015-10-30 15:39:18 +01001025 clock-names = "clk_xin", "clk_ahb";
Michal Simekb075d472023-11-01 09:01:03 +01001026 /* iommus = <&smmu 0x870>; */
Ashok Reddy Somac6e97882020-02-17 23:32:57 -07001027 #clock-cells = <1>;
1028 clock-output-names = "clk_out_sd0", "clk_in_sd0";
Michal Simek958c0e92020-11-26 14:25:02 +01001029 power-domains = <&zynqmp_firmware PD_SD_0>;
Sai Krishna Potthuri6602df42022-02-28 15:59:29 +01001030 resets = <&zynqmp_reset ZYNQMP_RESET_SDIO0>;
Michal Simek54b896f2015-10-30 15:39:18 +01001031 };
1032
Siva Durga Prasad Paladugue91778d2019-01-03 15:44:24 +05301033 sdhci1: mmc@ff170000 {
Simon Glassd3a98cb2023-02-13 08:56:33 -07001034 bootph-all;
Sai Krishna Potthuri02550fb2016-08-16 14:41:35 +05301035 compatible = "xlnx,zynqmp-8.9a", "arasan,sdhci-8.9a";
Michal Simek54b896f2015-10-30 15:39:18 +01001036 status = "disabled";
1037 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +02001038 interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
Michal Simek72b562a2016-02-11 07:19:06 +01001039 reg = <0x0 0xff170000 0x0 0x1000>;
Michal Simek54b896f2015-10-30 15:39:18 +01001040 clock-names = "clk_xin", "clk_ahb";
Michal Simekb075d472023-11-01 09:01:03 +01001041 /* iommus = <&smmu 0x871>; */
Ashok Reddy Somac6e97882020-02-17 23:32:57 -07001042 #clock-cells = <1>;
1043 clock-output-names = "clk_out_sd1", "clk_in_sd1";
Michal Simek958c0e92020-11-26 14:25:02 +01001044 power-domains = <&zynqmp_firmware PD_SD_1>;
Sai Krishna Potthuri6602df42022-02-28 15:59:29 +01001045 resets = <&zynqmp_reset ZYNQMP_RESET_SDIO1>;
Michal Simek54b896f2015-10-30 15:39:18 +01001046 };
1047
Michal Simek26cbd922020-09-29 13:43:22 +02001048 smmu: iommu@fd800000 {
Michal Simek54b896f2015-10-30 15:39:18 +01001049 compatible = "arm,mmu-500";
Michal Simek72b562a2016-02-11 07:19:06 +01001050 reg = <0x0 0xfd800000 0x0 0x20000>;
Michal Simek8db0faa2016-04-06 10:43:23 +02001051 #iommu-cells = <1>;
Naga Sureshkumar Relli033f87c2017-03-09 20:00:13 +05301052 status = "disabled";
Michal Simek54b896f2015-10-30 15:39:18 +01001053 #global-interrupts = <1>;
1054 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +02001055 interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>,
1056 <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>,
1057 <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>,
1058 <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>,
1059 <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>,
1060 <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>,
1061 <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>,
1062 <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>,
1063 <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>,
1064 <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>,
1065 <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>,
1066 <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>,
1067 <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>,
1068 <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>,
1069 <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>,
1070 <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>,
1071 <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>;
Michal Simek54b896f2015-10-30 15:39:18 +01001072 };
1073
1074 spi0: spi@ff040000 {
1075 compatible = "cdns,spi-r1p6";
1076 status = "disabled";
1077 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +02001078 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
Michal Simek72b562a2016-02-11 07:19:06 +01001079 reg = <0x0 0xff040000 0x0 0x1000>;
Michal Simek54b896f2015-10-30 15:39:18 +01001080 clock-names = "ref_clk", "pclk";
1081 #address-cells = <1>;
1082 #size-cells = <0>;
Michal Simek7c001dc2019-10-14 15:56:31 +02001083 power-domains = <&zynqmp_firmware PD_SPI_0>;
Michal Simek54b896f2015-10-30 15:39:18 +01001084 };
1085
1086 spi1: spi@ff050000 {
1087 compatible = "cdns,spi-r1p6";
1088 status = "disabled";
1089 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +02001090 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
Michal Simek72b562a2016-02-11 07:19:06 +01001091 reg = <0x0 0xff050000 0x0 0x1000>;
Michal Simek54b896f2015-10-30 15:39:18 +01001092 clock-names = "ref_clk", "pclk";
1093 #address-cells = <1>;
1094 #size-cells = <0>;
Michal Simek7c001dc2019-10-14 15:56:31 +02001095 power-domains = <&zynqmp_firmware PD_SPI_1>;
Michal Simek54b896f2015-10-30 15:39:18 +01001096 };
1097
1098 ttc0: timer@ff110000 {
1099 compatible = "cdns,ttc";
1100 status = "disabled";
1101 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +02001102 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>,
1103 <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>,
1104 <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
Michal Simek72b562a2016-02-11 07:19:06 +01001105 reg = <0x0 0xff110000 0x0 0x1000>;
Michal Simek54b896f2015-10-30 15:39:18 +01001106 timer-width = <32>;
Michal Simek7c001dc2019-10-14 15:56:31 +02001107 power-domains = <&zynqmp_firmware PD_TTC_0>;
Michal Simek54b896f2015-10-30 15:39:18 +01001108 };
1109
1110 ttc1: timer@ff120000 {
1111 compatible = "cdns,ttc";
1112 status = "disabled";
1113 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +02001114 interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>,
1115 <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
1116 <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
Michal Simek72b562a2016-02-11 07:19:06 +01001117 reg = <0x0 0xff120000 0x0 0x1000>;
Michal Simek54b896f2015-10-30 15:39:18 +01001118 timer-width = <32>;
Michal Simek7c001dc2019-10-14 15:56:31 +02001119 power-domains = <&zynqmp_firmware PD_TTC_1>;
Michal Simek54b896f2015-10-30 15:39:18 +01001120 };
1121
1122 ttc2: timer@ff130000 {
1123 compatible = "cdns,ttc";
1124 status = "disabled";
1125 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +02001126 interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
1127 <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>,
1128 <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
Michal Simek72b562a2016-02-11 07:19:06 +01001129 reg = <0x0 0xff130000 0x0 0x1000>;
Michal Simek54b896f2015-10-30 15:39:18 +01001130 timer-width = <32>;
Michal Simek7c001dc2019-10-14 15:56:31 +02001131 power-domains = <&zynqmp_firmware PD_TTC_2>;
Michal Simek54b896f2015-10-30 15:39:18 +01001132 };
1133
1134 ttc3: timer@ff140000 {
1135 compatible = "cdns,ttc";
1136 status = "disabled";
1137 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +02001138 interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>,
1139 <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>,
1140 <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
Michal Simek72b562a2016-02-11 07:19:06 +01001141 reg = <0x0 0xff140000 0x0 0x1000>;
Michal Simek54b896f2015-10-30 15:39:18 +01001142 timer-width = <32>;
Michal Simek7c001dc2019-10-14 15:56:31 +02001143 power-domains = <&zynqmp_firmware PD_TTC_3>;
Michal Simek54b896f2015-10-30 15:39:18 +01001144 };
1145
1146 uart0: serial@ff000000 {
Simon Glassd3a98cb2023-02-13 08:56:33 -07001147 bootph-all;
Michal Simekae89fd82022-01-14 12:43:05 +01001148 compatible = "xlnx,zynqmp-uart", "cdns,uart-r1p12";
Michal Simek54b896f2015-10-30 15:39:18 +01001149 status = "disabled";
1150 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +02001151 interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
Michal Simek72b562a2016-02-11 07:19:06 +01001152 reg = <0x0 0xff000000 0x0 0x1000>;
Michal Simek54b896f2015-10-30 15:39:18 +01001153 clock-names = "uart_clk", "pclk";
Michal Simek7c001dc2019-10-14 15:56:31 +02001154 power-domains = <&zynqmp_firmware PD_UART_0>;
Manikanta Guntupalli3ab8e8f2024-07-15 16:23:43 +02001155 resets = <&zynqmp_reset ZYNQMP_RESET_UART0>;
Michal Simek54b896f2015-10-30 15:39:18 +01001156 };
1157
1158 uart1: serial@ff010000 {
Simon Glassd3a98cb2023-02-13 08:56:33 -07001159 bootph-all;
Michal Simekae89fd82022-01-14 12:43:05 +01001160 compatible = "xlnx,zynqmp-uart", "cdns,uart-r1p12";
Michal Simek54b896f2015-10-30 15:39:18 +01001161 status = "disabled";
1162 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +02001163 interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
Michal Simek72b562a2016-02-11 07:19:06 +01001164 reg = <0x0 0xff010000 0x0 0x1000>;
Michal Simek54b896f2015-10-30 15:39:18 +01001165 clock-names = "uart_clk", "pclk";
Michal Simek7c001dc2019-10-14 15:56:31 +02001166 power-domains = <&zynqmp_firmware PD_UART_1>;
Manikanta Guntupalli3ab8e8f2024-07-15 16:23:43 +02001167 resets = <&zynqmp_reset ZYNQMP_RESET_UART1>;
Michal Simek54b896f2015-10-30 15:39:18 +01001168 };
1169
Michal Simek7aa70d52022-12-09 13:56:41 +01001170 usb0: usb@ff9d0000 {
Michal Simek13111a12016-04-07 15:06:07 +02001171 #address-cells = <2>;
Michal Simek72b562a2016-02-11 07:19:06 +01001172 #size-cells = <2>;
Michal Simek54b896f2015-10-30 15:39:18 +01001173 status = "disabled";
Michal Simek13111a12016-04-07 15:06:07 +02001174 compatible = "xlnx,zynqmp-dwc3";
Manish Narani047096e2017-03-27 17:47:00 +05301175 reg = <0x0 0xff9d0000 0x0 0x100>;
Michal Simek13111a12016-04-07 15:06:07 +02001176 clock-names = "bus_clk", "ref_clk";
Michal Simek7c001dc2019-10-14 15:56:31 +02001177 power-domains = <&zynqmp_firmware PD_USB_0>;
Michal Simek362082a2021-06-11 08:51:19 +02001178 resets = <&zynqmp_reset ZYNQMP_RESET_USB0_CORERESET>,
1179 <&zynqmp_reset ZYNQMP_RESET_USB0_HIBERRESET>,
1180 <&zynqmp_reset ZYNQMP_RESET_USB0_APB>;
1181 reset-names = "usb_crst", "usb_hibrst", "usb_apbrst";
Piyush Mehta949e7952022-05-11 11:52:45 +02001182 reset-gpios = <&modepin_gpio 1 GPIO_ACTIVE_LOW>;
Michal Simek13111a12016-04-07 15:06:07 +02001183 ranges;
1184
Manish Narani690dec02022-01-14 12:43:35 +01001185 dwc3_0: usb@fe200000 {
Michal Simek13111a12016-04-07 15:06:07 +02001186 compatible = "snps,dwc3";
1187 status = "disabled";
Michal Simek72b562a2016-02-11 07:19:06 +01001188 reg = <0x0 0xfe200000 0x0 0x40000>;
Michal Simek13111a12016-04-07 15:06:07 +02001189 interrupt-parent = <&gic>;
Michal Simekaca415a2024-03-08 09:41:55 +01001190 interrupt-names = "host", "peripheral", "otg", "wakeup";
Michal Simek86eb8952023-09-22 12:35:30 +02001191 interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>,
1192 <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>,
Michal Simekaca415a2024-03-08 09:41:55 +01001193 <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>,
1194 <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
Michal Simek19e355d2024-11-28 15:49:14 +01001195 clock-names = "ref";
Michal Simekb075d472023-11-01 09:01:03 +01001196 /* iommus = <&smmu 0x860>; */
Anurag Kumar Vulisha011bd7d2017-03-10 19:18:17 +05301197 snps,quirk-frame-length-adjustment = <0x20>;
Michael Grzeschik073fd522022-10-23 23:56:49 +02001198 snps,resume-hs-terminations;
Manish Narani047096e2017-03-27 17:47:00 +05301199 /* dma-coherent; */
Michal Simek13111a12016-04-07 15:06:07 +02001200 };
Michal Simek54b896f2015-10-30 15:39:18 +01001201 };
1202
Michal Simek7aa70d52022-12-09 13:56:41 +01001203 usb1: usb@ff9e0000 {
Michal Simek13111a12016-04-07 15:06:07 +02001204 #address-cells = <2>;
Michal Simek72b562a2016-02-11 07:19:06 +01001205 #size-cells = <2>;
Michal Simek54b896f2015-10-30 15:39:18 +01001206 status = "disabled";
Michal Simek13111a12016-04-07 15:06:07 +02001207 compatible = "xlnx,zynqmp-dwc3";
Manish Narani047096e2017-03-27 17:47:00 +05301208 reg = <0x0 0xff9e0000 0x0 0x100>;
Michal Simek13111a12016-04-07 15:06:07 +02001209 clock-names = "bus_clk", "ref_clk";
Michal Simek7c001dc2019-10-14 15:56:31 +02001210 power-domains = <&zynqmp_firmware PD_USB_1>;
Michal Simek362082a2021-06-11 08:51:19 +02001211 resets = <&zynqmp_reset ZYNQMP_RESET_USB1_CORERESET>,
1212 <&zynqmp_reset ZYNQMP_RESET_USB1_HIBERRESET>,
1213 <&zynqmp_reset ZYNQMP_RESET_USB1_APB>;
1214 reset-names = "usb_crst", "usb_hibrst", "usb_apbrst";
Michal Simek13111a12016-04-07 15:06:07 +02001215 ranges;
1216
Manish Narani690dec02022-01-14 12:43:35 +01001217 dwc3_1: usb@fe300000 {
Michal Simek13111a12016-04-07 15:06:07 +02001218 compatible = "snps,dwc3";
1219 status = "disabled";
Michal Simek72b562a2016-02-11 07:19:06 +01001220 reg = <0x0 0xfe300000 0x0 0x40000>;
Michal Simek13111a12016-04-07 15:06:07 +02001221 interrupt-parent = <&gic>;
Michal Simekaca415a2024-03-08 09:41:55 +01001222 interrupt-names = "host", "peripheral", "otg", "wakeup";
Michal Simek86eb8952023-09-22 12:35:30 +02001223 interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>,
1224 <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>,
Michal Simekaca415a2024-03-08 09:41:55 +01001225 <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>,
1226 <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
Michal Simek19e355d2024-11-28 15:49:14 +01001227 clock-names = "ref";
Michal Simekb075d472023-11-01 09:01:03 +01001228 /* iommus = <&smmu 0x861>; */
Anurag Kumar Vulisha011bd7d2017-03-10 19:18:17 +05301229 snps,quirk-frame-length-adjustment = <0x20>;
Michael Grzeschik073fd522022-10-23 23:56:49 +02001230 snps,resume-hs-terminations;
Manish Narani047096e2017-03-27 17:47:00 +05301231 /* dma-coherent; */
Michal Simek13111a12016-04-07 15:06:07 +02001232 };
Michal Simek54b896f2015-10-30 15:39:18 +01001233 };
1234
1235 watchdog0: watchdog@fd4d0000 {
1236 compatible = "cdns,wdt-r1p2";
1237 status = "disabled";
1238 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +02001239 interrupts = <GIC_SPI 113 IRQ_TYPE_EDGE_RISING>;
Michal Simek72b562a2016-02-11 07:19:06 +01001240 reg = <0x0 0xfd4d0000 0x0 0x1000>;
Mounika Grace Akula7db82412018-10-09 20:52:50 +05301241 timeout-sec = <60>;
1242 reset-on-timeout;
Michal Simek54b896f2015-10-30 15:39:18 +01001243 };
1244
Michal Simek7b6280e2018-07-18 09:25:43 +02001245 lpd_watchdog: watchdog@ff150000 {
1246 compatible = "cdns,wdt-r1p2";
1247 status = "disabled";
1248 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +02001249 interrupts = <GIC_SPI 52 IRQ_TYPE_EDGE_RISING>;
Michal Simek7b6280e2018-07-18 09:25:43 +02001250 reg = <0x0 0xff150000 0x0 0x1000>;
1251 timeout-sec = <10>;
1252 };
1253
Michal Simek1bb4be32017-11-02 12:04:43 +01001254 xilinx_ams: ams@ffa50000 {
1255 compatible = "xlnx,zynqmp-ams";
Michal Simek1bb4be32017-11-02 12:04:43 +01001256 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +02001257 interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
Michal Simek1bb4be32017-11-02 12:04:43 +01001258 reg = <0x0 0xffa50000 0x0 0x800>;
Michal Simek22459162022-12-09 13:56:39 +01001259 #address-cells = <1>;
1260 #size-cells = <1>;
Michal Simek1bb4be32017-11-02 12:04:43 +01001261 #io-channel-cells = <1>;
Michal Simek22459162022-12-09 13:56:39 +01001262 ranges = <0 0 0xffa50800 0x800>;
Michal Simek1bb4be32017-11-02 12:04:43 +01001263
Michal Simekcef1e3a2023-07-10 14:37:42 +02001264 ams_ps: ams-ps@0 {
Michal Simek1bb4be32017-11-02 12:04:43 +01001265 compatible = "xlnx,zynqmp-ams-ps";
1266 status = "disabled";
Michal Simek22459162022-12-09 13:56:39 +01001267 reg = <0x0 0x400>;
Michal Simek1bb4be32017-11-02 12:04:43 +01001268 };
1269
Michal Simekcef1e3a2023-07-10 14:37:42 +02001270 ams_pl: ams-pl@400 {
Michal Simek1bb4be32017-11-02 12:04:43 +01001271 compatible = "xlnx,zynqmp-ams-pl";
1272 status = "disabled";
Michal Simek22459162022-12-09 13:56:39 +01001273 reg = <0x400 0x400>;
Michal Simek1bb4be32017-11-02 12:04:43 +01001274 };
1275 };
1276
Michal Simek958c0e92020-11-26 14:25:02 +01001277 zynqmp_dpdma: dma-controller@fd4c0000 {
1278 compatible = "xlnx,zynqmp-dpdma";
Michal Simek54b896f2015-10-30 15:39:18 +01001279 status = "disabled";
Michal Simek72b562a2016-02-11 07:19:06 +01001280 reg = <0x0 0xfd4c0000 0x0 0x1000>;
Michal Simek86eb8952023-09-22 12:35:30 +02001281 interrupts = <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
Michal Simek54b896f2015-10-30 15:39:18 +01001282 interrupt-parent = <&gic>;
1283 clock-names = "axi_clk";
Michal Simek7c001dc2019-10-14 15:56:31 +02001284 power-domains = <&zynqmp_firmware PD_DP>;
Michal Simekb075d472023-11-01 09:01:03 +01001285 /* iommus = <&smmu 0xce4>; */
Michal Simek54b896f2015-10-30 15:39:18 +01001286 #dma-cells = <1>;
Michal Simek54b896f2015-10-30 15:39:18 +01001287 };
Michal Simek37674252020-02-18 09:24:08 +01001288
Michal Simek958c0e92020-11-26 14:25:02 +01001289 zynqmp_dpsub: display@fd4a0000 {
Simon Glassd3a98cb2023-02-13 08:56:33 -07001290 bootph-all;
Michal Simek37674252020-02-18 09:24:08 +01001291 compatible = "xlnx,zynqmp-dpsub-1.7";
1292 status = "disabled";
1293 reg = <0x0 0xfd4a0000 0x0 0x1000>,
1294 <0x0 0xfd4aa000 0x0 0x1000>,
1295 <0x0 0xfd4ab000 0x0 0x1000>,
1296 <0x0 0xfd4ac000 0x0 0x1000>;
1297 reg-names = "dp", "blend", "av_buf", "aud";
Michal Simek86eb8952023-09-22 12:35:30 +02001298 interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
Michal Simek37674252020-02-18 09:24:08 +01001299 interrupt-parent = <&gic>;
Michal Simekb075d472023-11-01 09:01:03 +01001300 /* iommus = <&smmu 0xce3>; */
Michal Simek37674252020-02-18 09:24:08 +01001301 clock-names = "dp_apb_clk", "dp_aud_clk",
1302 "dp_vtc_pixel_clk_in";
Michal Simek37674252020-02-18 09:24:08 +01001303 power-domains = <&zynqmp_firmware PD_DP>;
Michal Simek958c0e92020-11-26 14:25:02 +01001304 resets = <&zynqmp_reset ZYNQMP_RESET_DP>;
Michal Simek19e355d2024-11-28 15:49:14 +01001305 dma-names = "vid0", "vid1", "vid2", "gfx0",
1306 "aud0", "aud1";
Michal Simek958c0e92020-11-26 14:25:02 +01001307 dmas = <&zynqmp_dpdma ZYNQMP_DPDMA_VIDEO0>,
1308 <&zynqmp_dpdma ZYNQMP_DPDMA_VIDEO1>,
1309 <&zynqmp_dpdma ZYNQMP_DPDMA_VIDEO2>,
Michal Simek19e355d2024-11-28 15:49:14 +01001310 <&zynqmp_dpdma ZYNQMP_DPDMA_GRAPHICS>,
1311 <&zynqmp_dpdma ZYNQMP_DPDMA_AUDIO0>,
1312 <&zynqmp_dpdma ZYNQMP_DPDMA_AUDIO1>;
Laurent Pincharte0480fd2023-09-22 12:35:39 +02001313
1314 ports {
1315 #address-cells = <1>;
1316 #size-cells = <0>;
1317
1318 port@0 {
1319 reg = <0>;
1320 };
1321 port@1 {
1322 reg = <1>;
1323 };
1324 port@2 {
1325 reg = <2>;
1326 };
1327 port@3 {
1328 reg = <3>;
1329 };
1330 port@4 {
1331 reg = <4>;
1332 };
1333 port@5 {
1334 reg = <5>;
1335 };
1336 };
Michal Simek37674252020-02-18 09:24:08 +01001337 };
Michal Simek54b896f2015-10-30 15:39:18 +01001338 };
1339};