2 * ARM Ltd. Juno Platform
4 * Copyright (c) 2013-2014 ARM Ltd.
6 * This file is licensed under a dual GPLv2 or BSD license.
11 #include <dt-bindings/interrupt-controller/arm-gic.h>
14 model = "ARM Juno development board (r0)";
15 compatible = "arm,juno", "arm,vexpress";
16 interrupt-parent = <&gic>;
25 stdout-path = "serial0:115200n8";
29 compatible = "arm,psci-0.2";
64 compatible = "arm,cortex-a57","arm,armv8";
67 enable-method = "psci";
68 next-level-cache = <&A57_L2>;
69 clocks = <&scpi_dvfs 0>;
73 compatible = "arm,cortex-a57","arm,armv8";
76 enable-method = "psci";
77 next-level-cache = <&A57_L2>;
78 clocks = <&scpi_dvfs 0>;
82 compatible = "arm,cortex-a53","arm,armv8";
85 enable-method = "psci";
86 next-level-cache = <&A53_L2>;
87 clocks = <&scpi_dvfs 1>;
91 compatible = "arm,cortex-a53","arm,armv8";
94 enable-method = "psci";
95 next-level-cache = <&A53_L2>;
96 clocks = <&scpi_dvfs 1>;
100 compatible = "arm,cortex-a53","arm,armv8";
103 enable-method = "psci";
104 next-level-cache = <&A53_L2>;
105 clocks = <&scpi_dvfs 1>;
109 compatible = "arm,cortex-a53","arm,armv8";
112 enable-method = "psci";
113 next-level-cache = <&A53_L2>;
114 clocks = <&scpi_dvfs 1>;
118 compatible = "cache";
122 compatible = "cache";
127 compatible = "arm,cortex-a57-pmu";
128 interrupts = <GIC_SPI 02 IRQ_TYPE_LEVEL_HIGH>,
129 <GIC_SPI 06 IRQ_TYPE_LEVEL_HIGH>;
130 interrupt-affinity = <&A57_0>,
135 compatible = "arm,cortex-a53-pmu";
136 interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>,
137 <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>,
138 <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>,
139 <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
140 interrupt-affinity = <&A53_0>,
147 compatible = "arm,coresight-tmc", "arm,primecell";
148 reg = <0 0x20070000 0 0x1000>;
150 clocks = <&soc_smc50mhz>;
151 clock-names = "apb_pclk";
153 etr_in_port: endpoint {
155 remote-endpoint = <&replicator_out_port1>;
161 compatible = "arm,coresight-tpiu", "arm,primecell";
162 reg = <0 0x20030000 0 0x1000>;
164 clocks = <&soc_smc50mhz>;
165 clock-names = "apb_pclk";
167 tpiu_in_port: endpoint {
169 remote-endpoint = <&replicator_out_port0>;
174 replicator@20020000 {
175 /* non-configurable replicators don't show up on the
176 * AMBA bus. As such no need to add "arm,primecell".
178 compatible = "arm,coresight-replicator";
181 #address-cells = <1>;
184 /* replicator output ports */
187 replicator_out_port0: endpoint {
188 remote-endpoint = <&tpiu_in_port>;
194 replicator_out_port1: endpoint {
195 remote-endpoint = <&etr_in_port>;
199 /* replicator input port */
202 replicator_in_port0: endpoint {
204 remote-endpoint = <&etf_out_port>;
211 compatible = "arm,coresight-tmc", "arm,primecell";
212 reg = <0 0x20010000 0 0x1000>;
214 clocks = <&soc_smc50mhz>;
215 clock-names = "apb_pclk";
217 #address-cells = <1>;
223 etf_in_port: endpoint {
226 <&main_funnel_out_port>;
233 etf_out_port: endpoint {
235 <&replicator_in_port0>;
241 main_funnel@20040000 {
242 compatible = "arm,coresight-funnel", "arm,primecell";
243 reg = <0 0x20040000 0 0x1000>;
245 clocks = <&soc_smc50mhz>;
246 clock-names = "apb_pclk";
248 #address-cells = <1>;
253 main_funnel_out_port: endpoint {
261 main_funnel_in_port0: endpoint {
264 <&A72_57_funnel_out_port>;
270 main_funnel_in_port1: endpoint {
272 remote-endpoint = <&A53_funnel_out_port>;
279 A72_57_funnel@220c0000 {
280 compatible = "arm,coresight-funnel", "arm,primecell";
281 reg = <0 0x220c0000 0 0x1000>;
283 clocks = <&soc_smc50mhz>;
284 clock-names = "apb_pclk";
286 #address-cells = <1>;
291 A72_57_funnel_out_port: endpoint {
293 <&main_funnel_in_port0>;
299 A72_57_funnel_in_port0: endpoint {
302 <&A72_57_etm0_out_port>;
308 A72_57_funnel_in_port1: endpoint {
311 <&A72_57_etm1_out_port>;
317 A53_funnel@220c0000 {
318 compatible = "arm,coresight-funnel", "arm,primecell";
319 reg = <0 0x230c0000 0 0x1000>;
321 clocks = <&soc_smc50mhz>;
322 clock-names = "apb_pclk";
324 #address-cells = <1>;
329 A53_funnel_out_port: endpoint {
331 <&main_funnel_in_port1>;
337 A53_funnel_in_port0: endpoint {
339 remote-endpoint = <&A53_etm0_out_port>;
345 A53_funnel_in_port1: endpoint {
347 remote-endpoint = <&A53_etm1_out_port>;
352 A53_funnel_in_port2: endpoint {
354 remote-endpoint = <&A53_etm2_out_port>;
359 A53_funnel_in_port3: endpoint {
361 remote-endpoint = <&A53_etm3_out_port>;
368 compatible = "arm,coresight-etm4x", "arm,primecell";
369 reg = <0 0x22040000 0 0x1000>;
372 clocks = <&soc_smc50mhz>;
373 clock-names = "apb_pclk";
375 A72_57_etm0_out_port: endpoint {
376 remote-endpoint = <&A72_57_funnel_in_port0>;
382 compatible = "arm,coresight-etm4x", "arm,primecell";
383 reg = <0 0x22140000 0 0x1000>;
386 clocks = <&soc_smc50mhz>;
387 clock-names = "apb_pclk";
389 A72_57_etm1_out_port: endpoint {
390 remote-endpoint = <&A72_57_funnel_in_port1>;
396 compatible = "arm,coresight-etm4x", "arm,primecell";
397 reg = <0 0x23040000 0 0x1000>;
400 clocks = <&soc_smc50mhz>;
401 clock-names = "apb_pclk";
403 A53_etm0_out_port: endpoint {
404 remote-endpoint = <&A53_funnel_in_port0>;
410 compatible = "arm,coresight-etm4x", "arm,primecell";
411 reg = <0 0x23140000 0 0x1000>;
414 clocks = <&soc_smc50mhz>;
415 clock-names = "apb_pclk";
417 A53_etm1_out_port: endpoint {
418 remote-endpoint = <&A53_funnel_in_port1>;
424 compatible = "arm,coresight-etm4x", "arm,primecell";
425 reg = <0 0x23240000 0 0x1000>;
428 clocks = <&soc_smc50mhz>;
429 clock-names = "apb_pclk";
431 A53_etm2_out_port: endpoint {
432 remote-endpoint = <&A53_funnel_in_port2>;
438 compatible = "arm,coresight-etm4x", "arm,primecell";
439 reg = <0 0x23340000 0 0x1000>;
442 clocks = <&soc_smc50mhz>;
443 clock-names = "apb_pclk";
445 A53_etm3_out_port: endpoint {
446 remote-endpoint = <&A53_funnel_in_port3>;
451 #include "juno-base.dtsi"