blob: 9495911397eb9096cb38e54e2b1b8aa843a60ee8 [file] [log] [blame]
Tom Rini10e47792018-05-06 17:58:06 -04001// SPDX-License-Identifier: GPL-2.0+
Jagannadha Sutradharudu Teki369ccb12014-01-09 01:48:26 +05302/*
3 * Xilinx Zynq 7000 DTSI
4 * Describes the hardware common to all Zynq 7000-based boards.
5 *
Michal Simekca87b552015-07-22 11:18:43 +02006 * Copyright (C) 2011 - 2015 Xilinx
Jagannadha Sutradharudu Teki369ccb12014-01-09 01:48:26 +05307 */
Jagannadha Sutradharudu Teki369ccb12014-01-09 01:48:26 +05308
9/ {
Michal Simekb3585f42016-11-11 13:11:37 +010010 #address-cells = <1>;
11 #size-cells = <1>;
Jagannadha Sutradharudu Teki369ccb12014-01-09 01:48:26 +053012 compatible = "xlnx,zynq-7000";
Masahiro Yamada5e6b8aa2014-05-15 20:37:53 +090013
14 cpus {
15 #address-cells = <1>;
16 #size-cells = <0>;
17
Moritz Fischerae8f14a2016-12-12 08:48:50 -080018 cpu0: cpu@0 {
Masahiro Yamada5e6b8aa2014-05-15 20:37:53 +090019 compatible = "arm,cortex-a9";
20 device_type = "cpu";
21 reg = <0>;
22 clocks = <&clkc 3>;
23 clock-latency = <1000>;
Michal Simeka943cd02015-07-22 10:38:45 +020024 cpu0-supply = <&regulator_vccpint>;
Masahiro Yamada5e6b8aa2014-05-15 20:37:53 +090025 operating-points = <
26 /* kHz uV */
27 666667 1000000
28 333334 1000000
Masahiro Yamada5e6b8aa2014-05-15 20:37:53 +090029 >;
30 };
31
Moritz Fischerae8f14a2016-12-12 08:48:50 -080032 cpu1: cpu@1 {
Masahiro Yamada5e6b8aa2014-05-15 20:37:53 +090033 compatible = "arm,cortex-a9";
34 device_type = "cpu";
35 reg = <1>;
36 clocks = <&clkc 3>;
37 };
38 };
39
Michal Simek54f4d072017-02-14 17:40:21 +010040 fpga_full: fpga-full {
41 compatible = "fpga-region";
42 fpga-mgr = <&devcfg>;
43 #address-cells = <1>;
44 #size-cells = <1>;
45 ranges;
46 };
47
Michal Simekb3585f42016-11-11 13:11:37 +010048 pmu@f8891000 {
Masahiro Yamada5e6b8aa2014-05-15 20:37:53 +090049 compatible = "arm,cortex-a9-pmu";
50 interrupts = <0 5 4>, <0 6 4>;
51 interrupt-parent = <&intc>;
Michal Simekddf924f2016-11-16 09:29:57 +010052 reg = <0xf8891000 0x1000>,
53 <0xf8893000 0x1000>;
Masahiro Yamada5e6b8aa2014-05-15 20:37:53 +090054 };
55
Michal Simekb3585f42016-11-11 13:11:37 +010056 regulator_vccpint: fixedregulator {
Michal Simeka943cd02015-07-22 10:38:45 +020057 compatible = "regulator-fixed";
58 regulator-name = "VCCPINT";
59 regulator-min-microvolt = <1000000>;
60 regulator-max-microvolt = <1000000>;
61 regulator-boot-on;
62 regulator-always-on;
63 };
64
Zumeng Chen29f0f942019-09-23 17:47:09 +080065 replicator {
66 compatible = "arm,coresight-static-replicator";
67 clocks = <&clkc 27>, <&clkc 46>, <&clkc 47>;
68 clock-names = "apb_pclk", "dbg_trc", "dbg_apb";
69
70 out-ports {
71 #address-cells = <1>;
72 #size-cells = <0>;
73
74 /* replicator output ports */
75 port@0 {
76 reg = <0>;
77 replicator_out_port0: endpoint {
78 remote-endpoint = <&tpiu_in_port>;
79 };
80 };
81 port@1 {
82 reg = <1>;
83 replicator_out_port1: endpoint {
84 remote-endpoint = <&etb_in_port>;
85 };
86 };
87 };
88 in-ports {
89 /* replicator input port */
90 port {
91 replicator_in_port0: endpoint {
92 remote-endpoint = <&funnel_out_port>;
93 };
94 };
95 };
96 };
97
Michal Simekd0fb19c2020-11-26 14:25:01 +010098 amba: axi {
Simon Glass8c7323a2015-10-17 19:41:24 -060099 u-boot,dm-pre-reloc;
Masahiro Yamada5e6b8aa2014-05-15 20:37:53 +0900100 compatible = "simple-bus";
101 #address-cells = <1>;
102 #size-cells = <1>;
103 interrupt-parent = <&intc>;
104 ranges;
105
Michal Simekb829de52015-07-22 10:32:05 +0200106 adc: adc@f8007100 {
107 compatible = "xlnx,zynq-xadc-1.00.a";
108 reg = <0xf8007100 0x20>;
109 interrupts = <0 7 4>;
110 interrupt-parent = <&intc>;
111 clocks = <&clkc 12>;
112 };
113
114 can0: can@e0008000 {
115 compatible = "xlnx,zynq-can-1.0";
116 status = "disabled";
117 clocks = <&clkc 19>, <&clkc 36>;
118 clock-names = "can_clk", "pclk";
119 reg = <0xe0008000 0x1000>;
120 interrupts = <0 28 4>;
121 interrupt-parent = <&intc>;
122 tx-fifo-depth = <0x40>;
123 rx-fifo-depth = <0x40>;
124 };
125
126 can1: can@e0009000 {
127 compatible = "xlnx,zynq-can-1.0";
128 status = "disabled";
129 clocks = <&clkc 20>, <&clkc 37>;
130 clock-names = "can_clk", "pclk";
131 reg = <0xe0009000 0x1000>;
132 interrupts = <0 51 4>;
133 interrupt-parent = <&intc>;
134 tx-fifo-depth = <0x40>;
135 rx-fifo-depth = <0x40>;
136 };
137
138 gpio0: gpio@e000a000 {
139 compatible = "xlnx,zynq-gpio-1.0";
140 #gpio-cells = <2>;
141 clocks = <&clkc 42>;
142 gpio-controller;
Michal Simek5d27fd82016-04-07 10:54:08 +0200143 interrupt-controller;
Michal Simekd69a70e2017-11-02 09:24:12 +0100144 #interrupt-cells = <2>;
Michal Simekb829de52015-07-22 10:32:05 +0200145 interrupt-parent = <&intc>;
146 interrupts = <0 20 4>;
147 reg = <0xe000a000 0x1000>;
148 };
149
Michal Simek45d35332015-07-22 10:28:48 +0200150 i2c0: i2c@e0004000 {
Masahiro Yamada5e6b8aa2014-05-15 20:37:53 +0900151 compatible = "cdns,i2c-r1p10";
152 status = "disabled";
153 clocks = <&clkc 38>;
154 interrupt-parent = <&intc>;
155 interrupts = <0 25 4>;
156 reg = <0xe0004000 0x1000>;
157 #address-cells = <1>;
158 #size-cells = <0>;
159 };
160
Michal Simek45d35332015-07-22 10:28:48 +0200161 i2c1: i2c@e0005000 {
Masahiro Yamada5e6b8aa2014-05-15 20:37:53 +0900162 compatible = "cdns,i2c-r1p10";
163 status = "disabled";
164 clocks = <&clkc 39>;
165 interrupt-parent = <&intc>;
166 interrupts = <0 48 4>;
167 reg = <0xe0005000 0x1000>;
168 #address-cells = <1>;
169 #size-cells = <0>;
170 };
171
172 intc: interrupt-controller@f8f01000 {
173 compatible = "arm,cortex-a9-gic";
174 #interrupt-cells = <3>;
Masahiro Yamada5e6b8aa2014-05-15 20:37:53 +0900175 interrupt-controller;
176 reg = <0xF8F01000 0x1000>,
177 <0xF8F00100 0x100>;
178 };
179
Michal Simek45d35332015-07-22 10:28:48 +0200180 L2: cache-controller@f8f02000 {
Masahiro Yamada5e6b8aa2014-05-15 20:37:53 +0900181 compatible = "arm,pl310-cache";
182 reg = <0xF8F02000 0x1000>;
Michal Simekbcce54b2015-07-22 11:26:08 +0200183 interrupts = <0 2 4>;
Masahiro Yamada5e6b8aa2014-05-15 20:37:53 +0900184 arm,data-latency = <3 2 2>;
185 arm,tag-latency = <2 2 2>;
186 cache-unified;
187 cache-level = <2>;
188 };
189
Michal Simekb829de52015-07-22 10:32:05 +0200190 mc: memory-controller@f8006000 {
191 compatible = "xlnx,zynq-ddrc-a05";
192 reg = <0xf8006000 0x1000>;
193 };
194
Michal Simek45d35332015-07-22 10:28:48 +0200195 uart0: serial@e0000000 {
Michal Simek173d7f52015-07-22 10:40:51 +0200196 compatible = "xlnx,xuartps", "cdns,uart-r1p8";
Masahiro Yamada5e6b8aa2014-05-15 20:37:53 +0900197 status = "disabled";
198 clocks = <&clkc 23>, <&clkc 40>;
Michal Simek173d7f52015-07-22 10:40:51 +0200199 clock-names = "uart_clk", "pclk";
Masahiro Yamada5e6b8aa2014-05-15 20:37:53 +0900200 reg = <0xE0000000 0x1000>;
201 interrupts = <0 27 4>;
202 };
203
Michal Simek45d35332015-07-22 10:28:48 +0200204 uart1: serial@e0001000 {
Michal Simek173d7f52015-07-22 10:40:51 +0200205 compatible = "xlnx,xuartps", "cdns,uart-r1p8";
Masahiro Yamada5e6b8aa2014-05-15 20:37:53 +0900206 status = "disabled";
207 clocks = <&clkc 24>, <&clkc 41>;
Michal Simek173d7f52015-07-22 10:40:51 +0200208 clock-names = "uart_clk", "pclk";
Masahiro Yamada5e6b8aa2014-05-15 20:37:53 +0900209 reg = <0xE0001000 0x1000>;
210 interrupts = <0 50 4>;
211 };
212
Jagan Tekic30d1832015-06-27 00:51:33 +0530213 spi0: spi@e0006000 {
Michal Simek0cf97aa2015-07-22 10:47:33 +0200214 compatible = "xlnx,zynq-spi-r1p6";
Jagan Tekic30d1832015-06-27 00:51:33 +0530215 reg = <0xe0006000 0x1000>;
216 status = "disabled";
217 interrupt-parent = <&intc>;
218 interrupts = <0 26 4>;
219 clocks = <&clkc 25>, <&clkc 34>;
220 clock-names = "ref_clk", "pclk";
221 #address-cells = <1>;
222 #size-cells = <0>;
223 };
224
225 spi1: spi@e0007000 {
Michal Simek0cf97aa2015-07-22 10:47:33 +0200226 compatible = "xlnx,zynq-spi-r1p6";
Jagan Tekic30d1832015-06-27 00:51:33 +0530227 reg = <0xe0007000 0x1000>;
228 status = "disabled";
229 interrupt-parent = <&intc>;
230 interrupts = <0 49 4>;
231 clocks = <&clkc 26>, <&clkc 35>;
232 clock-names = "ref_clk", "pclk";
233 #address-cells = <1>;
234 #size-cells = <0>;
235 };
236
Jagan Teki0a2dc1d2015-08-15 23:02:31 +0530237 qspi: spi@e000d000 {
238 clock-names = "ref_clk", "pclk";
239 clocks = <&clkc 10>, <&clkc 43>;
240 compatible = "xlnx,zynq-qspi-1.0";
241 status = "disabled";
242 interrupt-parent = <&intc>;
243 interrupts = <0 19 4>;
244 reg = <0xe000d000 0x1000>;
245 #address-cells = <1>;
246 #size-cells = <0>;
247 };
248
Masahiro Yamada5e6b8aa2014-05-15 20:37:53 +0900249 gem0: ethernet@e000b000 {
Michal Simeke49236c2015-07-22 10:51:16 +0200250 compatible = "cdns,zynq-gem", "cdns,gem";
Michal Simeka80e6b42015-07-22 10:50:02 +0200251 reg = <0xe000b000 0x1000>;
Masahiro Yamada5e6b8aa2014-05-15 20:37:53 +0900252 status = "disabled";
253 interrupts = <0 22 4>;
254 clocks = <&clkc 30>, <&clkc 30>, <&clkc 13>;
255 clock-names = "pclk", "hclk", "tx_clk";
Michal Simeka2924012015-07-22 11:03:36 +0200256 #address-cells = <1>;
257 #size-cells = <0>;
Masahiro Yamada5e6b8aa2014-05-15 20:37:53 +0900258 };
259
260 gem1: ethernet@e000c000 {
Michal Simeke49236c2015-07-22 10:51:16 +0200261 compatible = "cdns,zynq-gem", "cdns,gem";
Michal Simeka80e6b42015-07-22 10:50:02 +0200262 reg = <0xe000c000 0x1000>;
Masahiro Yamada5e6b8aa2014-05-15 20:37:53 +0900263 status = "disabled";
264 interrupts = <0 45 4>;
265 clocks = <&clkc 31>, <&clkc 31>, <&clkc 14>;
266 clock-names = "pclk", "hclk", "tx_clk";
Michal Simeka2924012015-07-22 11:03:36 +0200267 #address-cells = <1>;
268 #size-cells = <0>;
Masahiro Yamada5e6b8aa2014-05-15 20:37:53 +0900269 };
270
Michael Walle42abea62022-02-23 15:10:34 +0100271 smcc: memory-controller@e000e000 {
272 compatible = "arm,pl353-smc-r2p1", "arm,primecell";
273 reg = <0xe000e000 0x0001000>;
274 status = "disabled";
275 clock-names = "memclk", "apb_pclk";
276 clocks = <&clkc 11>, <&clkc 44>;
277 ranges = <0x0 0x0 0xe1000000 0x1000000 /* Nand CS region */
278 0x1 0x0 0xe2000000 0x2000000 /* SRAM/NOR CS0 region */
279 0x2 0x0 0xe4000000 0x2000000>; /* SRAM/NOR CS1 region */
280 #address-cells = <2>;
281 #size-cells = <1>;
282 interrupt-parent = <&intc>;
283 interrupts = <0 18 4>;
284
285 nfc0: nand-controller@0,0 {
286 compatible = "arm,pl353-nand-r2p1";
287 reg = <0 0 0x1000000>;
288 status = "disabled";
289 #address-cells = <1>;
290 #size-cells = <1>;
291 };
292 nor0: flash@1,0 {
293 status = "disabled";
294 compatible = "cfi-flash";
295 reg = <1 0 0x2000000>;
296 #address-cells = <1>;
297 #size-cells = <1>;
298 };
299 };
300
Michal Simek6a0eb6f2018-09-26 13:36:16 +0200301 sdhci0: mmc@e0100000 {
Masahiro Yamada5e6b8aa2014-05-15 20:37:53 +0900302 compatible = "arasan,sdhci-8.9a";
303 status = "disabled";
304 clock-names = "clk_xin", "clk_ahb";
305 clocks = <&clkc 21>, <&clkc 32>;
306 interrupt-parent = <&intc>;
307 interrupts = <0 24 4>;
308 reg = <0xe0100000 0x1000>;
Michal Simekf4654372016-01-14 13:06:28 +0100309 };
Masahiro Yamada5e6b8aa2014-05-15 20:37:53 +0900310
Michal Simek6a0eb6f2018-09-26 13:36:16 +0200311 sdhci1: mmc@e0101000 {
Masahiro Yamada5e6b8aa2014-05-15 20:37:53 +0900312 compatible = "arasan,sdhci-8.9a";
313 status = "disabled";
314 clock-names = "clk_xin", "clk_ahb";
315 clocks = <&clkc 22>, <&clkc 33>;
316 interrupt-parent = <&intc>;
317 interrupts = <0 47 4>;
318 reg = <0xe0101000 0x1000>;
Michal Simekf4654372016-01-14 13:06:28 +0100319 };
Masahiro Yamada5e6b8aa2014-05-15 20:37:53 +0900320
321 slcr: slcr@f8000000 {
Stefan Herbrechtsmeiere67c6c42017-01-17 16:27:30 +0100322 u-boot,dm-pre-reloc;
Masahiro Yamada5e6b8aa2014-05-15 20:37:53 +0900323 #address-cells = <1>;
324 #size-cells = <1>;
Masahiro Yamadae5b29482016-04-25 12:14:43 +0900325 compatible = "xlnx,zynq-slcr", "syscon", "simple-mfd";
Masahiro Yamada5e6b8aa2014-05-15 20:37:53 +0900326 reg = <0xF8000000 0x1000>;
327 ranges;
328 clkc: clkc@100 {
Stefan Herbrechtsmeiere67c6c42017-01-17 16:27:30 +0100329 u-boot,dm-pre-reloc;
Masahiro Yamada5e6b8aa2014-05-15 20:37:53 +0900330 #clock-cells = <1>;
331 compatible = "xlnx,ps7-clkc";
Masahiro Yamada5e6b8aa2014-05-15 20:37:53 +0900332 fclk-enable = <0>;
333 clock-output-names = "armpll", "ddrpll", "iopll", "cpu_6or4x",
334 "cpu_3or2x", "cpu_2x", "cpu_1x", "ddr2x", "ddr3x",
335 "dci", "lqspi", "smc", "pcap", "gem0", "gem1",
336 "fclk0", "fclk1", "fclk2", "fclk3", "can0", "can1",
337 "sdio0", "sdio1", "uart0", "uart1", "spi0", "spi1",
338 "dma", "usb0_aper", "usb1_aper", "gem0_aper",
339 "gem1_aper", "sdio0_aper", "sdio1_aper",
340 "spi0_aper", "spi1_aper", "can0_aper", "can1_aper",
341 "i2c0_aper", "i2c1_aper", "uart0_aper", "uart1_aper",
342 "gpio_aper", "lqspi_aper", "smc_aper", "swdt",
343 "dbg_trc", "dbg_apb";
344 reg = <0x100 0x100>;
345 };
Michal Simek6a494ec2015-07-22 11:07:49 +0200346
Moritz Fischer6b75cff2015-07-30 18:13:55 -0700347 rstc: rstc@200 {
348 compatible = "xlnx,zynq-reset";
349 reg = <0x200 0x48>;
350 #reset-cells = <1>;
351 syscon = <&slcr>;
352 };
353
Michal Simek6a494ec2015-07-22 11:07:49 +0200354 pinctrl0: pinctrl@700 {
355 compatible = "xlnx,pinctrl-zynq";
356 reg = <0x700 0x200>;
357 syscon = <&slcr>;
358 };
Masahiro Yamada5e6b8aa2014-05-15 20:37:53 +0900359 };
360
Michal Simekb829de52015-07-22 10:32:05 +0200361 dmac_s: dmac@f8003000 {
362 compatible = "arm,pl330", "arm,primecell";
363 reg = <0xf8003000 0x1000>;
364 interrupt-parent = <&intc>;
365 interrupt-names = "abort", "dma0", "dma1", "dma2", "dma3",
366 "dma4", "dma5", "dma6", "dma7";
367 interrupts = <0 13 4>,
368 <0 14 4>, <0 15 4>,
369 <0 16 4>, <0 17 4>,
370 <0 40 4>, <0 41 4>,
371 <0 42 4>, <0 43 4>;
372 #dma-cells = <1>;
373 #dma-channels = <8>;
374 #dma-requests = <4>;
375 clocks = <&clkc 27>;
376 clock-names = "apb_pclk";
377 };
378
379 devcfg: devcfg@f8007000 {
380 compatible = "xlnx,zynq-devcfg-1.0";
Michal Simek69727782016-04-07 11:00:37 +0200381 interrupt-parent = <&intc>;
382 interrupts = <0 8 4>;
Michal Simekb829de52015-07-22 10:32:05 +0200383 reg = <0xf8007000 0x100>;
Michal Simek69727782016-04-07 11:00:37 +0200384 clocks = <&clkc 12>, <&clkc 15>, <&clkc 16>, <&clkc 17>, <&clkc 18>;
385 clock-names = "ref_clk", "fclk0", "fclk1", "fclk2", "fclk3";
Moritz Fischerec052ab2015-06-22 23:18:44 -0700386 syscon = <&slcr>;
Michal Simekb829de52015-07-22 10:32:05 +0200387 };
388
Michal Simek3cab96f2017-02-28 11:46:37 +0100389 efuse: efuse@f800d000 {
390 compatible = "xlnx,zynq-efuse";
391 reg = <0xf800d000 0x20>;
392 };
393
Masahiro Yamada5e6b8aa2014-05-15 20:37:53 +0900394 global_timer: timer@f8f00200 {
395 compatible = "arm,cortex-a9-global-timer";
396 reg = <0xf8f00200 0x20>;
397 interrupts = <1 11 0x301>;
398 interrupt-parent = <&intc>;
399 clocks = <&clkc 4>;
400 };
401
Michal Simek45d35332015-07-22 10:28:48 +0200402 ttc0: timer@f8001000 {
Masahiro Yamada5e6b8aa2014-05-15 20:37:53 +0900403 interrupt-parent = <&intc>;
Michal Simek2b917f92015-07-22 10:57:51 +0200404 interrupts = <0 10 4>, <0 11 4>, <0 12 4>;
Masahiro Yamada5e6b8aa2014-05-15 20:37:53 +0900405 compatible = "cdns,ttc";
406 clocks = <&clkc 6>;
407 reg = <0xF8001000 0x1000>;
408 };
409
Michal Simek45d35332015-07-22 10:28:48 +0200410 ttc1: timer@f8002000 {
Masahiro Yamada5e6b8aa2014-05-15 20:37:53 +0900411 interrupt-parent = <&intc>;
Michal Simek2b917f92015-07-22 10:57:51 +0200412 interrupts = <0 37 4>, <0 38 4>, <0 39 4>;
Masahiro Yamada5e6b8aa2014-05-15 20:37:53 +0900413 compatible = "cdns,ttc";
414 clocks = <&clkc 6>;
415 reg = <0xF8002000 0x1000>;
416 };
Michal Simekb829de52015-07-22 10:32:05 +0200417
Michal Simek45d35332015-07-22 10:28:48 +0200418 scutimer: timer@f8f00600 {
Masahiro Yamada5e6b8aa2014-05-15 20:37:53 +0900419 interrupt-parent = <&intc>;
Michal Simekf4654372016-01-14 13:06:28 +0100420 interrupts = <1 13 0x301>;
Masahiro Yamada5e6b8aa2014-05-15 20:37:53 +0900421 compatible = "arm,cortex-a9-twd-timer";
Michal Simekf4654372016-01-14 13:06:28 +0100422 reg = <0xf8f00600 0x20>;
Masahiro Yamada5e6b8aa2014-05-15 20:37:53 +0900423 clocks = <&clkc 4>;
Michal Simekf4654372016-01-14 13:06:28 +0100424 };
Michal Simekb829de52015-07-22 10:32:05 +0200425
426 usb0: usb@e0002000 {
427 compatible = "xlnx,zynq-usb-2.20a", "chipidea,usb2";
428 status = "disabled";
429 clocks = <&clkc 28>;
430 interrupt-parent = <&intc>;
431 interrupts = <0 21 4>;
432 reg = <0xe0002000 0x1000>;
433 phy_type = "ulpi";
434 };
435
436 usb1: usb@e0003000 {
437 compatible = "xlnx,zynq-usb-2.20a", "chipidea,usb2";
438 status = "disabled";
439 clocks = <&clkc 29>;
440 interrupt-parent = <&intc>;
441 interrupts = <0 44 4>;
442 reg = <0xe0003000 0x1000>;
443 phy_type = "ulpi";
444 };
445
446 watchdog0: watchdog@f8005000 {
447 clocks = <&clkc 45>;
448 compatible = "cdns,wdt-r1p2";
449 interrupt-parent = <&intc>;
450 interrupts = <0 9 1>;
451 reg = <0xf8005000 0x1000>;
452 timeout-sec = <10>;
453 };
Zumeng Chen29f0f942019-09-23 17:47:09 +0800454
455 etb@f8801000 {
456 compatible = "arm,coresight-etb10", "arm,primecell";
457 reg = <0xf8801000 0x1000>;
458 clocks = <&clkc 27>, <&clkc 46>, <&clkc 47>;
459 clock-names = "apb_pclk", "dbg_trc", "dbg_apb";
460 in-ports {
461 port {
462 etb_in_port: endpoint {
463 remote-endpoint = <&replicator_out_port1>;
464 };
465 };
466 };
467 };
468
469 tpiu@f8803000 {
470 compatible = "arm,coresight-tpiu", "arm,primecell";
471 reg = <0xf8803000 0x1000>;
472 clocks = <&clkc 27>, <&clkc 46>, <&clkc 47>;
473 clock-names = "apb_pclk", "dbg_trc", "dbg_apb";
474 in-ports {
475 port {
476 tpiu_in_port: endpoint {
477 remote-endpoint = <&replicator_out_port0>;
478 };
479 };
480 };
481 };
482
483 funnel@f8804000 {
484 compatible = "arm,coresight-static-funnel", "arm,primecell";
485 reg = <0xf8804000 0x1000>;
486 clocks = <&clkc 27>, <&clkc 46>, <&clkc 47>;
487 clock-names = "apb_pclk", "dbg_trc", "dbg_apb";
488
489 /* funnel output ports */
490 out-ports {
491 port {
492 funnel_out_port: endpoint {
493 remote-endpoint =
494 <&replicator_in_port0>;
495 };
496 };
497 };
498
499 in-ports {
500 #address-cells = <1>;
501 #size-cells = <0>;
502
503 /* funnel input ports */
504 port@0 {
505 reg = <0>;
506 funnel0_in_port0: endpoint {
507 remote-endpoint = <&ptm0_out_port>;
508 };
509 };
510
511 port@1 {
512 reg = <1>;
513 funnel0_in_port1: endpoint {
514 remote-endpoint = <&ptm1_out_port>;
515 };
516 };
517
518 port@2 {
519 reg = <2>;
520 funnel0_in_port2: endpoint {
521 };
522 };
523 /* The other input ports are not connect to anything */
524 };
525 };
526
527 ptm@f889c000 {
528 compatible = "arm,coresight-etm3x", "arm,primecell";
529 reg = <0xf889c000 0x1000>;
530 clocks = <&clkc 27>, <&clkc 46>, <&clkc 47>;
531 clock-names = "apb_pclk", "dbg_trc", "dbg_apb";
532 cpu = <&cpu0>;
533 out-ports {
534 port {
535 ptm0_out_port: endpoint {
536 remote-endpoint = <&funnel0_in_port0>;
537 };
538 };
539 };
540 };
541
542 ptm@f889d000 {
543 compatible = "arm,coresight-etm3x", "arm,primecell";
544 reg = <0xf889d000 0x1000>;
545 clocks = <&clkc 27>, <&clkc 46>, <&clkc 47>;
546 clock-names = "apb_pclk", "dbg_trc", "dbg_apb";
547 cpu = <&cpu1>;
548 out-ports {
549 port {
550 ptm1_out_port: endpoint {
551 remote-endpoint = <&funnel0_in_port1>;
552 };
553 };
554 };
555 };
Masahiro Yamada5e6b8aa2014-05-15 20:37:53 +0900556 };
Jagannadha Sutradharudu Teki369ccb12014-01-09 01:48:26 +0530557};