diff options
-rw-r--r-- | arch/arm64/boot/dts/arm/juno-base.dtsi | 297 | ||||
-rw-r--r-- | arch/arm64/boot/dts/arm/juno-r1.dts | 24 | ||||
-rw-r--r-- | arch/arm64/boot/dts/arm/juno-r2.dts | 24 | ||||
-rw-r--r-- | arch/arm64/boot/dts/arm/juno.dts | 24 |
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 | }; | ||