blob: dea918a0419a3ece89c1805ba5685db4056678e3 [file] [log] [blame]
Michal Simek18a952c2018-03-27 10:36:39 +02001// SPDX-License-Identifier: GPL-2.0+
Michal Simek44303df2015-10-30 15:39:18 +01002/*
3 * dts file for Xilinx ZynqMP
4 *
5 * (C) Copyright 2014 - 2015, Xilinx, Inc.
6 *
7 * Michal Simek <michal.simek@xilinx.com>
8 *
Michal Simek18a952c2018-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 Simek44303df2015-10-30 15:39:18 +010013 */
Michal Simek91d11532016-12-16 13:12:48 +010014
Michal Simek44303df2015-10-30 15:39:18 +010015/ {
16 compatible = "xlnx,zynqmp";
17 #address-cells = <2>;
Michal Simek85d11422016-04-07 15:07:38 +020018 #size-cells = <2>;
Michal Simek44303df2015-10-30 15:39:18 +010019
20 cpus {
21 #address-cells = <1>;
22 #size-cells = <0>;
23
Michal Simek585ca872017-02-06 10:09:53 +010024 cpu0: cpu@0 {
Michal Simek44303df2015-10-30 15:39:18 +010025 compatible = "arm,cortex-a53", "arm,armv8";
26 device_type = "cpu";
27 enable-method = "psci";
Shubhrajyoti Datta941f61f2017-02-13 15:58:55 +053028 operating-points-v2 = <&cpu_opp_table>;
Michal Simek44303df2015-10-30 15:39:18 +010029 reg = <0x0>;
Stefan Krsmanovic2e15b072016-10-21 12:44:56 +020030 cpu-idle-states = <&CPU_SLEEP_0>;
Michal Simek44303df2015-10-30 15:39:18 +010031 };
32
Michal Simek585ca872017-02-06 10:09:53 +010033 cpu1: cpu@1 {
Michal Simek44303df2015-10-30 15:39:18 +010034 compatible = "arm,cortex-a53", "arm,armv8";
35 device_type = "cpu";
36 enable-method = "psci";
37 reg = <0x1>;
Shubhrajyoti Datta941f61f2017-02-13 15:58:55 +053038 operating-points-v2 = <&cpu_opp_table>;
Stefan Krsmanovic2e15b072016-10-21 12:44:56 +020039 cpu-idle-states = <&CPU_SLEEP_0>;
Michal Simek44303df2015-10-30 15:39:18 +010040 };
41
Michal Simek585ca872017-02-06 10:09:53 +010042 cpu2: cpu@2 {
Michal Simek44303df2015-10-30 15:39:18 +010043 compatible = "arm,cortex-a53", "arm,armv8";
44 device_type = "cpu";
45 enable-method = "psci";
46 reg = <0x2>;
Shubhrajyoti Datta941f61f2017-02-13 15:58:55 +053047 operating-points-v2 = <&cpu_opp_table>;
Stefan Krsmanovic2e15b072016-10-21 12:44:56 +020048 cpu-idle-states = <&CPU_SLEEP_0>;
Michal Simek44303df2015-10-30 15:39:18 +010049 };
50
Michal Simek585ca872017-02-06 10:09:53 +010051 cpu3: cpu@3 {
Michal Simek44303df2015-10-30 15:39:18 +010052 compatible = "arm,cortex-a53", "arm,armv8";
53 device_type = "cpu";
54 enable-method = "psci";
55 reg = <0x3>;
Shubhrajyoti Datta941f61f2017-02-13 15:58:55 +053056 operating-points-v2 = <&cpu_opp_table>;
Stefan Krsmanovic2e15b072016-10-21 12:44:56 +020057 cpu-idle-states = <&CPU_SLEEP_0>;
58 };
59
60 idle-states {
Amit Kucheria9a06ed82018-08-23 14:23:29 +053061 entry-method = "psci";
Stefan Krsmanovic2e15b072016-10-21 12:44:56 +020062
63 CPU_SLEEP_0: cpu-sleep-0 {
64 compatible = "arm,idle-state";
65 arm,psci-suspend-param = <0x40000000>;
66 local-timer-stop;
67 entry-latency-us = <300>;
68 exit-latency-us = <600>;
Jolly Shah6a097b02017-06-14 15:03:52 -070069 min-residency-us = <10000>;
Stefan Krsmanovic2e15b072016-10-21 12:44:56 +020070 };
Michal Simek44303df2015-10-30 15:39:18 +010071 };
72 };
73
Shubhrajyoti Datta941f61f2017-02-13 15:58:55 +053074 cpu_opp_table: cpu_opp_table {
75 compatible = "operating-points-v2";
76 opp-shared;
77 opp00 {
78 opp-hz = /bits/ 64 <1199999988>;
79 opp-microvolt = <1000000>;
80 clock-latency-ns = <500000>;
81 };
82 opp01 {
83 opp-hz = /bits/ 64 <599999994>;
84 opp-microvolt = <1000000>;
85 clock-latency-ns = <500000>;
86 };
87 opp02 {
88 opp-hz = /bits/ 64 <399999996>;
89 opp-microvolt = <1000000>;
90 clock-latency-ns = <500000>;
91 };
92 opp03 {
93 opp-hz = /bits/ 64 <299999997>;
94 opp-microvolt = <1000000>;
95 clock-latency-ns = <500000>;
96 };
97 };
98
Ibai Erkiaga95497af2019-09-27 11:36:58 +010099 zynqmp_ipi {
100 u-boot,dm-pre-reloc;
101 compatible = "xlnx,zynqmp-ipi-mailbox";
102 interrupt-parent = <&gic>;
103 interrupts = <0 35 4>;
104 xlnx,ipi-id = <0>;
105 #address-cells = <2>;
106 #size-cells = <2>;
107 ranges;
108
109 ipi_mailbox_pmu1: mailbox@ff990400 {
110 u-boot,dm-pre-reloc;
111 reg = <0x0 0xff9905c0 0x0 0x20>,
112 <0x0 0xff9905e0 0x0 0x20>,
113 <0x0 0xff990e80 0x0 0x20>,
114 <0x0 0xff990ea0 0x0 0x20>;
Michal Simek631ed922019-10-14 15:52:17 +0200115 reg-names = "local_request_region", "local_response_region",
Ibai Erkiaga95497af2019-09-27 11:36:58 +0100116 "remote_request_region", "remote_response_region";
117 #mbox-cells = <1>;
118 xlnx,ipi-id = <4>;
119 };
120 };
121
Michal Simek69d09dd2016-09-09 08:46:39 +0200122 dcc: dcc {
123 compatible = "arm,dcc";
124 status = "disabled";
125 u-boot,dm-pre-reloc;
126 };
127
Michal Simek44303df2015-10-30 15:39:18 +0100128 pmu {
129 compatible = "arm,armv8-pmuv3";
Michal Simek14cd9ea2016-04-07 15:28:33 +0200130 interrupt-parent = <&gic>;
Michal Simek44303df2015-10-30 15:39:18 +0100131 interrupts = <0 143 4>,
132 <0 144 4>,
133 <0 145 4>,
134 <0 146 4>;
135 };
136
137 psci {
138 compatible = "arm,psci-0.2";
139 method = "smc";
140 };
141
Ibai Erkiaga95497af2019-09-27 11:36:58 +0100142 firmware {
Michal Simek039c7402019-10-14 15:42:03 +0200143 zynqmp_firmware: zynqmp-firmware {
Ibai Erkiaga95497af2019-09-27 11:36:58 +0100144 compatible = "xlnx,zynqmp-firmware";
145 method = "smc";
146 #power-domain-cells = <0x1>;
147 u-boot,dm-pre-reloc;
148
149 zynqmp_power: zynqmp-power {
150 u-boot,dm-pre-reloc;
151 compatible = "xlnx,zynqmp-power";
152 interrupt-parent = <&gic>;
153 interrupts = <0 35 4>;
154 mboxes = <&ipi_mailbox_pmu1 0>, <&ipi_mailbox_pmu1 1>;
155 mbox-names = "tx", "rx";
156 };
157 };
Michal Simek44303df2015-10-30 15:39:18 +0100158 };
159
160 timer {
161 compatible = "arm,armv8-timer";
162 interrupt-parent = <&gic>;
Michal Simek6db82e02017-02-09 14:45:12 +0100163 interrupts = <1 13 0xf08>,
164 <1 14 0xf08>,
165 <1 11 0xf08>,
166 <1 10 0xf08>;
Michal Simek44303df2015-10-30 15:39:18 +0100167 };
168
Naga Sureshkumar Relliaaf232f2016-06-20 15:48:30 +0530169 edac {
170 compatible = "arm,cortex-a53-edac";
171 };
172
Nava kishore Manne7689dce2017-05-22 12:05:17 +0530173 fpga_full: fpga-full {
174 compatible = "fpga-region";
175 fpga-mgr = <&pcap>;
176 #address-cells = <2>;
177 #size-cells = <2>;
178 };
179
Nava kishore Manne0d87c4f2017-01-17 16:57:24 +0530180 nvmem_firmware {
181 compatible = "xlnx,zynqmp-nvmem-fw";
182 #address-cells = <1>;
183 #size-cells = <1>;
184
185 soc_revision: soc_revision@0 {
186 reg = <0x0 0x4>;
187 };
188 };
189
Nava kishore Manne7689dce2017-05-22 12:05:17 +0530190 pcap: pcap {
Nava kishore Manned64e43f2016-08-21 00:17:52 +0530191 compatible = "xlnx,zynqmp-pcap-fpga";
192 };
193
Anurag Kumar Vulisha98ad47b2017-02-06 21:40:34 +0530194 rst: reset-controller {
195 compatible = "xlnx,zynqmp-reset";
196 #reset-cells = <1>;
197 };
198
Michal Simekb0c55202017-07-05 14:51:42 +0200199 xlnx_dp_snd_card: dp_snd_card {
200 compatible = "xlnx,dp-snd-card";
201 status = "disabled";
202 xlnx,dp-snd-pcm = <&xlnx_dp_snd_pcm0>, <&xlnx_dp_snd_pcm1>;
203 xlnx,dp-snd-codec = <&xlnx_dp_snd_codec0>;
204 };
205
206 xlnx_dp_snd_codec0: dp_snd_codec0 {
207 compatible = "xlnx,dp-snd-codec";
208 status = "disabled";
209 clock-names = "aud_clk";
210 };
211
212 xlnx_dp_snd_pcm0: dp_snd_pcm0 {
213 compatible = "xlnx,dp-snd-pcm";
214 status = "disabled";
215 dmas = <&xlnx_dpdma 4>;
216 dma-names = "tx";
217 };
218
219 xlnx_dp_snd_pcm1: dp_snd_pcm1 {
220 compatible = "xlnx,dp-snd-pcm";
221 status = "disabled";
222 dmas = <&xlnx_dpdma 5>;
223 dma-names = "tx";
224 };
225
226 xilinx_drm: xilinx_drm {
227 compatible = "xlnx,drm";
228 status = "disabled";
229 xlnx,encoder-slave = <&xlnx_dp>;
230 xlnx,connector-type = "DisplayPort";
231 xlnx,dp-sub = <&xlnx_dp_sub>;
232 planes {
233 xlnx,pixel-format = "rgb565";
234 plane0 {
235 dmas = <&xlnx_dpdma 3>;
236 dma-names = "dma0";
237 };
238 plane1 {
239 dmas = <&xlnx_dpdma 0>,
240 <&xlnx_dpdma 1>,
241 <&xlnx_dpdma 2>;
242 dma-names = "dma0", "dma1", "dma2";
243 };
244 };
245 };
246
Michal Simekc926e6f2016-11-11 13:21:04 +0100247 amba_apu: amba_apu@0 {
Michal Simek44303df2015-10-30 15:39:18 +0100248 compatible = "simple-bus";
249 #address-cells = <2>;
250 #size-cells = <1>;
Michal Simek85d11422016-04-07 15:07:38 +0200251 ranges = <0 0 0 0 0xffffffff>;
Michal Simek44303df2015-10-30 15:39:18 +0100252
253 gic: interrupt-controller@f9010000 {
254 compatible = "arm,gic-400", "arm,cortex-a15-gic";
255 #interrupt-cells = <3>;
256 reg = <0x0 0xf9010000 0x10000>,
Alexander Graf0a8c4f62016-05-12 13:44:01 +0200257 <0x0 0xf9020000 0x20000>,
Michal Simek44303df2015-10-30 15:39:18 +0100258 <0x0 0xf9040000 0x20000>,
Alexander Graf0a8c4f62016-05-12 13:44:01 +0200259 <0x0 0xf9060000 0x20000>;
Michal Simek44303df2015-10-30 15:39:18 +0100260 interrupt-controller;
261 interrupt-parent = <&gic>;
262 interrupts = <1 9 0xf04>;
263 };
264 };
265
Michal Simekb976fd62016-02-11 07:19:06 +0100266 amba: amba {
Michal Simek44303df2015-10-30 15:39:18 +0100267 compatible = "simple-bus";
Michal Simekc9811e12016-02-22 09:57:27 +0100268 u-boot,dm-pre-reloc;
Michal Simek44303df2015-10-30 15:39:18 +0100269 #address-cells = <2>;
Michal Simekb976fd62016-02-11 07:19:06 +0100270 #size-cells = <2>;
271 ranges;
Michal Simek44303df2015-10-30 15:39:18 +0100272
273 can0: can@ff060000 {
274 compatible = "xlnx,zynq-can-1.0";
275 status = "disabled";
276 clock-names = "can_clk", "pclk";
Michal Simekb976fd62016-02-11 07:19:06 +0100277 reg = <0x0 0xff060000 0x0 0x1000>;
Michal Simek44303df2015-10-30 15:39:18 +0100278 interrupts = <0 23 4>;
279 interrupt-parent = <&gic>;
280 tx-fifo-depth = <0x40>;
281 rx-fifo-depth = <0x40>;
282 };
283
284 can1: can@ff070000 {
285 compatible = "xlnx,zynq-can-1.0";
286 status = "disabled";
287 clock-names = "can_clk", "pclk";
Michal Simekb976fd62016-02-11 07:19:06 +0100288 reg = <0x0 0xff070000 0x0 0x1000>;
Michal Simek44303df2015-10-30 15:39:18 +0100289 interrupts = <0 24 4>;
290 interrupt-parent = <&gic>;
291 tx-fifo-depth = <0x40>;
292 rx-fifo-depth = <0x40>;
293 };
294
Michal Simekff50d212015-11-26 11:21:25 +0100295 cci: cci@fd6e0000 {
296 compatible = "arm,cci-400";
Michal Simekb976fd62016-02-11 07:19:06 +0100297 reg = <0x0 0xfd6e0000 0x0 0x9000>;
Michal Simekff50d212015-11-26 11:21:25 +0100298 ranges = <0x0 0x0 0xfd6e0000 0x10000>;
299 #address-cells = <1>;
300 #size-cells = <1>;
301
302 pmu@9000 {
303 compatible = "arm,cci-400-pmu,r1";
304 reg = <0x9000 0x5000>;
305 interrupt-parent = <&gic>;
306 interrupts = <0 123 4>,
307 <0 123 4>,
308 <0 123 4>,
309 <0 123 4>,
310 <0 123 4>;
311 };
312 };
313
Michal Simek44303df2015-10-30 15:39:18 +0100314 /* GDMA */
315 fpd_dma_chan1: dma@fd500000 {
316 status = "disabled";
317 compatible = "xlnx,zynqmp-dma-1.0";
Michal Simekb976fd62016-02-11 07:19:06 +0100318 reg = <0x0 0xfd500000 0x0 0x1000>;
Michal Simek44303df2015-10-30 15:39:18 +0100319 interrupt-parent = <&gic>;
320 interrupts = <0 124 4>;
VNSL Durgab34d11d2016-03-24 22:45:12 +0530321 clock-names = "clk_main", "clk_apb";
Michal Simek44303df2015-10-30 15:39:18 +0100322 xlnx,bus-width = <128>;
Michal Simekba6ad312016-04-06 10:43:23 +0200323 #stream-id-cells = <1>;
324 iommus = <&smmu 0x14e8>;
Michal Simek44303df2015-10-30 15:39:18 +0100325 };
326
327 fpd_dma_chan2: dma@fd510000 {
328 status = "disabled";
329 compatible = "xlnx,zynqmp-dma-1.0";
Michal Simekb976fd62016-02-11 07:19:06 +0100330 reg = <0x0 0xfd510000 0x0 0x1000>;
Michal Simek44303df2015-10-30 15:39:18 +0100331 interrupt-parent = <&gic>;
332 interrupts = <0 125 4>;
VNSL Durgab34d11d2016-03-24 22:45:12 +0530333 clock-names = "clk_main", "clk_apb";
Michal Simek44303df2015-10-30 15:39:18 +0100334 xlnx,bus-width = <128>;
Michal Simekba6ad312016-04-06 10:43:23 +0200335 #stream-id-cells = <1>;
336 iommus = <&smmu 0x14e9>;
Michal Simek44303df2015-10-30 15:39:18 +0100337 };
338
339 fpd_dma_chan3: dma@fd520000 {
340 status = "disabled";
341 compatible = "xlnx,zynqmp-dma-1.0";
Michal Simekb976fd62016-02-11 07:19:06 +0100342 reg = <0x0 0xfd520000 0x0 0x1000>;
Michal Simek44303df2015-10-30 15:39:18 +0100343 interrupt-parent = <&gic>;
344 interrupts = <0 126 4>;
VNSL Durgab34d11d2016-03-24 22:45:12 +0530345 clock-names = "clk_main", "clk_apb";
Michal Simek44303df2015-10-30 15:39:18 +0100346 xlnx,bus-width = <128>;
Michal Simekba6ad312016-04-06 10:43:23 +0200347 #stream-id-cells = <1>;
348 iommus = <&smmu 0x14ea>;
Michal Simek44303df2015-10-30 15:39:18 +0100349 };
350
351 fpd_dma_chan4: dma@fd530000 {
352 status = "disabled";
353 compatible = "xlnx,zynqmp-dma-1.0";
Michal Simekb976fd62016-02-11 07:19:06 +0100354 reg = <0x0 0xfd530000 0x0 0x1000>;
Michal Simek44303df2015-10-30 15:39:18 +0100355 interrupt-parent = <&gic>;
356 interrupts = <0 127 4>;
VNSL Durgab34d11d2016-03-24 22:45:12 +0530357 clock-names = "clk_main", "clk_apb";
Michal Simek44303df2015-10-30 15:39:18 +0100358 xlnx,bus-width = <128>;
Michal Simekba6ad312016-04-06 10:43:23 +0200359 #stream-id-cells = <1>;
360 iommus = <&smmu 0x14eb>;
Michal Simek44303df2015-10-30 15:39:18 +0100361 };
362
363 fpd_dma_chan5: dma@fd540000 {
364 status = "disabled";
365 compatible = "xlnx,zynqmp-dma-1.0";
Michal Simekb976fd62016-02-11 07:19:06 +0100366 reg = <0x0 0xfd540000 0x0 0x1000>;
Michal Simek44303df2015-10-30 15:39:18 +0100367 interrupt-parent = <&gic>;
368 interrupts = <0 128 4>;
VNSL Durgab34d11d2016-03-24 22:45:12 +0530369 clock-names = "clk_main", "clk_apb";
Michal Simek44303df2015-10-30 15:39:18 +0100370 xlnx,bus-width = <128>;
Michal Simekba6ad312016-04-06 10:43:23 +0200371 #stream-id-cells = <1>;
372 iommus = <&smmu 0x14ec>;
Michal Simek44303df2015-10-30 15:39:18 +0100373 };
374
375 fpd_dma_chan6: dma@fd550000 {
376 status = "disabled";
377 compatible = "xlnx,zynqmp-dma-1.0";
Michal Simekb976fd62016-02-11 07:19:06 +0100378 reg = <0x0 0xfd550000 0x0 0x1000>;
Michal Simek44303df2015-10-30 15:39:18 +0100379 interrupt-parent = <&gic>;
380 interrupts = <0 129 4>;
VNSL Durgab34d11d2016-03-24 22:45:12 +0530381 clock-names = "clk_main", "clk_apb";
Michal Simek44303df2015-10-30 15:39:18 +0100382 xlnx,bus-width = <128>;
Michal Simekba6ad312016-04-06 10:43:23 +0200383 #stream-id-cells = <1>;
384 iommus = <&smmu 0x14ed>;
Michal Simek44303df2015-10-30 15:39:18 +0100385 };
386
387 fpd_dma_chan7: dma@fd560000 {
388 status = "disabled";
389 compatible = "xlnx,zynqmp-dma-1.0";
Michal Simekb976fd62016-02-11 07:19:06 +0100390 reg = <0x0 0xfd560000 0x0 0x1000>;
Michal Simek44303df2015-10-30 15:39:18 +0100391 interrupt-parent = <&gic>;
392 interrupts = <0 130 4>;
VNSL Durgab34d11d2016-03-24 22:45:12 +0530393 clock-names = "clk_main", "clk_apb";
Michal Simek44303df2015-10-30 15:39:18 +0100394 xlnx,bus-width = <128>;
Michal Simekba6ad312016-04-06 10:43:23 +0200395 #stream-id-cells = <1>;
396 iommus = <&smmu 0x14ee>;
Michal Simek44303df2015-10-30 15:39:18 +0100397 };
398
399 fpd_dma_chan8: dma@fd570000 {
400 status = "disabled";
401 compatible = "xlnx,zynqmp-dma-1.0";
Michal Simekb976fd62016-02-11 07:19:06 +0100402 reg = <0x0 0xfd570000 0x0 0x1000>;
Michal Simek44303df2015-10-30 15:39:18 +0100403 interrupt-parent = <&gic>;
404 interrupts = <0 131 4>;
VNSL Durgab34d11d2016-03-24 22:45:12 +0530405 clock-names = "clk_main", "clk_apb";
Michal Simek44303df2015-10-30 15:39:18 +0100406 xlnx,bus-width = <128>;
Michal Simekba6ad312016-04-06 10:43:23 +0200407 #stream-id-cells = <1>;
408 iommus = <&smmu 0x14ef>;
Michal Simek44303df2015-10-30 15:39:18 +0100409 };
410
411 gpu: gpu@fd4b0000 {
412 status = "disabled";
413 compatible = "arm,mali-400", "arm,mali-utgard";
Hyun Kwon834ec8e2017-08-21 18:54:29 -0700414 reg = <0x0 0xfd4b0000 0x0 0x10000>;
Michal Simek44303df2015-10-30 15:39:18 +0100415 interrupt-parent = <&gic>;
416 interrupts = <0 132 4>, <0 132 4>, <0 132 4>, <0 132 4>, <0 132 4>, <0 132 4>;
417 interrupt-names = "IRQGP", "IRQGPMMU", "IRQPP0", "IRQPPMMU0", "IRQPP1", "IRQPPMMU1";
Madhurkiran Harikrishnan59206dd2017-02-17 04:14:45 -0800418 clock-names = "gpu", "gpu_pp0", "gpu_pp1";
Michal Simek44303df2015-10-30 15:39:18 +0100419 };
420
Kedareswara rao Appana6af57732016-09-09 12:36:01 +0530421 /* LPDDMA default allows only secured access. inorder to enable
422 * These dma channels, Users should ensure that these dma
423 * Channels are allowed for non secure access.
424 */
Michal Simek44303df2015-10-30 15:39:18 +0100425 lpd_dma_chan1: dma@ffa80000 {
426 status = "disabled";
427 compatible = "xlnx,zynqmp-dma-1.0";
Michal Simekb976fd62016-02-11 07:19:06 +0100428 reg = <0x0 0xffa80000 0x0 0x1000>;
Michal Simek44303df2015-10-30 15:39:18 +0100429 interrupt-parent = <&gic>;
430 interrupts = <0 77 4>;
Michal Simek680e9972018-01-17 16:32:33 +0100431 clock-names = "clk_main", "clk_apb";
Michal Simek44303df2015-10-30 15:39:18 +0100432 xlnx,bus-width = <64>;
Michal Simekba6ad312016-04-06 10:43:23 +0200433 #stream-id-cells = <1>;
434 iommus = <&smmu 0x868>;
Michal Simek44303df2015-10-30 15:39:18 +0100435 };
436
437 lpd_dma_chan2: dma@ffa90000 {
438 status = "disabled";
439 compatible = "xlnx,zynqmp-dma-1.0";
Michal Simekb976fd62016-02-11 07:19:06 +0100440 reg = <0x0 0xffa90000 0x0 0x1000>;
Michal Simek44303df2015-10-30 15:39:18 +0100441 interrupt-parent = <&gic>;
442 interrupts = <0 78 4>;
Michal Simek680e9972018-01-17 16:32:33 +0100443 clock-names = "clk_main", "clk_apb";
Michal Simek44303df2015-10-30 15:39:18 +0100444 xlnx,bus-width = <64>;
Michal Simekba6ad312016-04-06 10:43:23 +0200445 #stream-id-cells = <1>;
446 iommus = <&smmu 0x869>;
Michal Simek44303df2015-10-30 15:39:18 +0100447 };
448
449 lpd_dma_chan3: dma@ffaa0000 {
450 status = "disabled";
451 compatible = "xlnx,zynqmp-dma-1.0";
Michal Simekb976fd62016-02-11 07:19:06 +0100452 reg = <0x0 0xffaa0000 0x0 0x1000>;
Michal Simek44303df2015-10-30 15:39:18 +0100453 interrupt-parent = <&gic>;
454 interrupts = <0 79 4>;
Michal Simek680e9972018-01-17 16:32:33 +0100455 clock-names = "clk_main", "clk_apb";
Michal Simek44303df2015-10-30 15:39:18 +0100456 xlnx,bus-width = <64>;
Michal Simekba6ad312016-04-06 10:43:23 +0200457 #stream-id-cells = <1>;
458 iommus = <&smmu 0x86a>;
Michal Simek44303df2015-10-30 15:39:18 +0100459 };
460
461 lpd_dma_chan4: dma@ffab0000 {
462 status = "disabled";
463 compatible = "xlnx,zynqmp-dma-1.0";
Michal Simekb976fd62016-02-11 07:19:06 +0100464 reg = <0x0 0xffab0000 0x0 0x1000>;
Michal Simek44303df2015-10-30 15:39:18 +0100465 interrupt-parent = <&gic>;
466 interrupts = <0 80 4>;
Michal Simek680e9972018-01-17 16:32:33 +0100467 clock-names = "clk_main", "clk_apb";
Michal Simek44303df2015-10-30 15:39:18 +0100468 xlnx,bus-width = <64>;
Michal Simekba6ad312016-04-06 10:43:23 +0200469 #stream-id-cells = <1>;
470 iommus = <&smmu 0x86b>;
Michal Simek44303df2015-10-30 15:39:18 +0100471 };
472
473 lpd_dma_chan5: dma@ffac0000 {
474 status = "disabled";
475 compatible = "xlnx,zynqmp-dma-1.0";
Michal Simekb976fd62016-02-11 07:19:06 +0100476 reg = <0x0 0xffac0000 0x0 0x1000>;
Michal Simek44303df2015-10-30 15:39:18 +0100477 interrupt-parent = <&gic>;
478 interrupts = <0 81 4>;
Michal Simek680e9972018-01-17 16:32:33 +0100479 clock-names = "clk_main", "clk_apb";
Michal Simek44303df2015-10-30 15:39:18 +0100480 xlnx,bus-width = <64>;
Michal Simekba6ad312016-04-06 10:43:23 +0200481 #stream-id-cells = <1>;
482 iommus = <&smmu 0x86c>;
Michal Simek44303df2015-10-30 15:39:18 +0100483 };
484
485 lpd_dma_chan6: dma@ffad0000 {
486 status = "disabled";
487 compatible = "xlnx,zynqmp-dma-1.0";
Michal Simekb976fd62016-02-11 07:19:06 +0100488 reg = <0x0 0xffad0000 0x0 0x1000>;
Michal Simek44303df2015-10-30 15:39:18 +0100489 interrupt-parent = <&gic>;
490 interrupts = <0 82 4>;
Michal Simek680e9972018-01-17 16:32:33 +0100491 clock-names = "clk_main", "clk_apb";
Michal Simek44303df2015-10-30 15:39:18 +0100492 xlnx,bus-width = <64>;
Michal Simekba6ad312016-04-06 10:43:23 +0200493 #stream-id-cells = <1>;
494 iommus = <&smmu 0x86d>;
Michal Simek44303df2015-10-30 15:39:18 +0100495 };
496
497 lpd_dma_chan7: dma@ffae0000 {
498 status = "disabled";
499 compatible = "xlnx,zynqmp-dma-1.0";
Michal Simekb976fd62016-02-11 07:19:06 +0100500 reg = <0x0 0xffae0000 0x0 0x1000>;
Michal Simek44303df2015-10-30 15:39:18 +0100501 interrupt-parent = <&gic>;
502 interrupts = <0 83 4>;
Michal Simek680e9972018-01-17 16:32:33 +0100503 clock-names = "clk_main", "clk_apb";
Michal Simek44303df2015-10-30 15:39:18 +0100504 xlnx,bus-width = <64>;
Michal Simekba6ad312016-04-06 10:43:23 +0200505 #stream-id-cells = <1>;
506 iommus = <&smmu 0x86e>;
Michal Simek44303df2015-10-30 15:39:18 +0100507 };
508
509 lpd_dma_chan8: dma@ffaf0000 {
510 status = "disabled";
511 compatible = "xlnx,zynqmp-dma-1.0";
Michal Simekb976fd62016-02-11 07:19:06 +0100512 reg = <0x0 0xffaf0000 0x0 0x1000>;
Michal Simek44303df2015-10-30 15:39:18 +0100513 interrupt-parent = <&gic>;
514 interrupts = <0 84 4>;
Michal Simek680e9972018-01-17 16:32:33 +0100515 clock-names = "clk_main", "clk_apb";
Michal Simek44303df2015-10-30 15:39:18 +0100516 xlnx,bus-width = <64>;
Michal Simekba6ad312016-04-06 10:43:23 +0200517 #stream-id-cells = <1>;
518 iommus = <&smmu 0x86f>;
Michal Simek44303df2015-10-30 15:39:18 +0100519 };
520
Naga Sureshkumar Relli90869002016-03-11 13:10:26 +0530521 mc: memory-controller@fd070000 {
522 compatible = "xlnx,zynqmp-ddrc-2.40a";
Michal Simekb976fd62016-02-11 07:19:06 +0100523 reg = <0x0 0xfd070000 0x0 0x30000>;
Naga Sureshkumar Relli90869002016-03-11 13:10:26 +0530524 interrupt-parent = <&gic>;
525 interrupts = <0 112 4>;
526 };
527
Michal Simek44303df2015-10-30 15:39:18 +0100528 nand0: nand@ff100000 {
529 compatible = "arasan,nfc-v3p10";
530 status = "disabled";
Michal Simekb976fd62016-02-11 07:19:06 +0100531 reg = <0x0 0xff100000 0x0 0x1000>;
Michal Simek44303df2015-10-30 15:39:18 +0100532 clock-names = "clk_sys", "clk_flash";
533 interrupt-parent = <&gic>;
534 interrupts = <0 14 4>;
Naga Sureshkumar Rellic3a34b82017-01-23 16:20:37 +0530535 #address-cells = <1>;
536 #size-cells = <0>;
Michal Simekba6ad312016-04-06 10:43:23 +0200537 #stream-id-cells = <1>;
538 iommus = <&smmu 0x872>;
Michal Simek44303df2015-10-30 15:39:18 +0100539 };
540
541 gem0: ethernet@ff0b0000 {
Michal Simekdead6f62018-03-27 12:53:37 +0200542 compatible = "cdns,zynqmp-gem", "cdns,gem";
Michal Simek44303df2015-10-30 15:39:18 +0100543 status = "disabled";
544 interrupt-parent = <&gic>;
545 interrupts = <0 57 4>, <0 57 4>;
Michal Simekb976fd62016-02-11 07:19:06 +0100546 reg = <0x0 0xff0b0000 0x0 0x1000>;
Michal Simek44303df2015-10-30 15:39:18 +0100547 clock-names = "pclk", "hclk", "tx_clk";
548 #address-cells = <1>;
549 #size-cells = <0>;
Edgar E. Iglesias7f1d7d92015-11-26 14:12:20 +0100550 #stream-id-cells = <1>;
Michal Simekba6ad312016-04-06 10:43:23 +0200551 iommus = <&smmu 0x874>;
Michal Simek44303df2015-10-30 15:39:18 +0100552 };
553
554 gem1: ethernet@ff0c0000 {
Michal Simekdead6f62018-03-27 12:53:37 +0200555 compatible = "cdns,zynqmp-gem", "cdns,gem";
Michal Simek44303df2015-10-30 15:39:18 +0100556 status = "disabled";
557 interrupt-parent = <&gic>;
558 interrupts = <0 59 4>, <0 59 4>;
Michal Simekb976fd62016-02-11 07:19:06 +0100559 reg = <0x0 0xff0c0000 0x0 0x1000>;
Michal Simek44303df2015-10-30 15:39:18 +0100560 clock-names = "pclk", "hclk", "tx_clk";
561 #address-cells = <1>;
562 #size-cells = <0>;
Edgar E. Iglesias7f1d7d92015-11-26 14:12:20 +0100563 #stream-id-cells = <1>;
Michal Simekba6ad312016-04-06 10:43:23 +0200564 iommus = <&smmu 0x875>;
Michal Simek44303df2015-10-30 15:39:18 +0100565 };
566
567 gem2: ethernet@ff0d0000 {
Michal Simekdead6f62018-03-27 12:53:37 +0200568 compatible = "cdns,zynqmp-gem", "cdns,gem";
Michal Simek44303df2015-10-30 15:39:18 +0100569 status = "disabled";
570 interrupt-parent = <&gic>;
571 interrupts = <0 61 4>, <0 61 4>;
Michal Simekb976fd62016-02-11 07:19:06 +0100572 reg = <0x0 0xff0d0000 0x0 0x1000>;
Michal Simek44303df2015-10-30 15:39:18 +0100573 clock-names = "pclk", "hclk", "tx_clk";
574 #address-cells = <1>;
575 #size-cells = <0>;
Edgar E. Iglesias7f1d7d92015-11-26 14:12:20 +0100576 #stream-id-cells = <1>;
Michal Simekba6ad312016-04-06 10:43:23 +0200577 iommus = <&smmu 0x876>;
Michal Simek44303df2015-10-30 15:39:18 +0100578 };
579
580 gem3: ethernet@ff0e0000 {
Michal Simekdead6f62018-03-27 12:53:37 +0200581 compatible = "cdns,zynqmp-gem", "cdns,gem";
Michal Simek44303df2015-10-30 15:39:18 +0100582 status = "disabled";
583 interrupt-parent = <&gic>;
584 interrupts = <0 63 4>, <0 63 4>;
Michal Simekb976fd62016-02-11 07:19:06 +0100585 reg = <0x0 0xff0e0000 0x0 0x1000>;
Michal Simek44303df2015-10-30 15:39:18 +0100586 clock-names = "pclk", "hclk", "tx_clk";
587 #address-cells = <1>;
588 #size-cells = <0>;
Edgar E. Iglesias7f1d7d92015-11-26 14:12:20 +0100589 #stream-id-cells = <1>;
Michal Simekba6ad312016-04-06 10:43:23 +0200590 iommus = <&smmu 0x877>;
Michal Simek44303df2015-10-30 15:39:18 +0100591 };
592
593 gpio: gpio@ff0a0000 {
594 compatible = "xlnx,zynqmp-gpio-1.0";
595 status = "disabled";
596 #gpio-cells = <0x2>;
597 interrupt-parent = <&gic>;
598 interrupts = <0 16 4>;
Michal Simek9e826b62016-10-20 10:26:13 +0200599 interrupt-controller;
600 #interrupt-cells = <2>;
Michal Simekb976fd62016-02-11 07:19:06 +0100601 reg = <0x0 0xff0a0000 0x0 0x1000>;
Michal Simek0b33e0b12017-08-30 08:06:11 +0200602 gpio-controller;
Michal Simek44303df2015-10-30 15:39:18 +0100603 };
604
605 i2c0: i2c@ff020000 {
Moritz Fischerde4914b2016-12-22 09:36:11 -0800606 compatible = "cdns,i2c-r1p14", "cdns,i2c-r1p10";
Michal Simek44303df2015-10-30 15:39:18 +0100607 status = "disabled";
608 interrupt-parent = <&gic>;
609 interrupts = <0 17 4>;
Michal Simekb976fd62016-02-11 07:19:06 +0100610 reg = <0x0 0xff020000 0x0 0x1000>;
Michal Simek44303df2015-10-30 15:39:18 +0100611 #address-cells = <1>;
612 #size-cells = <0>;
613 };
614
615 i2c1: i2c@ff030000 {
Moritz Fischerde4914b2016-12-22 09:36:11 -0800616 compatible = "cdns,i2c-r1p14", "cdns,i2c-r1p10";
Michal Simek44303df2015-10-30 15:39:18 +0100617 status = "disabled";
618 interrupt-parent = <&gic>;
619 interrupts = <0 18 4>;
Michal Simekb976fd62016-02-11 07:19:06 +0100620 reg = <0x0 0xff030000 0x0 0x1000>;
Michal Simek44303df2015-10-30 15:39:18 +0100621 #address-cells = <1>;
622 #size-cells = <0>;
623 };
624
Naga Sureshkumar Relli55344802016-05-18 12:23:13 +0530625 ocm: memory-controller@ff960000 {
626 compatible = "xlnx,zynqmp-ocmc-1.0";
Michal Simekb976fd62016-02-11 07:19:06 +0100627 reg = <0x0 0xff960000 0x0 0x1000>;
Naga Sureshkumar Relli55344802016-05-18 12:23:13 +0530628 interrupt-parent = <&gic>;
629 interrupts = <0 10 4>;
630 };
631
Michal Simek44303df2015-10-30 15:39:18 +0100632 pcie: pcie@fd0e0000 {
633 compatible = "xlnx,nwl-pcie-2.11";
634 status = "disabled";
635 #address-cells = <3>;
636 #size-cells = <2>;
637 #interrupt-cells = <1>;
Bharat Kumar Gogada7d6ca732016-07-19 20:49:29 +0530638 msi-controller;
Michal Simek44303df2015-10-30 15:39:18 +0100639 device_type = "pci";
640 interrupt-parent = <&gic>;
Michal Simek91a8b0e2016-01-20 12:59:23 +0100641 interrupts = <0 118 4>,
Bharat Kumar Gogada7d6ca732016-07-19 20:49:29 +0530642 <0 117 4>,
Michal Simek91a8b0e2016-01-20 12:59:23 +0100643 <0 116 4>,
644 <0 115 4>, /* MSI_1 [63...32] */
645 <0 114 4>; /* MSI_0 [31...0] */
Michal Simek680e9972018-01-17 16:32:33 +0100646 interrupt-names = "misc", "dummy", "intx",
647 "msi1", "msi0";
Bharat Kumar Gogada7d6ca732016-07-19 20:49:29 +0530648 msi-parent = <&pcie>;
Michal Simekb976fd62016-02-11 07:19:06 +0100649 reg = <0x0 0xfd0e0000 0x0 0x1000>,
650 <0x0 0xfd480000 0x0 0x1000>,
Bharat Kumar Gogada688d1be2016-08-02 20:34:13 +0530651 <0x80 0x00000000 0x0 0x1000000>;
Michal Simek44303df2015-10-30 15:39:18 +0100652 reg-names = "breg", "pcireg", "cfg";
Bharat Kumar Gogada688d1be2016-08-02 20:34:13 +0530653 ranges = <0x02000000 0x00000000 0xe0000000 0x00000000 0xe0000000 0x00000000 0x10000000 /* non-prefetchable memory */
654 0x43000000 0x00000006 0x00000000 0x00000006 0x00000000 0x00000002 0x00000000>;/* prefetchable memory */
Rob Herringec2b2d42017-03-21 21:03:13 -0500655 bus-range = <0x00 0xff>;
Bharat Kumar Gogada33aec512016-02-15 21:18:58 +0530656 interrupt-map-mask = <0x0 0x0 0x0 0x7>;
657 interrupt-map = <0x0 0x0 0x0 0x1 &pcie_intc 0x1>,
658 <0x0 0x0 0x0 0x2 &pcie_intc 0x2>,
659 <0x0 0x0 0x0 0x3 &pcie_intc 0x3>,
660 <0x0 0x0 0x0 0x4 &pcie_intc 0x4>;
661 pcie_intc: legacy-interrupt-controller {
662 interrupt-controller;
663 #address-cells = <0>;
664 #interrupt-cells = <1>;
665 };
Michal Simek44303df2015-10-30 15:39:18 +0100666 };
667
668 qspi: spi@ff0f0000 {
Michal Simek24124ab2017-01-16 12:07:33 +0100669 u-boot,dm-pre-reloc;
Michal Simek44303df2015-10-30 15:39:18 +0100670 compatible = "xlnx,zynqmp-qspi-1.0";
671 status = "disabled";
672 clock-names = "ref_clk", "pclk";
673 interrupts = <0 15 4>;
674 interrupt-parent = <&gic>;
675 num-cs = <1>;
Michal Simekb976fd62016-02-11 07:19:06 +0100676 reg = <0x0 0xff0f0000 0x0 0x1000>,
677 <0x0 0xc0000000 0x0 0x8000000>;
Michal Simek44303df2015-10-30 15:39:18 +0100678 #address-cells = <1>;
679 #size-cells = <0>;
Michal Simekba6ad312016-04-06 10:43:23 +0200680 #stream-id-cells = <1>;
681 iommus = <&smmu 0x873>;
Michal Simek44303df2015-10-30 15:39:18 +0100682 };
683
684 rtc: rtc@ffa60000 {
685 compatible = "xlnx,zynqmp-rtc";
686 status = "disabled";
Michal Simekb976fd62016-02-11 07:19:06 +0100687 reg = <0x0 0xffa60000 0x0 0x100>;
Michal Simek44303df2015-10-30 15:39:18 +0100688 interrupt-parent = <&gic>;
689 interrupts = <0 26 4>, <0 27 4>;
690 interrupt-names = "alarm", "sec";
Nava kishore Manne4d9d6982017-01-27 18:20:14 +0530691 calibration = <0x8000>;
Michal Simek44303df2015-10-30 15:39:18 +0100692 };
693
Anurag Kumar Vulishadb6c62e2016-05-17 16:49:01 +0530694 serdes: zynqmp_phy@fd400000 {
695 compatible = "xlnx,zynqmp-psgtr";
696 status = "disabled";
Michal Simekb976fd62016-02-11 07:19:06 +0100697 reg = <0x0 0xfd400000 0x0 0x40000>,
698 <0x0 0xfd3d0000 0x0 0x1000>,
Michal Simekb976fd62016-02-11 07:19:06 +0100699 <0x0 0xff5e0000 0x0 0x1000>;
Anurag Kumar Vulisha0aada392017-02-08 17:09:10 +0530700 reg-names = "serdes", "siou", "lpd";
Michal Simek3940bca2017-01-17 14:36:54 +0100701 nvmem-cells = <&soc_revision>;
702 nvmem-cell-names = "soc_revision";
Anurag Kumar Vulisha98ad47b2017-02-06 21:40:34 +0530703 resets = <&rst 16>, <&rst 59>, <&rst 60>,
704 <&rst 61>, <&rst 62>, <&rst 63>,
705 <&rst 64>, <&rst 3>, <&rst 29>,
706 <&rst 30>, <&rst 31>, <&rst 32>;
707 reset-names = "sata_rst", "usb0_crst", "usb1_crst",
708 "usb0_hibrst", "usb1_hibrst", "usb0_apbrst",
709 "usb1_apbrst", "dp_rst", "gem0_rst",
710 "gem1_rst", "gem2_rst", "gem3_rst";
Anurag Kumar Vulishadb6c62e2016-05-17 16:49:01 +0530711 lane0: lane0 {
712 #phy-cells = <4>;
713 };
714 lane1: lane1 {
715 #phy-cells = <4>;
716 };
717 lane2: lane2 {
718 #phy-cells = <4>;
719 };
720 lane3: lane3 {
721 #phy-cells = <4>;
722 };
723 };
724
Michal Simek44303df2015-10-30 15:39:18 +0100725 sata: ahci@fd0c0000 {
726 compatible = "ceva,ahci-1v84";
727 status = "disabled";
Michal Simekb976fd62016-02-11 07:19:06 +0100728 reg = <0x0 0xfd0c0000 0x0 0x2000>;
Michal Simek44303df2015-10-30 15:39:18 +0100729 interrupt-parent = <&gic>;
730 interrupts = <0 133 4>;
Anurag Kumar Vulisha110d06b2017-07-04 20:03:42 +0530731 #stream-id-cells = <4>;
732 iommus = <&smmu 0x4c0>, <&smmu 0x4c1>,
733 <&smmu 0x4c2>, <&smmu 0x4c3>;
734 /* dma-coherent; */
Michal Simek44303df2015-10-30 15:39:18 +0100735 };
736
Siva Durga Prasad Paladugue7c9de62019-01-03 15:44:24 +0530737 sdhci0: mmc@ff160000 {
Michal Simekc9811e12016-02-22 09:57:27 +0100738 u-boot,dm-pre-reloc;
Sai Krishna Potthuri0488a5e2016-08-16 14:41:35 +0530739 compatible = "xlnx,zynqmp-8.9a", "arasan,sdhci-8.9a";
Michal Simek44303df2015-10-30 15:39:18 +0100740 status = "disabled";
741 interrupt-parent = <&gic>;
742 interrupts = <0 48 4>;
Michal Simekb976fd62016-02-11 07:19:06 +0100743 reg = <0x0 0xff160000 0x0 0x1000>;
Michal Simek44303df2015-10-30 15:39:18 +0100744 clock-names = "clk_xin", "clk_ahb";
Sai Krishna Potthuri0488a5e2016-08-16 14:41:35 +0530745 xlnx,device_id = <0>;
Michal Simekba6ad312016-04-06 10:43:23 +0200746 #stream-id-cells = <1>;
747 iommus = <&smmu 0x870>;
Manish Narani5e3c90d2017-07-19 21:16:33 +0530748 nvmem-cells = <&soc_revision>;
749 nvmem-cell-names = "soc_revision";
Michal Simek44303df2015-10-30 15:39:18 +0100750 };
751
Siva Durga Prasad Paladugue7c9de62019-01-03 15:44:24 +0530752 sdhci1: mmc@ff170000 {
Michal Simekc9811e12016-02-22 09:57:27 +0100753 u-boot,dm-pre-reloc;
Sai Krishna Potthuri0488a5e2016-08-16 14:41:35 +0530754 compatible = "xlnx,zynqmp-8.9a", "arasan,sdhci-8.9a";
Michal Simek44303df2015-10-30 15:39:18 +0100755 status = "disabled";
756 interrupt-parent = <&gic>;
757 interrupts = <0 49 4>;
Michal Simekb976fd62016-02-11 07:19:06 +0100758 reg = <0x0 0xff170000 0x0 0x1000>;
Michal Simek44303df2015-10-30 15:39:18 +0100759 clock-names = "clk_xin", "clk_ahb";
Sai Krishna Potthuri0488a5e2016-08-16 14:41:35 +0530760 xlnx,device_id = <1>;
Michal Simekba6ad312016-04-06 10:43:23 +0200761 #stream-id-cells = <1>;
762 iommus = <&smmu 0x871>;
Manish Narani5e3c90d2017-07-19 21:16:33 +0530763 nvmem-cells = <&soc_revision>;
764 nvmem-cell-names = "soc_revision";
Michal Simek44303df2015-10-30 15:39:18 +0100765 };
766
Michal Simek9c77cb72017-11-02 11:51:59 +0100767 pinctrl0: pinctrl@ff180000 {
768 compatible = "xlnx,pinctrl-zynqmp";
769 status = "disabled";
770 reg = <0x0 0xff180000 0x0 0x1000>;
771 };
772
Michal Simek44303df2015-10-30 15:39:18 +0100773 smmu: smmu@fd800000 {
774 compatible = "arm,mmu-500";
Michal Simekb976fd62016-02-11 07:19:06 +0100775 reg = <0x0 0xfd800000 0x0 0x20000>;
Michal Simekba6ad312016-04-06 10:43:23 +0200776 #iommu-cells = <1>;
Naga Sureshkumar Relli10f2a292017-03-09 20:00:13 +0530777 status = "disabled";
Michal Simek44303df2015-10-30 15:39:18 +0100778 #global-interrupts = <1>;
779 interrupt-parent = <&gic>;
Edgar E. Iglesias88a85aa2015-11-26 14:12:19 +0100780 interrupts = <0 155 4>,
781 <0 155 4>, <0 155 4>, <0 155 4>, <0 155 4>,
782 <0 155 4>, <0 155 4>, <0 155 4>, <0 155 4>,
783 <0 155 4>, <0 155 4>, <0 155 4>, <0 155 4>,
784 <0 155 4>, <0 155 4>, <0 155 4>, <0 155 4>;
Michal Simek44303df2015-10-30 15:39:18 +0100785 };
786
787 spi0: spi@ff040000 {
788 compatible = "cdns,spi-r1p6";
789 status = "disabled";
790 interrupt-parent = <&gic>;
791 interrupts = <0 19 4>;
Michal Simekb976fd62016-02-11 07:19:06 +0100792 reg = <0x0 0xff040000 0x0 0x1000>;
Michal Simek44303df2015-10-30 15:39:18 +0100793 clock-names = "ref_clk", "pclk";
794 #address-cells = <1>;
795 #size-cells = <0>;
796 };
797
798 spi1: spi@ff050000 {
799 compatible = "cdns,spi-r1p6";
800 status = "disabled";
801 interrupt-parent = <&gic>;
802 interrupts = <0 20 4>;
Michal Simekb976fd62016-02-11 07:19:06 +0100803 reg = <0x0 0xff050000 0x0 0x1000>;
Michal Simek44303df2015-10-30 15:39:18 +0100804 clock-names = "ref_clk", "pclk";
805 #address-cells = <1>;
806 #size-cells = <0>;
807 };
808
809 ttc0: timer@ff110000 {
810 compatible = "cdns,ttc";
811 status = "disabled";
812 interrupt-parent = <&gic>;
813 interrupts = <0 36 4>, <0 37 4>, <0 38 4>;
Michal Simekb976fd62016-02-11 07:19:06 +0100814 reg = <0x0 0xff110000 0x0 0x1000>;
Michal Simek44303df2015-10-30 15:39:18 +0100815 timer-width = <32>;
816 };
817
818 ttc1: timer@ff120000 {
819 compatible = "cdns,ttc";
820 status = "disabled";
821 interrupt-parent = <&gic>;
822 interrupts = <0 39 4>, <0 40 4>, <0 41 4>;
Michal Simekb976fd62016-02-11 07:19:06 +0100823 reg = <0x0 0xff120000 0x0 0x1000>;
Michal Simek44303df2015-10-30 15:39:18 +0100824 timer-width = <32>;
825 };
826
827 ttc2: timer@ff130000 {
828 compatible = "cdns,ttc";
829 status = "disabled";
830 interrupt-parent = <&gic>;
831 interrupts = <0 42 4>, <0 43 4>, <0 44 4>;
Michal Simekb976fd62016-02-11 07:19:06 +0100832 reg = <0x0 0xff130000 0x0 0x1000>;
Michal Simek44303df2015-10-30 15:39:18 +0100833 timer-width = <32>;
834 };
835
836 ttc3: timer@ff140000 {
837 compatible = "cdns,ttc";
838 status = "disabled";
839 interrupt-parent = <&gic>;
840 interrupts = <0 45 4>, <0 46 4>, <0 47 4>;
Michal Simekb976fd62016-02-11 07:19:06 +0100841 reg = <0x0 0xff140000 0x0 0x1000>;
Michal Simek44303df2015-10-30 15:39:18 +0100842 timer-width = <32>;
843 };
844
845 uart0: serial@ff000000 {
Michal Simekc9811e12016-02-22 09:57:27 +0100846 u-boot,dm-pre-reloc;
Michal Simekca2f5872015-11-27 13:22:58 +0100847 compatible = "cdns,uart-r1p12", "xlnx,xuartps";
Michal Simek44303df2015-10-30 15:39:18 +0100848 status = "disabled";
849 interrupt-parent = <&gic>;
850 interrupts = <0 21 4>;
Michal Simekb976fd62016-02-11 07:19:06 +0100851 reg = <0x0 0xff000000 0x0 0x1000>;
Michal Simek44303df2015-10-30 15:39:18 +0100852 clock-names = "uart_clk", "pclk";
853 };
854
855 uart1: serial@ff010000 {
Michal Simekc9811e12016-02-22 09:57:27 +0100856 u-boot,dm-pre-reloc;
Michal Simekca2f5872015-11-27 13:22:58 +0100857 compatible = "cdns,uart-r1p12", "xlnx,xuartps";
Michal Simek44303df2015-10-30 15:39:18 +0100858 status = "disabled";
859 interrupt-parent = <&gic>;
860 interrupts = <0 22 4>;
Michal Simekb976fd62016-02-11 07:19:06 +0100861 reg = <0x0 0xff010000 0x0 0x1000>;
Michal Simek44303df2015-10-30 15:39:18 +0100862 clock-names = "uart_clk", "pclk";
863 };
864
Manish Naranif7346ef2017-03-27 17:47:00 +0530865 usb0: usb0@ff9d0000 {
Michal Simeka84de482016-04-07 15:06:07 +0200866 #address-cells = <2>;
Michal Simekb976fd62016-02-11 07:19:06 +0100867 #size-cells = <2>;
Michal Simek44303df2015-10-30 15:39:18 +0100868 status = "disabled";
Michal Simeka84de482016-04-07 15:06:07 +0200869 compatible = "xlnx,zynqmp-dwc3";
Manish Naranif7346ef2017-03-27 17:47:00 +0530870 reg = <0x0 0xff9d0000 0x0 0x100>;
Michal Simeka84de482016-04-07 15:06:07 +0200871 clock-names = "bus_clk", "ref_clk";
Michal Simeka84de482016-04-07 15:06:07 +0200872 ranges;
Anurag Kumar Vulisha8e5a4e62017-03-02 14:40:51 +0530873 nvmem-cells = <&soc_revision>;
874 nvmem-cell-names = "soc_revision";
Michal Simeka84de482016-04-07 15:06:07 +0200875
876 dwc3_0: dwc3@fe200000 {
877 compatible = "snps,dwc3";
878 status = "disabled";
Michal Simekb976fd62016-02-11 07:19:06 +0100879 reg = <0x0 0xfe200000 0x0 0x40000>;
Michal Simeka84de482016-04-07 15:06:07 +0200880 interrupt-parent = <&gic>;
Manish Narani2ef98662017-01-18 17:34:48 +0530881 interrupts = <0 65 4>, <0 69 4>;
Anurag Kumar Vulisha8861dcf2017-06-20 16:25:16 +0530882 #stream-id-cells = <1>;
883 iommus = <&smmu 0x860>;
Anurag Kumar Vulisha397a08a2017-03-10 19:18:17 +0530884 snps,quirk-frame-length-adjustment = <0x20>;
Michal Simeka84de482016-04-07 15:06:07 +0200885 snps,refclk_fladj;
Manish Naranif7346ef2017-03-27 17:47:00 +0530886 /* dma-coherent; */
Michal Simeka84de482016-04-07 15:06:07 +0200887 };
Michal Simek44303df2015-10-30 15:39:18 +0100888 };
889
Manish Naranif7346ef2017-03-27 17:47:00 +0530890 usb1: usb1@ff9e0000 {
Michal Simeka84de482016-04-07 15:06:07 +0200891 #address-cells = <2>;
Michal Simekb976fd62016-02-11 07:19:06 +0100892 #size-cells = <2>;
Michal Simek44303df2015-10-30 15:39:18 +0100893 status = "disabled";
Michal Simeka84de482016-04-07 15:06:07 +0200894 compatible = "xlnx,zynqmp-dwc3";
Manish Naranif7346ef2017-03-27 17:47:00 +0530895 reg = <0x0 0xff9e0000 0x0 0x100>;
Michal Simeka84de482016-04-07 15:06:07 +0200896 clock-names = "bus_clk", "ref_clk";
Michal Simeka84de482016-04-07 15:06:07 +0200897 ranges;
Anurag Kumar Vulisha8e5a4e62017-03-02 14:40:51 +0530898 nvmem-cells = <&soc_revision>;
899 nvmem-cell-names = "soc_revision";
Michal Simeka84de482016-04-07 15:06:07 +0200900
901 dwc3_1: dwc3@fe300000 {
902 compatible = "snps,dwc3";
903 status = "disabled";
Michal Simekb976fd62016-02-11 07:19:06 +0100904 reg = <0x0 0xfe300000 0x0 0x40000>;
Michal Simeka84de482016-04-07 15:06:07 +0200905 interrupt-parent = <&gic>;
Manish Narani2ef98662017-01-18 17:34:48 +0530906 interrupts = <0 70 4>, <0 74 4>;
Anurag Kumar Vulisha8861dcf2017-06-20 16:25:16 +0530907 #stream-id-cells = <1>;
908 iommus = <&smmu 0x861>;
Anurag Kumar Vulisha397a08a2017-03-10 19:18:17 +0530909 snps,quirk-frame-length-adjustment = <0x20>;
Michal Simeka84de482016-04-07 15:06:07 +0200910 snps,refclk_fladj;
Manish Naranif7346ef2017-03-27 17:47:00 +0530911 /* dma-coherent; */
Michal Simeka84de482016-04-07 15:06:07 +0200912 };
Michal Simek44303df2015-10-30 15:39:18 +0100913 };
914
915 watchdog0: watchdog@fd4d0000 {
916 compatible = "cdns,wdt-r1p2";
917 status = "disabled";
918 interrupt-parent = <&gic>;
Punnaiah Choudary Kallurid3fd4332015-11-04 12:34:17 +0530919 interrupts = <0 113 1>;
Michal Simekb976fd62016-02-11 07:19:06 +0100920 reg = <0x0 0xfd4d0000 0x0 0x1000>;
Mounika Grace Akula3c8ee332018-10-09 20:52:50 +0530921 timeout-sec = <60>;
922 reset-on-timeout;
Michal Simek44303df2015-10-30 15:39:18 +0100923 };
924
Michal Simek795ebc02017-11-02 12:04:43 +0100925 xilinx_ams: ams@ffa50000 {
926 compatible = "xlnx,zynqmp-ams";
927 status = "disabled";
928 interrupt-parent = <&gic>;
929 interrupts = <0 56 4>;
930 interrupt-names = "ams-irq";
931 reg = <0x0 0xffa50000 0x0 0x800>;
932 reg-names = "ams-base";
933 #address-cells = <2>;
934 #size-cells = <2>;
935 #io-channel-cells = <1>;
936 ranges;
937
938 ams_ps: ams_ps@ffa50800 {
939 compatible = "xlnx,zynqmp-ams-ps";
940 status = "disabled";
941 reg = <0x0 0xffa50800 0x0 0x400>;
942 };
943
944 ams_pl: ams_pl@ffa50c00 {
945 compatible = "xlnx,zynqmp-ams-pl";
946 status = "disabled";
947 reg = <0x0 0xffa50c00 0x0 0x400>;
948 };
949 };
950
Hyun Kwon695d75a2015-11-23 17:12:54 -0800951 xlnx_dp: dp@fd4a0000 {
Michal Simek44303df2015-10-30 15:39:18 +0100952 compatible = "xlnx,v-dp";
953 status = "disabled";
Michal Simekb976fd62016-02-11 07:19:06 +0100954 reg = <0x0 0xfd4a0000 0x0 0x1000>;
Michal Simek44303df2015-10-30 15:39:18 +0100955 interrupts = <0 119 4>;
956 interrupt-parent = <&gic>;
957 clock-names = "aclk", "aud_clk";
958 xlnx,dp-version = "v1.2";
959 xlnx,max-lanes = <2>;
960 xlnx,max-link-rate = <540000>;
961 xlnx,max-bpc = <16>;
962 xlnx,enable-ycrcb;
963 xlnx,colormetry = "rgb";
964 xlnx,bpc = <8>;
965 xlnx,audio-chan = <2>;
966 xlnx,dp-sub = <&xlnx_dp_sub>;
Hyun Kwon939cfea2015-11-23 17:12:55 -0800967 xlnx,max-pclock-frequency = <300000>;
Michal Simek44303df2015-10-30 15:39:18 +0100968 };
969
Hyun Kwon695d75a2015-11-23 17:12:54 -0800970 xlnx_dp_sub: dp_sub@fd4aa000 {
Michal Simek44303df2015-10-30 15:39:18 +0100971 compatible = "xlnx,dp-sub";
972 status = "disabled";
Michal Simekb976fd62016-02-11 07:19:06 +0100973 reg = <0x0 0xfd4aa000 0x0 0x1000>,
974 <0x0 0xfd4ab000 0x0 0x1000>,
975 <0x0 0xfd4ac000 0x0 0x1000>;
Michal Simek44303df2015-10-30 15:39:18 +0100976 reg-names = "blend", "av_buf", "aud";
977 xlnx,output-fmt = "rgb";
Hyun Kwon939cfea2015-11-23 17:12:55 -0800978 xlnx,vid-fmt = "yuyv";
979 xlnx,gfx-fmt = "rgb565";
Michal Simek44303df2015-10-30 15:39:18 +0100980 };
981
982 xlnx_dpdma: dma@fd4c0000 {
983 compatible = "xlnx,dpdma";
984 status = "disabled";
Michal Simekb976fd62016-02-11 07:19:06 +0100985 reg = <0x0 0xfd4c0000 0x0 0x1000>;
Michal Simek44303df2015-10-30 15:39:18 +0100986 interrupts = <0 122 4>;
987 interrupt-parent = <&gic>;
988 clock-names = "axi_clk";
989 dma-channels = <6>;
990 #dma-cells = <1>;
Michal Simekc926e6f2016-11-11 13:21:04 +0100991 dma-video0channel {
Michal Simek44303df2015-10-30 15:39:18 +0100992 compatible = "xlnx,video0";
993 };
Michal Simekc926e6f2016-11-11 13:21:04 +0100994 dma-video1channel {
Michal Simek44303df2015-10-30 15:39:18 +0100995 compatible = "xlnx,video1";
996 };
Michal Simekc926e6f2016-11-11 13:21:04 +0100997 dma-video2channel {
Michal Simek44303df2015-10-30 15:39:18 +0100998 compatible = "xlnx,video2";
999 };
Michal Simekc926e6f2016-11-11 13:21:04 +01001000 dma-graphicschannel {
Michal Simek44303df2015-10-30 15:39:18 +01001001 compatible = "xlnx,graphics";
1002 };
Michal Simekc926e6f2016-11-11 13:21:04 +01001003 dma-audio0channel {
Michal Simek44303df2015-10-30 15:39:18 +01001004 compatible = "xlnx,audio0";
1005 };
Michal Simekc926e6f2016-11-11 13:21:04 +01001006 dma-audio1channel {
Michal Simek44303df2015-10-30 15:39:18 +01001007 compatible = "xlnx,audio1";
1008 };
1009 };
1010 };
1011};