aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm64/boot/dts/arm/juno-base.dtsi297
-rw-r--r--arch/arm64/boot/dts/arm/juno-r1.dts24
-rw-r--r--arch/arm64/boot/dts/arm/juno-r2.dts24
-rw-r--r--arch/arm64/boot/dts/arm/juno.dts24
4 files changed, 369 insertions, 0 deletions
diff --git a/arch/arm64/boot/dts/arm/juno-base.dtsi b/arch/arm64/boot/dts/arm/juno-base.dtsi
index dee2386d3b9b..4ea40a476906 100644
--- a/arch/arm64/boot/dts/arm/juno-base.dtsi
+++ b/arch/arm64/boot/dts/arm/juno-base.dtsi
@@ -56,6 +56,303 @@
56 <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>; 56 <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>;
57 }; 57 };
58 58
59 /*
60 * Juno TRMs specify the size for these coresight components as 64K.
61 * The actual size is just 4K though 64K is reserved. Access to the
62 * unmapped reserved region results in a DECERR response.
63 */
64 etf@20010000 {
65 compatible = "arm,coresight-tmc", "arm,primecell";
66 reg = <0 0x20010000 0 0x1000>;
67
68 clocks = <&soc_smc50mhz>;
69 clock-names = "apb_pclk";
70 ports {
71 #address-cells = <1>;
72 #size-cells = <0>;
73
74 /* input port */
75 port@0 {
76 reg = <0>;
77 etf_in_port: endpoint {
78 slave-mode;
79 remote-endpoint = <&main_funnel_out_port>;
80 };
81 };
82
83 /* output port */
84 port@1 {
85 reg = <0>;
86 etf_out_port: endpoint {
87 remote-endpoint = <&replicator_in_port0>;
88 };
89 };
90 };
91 };
92
93 tpiu@20030000 {
94 compatible = "arm,coresight-tpiu", "arm,primecell";
95 reg = <0 0x20030000 0 0x1000>;
96
97 clocks = <&soc_smc50mhz>;
98 clock-names = "apb_pclk";
99 port {
100 tpiu_in_port: endpoint {
101 slave-mode;
102 remote-endpoint = <&replicator_out_port0>;
103 };
104 };
105 };
106
107 main-funnel@20040000 {
108 compatible = "arm,coresight-funnel", "arm,primecell";
109 reg = <0 0x20040000 0 0x1000>;
110
111 clocks = <&soc_smc50mhz>;
112 clock-names = "apb_pclk";
113 ports {
114 #address-cells = <1>;
115 #size-cells = <0>;
116
117 port@0 {
118 reg = <0>;
119 main_funnel_out_port: endpoint {
120 remote-endpoint = <&etf_in_port>;
121 };
122 };
123
124 port@1 {
125 reg = <0>;
126 main_funnel_in_port0: endpoint {
127 slave-mode;
128 remote-endpoint = <&cluster0_funnel_out_port>;
129 };
130 };
131
132 port@2 {
133 reg = <1>;
134 main_funnel_in_port1: endpoint {
135 slave-mode;
136 remote-endpoint = <&cluster1_funnel_out_port>;
137 };
138 };
139
140 };
141 };
142
143 etr@20070000 {
144 compatible = "arm,coresight-tmc", "arm,primecell";
145 reg = <0 0x20070000 0 0x1000>;
146
147 clocks = <&soc_smc50mhz>;
148 clock-names = "apb_pclk";
149 port {
150 etr_in_port: endpoint {
151 slave-mode;
152 remote-endpoint = <&replicator_out_port1>;
153 };
154 };
155 };
156
157 etm0: etm@22040000 {
158 compatible = "arm,coresight-etm4x", "arm,primecell";
159 reg = <0 0x22040000 0 0x1000>;
160
161 clocks = <&soc_smc50mhz>;
162 clock-names = "apb_pclk";
163 port {
164 cluster0_etm0_out_port: endpoint {
165 remote-endpoint = <&cluster0_funnel_in_port0>;
166 };
167 };
168 };
169
170 cluster0-funnel@220c0000 {
171 compatible = "arm,coresight-funnel", "arm,primecell";
172 reg = <0 0x220c0000 0 0x1000>;
173
174 clocks = <&soc_smc50mhz>;
175 clock-names = "apb_pclk";
176 ports {
177 #address-cells = <1>;
178 #size-cells = <0>;
179
180 port@0 {
181 reg = <0>;
182 cluster0_funnel_out_port: endpoint {
183 remote-endpoint = <&main_funnel_in_port0>;
184 };
185 };
186
187 port@1 {
188 reg = <0>;
189 cluster0_funnel_in_port0: endpoint {
190 slave-mode;
191 remote-endpoint = <&cluster0_etm0_out_port>;
192 };
193 };
194
195 port@2 {
196 reg = <1>;
197 cluster0_funnel_in_port1: endpoint {
198 slave-mode;
199 remote-endpoint = <&cluster0_etm1_out_port>;
200 };
201 };
202 };
203 };
204
205 etm1: etm@22140000 {
206 compatible = "arm,coresight-etm4x", "arm,primecell";
207 reg = <0 0x22140000 0 0x1000>;
208
209 clocks = <&soc_smc50mhz>;
210 clock-names = "apb_pclk";
211 port {
212 cluster0_etm1_out_port: endpoint {
213 remote-endpoint = <&cluster0_funnel_in_port1>;
214 };
215 };
216 };
217
218 etm2: etm@23040000 {
219 compatible = "arm,coresight-etm4x", "arm,primecell";
220 reg = <0 0x23040000 0 0x1000>;
221
222 clocks = <&soc_smc50mhz>;
223 clock-names = "apb_pclk";
224 port {
225 cluster1_etm0_out_port: endpoint {
226 remote-endpoint = <&cluster1_funnel_in_port0>;
227 };
228 };
229 };
230
231 cluster1-funnel@230c0000 {
232 compatible = "arm,coresight-funnel", "arm,primecell";
233 reg = <0 0x230c0000 0 0x1000>;
234
235 clocks = <&soc_smc50mhz>;
236 clock-names = "apb_pclk";
237 ports {
238 #address-cells = <1>;
239 #size-cells = <0>;
240
241 port@0 {
242 reg = <0>;
243 cluster1_funnel_out_port: endpoint {
244 remote-endpoint = <&main_funnel_in_port1>;
245 };
246 };
247
248 port@1 {
249 reg = <0>;
250 cluster1_funnel_in_port0: endpoint {
251 slave-mode;
252 remote-endpoint = <&cluster1_etm0_out_port>;
253 };
254 };
255
256 port@2 {
257 reg = <1>;
258 cluster1_funnel_in_port1: endpoint {
259 slave-mode;
260 remote-endpoint = <&cluster1_etm1_out_port>;
261 };
262 };
263 port@3 {
264 reg = <2>;
265 cluster1_funnel_in_port2: endpoint {
266 slave-mode;
267 remote-endpoint = <&cluster1_etm2_out_port>;
268 };
269 };
270 port@4 {
271 reg = <3>;
272 cluster1_funnel_in_port3: endpoint {
273 slave-mode;
274 remote-endpoint = <&cluster1_etm3_out_port>;
275 };
276 };
277 };
278 };
279
280 etm3: etm@23140000 {
281 compatible = "arm,coresight-etm4x", "arm,primecell";
282 reg = <0 0x23140000 0 0x1000>;
283
284 clocks = <&soc_smc50mhz>;
285 clock-names = "apb_pclk";
286 port {
287 cluster1_etm1_out_port: endpoint {
288 remote-endpoint = <&cluster1_funnel_in_port1>;
289 };
290 };
291 };
292
293 etm4: etm@23240000 {
294 compatible = "arm,coresight-etm4x", "arm,primecell";
295 reg = <0 0x23240000 0 0x1000>;
296
297 clocks = <&soc_smc50mhz>;
298 clock-names = "apb_pclk";
299 port {
300 cluster1_etm2_out_port: endpoint {
301 remote-endpoint = <&cluster1_funnel_in_port2>;
302 };
303 };
304 };
305
306 etm5: etm@23340000 {
307 compatible = "arm,coresight-etm4x", "arm,primecell";
308 reg = <0 0x23340000 0 0x1000>;
309
310 clocks = <&soc_smc50mhz>;
311 clock-names = "apb_pclk";
312 port {
313 cluster1_etm3_out_port: endpoint {
314 remote-endpoint = <&cluster1_funnel_in_port3>;
315 };
316 };
317 };
318
319 coresight-replicator {
320 /*
321 * Non-configurable replicators don't show up on the
322 * AMBA bus. As such no need to add "arm,primecell".
323 */
324 compatible = "arm,coresight-replicator";
325
326 ports {
327 #address-cells = <1>;
328 #size-cells = <0>;
329
330 /* replicator output ports */
331 port@0 {
332 reg = <0>;
333 replicator_out_port0: endpoint {
334 remote-endpoint = <&tpiu_in_port>;
335 };
336 };
337
338 port@1 {
339 reg = <1>;
340 replicator_out_port1: endpoint {
341 remote-endpoint = <&etr_in_port>;
342 };
343 };
344
345 /* replicator input port */
346 port@2 {
347 reg = <0>;
348 replicator_in_port0: endpoint {
349 slave-mode;
350 remote-endpoint = <&etf_out_port>;
351 };
352 };
353 };
354 };
355
59 sram: sram@2e000000 { 356 sram: sram@2e000000 {
60 compatible = "arm,juno-sram-ns", "mmio-sram"; 357 compatible = "arm,juno-sram-ns", "mmio-sram";
61 reg = <0x0 0x2e000000 0x0 0x8000>; 358 reg = <0x0 0x2e000000 0x0 0x8000>;
diff --git a/arch/arm64/boot/dts/arm/juno-r1.dts b/arch/arm64/boot/dts/arm/juno-r1.dts
index d95d9e7e2dc0..f4f8f54f8b85 100644
--- a/arch/arm64/boot/dts/arm/juno-r1.dts
+++ b/arch/arm64/boot/dts/arm/juno-r1.dts
@@ -181,3 +181,27 @@
181&pcie_ctlr { 181&pcie_ctlr {
182 status = "okay"; 182 status = "okay";
183}; 183};
184
185&etm0 {
186 cpu = <&A57_0>;
187};
188
189&etm1 {
190 cpu = <&A57_1>;
191};
192
193&etm2 {
194 cpu = <&A53_0>;
195};
196
197&etm3 {
198 cpu = <&A53_1>;
199};
200
201&etm4 {
202 cpu = <&A53_2>;
203};
204
205&etm5 {
206 cpu = <&A53_3>;
207};
diff --git a/arch/arm64/boot/dts/arm/juno-r2.dts b/arch/arm64/boot/dts/arm/juno-r2.dts
index 88ecd6182b67..d903e545b64c 100644
--- a/arch/arm64/boot/dts/arm/juno-r2.dts
+++ b/arch/arm64/boot/dts/arm/juno-r2.dts
@@ -181,3 +181,27 @@
181&pcie_ctlr { 181&pcie_ctlr {
182 status = "okay"; 182 status = "okay";
183}; 183};
184
185&etm0 {
186 cpu = <&A72_0>;
187};
188
189&etm1 {
190 cpu = <&A72_1>;
191};
192
193&etm2 {
194 cpu = <&A53_0>;
195};
196
197&etm3 {
198 cpu = <&A53_1>;
199};
200
201&etm4 {
202 cpu = <&A53_2>;
203};
204
205&etm5 {
206 cpu = <&A53_3>;
207};
diff --git a/arch/arm64/boot/dts/arm/juno.dts b/arch/arm64/boot/dts/arm/juno.dts
index dcfcf15a17f5..a7270eff6939 100644
--- a/arch/arm64/boot/dts/arm/juno.dts
+++ b/arch/arm64/boot/dts/arm/juno.dts
@@ -173,3 +173,27 @@
173 173
174 #include "juno-base.dtsi" 174 #include "juno-base.dtsi"
175}; 175};
176
177&etm0 {
178 cpu = <&A57_0>;
179};
180
181&etm1 {
182 cpu = <&A57_1>;
183};
184
185&etm2 {
186 cpu = <&A53_0>;
187};
188
189&etm3 {
190 cpu = <&A53_1>;
191};
192
193&etm4 {
194 cpu = <&A53_2>;
195};
196
197&etm5 {
198 cpu = <&A53_3>;
199};