blob: 0e0436ecce82c986dab73ed090b9e4c1f7572d63 [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 Simek36df7912025-01-06 09:42:21 +0100396 ams: ams {
Michal Simekf095c7d2024-12-12 10:41:44 +0100397 compatible = "iio-hwmon";
Michal Simek36df7912025-01-06 09:42:21 +0100398 status = "disabled";
Michal Simekf095c7d2024-12-12 10:41:44 +0100399 io-channels = <&xilinx_ams 0>, <&xilinx_ams 1>, <&xilinx_ams 2>,
400 <&xilinx_ams 3>, <&xilinx_ams 4>, <&xilinx_ams 5>,
401 <&xilinx_ams 6>, <&xilinx_ams 7>, <&xilinx_ams 8>,
402 <&xilinx_ams 9>, <&xilinx_ams 10>, <&xilinx_ams 11>,
403 <&xilinx_ams 12>, <&xilinx_ams 13>, <&xilinx_ams 14>,
404 <&xilinx_ams 15>, <&xilinx_ams 16>, <&xilinx_ams 17>,
405 <&xilinx_ams 18>, <&xilinx_ams 19>, <&xilinx_ams 20>,
406 <&xilinx_ams 21>, <&xilinx_ams 22>, <&xilinx_ams 23>,
407 <&xilinx_ams 24>, <&xilinx_ams 25>, <&xilinx_ams 26>,
408 <&xilinx_ams 27>, <&xilinx_ams 28>, <&xilinx_ams 29>;
409 };
410
411
412 tsens_apu: thermal-sensor-apu {
413 compatible = "generic-adc-thermal";
414 #thermal-sensor-cells = <0>;
415 io-channels = <&xilinx_ams 7>;
416 io-channel-names = "sensor-channel";
417 };
418
419 tsens_rpu: thermal-sensor-rpu {
420 compatible = "generic-adc-thermal";
421 #thermal-sensor-cells = <0>;
422 io-channels = <&xilinx_ams 8>;
423 io-channel-names = "sensor-channel";
424 };
425
426 tsens_pl: thermal-sensor-pl {
427 compatible = "generic-adc-thermal";
428 #thermal-sensor-cells = <0>;
429 io-channels = <&xilinx_ams 20>;
430 io-channel-names = "sensor-channel";
431 };
432
433 thermal-zones {
434 apu-thermal {
435 polling-delay-passive = <1000>;
436 polling-delay = <5000>;
437 thermal-sensors = <&tsens_apu>;
438
439 trips {
440 apu_passive: passive {
441 temperature = <93000>;
442 hysteresis = <3500>;
443 type = "passive";
444 };
445
446 apu_critical: critical {
447 temperature = <96500>;
448 hysteresis = <3500>;
449 type = "critical";
450 };
451 };
452
453 cooling-maps {
454 map {
455 trip = <&apu_passive>;
456 cooling-device =
457 <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
458 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
459 <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
460 <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
461 };
462 };
463 };
464
465 rpu-thermal {
466 polling-delay = <10000>;
467 thermal-sensors = <&tsens_rpu>;
468
469 trips {
470 critical {
471 temperature = <96500>;
472 hysteresis = <3500>;
473 type = "critical";
474 };
475 };
476 };
477
478 pl-thermal {
479 polling-delay = <10000>;
480 thermal-sensors = <&tsens_pl>;
481
482 trips {
483 critical {
484 temperature = <96500>;
485 hysteresis = <3500>;
486 type = "critical";
487 };
488 };
489 };
490 };
491
Michal Simek26cbd922020-09-29 13:43:22 +0200492 amba: axi {
Michal Simek54b896f2015-10-30 15:39:18 +0100493 compatible = "simple-bus";
Simon Glassd3a98cb2023-02-13 08:56:33 -0700494 bootph-all;
Michal Simek54b896f2015-10-30 15:39:18 +0100495 #address-cells = <2>;
Michal Simek72b562a2016-02-11 07:19:06 +0100496 #size-cells = <2>;
497 ranges;
Michal Simek54b896f2015-10-30 15:39:18 +0100498
499 can0: can@ff060000 {
500 compatible = "xlnx,zynq-can-1.0";
501 status = "disabled";
502 clock-names = "can_clk", "pclk";
Michal Simek72b562a2016-02-11 07:19:06 +0100503 reg = <0x0 0xff060000 0x0 0x1000>;
Michal Simek86eb8952023-09-22 12:35:30 +0200504 interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
Michal Simek54b896f2015-10-30 15:39:18 +0100505 interrupt-parent = <&gic>;
506 tx-fifo-depth = <0x40>;
507 rx-fifo-depth = <0x40>;
Srinivas Neeli047c3502023-09-11 16:10:49 +0200508 resets = <&zynqmp_reset ZYNQMP_RESET_CAN0>;
Michal Simek7c001dc2019-10-14 15:56:31 +0200509 power-domains = <&zynqmp_firmware PD_CAN_0>;
Michal Simek54b896f2015-10-30 15:39:18 +0100510 };
511
512 can1: can@ff070000 {
513 compatible = "xlnx,zynq-can-1.0";
514 status = "disabled";
515 clock-names = "can_clk", "pclk";
Michal Simek72b562a2016-02-11 07:19:06 +0100516 reg = <0x0 0xff070000 0x0 0x1000>;
Michal Simek86eb8952023-09-22 12:35:30 +0200517 interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
Michal Simek54b896f2015-10-30 15:39:18 +0100518 interrupt-parent = <&gic>;
519 tx-fifo-depth = <0x40>;
520 rx-fifo-depth = <0x40>;
Srinivas Neeli047c3502023-09-11 16:10:49 +0200521 resets = <&zynqmp_reset ZYNQMP_RESET_CAN1>;
Michal Simek7c001dc2019-10-14 15:56:31 +0200522 power-domains = <&zynqmp_firmware PD_CAN_1>;
Michal Simek54b896f2015-10-30 15:39:18 +0100523 };
524
Michal Simekb197dd42015-11-26 11:21:25 +0100525 cci: cci@fd6e0000 {
526 compatible = "arm,cci-400";
Michal Simek79db3c62020-05-11 10:14:34 +0200527 status = "disabled";
Michal Simek72b562a2016-02-11 07:19:06 +0100528 reg = <0x0 0xfd6e0000 0x0 0x9000>;
Michal Simekb197dd42015-11-26 11:21:25 +0100529 ranges = <0x0 0x0 0xfd6e0000 0x10000>;
530 #address-cells = <1>;
531 #size-cells = <1>;
532
533 pmu@9000 {
534 compatible = "arm,cci-400-pmu,r1";
535 reg = <0x9000 0x5000>;
536 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +0200537 interrupts = <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>,
541 <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>;
Michal Simekb197dd42015-11-26 11:21:25 +0100542 };
543 };
544
Michal Simek19e355d2024-11-28 15:49:14 +0100545 cpu0_debug: debug@fec10000 {
546 compatible = "arm,coresight-cpu-debug", "arm,primecell";
547 reg = <0x0 0xfec10000 0x0 0x1000>;
548 clock-names = "apb_pclk";
549 cpu = <&cpu0>;
550 };
551
552 cpu1_debug: debug@fed10000 {
553 compatible = "arm,coresight-cpu-debug", "arm,primecell";
554 reg = <0x0 0xfed10000 0x0 0x1000>;
555 clock-names = "apb_pclk";
556 cpu = <&cpu1>;
557 };
558
559 cpu2_debug: debug@fee10000 {
560 compatible = "arm,coresight-cpu-debug", "arm,primecell";
561 reg = <0x0 0xfee10000 0x0 0x1000>;
562 clock-names = "apb_pclk";
563 cpu = <&cpu2>;
564 };
565
566 cpu3_debug: debug@fef10000 {
567 compatible = "arm,coresight-cpu-debug", "arm,primecell";
568 reg = <0x0 0xfef10000 0x0 0x1000>;
569 clock-names = "apb_pclk";
570 cpu = <&cpu3>;
571 };
572
Michal Simek54b896f2015-10-30 15:39:18 +0100573 /* GDMA */
Shravya Kumbhamafab9b32022-01-14 12:44:06 +0100574 fpd_dma_chan1: dma-controller@fd500000 {
Michal Simek54b896f2015-10-30 15:39:18 +0100575 status = "disabled";
576 compatible = "xlnx,zynqmp-dma-1.0";
Michal Simek72b562a2016-02-11 07:19:06 +0100577 reg = <0x0 0xfd500000 0x0 0x1000>;
Michal Simek54b896f2015-10-30 15:39:18 +0100578 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +0200579 interrupts = <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>;
VNSL Durga7b3cb892016-03-24 22:45:12 +0530580 clock-names = "clk_main", "clk_apb";
Michal Simek745ea1a2022-12-09 13:56:37 +0100581 #dma-cells = <1>;
Michal Simek54b896f2015-10-30 15:39:18 +0100582 xlnx,bus-width = <128>;
Michal Simekb075d472023-11-01 09:01:03 +0100583 /* iommus = <&smmu 0x14e8>; */
Michal Simek7c001dc2019-10-14 15:56:31 +0200584 power-domains = <&zynqmp_firmware PD_GDMA>;
Michal Simek54b896f2015-10-30 15:39:18 +0100585 };
586
Shravya Kumbhamafab9b32022-01-14 12:44:06 +0100587 fpd_dma_chan2: dma-controller@fd510000 {
Michal Simek54b896f2015-10-30 15:39:18 +0100588 status = "disabled";
589 compatible = "xlnx,zynqmp-dma-1.0";
Michal Simek72b562a2016-02-11 07:19:06 +0100590 reg = <0x0 0xfd510000 0x0 0x1000>;
Michal Simek54b896f2015-10-30 15:39:18 +0100591 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +0200592 interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
VNSL Durga7b3cb892016-03-24 22:45:12 +0530593 clock-names = "clk_main", "clk_apb";
Michal Simek745ea1a2022-12-09 13:56:37 +0100594 #dma-cells = <1>;
Michal Simek54b896f2015-10-30 15:39:18 +0100595 xlnx,bus-width = <128>;
Michal Simekb075d472023-11-01 09:01:03 +0100596 /* iommus = <&smmu 0x14e9>; */
Michal Simek7c001dc2019-10-14 15:56:31 +0200597 power-domains = <&zynqmp_firmware PD_GDMA>;
Michal Simek54b896f2015-10-30 15:39:18 +0100598 };
599
Shravya Kumbhamafab9b32022-01-14 12:44:06 +0100600 fpd_dma_chan3: dma-controller@fd520000 {
Michal Simek54b896f2015-10-30 15:39:18 +0100601 status = "disabled";
602 compatible = "xlnx,zynqmp-dma-1.0";
Michal Simek72b562a2016-02-11 07:19:06 +0100603 reg = <0x0 0xfd520000 0x0 0x1000>;
Michal Simek54b896f2015-10-30 15:39:18 +0100604 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +0200605 interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>;
VNSL Durga7b3cb892016-03-24 22:45:12 +0530606 clock-names = "clk_main", "clk_apb";
Michal Simek745ea1a2022-12-09 13:56:37 +0100607 #dma-cells = <1>;
Michal Simek54b896f2015-10-30 15:39:18 +0100608 xlnx,bus-width = <128>;
Michal Simekb075d472023-11-01 09:01:03 +0100609 /* iommus = <&smmu 0x14ea>; */
Michal Simek7c001dc2019-10-14 15:56:31 +0200610 power-domains = <&zynqmp_firmware PD_GDMA>;
Michal Simek54b896f2015-10-30 15:39:18 +0100611 };
612
Shravya Kumbhamafab9b32022-01-14 12:44:06 +0100613 fpd_dma_chan4: dma-controller@fd530000 {
Michal Simek54b896f2015-10-30 15:39:18 +0100614 status = "disabled";
615 compatible = "xlnx,zynqmp-dma-1.0";
Michal Simek72b562a2016-02-11 07:19:06 +0100616 reg = <0x0 0xfd530000 0x0 0x1000>;
Michal Simek54b896f2015-10-30 15:39:18 +0100617 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +0200618 interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
VNSL Durga7b3cb892016-03-24 22:45:12 +0530619 clock-names = "clk_main", "clk_apb";
Michal Simek745ea1a2022-12-09 13:56:37 +0100620 #dma-cells = <1>;
Michal Simek54b896f2015-10-30 15:39:18 +0100621 xlnx,bus-width = <128>;
Michal Simekb075d472023-11-01 09:01:03 +0100622 /* iommus = <&smmu 0x14eb>; */
Michal Simek7c001dc2019-10-14 15:56:31 +0200623 power-domains = <&zynqmp_firmware PD_GDMA>;
Michal Simek54b896f2015-10-30 15:39:18 +0100624 };
625
Shravya Kumbhamafab9b32022-01-14 12:44:06 +0100626 fpd_dma_chan5: dma-controller@fd540000 {
Michal Simek54b896f2015-10-30 15:39:18 +0100627 status = "disabled";
628 compatible = "xlnx,zynqmp-dma-1.0";
Michal Simek72b562a2016-02-11 07:19:06 +0100629 reg = <0x0 0xfd540000 0x0 0x1000>;
Michal Simek54b896f2015-10-30 15:39:18 +0100630 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +0200631 interrupts = <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>;
VNSL Durga7b3cb892016-03-24 22:45:12 +0530632 clock-names = "clk_main", "clk_apb";
Michal Simek745ea1a2022-12-09 13:56:37 +0100633 #dma-cells = <1>;
Michal Simek54b896f2015-10-30 15:39:18 +0100634 xlnx,bus-width = <128>;
Michal Simekb075d472023-11-01 09:01:03 +0100635 /* iommus = <&smmu 0x14ec>; */
Michal Simek7c001dc2019-10-14 15:56:31 +0200636 power-domains = <&zynqmp_firmware PD_GDMA>;
Michal Simek54b896f2015-10-30 15:39:18 +0100637 };
638
Shravya Kumbhamafab9b32022-01-14 12:44:06 +0100639 fpd_dma_chan6: dma-controller@fd550000 {
Michal Simek54b896f2015-10-30 15:39:18 +0100640 status = "disabled";
641 compatible = "xlnx,zynqmp-dma-1.0";
Michal Simek72b562a2016-02-11 07:19:06 +0100642 reg = <0x0 0xfd550000 0x0 0x1000>;
Michal Simek54b896f2015-10-30 15:39:18 +0100643 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +0200644 interrupts = <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>;
VNSL Durga7b3cb892016-03-24 22:45:12 +0530645 clock-names = "clk_main", "clk_apb";
Michal Simek745ea1a2022-12-09 13:56:37 +0100646 #dma-cells = <1>;
Michal Simek54b896f2015-10-30 15:39:18 +0100647 xlnx,bus-width = <128>;
Michal Simekb075d472023-11-01 09:01:03 +0100648 /* iommus = <&smmu 0x14ed>; */
Michal Simek7c001dc2019-10-14 15:56:31 +0200649 power-domains = <&zynqmp_firmware PD_GDMA>;
Michal Simek54b896f2015-10-30 15:39:18 +0100650 };
651
Shravya Kumbhamafab9b32022-01-14 12:44:06 +0100652 fpd_dma_chan7: dma-controller@fd560000 {
Michal Simek54b896f2015-10-30 15:39:18 +0100653 status = "disabled";
654 compatible = "xlnx,zynqmp-dma-1.0";
Michal Simek72b562a2016-02-11 07:19:06 +0100655 reg = <0x0 0xfd560000 0x0 0x1000>;
Michal Simek54b896f2015-10-30 15:39:18 +0100656 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +0200657 interrupts = <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>;
VNSL Durga7b3cb892016-03-24 22:45:12 +0530658 clock-names = "clk_main", "clk_apb";
Michal Simek745ea1a2022-12-09 13:56:37 +0100659 #dma-cells = <1>;
Michal Simek54b896f2015-10-30 15:39:18 +0100660 xlnx,bus-width = <128>;
Michal Simekb075d472023-11-01 09:01:03 +0100661 /* iommus = <&smmu 0x14ee>; */
Michal Simek7c001dc2019-10-14 15:56:31 +0200662 power-domains = <&zynqmp_firmware PD_GDMA>;
Michal Simek54b896f2015-10-30 15:39:18 +0100663 };
664
Shravya Kumbhamafab9b32022-01-14 12:44:06 +0100665 fpd_dma_chan8: dma-controller@fd570000 {
Michal Simek54b896f2015-10-30 15:39:18 +0100666 status = "disabled";
667 compatible = "xlnx,zynqmp-dma-1.0";
Michal Simek72b562a2016-02-11 07:19:06 +0100668 reg = <0x0 0xfd570000 0x0 0x1000>;
Michal Simek54b896f2015-10-30 15:39:18 +0100669 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +0200670 interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>;
VNSL Durga7b3cb892016-03-24 22:45:12 +0530671 clock-names = "clk_main", "clk_apb";
Michal Simek745ea1a2022-12-09 13:56:37 +0100672 #dma-cells = <1>;
Michal Simek54b896f2015-10-30 15:39:18 +0100673 xlnx,bus-width = <128>;
Michal Simekb075d472023-11-01 09:01:03 +0100674 /* iommus = <&smmu 0x14ef>; */
Michal Simek7c001dc2019-10-14 15:56:31 +0200675 power-domains = <&zynqmp_firmware PD_GDMA>;
Michal Simek54b896f2015-10-30 15:39:18 +0100676 };
677
Michal Simek26cbd922020-09-29 13:43:22 +0200678 gic: interrupt-controller@f9010000 {
679 compatible = "arm,gic-400";
680 #interrupt-cells = <3>;
681 reg = <0x0 0xf9010000 0x0 0x10000>,
682 <0x0 0xf9020000 0x0 0x20000>,
683 <0x0 0xf9040000 0x0 0x20000>,
684 <0x0 0xf9060000 0x0 0x20000>;
685 interrupt-controller;
686 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +0200687 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
Michal Simek26cbd922020-09-29 13:43:22 +0200688 };
689
Michal Simek54b896f2015-10-30 15:39:18 +0100690 gpu: gpu@fd4b0000 {
691 status = "disabled";
Parth Gajjara281ad02023-07-10 14:37:29 +0200692 compatible = "xlnx,zynqmp-mali", "arm,mali-400";
Hyun Kwon991faf72017-08-21 18:54:29 -0700693 reg = <0x0 0xfd4b0000 0x0 0x10000>;
Michal Simek54b896f2015-10-30 15:39:18 +0100694 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +0200695 interrupts = <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>,
700 <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>;
Parth Gajjara281ad02023-07-10 14:37:29 +0200701 interrupt-names = "gp", "gpmmu", "pp0", "ppmmu0", "pp1", "ppmmu1";
702 clock-names = "bus", "core";
Michal Simek7c001dc2019-10-14 15:56:31 +0200703 power-domains = <&zynqmp_firmware PD_GPU>;
Michal Simek54b896f2015-10-30 15:39:18 +0100704 };
705
Kedareswara rao Appanaae9342f2016-09-09 12:36:01 +0530706 /* LPDDMA default allows only secured access. inorder to enable
707 * These dma channels, Users should ensure that these dma
708 * Channels are allowed for non secure access.
709 */
Shravya Kumbhamafab9b32022-01-14 12:44:06 +0100710 lpd_dma_chan1: dma-controller@ffa80000 {
Michal Simek54b896f2015-10-30 15:39:18 +0100711 status = "disabled";
712 compatible = "xlnx,zynqmp-dma-1.0";
Michal Simek72b562a2016-02-11 07:19:06 +0100713 reg = <0x0 0xffa80000 0x0 0x1000>;
Michal Simek54b896f2015-10-30 15:39:18 +0100714 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +0200715 interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
Michal Simek91ab8252018-01-17 16:32:33 +0100716 clock-names = "clk_main", "clk_apb";
Michal Simek745ea1a2022-12-09 13:56:37 +0100717 #dma-cells = <1>;
Michal Simek54b896f2015-10-30 15:39:18 +0100718 xlnx,bus-width = <64>;
Michal Simekb075d472023-11-01 09:01:03 +0100719 /* iommus = <&smmu 0x868>; */
Michal Simek7c001dc2019-10-14 15:56:31 +0200720 power-domains = <&zynqmp_firmware PD_ADMA>;
Michal Simek54b896f2015-10-30 15:39:18 +0100721 };
722
Shravya Kumbhamafab9b32022-01-14 12:44:06 +0100723 lpd_dma_chan2: dma-controller@ffa90000 {
Michal Simek54b896f2015-10-30 15:39:18 +0100724 status = "disabled";
725 compatible = "xlnx,zynqmp-dma-1.0";
Michal Simek72b562a2016-02-11 07:19:06 +0100726 reg = <0x0 0xffa90000 0x0 0x1000>;
Michal Simek54b896f2015-10-30 15:39:18 +0100727 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +0200728 interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
Michal Simek91ab8252018-01-17 16:32:33 +0100729 clock-names = "clk_main", "clk_apb";
Michal Simek745ea1a2022-12-09 13:56:37 +0100730 #dma-cells = <1>;
Michal Simek54b896f2015-10-30 15:39:18 +0100731 xlnx,bus-width = <64>;
Michal Simekb075d472023-11-01 09:01:03 +0100732 /* iommus = <&smmu 0x869>; */
Michal Simek7c001dc2019-10-14 15:56:31 +0200733 power-domains = <&zynqmp_firmware PD_ADMA>;
Michal Simek54b896f2015-10-30 15:39:18 +0100734 };
735
Shravya Kumbhamafab9b32022-01-14 12:44:06 +0100736 lpd_dma_chan3: dma-controller@ffaa0000 {
Michal Simek54b896f2015-10-30 15:39:18 +0100737 status = "disabled";
738 compatible = "xlnx,zynqmp-dma-1.0";
Michal Simek72b562a2016-02-11 07:19:06 +0100739 reg = <0x0 0xffaa0000 0x0 0x1000>;
Michal Simek54b896f2015-10-30 15:39:18 +0100740 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +0200741 interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
Michal Simek91ab8252018-01-17 16:32:33 +0100742 clock-names = "clk_main", "clk_apb";
Michal Simek745ea1a2022-12-09 13:56:37 +0100743 #dma-cells = <1>;
Michal Simek54b896f2015-10-30 15:39:18 +0100744 xlnx,bus-width = <64>;
Michal Simekb075d472023-11-01 09:01:03 +0100745 /* iommus = <&smmu 0x86a>; */
Michal Simek7c001dc2019-10-14 15:56:31 +0200746 power-domains = <&zynqmp_firmware PD_ADMA>;
Michal Simek54b896f2015-10-30 15:39:18 +0100747 };
748
Shravya Kumbhamafab9b32022-01-14 12:44:06 +0100749 lpd_dma_chan4: dma-controller@ffab0000 {
Michal Simek54b896f2015-10-30 15:39:18 +0100750 status = "disabled";
751 compatible = "xlnx,zynqmp-dma-1.0";
Michal Simek72b562a2016-02-11 07:19:06 +0100752 reg = <0x0 0xffab0000 0x0 0x1000>;
Michal Simek54b896f2015-10-30 15:39:18 +0100753 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +0200754 interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
Michal Simek91ab8252018-01-17 16:32:33 +0100755 clock-names = "clk_main", "clk_apb";
Michal Simek745ea1a2022-12-09 13:56:37 +0100756 #dma-cells = <1>;
Michal Simek54b896f2015-10-30 15:39:18 +0100757 xlnx,bus-width = <64>;
Michal Simekb075d472023-11-01 09:01:03 +0100758 /* iommus = <&smmu 0x86b>; */
Michal Simek7c001dc2019-10-14 15:56:31 +0200759 power-domains = <&zynqmp_firmware PD_ADMA>;
Michal Simek54b896f2015-10-30 15:39:18 +0100760 };
761
Shravya Kumbhamafab9b32022-01-14 12:44:06 +0100762 lpd_dma_chan5: dma-controller@ffac0000 {
Michal Simek54b896f2015-10-30 15:39:18 +0100763 status = "disabled";
764 compatible = "xlnx,zynqmp-dma-1.0";
Michal Simek72b562a2016-02-11 07:19:06 +0100765 reg = <0x0 0xffac0000 0x0 0x1000>;
Michal Simek54b896f2015-10-30 15:39:18 +0100766 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +0200767 interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
Michal Simek91ab8252018-01-17 16:32:33 +0100768 clock-names = "clk_main", "clk_apb";
Michal Simek745ea1a2022-12-09 13:56:37 +0100769 #dma-cells = <1>;
Michal Simek54b896f2015-10-30 15:39:18 +0100770 xlnx,bus-width = <64>;
Michal Simekb075d472023-11-01 09:01:03 +0100771 /* iommus = <&smmu 0x86c>; */
Michal Simek7c001dc2019-10-14 15:56:31 +0200772 power-domains = <&zynqmp_firmware PD_ADMA>;
Michal Simek54b896f2015-10-30 15:39:18 +0100773 };
774
Shravya Kumbhamafab9b32022-01-14 12:44:06 +0100775 lpd_dma_chan6: dma-controller@ffad0000 {
Michal Simek54b896f2015-10-30 15:39:18 +0100776 status = "disabled";
777 compatible = "xlnx,zynqmp-dma-1.0";
Michal Simek72b562a2016-02-11 07:19:06 +0100778 reg = <0x0 0xffad0000 0x0 0x1000>;
Michal Simek54b896f2015-10-30 15:39:18 +0100779 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +0200780 interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
Michal Simek91ab8252018-01-17 16:32:33 +0100781 clock-names = "clk_main", "clk_apb";
Michal Simek745ea1a2022-12-09 13:56:37 +0100782 #dma-cells = <1>;
Michal Simek54b896f2015-10-30 15:39:18 +0100783 xlnx,bus-width = <64>;
Michal Simekb075d472023-11-01 09:01:03 +0100784 /* iommus = <&smmu 0x86d>; */
Michal Simek7c001dc2019-10-14 15:56:31 +0200785 power-domains = <&zynqmp_firmware PD_ADMA>;
Michal Simek54b896f2015-10-30 15:39:18 +0100786 };
787
Shravya Kumbhamafab9b32022-01-14 12:44:06 +0100788 lpd_dma_chan7: dma-controller@ffae0000 {
Michal Simek54b896f2015-10-30 15:39:18 +0100789 status = "disabled";
790 compatible = "xlnx,zynqmp-dma-1.0";
Michal Simek72b562a2016-02-11 07:19:06 +0100791 reg = <0x0 0xffae0000 0x0 0x1000>;
Michal Simek54b896f2015-10-30 15:39:18 +0100792 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +0200793 interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
Michal Simek91ab8252018-01-17 16:32:33 +0100794 clock-names = "clk_main", "clk_apb";
Michal Simek745ea1a2022-12-09 13:56:37 +0100795 #dma-cells = <1>;
Michal Simek54b896f2015-10-30 15:39:18 +0100796 xlnx,bus-width = <64>;
Michal Simekb075d472023-11-01 09:01:03 +0100797 /* iommus = <&smmu 0x86e>; */
Michal Simek7c001dc2019-10-14 15:56:31 +0200798 power-domains = <&zynqmp_firmware PD_ADMA>;
Michal Simek54b896f2015-10-30 15:39:18 +0100799 };
800
Shravya Kumbhamafab9b32022-01-14 12:44:06 +0100801 lpd_dma_chan8: dma-controller@ffaf0000 {
Michal Simek54b896f2015-10-30 15:39:18 +0100802 status = "disabled";
803 compatible = "xlnx,zynqmp-dma-1.0";
Michal Simek72b562a2016-02-11 07:19:06 +0100804 reg = <0x0 0xffaf0000 0x0 0x1000>;
Michal Simek54b896f2015-10-30 15:39:18 +0100805 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +0200806 interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
Michal Simek91ab8252018-01-17 16:32:33 +0100807 clock-names = "clk_main", "clk_apb";
Michal Simek745ea1a2022-12-09 13:56:37 +0100808 #dma-cells = <1>;
Michal Simek54b896f2015-10-30 15:39:18 +0100809 xlnx,bus-width = <64>;
Michal Simekb075d472023-11-01 09:01:03 +0100810 /* iommus = <&smmu 0x86f>; */
Michal Simek7c001dc2019-10-14 15:56:31 +0200811 power-domains = <&zynqmp_firmware PD_ADMA>;
Michal Simek54b896f2015-10-30 15:39:18 +0100812 };
813
Naga Sureshkumar Rellide96a3e2016-03-11 13:10:26 +0530814 mc: memory-controller@fd070000 {
815 compatible = "xlnx,zynqmp-ddrc-2.40a";
Michal Simek72b562a2016-02-11 07:19:06 +0100816 reg = <0x0 0xfd070000 0x0 0x30000>;
Naga Sureshkumar Rellide96a3e2016-03-11 13:10:26 +0530817 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +0200818 interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
Naga Sureshkumar Rellide96a3e2016-03-11 13:10:26 +0530819 };
820
Michal Simek958c0e92020-11-26 14:25:02 +0100821 nand0: nand-controller@ff100000 {
822 compatible = "xlnx,zynqmp-nand-controller", "arasan,nfc-v3p10";
Michal Simek54b896f2015-10-30 15:39:18 +0100823 status = "disabled";
Michal Simek72b562a2016-02-11 07:19:06 +0100824 reg = <0x0 0xff100000 0x0 0x1000>;
Amit Kumar Mahapatrac0504ca2021-02-23 13:47:20 -0700825 clock-names = "controller", "bus";
Michal Simek54b896f2015-10-30 15:39:18 +0100826 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +0200827 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
Naga Sureshkumar Rellie007a352017-01-23 16:20:37 +0530828 #address-cells = <1>;
829 #size-cells = <0>;
Michal Simekb075d472023-11-01 09:01:03 +0100830 /* iommus = <&smmu 0x872>; */
Michal Simek7c001dc2019-10-14 15:56:31 +0200831 power-domains = <&zynqmp_firmware PD_NAND>;
Michal Simek54b896f2015-10-30 15:39:18 +0100832 };
833
834 gem0: ethernet@ff0b0000 {
Michal Simeka8ecf552023-02-06 13:50:00 +0100835 compatible = "xlnx,zynqmp-gem", "cdns,gem";
Michal Simek54b896f2015-10-30 15:39:18 +0100836 status = "disabled";
837 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +0200838 interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>,
839 <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
Michal Simek72b562a2016-02-11 07:19:06 +0100840 reg = <0x0 0xff0b0000 0x0 0x1000>;
Michal Simek90c43f62021-11-18 13:42:28 +0100841 clock-names = "pclk", "hclk", "tx_clk", "rx_clk", "tsu_clk";
Michal Simekb075d472023-11-01 09:01:03 +0100842 /* iommus = <&smmu 0x874>; */
Michal Simek7c001dc2019-10-14 15:56:31 +0200843 power-domains = <&zynqmp_firmware PD_ETH_0>;
Michal Simek676c2af2021-11-18 13:42:27 +0100844 resets = <&zynqmp_reset ZYNQMP_RESET_GEM0>;
Michal Simek7159a442022-12-09 13:56:38 +0100845 reset-names = "gem0_rst";
Michal Simek54b896f2015-10-30 15:39:18 +0100846 };
847
848 gem1: ethernet@ff0c0000 {
Michal Simeka8ecf552023-02-06 13:50:00 +0100849 compatible = "xlnx,zynqmp-gem", "cdns,gem";
Michal Simek54b896f2015-10-30 15:39:18 +0100850 status = "disabled";
851 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +0200852 interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>,
853 <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
Michal Simek72b562a2016-02-11 07:19:06 +0100854 reg = <0x0 0xff0c0000 0x0 0x1000>;
Michal Simek90c43f62021-11-18 13:42:28 +0100855 clock-names = "pclk", "hclk", "tx_clk", "rx_clk", "tsu_clk";
Michal Simekb075d472023-11-01 09:01:03 +0100856 /* iommus = <&smmu 0x875>; */
Michal Simek7c001dc2019-10-14 15:56:31 +0200857 power-domains = <&zynqmp_firmware PD_ETH_1>;
Michal Simek676c2af2021-11-18 13:42:27 +0100858 resets = <&zynqmp_reset ZYNQMP_RESET_GEM1>;
Michal Simek7159a442022-12-09 13:56:38 +0100859 reset-names = "gem1_rst";
Michal Simek54b896f2015-10-30 15:39:18 +0100860 };
861
862 gem2: ethernet@ff0d0000 {
Michal Simeka8ecf552023-02-06 13:50:00 +0100863 compatible = "xlnx,zynqmp-gem", "cdns,gem";
Michal Simek54b896f2015-10-30 15:39:18 +0100864 status = "disabled";
865 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +0200866 interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>,
867 <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
Michal Simek72b562a2016-02-11 07:19:06 +0100868 reg = <0x0 0xff0d0000 0x0 0x1000>;
Michal Simek90c43f62021-11-18 13:42:28 +0100869 clock-names = "pclk", "hclk", "tx_clk", "rx_clk", "tsu_clk";
Michal Simekb075d472023-11-01 09:01:03 +0100870 /* iommus = <&smmu 0x876>; */
Michal Simek7c001dc2019-10-14 15:56:31 +0200871 power-domains = <&zynqmp_firmware PD_ETH_2>;
Michal Simek676c2af2021-11-18 13:42:27 +0100872 resets = <&zynqmp_reset ZYNQMP_RESET_GEM2>;
Michal Simek7159a442022-12-09 13:56:38 +0100873 reset-names = "gem2_rst";
Michal Simek54b896f2015-10-30 15:39:18 +0100874 };
875
876 gem3: ethernet@ff0e0000 {
Michal Simeka8ecf552023-02-06 13:50:00 +0100877 compatible = "xlnx,zynqmp-gem", "cdns,gem";
Michal Simek54b896f2015-10-30 15:39:18 +0100878 status = "disabled";
879 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +0200880 interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>,
881 <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
Michal Simek72b562a2016-02-11 07:19:06 +0100882 reg = <0x0 0xff0e0000 0x0 0x1000>;
Michal Simek90c43f62021-11-18 13:42:28 +0100883 clock-names = "pclk", "hclk", "tx_clk", "rx_clk", "tsu_clk";
Michal Simekb075d472023-11-01 09:01:03 +0100884 /* iommus = <&smmu 0x877>; */
Michal Simek7c001dc2019-10-14 15:56:31 +0200885 power-domains = <&zynqmp_firmware PD_ETH_3>;
Michal Simek676c2af2021-11-18 13:42:27 +0100886 resets = <&zynqmp_reset ZYNQMP_RESET_GEM3>;
Michal Simek7159a442022-12-09 13:56:38 +0100887 reset-names = "gem3_rst";
Michal Simek54b896f2015-10-30 15:39:18 +0100888 };
889
890 gpio: gpio@ff0a0000 {
891 compatible = "xlnx,zynqmp-gpio-1.0";
892 status = "disabled";
893 #gpio-cells = <0x2>;
Michal Simek3d5f0f62020-01-09 13:10:59 +0100894 gpio-controller;
Michal Simek54b896f2015-10-30 15:39:18 +0100895 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +0200896 interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
Michal Simek7e2df452016-10-20 10:26:13 +0200897 interrupt-controller;
898 #interrupt-cells = <2>;
Michal Simek72b562a2016-02-11 07:19:06 +0100899 reg = <0x0 0xff0a0000 0x0 0x1000>;
Michal Simek7c001dc2019-10-14 15:56:31 +0200900 power-domains = <&zynqmp_firmware PD_GPIO>;
Michal Simek54b896f2015-10-30 15:39:18 +0100901 };
902
903 i2c0: i2c@ff020000 {
Michal Simek26cbd922020-09-29 13:43:22 +0200904 compatible = "cdns,i2c-r1p14";
Michal Simek54b896f2015-10-30 15:39:18 +0100905 status = "disabled";
906 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +0200907 interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
Varalaxmi Bingi2b6ea082023-07-10 14:37:27 +0200908 clock-frequency = <400000>;
Michal Simek72b562a2016-02-11 07:19:06 +0100909 reg = <0x0 0xff020000 0x0 0x1000>;
Michal Simek54b896f2015-10-30 15:39:18 +0100910 #address-cells = <1>;
911 #size-cells = <0>;
Michal Simek7c001dc2019-10-14 15:56:31 +0200912 power-domains = <&zynqmp_firmware PD_I2C_0>;
Michal Simek54b896f2015-10-30 15:39:18 +0100913 };
914
915 i2c1: i2c@ff030000 {
Michal Simek26cbd922020-09-29 13:43:22 +0200916 compatible = "cdns,i2c-r1p14";
Michal Simek54b896f2015-10-30 15:39:18 +0100917 status = "disabled";
918 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +0200919 interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>;
Varalaxmi Bingi2b6ea082023-07-10 14:37:27 +0200920 clock-frequency = <400000>;
Michal Simek72b562a2016-02-11 07:19:06 +0100921 reg = <0x0 0xff030000 0x0 0x1000>;
Michal Simek54b896f2015-10-30 15:39:18 +0100922 #address-cells = <1>;
923 #size-cells = <0>;
Michal Simek7c001dc2019-10-14 15:56:31 +0200924 power-domains = <&zynqmp_firmware PD_I2C_1>;
Michal Simek54b896f2015-10-30 15:39:18 +0100925 };
926
Naga Sureshkumar Relli104b4fc2016-05-18 12:23:13 +0530927 ocm: memory-controller@ff960000 {
928 compatible = "xlnx,zynqmp-ocmc-1.0";
Michal Simek72b562a2016-02-11 07:19:06 +0100929 reg = <0x0 0xff960000 0x0 0x1000>;
Naga Sureshkumar Relli104b4fc2016-05-18 12:23:13 +0530930 interrupt-parent = <&gic>;
Michal Simekaef89832024-01-08 11:25:57 +0100931 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
Naga Sureshkumar Relli104b4fc2016-05-18 12:23:13 +0530932 };
933
Michal Simek54b896f2015-10-30 15:39:18 +0100934 pcie: pcie@fd0e0000 {
935 compatible = "xlnx,nwl-pcie-2.11";
936 status = "disabled";
937 #address-cells = <3>;
938 #size-cells = <2>;
939 #interrupt-cells = <1>;
Bharat Kumar Gogadae44f69d2016-07-19 20:49:29 +0530940 msi-controller;
Michal Simek54b896f2015-10-30 15:39:18 +0100941 device_type = "pci";
942 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +0200943 interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
944 <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
945 <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
946 <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>, /* MSI_1 [63...32] */
947 <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>; /* MSI_0 [31...0] */
Michal Simek91ab8252018-01-17 16:32:33 +0100948 interrupt-names = "misc", "dummy", "intx",
949 "msi1", "msi0";
Bharat Kumar Gogadae44f69d2016-07-19 20:49:29 +0530950 msi-parent = <&pcie>;
Michal Simek72b562a2016-02-11 07:19:06 +0100951 reg = <0x0 0xfd0e0000 0x0 0x1000>,
952 <0x0 0xfd480000 0x0 0x1000>,
Thippeswamy Havalige0146f8b2023-09-11 16:10:50 +0200953 <0x80 0x00000000 0x0 0x10000000>;
Michal Simek54b896f2015-10-30 15:39:18 +0100954 reg-names = "breg", "pcireg", "cfg";
Michal Simek26cbd922020-09-29 13:43:22 +0200955 ranges = <0x02000000 0x00000000 0xe0000000 0x00000000 0xe0000000 0x00000000 0x10000000>,/* non-prefetchable memory */
956 <0x43000000 0x00000006 0x00000000 0x00000006 0x00000000 0x00000002 0x00000000>;/* prefetchable memory */
Rob Herring1559f562017-03-21 21:03:13 -0500957 bus-range = <0x00 0xff>;
Bharat Kumar Gogadaf6e02b32016-02-15 21:18:58 +0530958 interrupt-map-mask = <0x0 0x0 0x0 0x7>;
959 interrupt-map = <0x0 0x0 0x0 0x1 &pcie_intc 0x1>,
960 <0x0 0x0 0x0 0x2 &pcie_intc 0x2>,
961 <0x0 0x0 0x0 0x3 &pcie_intc 0x3>,
962 <0x0 0x0 0x0 0x4 &pcie_intc 0x4>;
Michal Simekb075d472023-11-01 09:01:03 +0100963 /* iommus = <&smmu 0x4d0>; */
Michal Simek7c001dc2019-10-14 15:56:31 +0200964 power-domains = <&zynqmp_firmware PD_PCIE>;
Bharat Kumar Gogadaf6e02b32016-02-15 21:18:58 +0530965 pcie_intc: legacy-interrupt-controller {
966 interrupt-controller;
967 #address-cells = <0>;
968 #interrupt-cells = <1>;
969 };
Michal Simek54b896f2015-10-30 15:39:18 +0100970 };
971
972 qspi: spi@ff0f0000 {
Simon Glassd3a98cb2023-02-13 08:56:33 -0700973 bootph-all;
Michal Simek54b896f2015-10-30 15:39:18 +0100974 compatible = "xlnx,zynqmp-qspi-1.0";
975 status = "disabled";
976 clock-names = "ref_clk", "pclk";
Michal Simek86eb8952023-09-22 12:35:30 +0200977 interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
Michal Simek54b896f2015-10-30 15:39:18 +0100978 interrupt-parent = <&gic>;
979 num-cs = <1>;
Michal Simek72b562a2016-02-11 07:19:06 +0100980 reg = <0x0 0xff0f0000 0x0 0x1000>,
981 <0x0 0xc0000000 0x0 0x8000000>;
Michal Simek54b896f2015-10-30 15:39:18 +0100982 #address-cells = <1>;
983 #size-cells = <0>;
Michal Simekb075d472023-11-01 09:01:03 +0100984 /* iommus = <&smmu 0x873>; */
Michal Simek7c001dc2019-10-14 15:56:31 +0200985 power-domains = <&zynqmp_firmware PD_QSPI>;
Michal Simek54b896f2015-10-30 15:39:18 +0100986 };
987
Michal Simek958c0e92020-11-26 14:25:02 +0100988 psgtr: phy@fd400000 {
989 compatible = "xlnx,zynqmp-psgtr-v1.1";
990 status = "disabled";
991 reg = <0x0 0xfd400000 0x0 0x40000>,
992 <0x0 0xfd3d0000 0x0 0x1000>;
993 reg-names = "serdes", "siou";
994 #phy-cells = <4>;
995 };
996
Michal Simek54b896f2015-10-30 15:39:18 +0100997 rtc: rtc@ffa60000 {
998 compatible = "xlnx,zynqmp-rtc";
999 status = "disabled";
Michal Simek72b562a2016-02-11 07:19:06 +01001000 reg = <0x0 0xffa60000 0x0 0x100>;
Michal Simek54b896f2015-10-30 15:39:18 +01001001 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +02001002 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>,
1003 <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
Michal Simek54b896f2015-10-30 15:39:18 +01001004 interrupt-names = "alarm", "sec";
Srinivas Neeli45b66c42021-03-08 14:05:19 +05301005 calibration = <0x7FFF>;
Michal Simek54b896f2015-10-30 15:39:18 +01001006 };
1007
1008 sata: ahci@fd0c0000 {
1009 compatible = "ceva,ahci-1v84";
1010 status = "disabled";
Michal Simek72b562a2016-02-11 07:19:06 +01001011 reg = <0x0 0xfd0c0000 0x0 0x2000>;
Michal Simek54b896f2015-10-30 15:39:18 +01001012 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +02001013 interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
Michal Simek7c001dc2019-10-14 15:56:31 +02001014 power-domains = <&zynqmp_firmware PD_SATA>;
Michal Simek04fd5412021-05-27 13:49:05 +02001015 resets = <&zynqmp_reset ZYNQMP_RESET_SATA>;
Michal Simekb075d472023-11-01 09:01:03 +01001016 /* iommus = <&smmu 0x4c0>, <&smmu 0x4c1>, <&smmu 0x4c2>, <&smmu 0x4c3>; */
Michal Simek54b896f2015-10-30 15:39:18 +01001017 };
1018
Siva Durga Prasad Paladugue91778d2019-01-03 15:44:24 +05301019 sdhci0: mmc@ff160000 {
Simon Glassd3a98cb2023-02-13 08:56:33 -07001020 bootph-all;
Sai Krishna Potthuri02550fb2016-08-16 14:41:35 +05301021 compatible = "xlnx,zynqmp-8.9a", "arasan,sdhci-8.9a";
Michal Simek54b896f2015-10-30 15:39:18 +01001022 status = "disabled";
1023 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +02001024 interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
Michal Simek72b562a2016-02-11 07:19:06 +01001025 reg = <0x0 0xff160000 0x0 0x1000>;
Michal Simek54b896f2015-10-30 15:39:18 +01001026 clock-names = "clk_xin", "clk_ahb";
Michal Simekb075d472023-11-01 09:01:03 +01001027 /* iommus = <&smmu 0x870>; */
Ashok Reddy Somac6e97882020-02-17 23:32:57 -07001028 #clock-cells = <1>;
1029 clock-output-names = "clk_out_sd0", "clk_in_sd0";
Michal Simek958c0e92020-11-26 14:25:02 +01001030 power-domains = <&zynqmp_firmware PD_SD_0>;
Sai Krishna Potthuri6602df42022-02-28 15:59:29 +01001031 resets = <&zynqmp_reset ZYNQMP_RESET_SDIO0>;
Michal Simek54b896f2015-10-30 15:39:18 +01001032 };
1033
Siva Durga Prasad Paladugue91778d2019-01-03 15:44:24 +05301034 sdhci1: mmc@ff170000 {
Simon Glassd3a98cb2023-02-13 08:56:33 -07001035 bootph-all;
Sai Krishna Potthuri02550fb2016-08-16 14:41:35 +05301036 compatible = "xlnx,zynqmp-8.9a", "arasan,sdhci-8.9a";
Michal Simek54b896f2015-10-30 15:39:18 +01001037 status = "disabled";
1038 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +02001039 interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
Michal Simek72b562a2016-02-11 07:19:06 +01001040 reg = <0x0 0xff170000 0x0 0x1000>;
Michal Simek54b896f2015-10-30 15:39:18 +01001041 clock-names = "clk_xin", "clk_ahb";
Michal Simekb075d472023-11-01 09:01:03 +01001042 /* iommus = <&smmu 0x871>; */
Ashok Reddy Somac6e97882020-02-17 23:32:57 -07001043 #clock-cells = <1>;
1044 clock-output-names = "clk_out_sd1", "clk_in_sd1";
Michal Simek958c0e92020-11-26 14:25:02 +01001045 power-domains = <&zynqmp_firmware PD_SD_1>;
Sai Krishna Potthuri6602df42022-02-28 15:59:29 +01001046 resets = <&zynqmp_reset ZYNQMP_RESET_SDIO1>;
Michal Simek54b896f2015-10-30 15:39:18 +01001047 };
1048
Michal Simek26cbd922020-09-29 13:43:22 +02001049 smmu: iommu@fd800000 {
Michal Simek54b896f2015-10-30 15:39:18 +01001050 compatible = "arm,mmu-500";
Michal Simek72b562a2016-02-11 07:19:06 +01001051 reg = <0x0 0xfd800000 0x0 0x20000>;
Michal Simek8db0faa2016-04-06 10:43:23 +02001052 #iommu-cells = <1>;
Naga Sureshkumar Relli033f87c2017-03-09 20:00:13 +05301053 status = "disabled";
Michal Simek54b896f2015-10-30 15:39:18 +01001054 #global-interrupts = <1>;
1055 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +02001056 interrupts = <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>,
1072 <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>;
Michal Simek54b896f2015-10-30 15:39:18 +01001073 };
1074
1075 spi0: spi@ff040000 {
1076 compatible = "cdns,spi-r1p6";
1077 status = "disabled";
1078 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +02001079 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
Michal Simek72b562a2016-02-11 07:19:06 +01001080 reg = <0x0 0xff040000 0x0 0x1000>;
Michal Simek54b896f2015-10-30 15:39:18 +01001081 clock-names = "ref_clk", "pclk";
1082 #address-cells = <1>;
1083 #size-cells = <0>;
Michal Simek7c001dc2019-10-14 15:56:31 +02001084 power-domains = <&zynqmp_firmware PD_SPI_0>;
Michal Simek54b896f2015-10-30 15:39:18 +01001085 };
1086
1087 spi1: spi@ff050000 {
1088 compatible = "cdns,spi-r1p6";
1089 status = "disabled";
1090 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +02001091 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
Michal Simek72b562a2016-02-11 07:19:06 +01001092 reg = <0x0 0xff050000 0x0 0x1000>;
Michal Simek54b896f2015-10-30 15:39:18 +01001093 clock-names = "ref_clk", "pclk";
1094 #address-cells = <1>;
1095 #size-cells = <0>;
Michal Simek7c001dc2019-10-14 15:56:31 +02001096 power-domains = <&zynqmp_firmware PD_SPI_1>;
Michal Simek54b896f2015-10-30 15:39:18 +01001097 };
1098
1099 ttc0: timer@ff110000 {
1100 compatible = "cdns,ttc";
1101 status = "disabled";
1102 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +02001103 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>,
1104 <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>,
1105 <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
Michal Simek72b562a2016-02-11 07:19:06 +01001106 reg = <0x0 0xff110000 0x0 0x1000>;
Michal Simek54b896f2015-10-30 15:39:18 +01001107 timer-width = <32>;
Michal Simek7c001dc2019-10-14 15:56:31 +02001108 power-domains = <&zynqmp_firmware PD_TTC_0>;
Michal Simek54b896f2015-10-30 15:39:18 +01001109 };
1110
1111 ttc1: timer@ff120000 {
1112 compatible = "cdns,ttc";
1113 status = "disabled";
1114 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +02001115 interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>,
1116 <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
1117 <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
Michal Simek72b562a2016-02-11 07:19:06 +01001118 reg = <0x0 0xff120000 0x0 0x1000>;
Michal Simek54b896f2015-10-30 15:39:18 +01001119 timer-width = <32>;
Michal Simek7c001dc2019-10-14 15:56:31 +02001120 power-domains = <&zynqmp_firmware PD_TTC_1>;
Michal Simek54b896f2015-10-30 15:39:18 +01001121 };
1122
1123 ttc2: timer@ff130000 {
1124 compatible = "cdns,ttc";
1125 status = "disabled";
1126 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +02001127 interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
1128 <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>,
1129 <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
Michal Simek72b562a2016-02-11 07:19:06 +01001130 reg = <0x0 0xff130000 0x0 0x1000>;
Michal Simek54b896f2015-10-30 15:39:18 +01001131 timer-width = <32>;
Michal Simek7c001dc2019-10-14 15:56:31 +02001132 power-domains = <&zynqmp_firmware PD_TTC_2>;
Michal Simek54b896f2015-10-30 15:39:18 +01001133 };
1134
1135 ttc3: timer@ff140000 {
1136 compatible = "cdns,ttc";
1137 status = "disabled";
1138 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +02001139 interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>,
1140 <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>,
1141 <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
Michal Simek72b562a2016-02-11 07:19:06 +01001142 reg = <0x0 0xff140000 0x0 0x1000>;
Michal Simek54b896f2015-10-30 15:39:18 +01001143 timer-width = <32>;
Michal Simek7c001dc2019-10-14 15:56:31 +02001144 power-domains = <&zynqmp_firmware PD_TTC_3>;
Michal Simek54b896f2015-10-30 15:39:18 +01001145 };
1146
1147 uart0: serial@ff000000 {
Simon Glassd3a98cb2023-02-13 08:56:33 -07001148 bootph-all;
Michal Simekae89fd82022-01-14 12:43:05 +01001149 compatible = "xlnx,zynqmp-uart", "cdns,uart-r1p12";
Michal Simek54b896f2015-10-30 15:39:18 +01001150 status = "disabled";
1151 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +02001152 interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
Michal Simek72b562a2016-02-11 07:19:06 +01001153 reg = <0x0 0xff000000 0x0 0x1000>;
Michal Simek54b896f2015-10-30 15:39:18 +01001154 clock-names = "uart_clk", "pclk";
Michal Simek7c001dc2019-10-14 15:56:31 +02001155 power-domains = <&zynqmp_firmware PD_UART_0>;
Manikanta Guntupalli3ab8e8f2024-07-15 16:23:43 +02001156 resets = <&zynqmp_reset ZYNQMP_RESET_UART0>;
Michal Simek54b896f2015-10-30 15:39:18 +01001157 };
1158
1159 uart1: serial@ff010000 {
Simon Glassd3a98cb2023-02-13 08:56:33 -07001160 bootph-all;
Michal Simekae89fd82022-01-14 12:43:05 +01001161 compatible = "xlnx,zynqmp-uart", "cdns,uart-r1p12";
Michal Simek54b896f2015-10-30 15:39:18 +01001162 status = "disabled";
1163 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +02001164 interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
Michal Simek72b562a2016-02-11 07:19:06 +01001165 reg = <0x0 0xff010000 0x0 0x1000>;
Michal Simek54b896f2015-10-30 15:39:18 +01001166 clock-names = "uart_clk", "pclk";
Michal Simek7c001dc2019-10-14 15:56:31 +02001167 power-domains = <&zynqmp_firmware PD_UART_1>;
Manikanta Guntupalli3ab8e8f2024-07-15 16:23:43 +02001168 resets = <&zynqmp_reset ZYNQMP_RESET_UART1>;
Michal Simek54b896f2015-10-30 15:39:18 +01001169 };
1170
Michal Simek7aa70d52022-12-09 13:56:41 +01001171 usb0: usb@ff9d0000 {
Michal Simek13111a12016-04-07 15:06:07 +02001172 #address-cells = <2>;
Michal Simek72b562a2016-02-11 07:19:06 +01001173 #size-cells = <2>;
Michal Simek54b896f2015-10-30 15:39:18 +01001174 status = "disabled";
Michal Simek13111a12016-04-07 15:06:07 +02001175 compatible = "xlnx,zynqmp-dwc3";
Manish Narani047096e2017-03-27 17:47:00 +05301176 reg = <0x0 0xff9d0000 0x0 0x100>;
Michal Simek13111a12016-04-07 15:06:07 +02001177 clock-names = "bus_clk", "ref_clk";
Michal Simek7c001dc2019-10-14 15:56:31 +02001178 power-domains = <&zynqmp_firmware PD_USB_0>;
Michal Simek362082a2021-06-11 08:51:19 +02001179 resets = <&zynqmp_reset ZYNQMP_RESET_USB0_CORERESET>,
1180 <&zynqmp_reset ZYNQMP_RESET_USB0_HIBERRESET>,
1181 <&zynqmp_reset ZYNQMP_RESET_USB0_APB>;
1182 reset-names = "usb_crst", "usb_hibrst", "usb_apbrst";
Piyush Mehta949e7952022-05-11 11:52:45 +02001183 reset-gpios = <&modepin_gpio 1 GPIO_ACTIVE_LOW>;
Michal Simek13111a12016-04-07 15:06:07 +02001184 ranges;
1185
Manish Narani690dec02022-01-14 12:43:35 +01001186 dwc3_0: usb@fe200000 {
Michal Simek13111a12016-04-07 15:06:07 +02001187 compatible = "snps,dwc3";
1188 status = "disabled";
Michal Simek72b562a2016-02-11 07:19:06 +01001189 reg = <0x0 0xfe200000 0x0 0x40000>;
Michal Simek13111a12016-04-07 15:06:07 +02001190 interrupt-parent = <&gic>;
Michal Simekaca415a2024-03-08 09:41:55 +01001191 interrupt-names = "host", "peripheral", "otg", "wakeup";
Michal Simek86eb8952023-09-22 12:35:30 +02001192 interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>,
1193 <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>,
Michal Simekaca415a2024-03-08 09:41:55 +01001194 <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>,
1195 <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
Michal Simek19e355d2024-11-28 15:49:14 +01001196 clock-names = "ref";
Michal Simekb075d472023-11-01 09:01:03 +01001197 /* iommus = <&smmu 0x860>; */
Anurag Kumar Vulisha011bd7d2017-03-10 19:18:17 +05301198 snps,quirk-frame-length-adjustment = <0x20>;
Michael Grzeschik073fd522022-10-23 23:56:49 +02001199 snps,resume-hs-terminations;
Manish Narani047096e2017-03-27 17:47:00 +05301200 /* dma-coherent; */
Michal Simek13111a12016-04-07 15:06:07 +02001201 };
Michal Simek54b896f2015-10-30 15:39:18 +01001202 };
1203
Michal Simek7aa70d52022-12-09 13:56:41 +01001204 usb1: usb@ff9e0000 {
Michal Simek13111a12016-04-07 15:06:07 +02001205 #address-cells = <2>;
Michal Simek72b562a2016-02-11 07:19:06 +01001206 #size-cells = <2>;
Michal Simek54b896f2015-10-30 15:39:18 +01001207 status = "disabled";
Michal Simek13111a12016-04-07 15:06:07 +02001208 compatible = "xlnx,zynqmp-dwc3";
Manish Narani047096e2017-03-27 17:47:00 +05301209 reg = <0x0 0xff9e0000 0x0 0x100>;
Michal Simek13111a12016-04-07 15:06:07 +02001210 clock-names = "bus_clk", "ref_clk";
Michal Simek7c001dc2019-10-14 15:56:31 +02001211 power-domains = <&zynqmp_firmware PD_USB_1>;
Michal Simek362082a2021-06-11 08:51:19 +02001212 resets = <&zynqmp_reset ZYNQMP_RESET_USB1_CORERESET>,
1213 <&zynqmp_reset ZYNQMP_RESET_USB1_HIBERRESET>,
1214 <&zynqmp_reset ZYNQMP_RESET_USB1_APB>;
1215 reset-names = "usb_crst", "usb_hibrst", "usb_apbrst";
Michal Simek13111a12016-04-07 15:06:07 +02001216 ranges;
1217
Manish Narani690dec02022-01-14 12:43:35 +01001218 dwc3_1: usb@fe300000 {
Michal Simek13111a12016-04-07 15:06:07 +02001219 compatible = "snps,dwc3";
1220 status = "disabled";
Michal Simek72b562a2016-02-11 07:19:06 +01001221 reg = <0x0 0xfe300000 0x0 0x40000>;
Michal Simek13111a12016-04-07 15:06:07 +02001222 interrupt-parent = <&gic>;
Michal Simekaca415a2024-03-08 09:41:55 +01001223 interrupt-names = "host", "peripheral", "otg", "wakeup";
Michal Simek86eb8952023-09-22 12:35:30 +02001224 interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>,
1225 <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>,
Michal Simekaca415a2024-03-08 09:41:55 +01001226 <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>,
1227 <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
Michal Simek19e355d2024-11-28 15:49:14 +01001228 clock-names = "ref";
Michal Simekb075d472023-11-01 09:01:03 +01001229 /* iommus = <&smmu 0x861>; */
Anurag Kumar Vulisha011bd7d2017-03-10 19:18:17 +05301230 snps,quirk-frame-length-adjustment = <0x20>;
Michael Grzeschik073fd522022-10-23 23:56:49 +02001231 snps,resume-hs-terminations;
Manish Narani047096e2017-03-27 17:47:00 +05301232 /* dma-coherent; */
Michal Simek13111a12016-04-07 15:06:07 +02001233 };
Michal Simek54b896f2015-10-30 15:39:18 +01001234 };
1235
1236 watchdog0: watchdog@fd4d0000 {
1237 compatible = "cdns,wdt-r1p2";
1238 status = "disabled";
1239 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +02001240 interrupts = <GIC_SPI 113 IRQ_TYPE_EDGE_RISING>;
Michal Simek72b562a2016-02-11 07:19:06 +01001241 reg = <0x0 0xfd4d0000 0x0 0x1000>;
Mounika Grace Akula7db82412018-10-09 20:52:50 +05301242 timeout-sec = <60>;
1243 reset-on-timeout;
Michal Simek54b896f2015-10-30 15:39:18 +01001244 };
1245
Michal Simek7b6280e2018-07-18 09:25:43 +02001246 lpd_watchdog: watchdog@ff150000 {
1247 compatible = "cdns,wdt-r1p2";
1248 status = "disabled";
1249 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +02001250 interrupts = <GIC_SPI 52 IRQ_TYPE_EDGE_RISING>;
Michal Simek7b6280e2018-07-18 09:25:43 +02001251 reg = <0x0 0xff150000 0x0 0x1000>;
1252 timeout-sec = <10>;
1253 };
1254
Michal Simek1bb4be32017-11-02 12:04:43 +01001255 xilinx_ams: ams@ffa50000 {
1256 compatible = "xlnx,zynqmp-ams";
Michal Simek1bb4be32017-11-02 12:04:43 +01001257 interrupt-parent = <&gic>;
Michal Simek86eb8952023-09-22 12:35:30 +02001258 interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
Michal Simek1bb4be32017-11-02 12:04:43 +01001259 reg = <0x0 0xffa50000 0x0 0x800>;
Michal Simek22459162022-12-09 13:56:39 +01001260 #address-cells = <1>;
1261 #size-cells = <1>;
Michal Simek1bb4be32017-11-02 12:04:43 +01001262 #io-channel-cells = <1>;
Michal Simek22459162022-12-09 13:56:39 +01001263 ranges = <0 0 0xffa50800 0x800>;
Michal Simek1bb4be32017-11-02 12:04:43 +01001264
Michal Simekcef1e3a2023-07-10 14:37:42 +02001265 ams_ps: ams-ps@0 {
Michal Simek1bb4be32017-11-02 12:04:43 +01001266 compatible = "xlnx,zynqmp-ams-ps";
1267 status = "disabled";
Michal Simek22459162022-12-09 13:56:39 +01001268 reg = <0x0 0x400>;
Michal Simek1bb4be32017-11-02 12:04:43 +01001269 };
1270
Michal Simekcef1e3a2023-07-10 14:37:42 +02001271 ams_pl: ams-pl@400 {
Michal Simek1bb4be32017-11-02 12:04:43 +01001272 compatible = "xlnx,zynqmp-ams-pl";
1273 status = "disabled";
Michal Simek22459162022-12-09 13:56:39 +01001274 reg = <0x400 0x400>;
Michal Simek1bb4be32017-11-02 12:04:43 +01001275 };
1276 };
1277
Michal Simek958c0e92020-11-26 14:25:02 +01001278 zynqmp_dpdma: dma-controller@fd4c0000 {
1279 compatible = "xlnx,zynqmp-dpdma";
Michal Simek54b896f2015-10-30 15:39:18 +01001280 status = "disabled";
Michal Simek72b562a2016-02-11 07:19:06 +01001281 reg = <0x0 0xfd4c0000 0x0 0x1000>;
Michal Simek86eb8952023-09-22 12:35:30 +02001282 interrupts = <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
Michal Simek54b896f2015-10-30 15:39:18 +01001283 interrupt-parent = <&gic>;
1284 clock-names = "axi_clk";
Michal Simek7c001dc2019-10-14 15:56:31 +02001285 power-domains = <&zynqmp_firmware PD_DP>;
Michal Simekb075d472023-11-01 09:01:03 +01001286 /* iommus = <&smmu 0xce4>; */
Michal Simek54b896f2015-10-30 15:39:18 +01001287 #dma-cells = <1>;
Michal Simek54b896f2015-10-30 15:39:18 +01001288 };
Michal Simek37674252020-02-18 09:24:08 +01001289
Michal Simek958c0e92020-11-26 14:25:02 +01001290 zynqmp_dpsub: display@fd4a0000 {
Simon Glassd3a98cb2023-02-13 08:56:33 -07001291 bootph-all;
Michal Simek37674252020-02-18 09:24:08 +01001292 compatible = "xlnx,zynqmp-dpsub-1.7";
1293 status = "disabled";
1294 reg = <0x0 0xfd4a0000 0x0 0x1000>,
1295 <0x0 0xfd4aa000 0x0 0x1000>,
1296 <0x0 0xfd4ab000 0x0 0x1000>,
1297 <0x0 0xfd4ac000 0x0 0x1000>;
1298 reg-names = "dp", "blend", "av_buf", "aud";
Michal Simek86eb8952023-09-22 12:35:30 +02001299 interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
Michal Simek37674252020-02-18 09:24:08 +01001300 interrupt-parent = <&gic>;
Michal Simekb075d472023-11-01 09:01:03 +01001301 /* iommus = <&smmu 0xce3>; */
Michal Simek37674252020-02-18 09:24:08 +01001302 clock-names = "dp_apb_clk", "dp_aud_clk",
1303 "dp_vtc_pixel_clk_in";
Michal Simek37674252020-02-18 09:24:08 +01001304 power-domains = <&zynqmp_firmware PD_DP>;
Michal Simek958c0e92020-11-26 14:25:02 +01001305 resets = <&zynqmp_reset ZYNQMP_RESET_DP>;
Michal Simek19e355d2024-11-28 15:49:14 +01001306 dma-names = "vid0", "vid1", "vid2", "gfx0",
1307 "aud0", "aud1";
Michal Simek958c0e92020-11-26 14:25:02 +01001308 dmas = <&zynqmp_dpdma ZYNQMP_DPDMA_VIDEO0>,
1309 <&zynqmp_dpdma ZYNQMP_DPDMA_VIDEO1>,
1310 <&zynqmp_dpdma ZYNQMP_DPDMA_VIDEO2>,
Michal Simek19e355d2024-11-28 15:49:14 +01001311 <&zynqmp_dpdma ZYNQMP_DPDMA_GRAPHICS>,
1312 <&zynqmp_dpdma ZYNQMP_DPDMA_AUDIO0>,
1313 <&zynqmp_dpdma ZYNQMP_DPDMA_AUDIO1>;
Laurent Pincharte0480fd2023-09-22 12:35:39 +02001314
1315 ports {
1316 #address-cells = <1>;
1317 #size-cells = <0>;
1318
1319 port@0 {
1320 reg = <0>;
1321 };
1322 port@1 {
1323 reg = <1>;
1324 };
1325 port@2 {
1326 reg = <2>;
1327 };
1328 port@3 {
1329 reg = <3>;
1330 };
1331 port@4 {
1332 reg = <4>;
1333 };
1334 port@5 {
1335 reg = <5>;
1336 };
1337 };
Michal Simek37674252020-02-18 09:24:08 +01001338 };
Michal Simek54b896f2015-10-30 15:39:18 +01001339 };
1340};