blob: 2b2bf39c30ef68c1347f01457bb0818516fe2d43 [file] [log] [blame]
Liviu Dudau71f867e2014-11-11 17:32:11 +00001/*
2 * ARM Ltd. Juno Platform
3 *
4 * Copyright (c) 2013-2014 ARM Ltd.
5 *
6 * This file is licensed under a dual GPLv2 or BSD license.
7 */
8
9/dts-v1/;
10
11#include <dt-bindings/interrupt-controller/arm-gic.h>
Sudeep Hollad29e849c2017-01-17 10:20:59 +000012#include "juno-base.dtsi"
Liviu Dudau71f867e2014-11-11 17:32:11 +000013
14/ {
15 model = "ARM Juno development board (r0)";
16 compatible = "arm,juno", "arm,vexpress";
17 interrupt-parent = <&gic>;
18 #address-cells = <2>;
19 #size-cells = <2>;
20
21 aliases {
22 serial0 = &soc_uart0;
23 };
24
25 chosen {
Robin Murphye0b21802015-01-22 11:21:32 +000026 stdout-path = "serial0:115200n8";
Liviu Dudau71f867e2014-11-11 17:32:11 +000027 };
28
29 psci {
30 compatible = "arm,psci-0.2";
31 method = "smc";
32 };
33
34 cpus {
35 #address-cells = <2>;
36 #size-cells = <0>;
37
Sudeep Holla050c69e2015-06-03 14:31:49 +010038 cpu-map {
39 cluster0 {
40 core0 {
41 cpu = <&A57_0>;
42 };
43 core1 {
44 cpu = <&A57_1>;
45 };
46 };
47
48 cluster1 {
49 core0 {
50 cpu = <&A53_0>;
51 };
52 core1 {
53 cpu = <&A53_1>;
54 };
55 core2 {
56 cpu = <&A53_2>;
57 };
58 core3 {
59 cpu = <&A53_3>;
60 };
61 };
62 };
63
Jon Medhurst (Tixy)28e10a82015-12-09 09:40:53 +000064 idle-states {
65 entry-method = "arm,psci";
66
67 CPU_SLEEP_0: cpu-sleep-0 {
68 compatible = "arm,idle-state";
69 arm,psci-suspend-param = <0x0010000>;
70 local-timer-stop;
71 entry-latency-us = <300>;
72 exit-latency-us = <1200>;
73 min-residency-us = <2000>;
74 };
75
76 CLUSTER_SLEEP_0: cluster-sleep-0 {
77 compatible = "arm,idle-state";
78 arm,psci-suspend-param = <0x1010000>;
79 local-timer-stop;
Sudeep Holla909e4812016-11-16 17:31:31 +000080 entry-latency-us = <400>;
Jon Medhurst (Tixy)28e10a82015-12-09 09:40:53 +000081 exit-latency-us = <1200>;
82 min-residency-us = <2500>;
83 };
84 };
85
Liviu Dudau71f867e2014-11-11 17:32:11 +000086 A57_0: cpu@0 {
87 compatible = "arm,cortex-a57","arm,armv8";
88 reg = <0x0 0x0>;
89 device_type = "cpu";
90 enable-method = "psci";
Sudeep Hollaf9936c42017-04-13 10:05:38 +010091 i-cache-size = <0xc000>;
92 i-cache-line-size = <64>;
93 i-cache-sets = <256>;
94 d-cache-size = <0x8000>;
95 d-cache-line-size = <64>;
96 d-cache-sets = <256>;
Sudeep Holla7934d692015-01-21 12:02:30 +000097 next-level-cache = <&A57_L2>;
Sudeep Hollaa7384592015-06-03 14:40:56 +010098 clocks = <&scpi_dvfs 0>;
Jon Medhurst (Tixy)28e10a82015-12-09 09:40:53 +000099 cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>;
Juri Lelli4d6815b2016-10-17 16:46:46 +0100100 capacity-dmips-mhz = <1024>;
Liviu Dudau71f867e2014-11-11 17:32:11 +0000101 };
102
103 A57_1: cpu@1 {
104 compatible = "arm,cortex-a57","arm,armv8";
105 reg = <0x0 0x1>;
106 device_type = "cpu";
107 enable-method = "psci";
Sudeep Hollaf9936c42017-04-13 10:05:38 +0100108 i-cache-size = <0xc000>;
109 i-cache-line-size = <64>;
110 i-cache-sets = <256>;
111 d-cache-size = <0x8000>;
112 d-cache-line-size = <64>;
113 d-cache-sets = <256>;
Sudeep Holla7934d692015-01-21 12:02:30 +0000114 next-level-cache = <&A57_L2>;
Sudeep Hollaa7384592015-06-03 14:40:56 +0100115 clocks = <&scpi_dvfs 0>;
Jon Medhurst (Tixy)28e10a82015-12-09 09:40:53 +0000116 cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>;
Juri Lelli4d6815b2016-10-17 16:46:46 +0100117 capacity-dmips-mhz = <1024>;
Liviu Dudau71f867e2014-11-11 17:32:11 +0000118 };
119
120 A53_0: cpu@100 {
121 compatible = "arm,cortex-a53","arm,armv8";
122 reg = <0x0 0x100>;
123 device_type = "cpu";
124 enable-method = "psci";
Sudeep Hollaf9936c42017-04-13 10:05:38 +0100125 i-cache-size = <0x8000>;
126 i-cache-line-size = <64>;
127 i-cache-sets = <256>;
128 d-cache-size = <0x8000>;
129 d-cache-line-size = <64>;
130 d-cache-sets = <128>;
Sudeep Holla7934d692015-01-21 12:02:30 +0000131 next-level-cache = <&A53_L2>;
Sudeep Hollaa7384592015-06-03 14:40:56 +0100132 clocks = <&scpi_dvfs 1>;
Jon Medhurst (Tixy)28e10a82015-12-09 09:40:53 +0000133 cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>;
Juri Lelli4d6815b2016-10-17 16:46:46 +0100134 capacity-dmips-mhz = <578>;
Liviu Dudau71f867e2014-11-11 17:32:11 +0000135 };
136
137 A53_1: cpu@101 {
138 compatible = "arm,cortex-a53","arm,armv8";
139 reg = <0x0 0x101>;
140 device_type = "cpu";
141 enable-method = "psci";
Sudeep Hollaf9936c42017-04-13 10:05:38 +0100142 i-cache-size = <0x8000>;
143 i-cache-line-size = <64>;
144 i-cache-sets = <256>;
145 d-cache-size = <0x8000>;
146 d-cache-line-size = <64>;
147 d-cache-sets = <128>;
Sudeep Holla7934d692015-01-21 12:02:30 +0000148 next-level-cache = <&A53_L2>;
Sudeep Hollaa7384592015-06-03 14:40:56 +0100149 clocks = <&scpi_dvfs 1>;
Jon Medhurst (Tixy)28e10a82015-12-09 09:40:53 +0000150 cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>;
Juri Lelli4d6815b2016-10-17 16:46:46 +0100151 capacity-dmips-mhz = <578>;
Liviu Dudau71f867e2014-11-11 17:32:11 +0000152 };
153
154 A53_2: cpu@102 {
155 compatible = "arm,cortex-a53","arm,armv8";
156 reg = <0x0 0x102>;
157 device_type = "cpu";
158 enable-method = "psci";
Sudeep Hollaf9936c42017-04-13 10:05:38 +0100159 i-cache-size = <0x8000>;
160 i-cache-line-size = <64>;
161 i-cache-sets = <256>;
162 d-cache-size = <0x8000>;
163 d-cache-line-size = <64>;
164 d-cache-sets = <128>;
Sudeep Holla7934d692015-01-21 12:02:30 +0000165 next-level-cache = <&A53_L2>;
Sudeep Hollaa7384592015-06-03 14:40:56 +0100166 clocks = <&scpi_dvfs 1>;
Jon Medhurst (Tixy)28e10a82015-12-09 09:40:53 +0000167 cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>;
Juri Lelli4d6815b2016-10-17 16:46:46 +0100168 capacity-dmips-mhz = <578>;
Liviu Dudau71f867e2014-11-11 17:32:11 +0000169 };
170
171 A53_3: cpu@103 {
172 compatible = "arm,cortex-a53","arm,armv8";
173 reg = <0x0 0x103>;
174 device_type = "cpu";
175 enable-method = "psci";
Sudeep Hollaf9936c42017-04-13 10:05:38 +0100176 i-cache-size = <0x8000>;
177 i-cache-line-size = <64>;
178 i-cache-sets = <256>;
179 d-cache-size = <0x8000>;
180 d-cache-line-size = <64>;
181 d-cache-sets = <128>;
Sudeep Holla7934d692015-01-21 12:02:30 +0000182 next-level-cache = <&A53_L2>;
Sudeep Hollaa7384592015-06-03 14:40:56 +0100183 clocks = <&scpi_dvfs 1>;
Jon Medhurst (Tixy)28e10a82015-12-09 09:40:53 +0000184 cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>;
Juri Lelli4d6815b2016-10-17 16:46:46 +0100185 capacity-dmips-mhz = <578>;
Sudeep Holla7934d692015-01-21 12:02:30 +0000186 };
187
188 A57_L2: l2-cache0 {
189 compatible = "cache";
Sudeep Hollaf9936c42017-04-13 10:05:38 +0100190 cache-size = <0x200000>;
191 cache-line-size = <64>;
192 cache-sets = <2048>;
Sudeep Holla7934d692015-01-21 12:02:30 +0000193 };
194
195 A53_L2: l2-cache1 {
196 compatible = "cache";
Sudeep Hollaf9936c42017-04-13 10:05:38 +0100197 cache-size = <0x100000>;
198 cache-line-size = <64>;
199 cache-sets = <1024>;
Liviu Dudau71f867e2014-11-11 17:32:11 +0000200 };
201 };
202
Sudeep Holla506eeea2018-05-09 17:30:38 +0100203 pmu-a57 {
Mark Rutland01a507a2015-10-02 10:55:06 +0100204 compatible = "arm,cortex-a57-pmu";
Will Deacon2b013112015-03-30 10:59:30 +0100205 interrupts = <GIC_SPI 02 IRQ_TYPE_LEVEL_HIGH>,
Mark Rutland01a507a2015-10-02 10:55:06 +0100206 <GIC_SPI 06 IRQ_TYPE_LEVEL_HIGH>;
207 interrupt-affinity = <&A57_0>,
208 <&A57_1>;
209 };
210
Sudeep Holla506eeea2018-05-09 17:30:38 +0100211 pmu-a53 {
Mark Rutland01a507a2015-10-02 10:55:06 +0100212 compatible = "arm,cortex-a53-pmu";
213 interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>,
Liviu Dudau71f867e2014-11-11 17:32:11 +0000214 <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>,
215 <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>,
Will Deacon2b013112015-03-30 10:59:30 +0100216 <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
Mark Rutland01a507a2015-10-02 10:55:06 +0100217 interrupt-affinity = <&A53_0>,
Will Deacon2b013112015-03-30 10:59:30 +0100218 <&A53_1>,
219 <&A53_2>,
220 <&A53_3>;
Liviu Dudau71f867e2014-11-11 17:32:11 +0000221 };
Liviu Dudau71f867e2014-11-11 17:32:11 +0000222};
Sudeep Holla3e287cf2016-06-02 10:18:41 +0100223
224&etm0 {
225 cpu = <&A57_0>;
226};
227
228&etm1 {
229 cpu = <&A57_1>;
230};
231
232&etm2 {
233 cpu = <&A53_0>;
234};
235
236&etm3 {
237 cpu = <&A53_1>;
238};
239
240&etm4 {
241 cpu = <&A53_2>;
242};
243
244&etm5 {
245 cpu = <&A53_3>;
246};
Sudeep Holla19ac17c2017-01-12 11:53:35 +0000247
248&etf0_out_port {
249 remote-endpoint = <&replicator_in_port0>;
250};
251
252&replicator_in_port0 {
253 remote-endpoint = <&etf0_out_port>;
254};
Mike Leachcde6f9a2017-01-11 20:44:09 +0000255
256&stm_out_port {
257 remote-endpoint = <&main_funnel_in_port2>;
258};
259
260&main_funnel {
261 ports {
262 port@3 {
263 reg = <2>;
264 main_funnel_in_port2: endpoint {
265 slave-mode;
266 remote-endpoint = <&stm_out_port>;
267 };
268 };
269 };
270};
Suzuki K Poulose60f01d72017-05-19 12:25:57 +0800271
272&cpu_debug0 {
273 cpu = <&A57_0>;
274};
275
276&cpu_debug1 {
277 cpu = <&A57_1>;
278};
279
280&cpu_debug2 {
281 cpu = <&A53_0>;
282};
283
284&cpu_debug3 {
285 cpu = <&A53_1>;
286};
287
288&cpu_debug4 {
289 cpu = <&A53_2>;
290};
291
292&cpu_debug5 {
293 cpu = <&A53_3>;
294};