1 // SPDX-License-Identifier: GPL-2.0
2 /*
3 * Copyright 2020, Amazon.com, Inc. or its affiliates. All Rights Reserved
4 */
5
6 /dts-v1/;
7
8 #include <dt-bindings/interrupt-controller/arm-gic.h>
9
10 / {
11 model = "Amazon's Annapurna Labs Alpine v3";
12 compatible = "amazon,al-alpine-v3";
13
14 interrupt-parent = <&gic>;
15
16 #address-cells = <2>;
17 #size-cells = <2>;
18
19 cpus {
20 #address-cells = <1>;
21 #size-cells = <0>;
22
23 cpu@0 {
24 device_type = "cpu";
25 compatible = "arm,cortex-a72";
26 reg = <0x0>;
27 enable-method = "psci";
28 d-cache-size = <0x8000>;
29 d-cache-line-size = <64>;
30 d-cache-sets = <256>;
31 i-cache-size = <0xc000>;
32 i-cache-line-size = <64>;
33 i-cache-sets = <256>;
34 next-level-cache = <&cluster0_l2>;
35 };
36
37 cpu@1 {
38 device_type = "cpu";
39 compatible = "arm,cortex-a72";
40 reg = <0x1>;
41 enable-method = "psci";
42 d-cache-size = <0x8000>;
43 d-cache-line-size = <64>;
44 d-cache-sets = <256>;
45 i-cache-size = <0xc000>;
46 i-cache-line-size = <64>;
47 i-cache-sets = <256>;
48 next-level-cache = <&cluster0_l2>;
49 };
50
51 cpu@2 {
52 device_type = "cpu";
53 compatible = "arm,cortex-a72";
54 reg = <0x2>;
55 enable-method = "psci";
56 d-cache-size = <0x8000>;
57 d-cache-line-size = <64>;
58 d-cache-sets = <256>;
59 i-cache-size = <0xc000>;
60 i-cache-line-size = <64>;
61 i-cache-sets = <256>;
62 next-level-cache = <&cluster0_l2>;
63 };
64
65 cpu@3 {
66 device_type = "cpu";
67 compatible = "arm,cortex-a72";
68 reg = <0x3>;
69 enable-method = "psci";
70 d-cache-size = <0x8000>;
71 d-cache-line-size = <64>;
72 d-cache-sets = <256>;
73 i-cache-size = <0xc000>;
74 i-cache-line-size = <64>;
75 i-cache-sets = <256>;
76 next-level-cache = <&cluster0_l2>;
77 };
78
79 cpu@100 {
80 device_type = "cpu";
81 compatible = "arm,cortex-a72";
82 reg = <0x100>;
83 enable-method = "psci";
84 d-cache-size = <0x8000>;
85 d-cache-line-size = <64>;
86 d-cache-sets = <256>;
87 i-cache-size = <0xc000>;
88 i-cache-line-size = <64>;
89 i-cache-sets = <256>;
90 next-level-cache = <&cluster1_l2>;
91 };
92
93 cpu@101 {
94 device_type = "cpu";
95 compatible = "arm,cortex-a72";
96 reg = <0x101>;
97 enable-method = "psci";
98 d-cache-size = <0x8000>;
99 d-cache-line-size = <64>;
100 d-cache-sets = <256>;
101 i-cache-size = <0xc000>;
102 i-cache-line-size = <64>;
103 i-cache-sets = <256>;
104 next-level-cache = <&cluster1_l2>;
105 };
106
107 cpu@102 {
108 device_type = "cpu";
109 compatible = "arm,cortex-a72";
110 reg = <0x102>;
111 enable-method = "psci";
112 d-cache-size = <0x8000>;
113 d-cache-line-size = <64>;
114 d-cache-sets = <256>;
115 i-cache-size = <0xc000>;
116 i-cache-line-size = <64>;
117 i-cache-sets = <256>;
118 next-level-cache = <&cluster1_l2>;
119 };
120
121 cpu@103 {
122 device_type = "cpu";
123 compatible = "arm,cortex-a72";
124 reg = <0x103>;
125 enable-method = "psci";
126 d-cache-size = <0x8000>;
127 d-cache-line-size = <64>;
128 d-cache-sets = <256>;
129 i-cache-size = <0xc000>;
130 i-cache-line-size = <64>;
131 i-cache-sets = <256>;
132 next-level-cache = <&cluster1_l2>;
133 };
134
135 cpu@200 {
136 device_type = "cpu";
137 compatible = "arm,cortex-a72";
138 reg = <0x200>;
139 enable-method = "psci";
140 d-cache-size = <0x8000>;
141 d-cache-line-size = <64>;
142 d-cache-sets = <256>;
143 i-cache-size = <0xc000>;
144 i-cache-line-size = <64>;
145 i-cache-sets = <256>;
146 next-level-cache = <&cluster2_l2>;
147 };
148
149 cpu@201 {
150 device_type = "cpu";
151 compatible = "arm,cortex-a72";
152 reg = <0x201>;
153 enable-method = "psci";
154 d-cache-size = <0x8000>;
155 d-cache-line-size = <64>;
156 d-cache-sets = <256>;
157 i-cache-size = <0xc000>;
158 i-cache-line-size = <64>;
159 i-cache-sets = <256>;
160 next-level-cache = <&cluster2_l2>;
161 };
162
163 cpu@202 {
164 device_type = "cpu";
165 compatible = "arm,cortex-a72";
166 reg = <0x202>;
167 enable-method = "psci";
168 d-cache-size = <0x8000>;
169 d-cache-line-size = <64>;
170 d-cache-sets = <256>;
171 i-cache-size = <0xc000>;
172 i-cache-line-size = <64>;
173 i-cache-sets = <256>;
174 next-level-cache = <&cluster2_l2>;
175 };
176
177 cpu@203 {
178 device_type = "cpu";
179 compatible = "arm,cortex-a72";
180 reg = <0x203>;
181 enable-method = "psci";
182 d-cache-size = <0x8000>;
183 d-cache-line-size = <64>;
184 d-cache-sets = <256>;
185 i-cache-size = <0xc000>;
186 i-cache-line-size = <64>;
187 i-cache-sets = <256>;
188 next-level-cache = <&cluster2_l2>;
189 };
190
191 cpu@300 {
192 device_type = "cpu";
193 compatible = "arm,cortex-a72";
194 reg = <0x300>;
195 enable-method = "psci";
196 d-cache-size = <0x8000>;
197 d-cache-line-size = <64>;
198 d-cache-sets = <256>;
199 i-cache-size = <0xc000>;
200 i-cache-line-size = <64>;
201 i-cache-sets = <256>;
202 next-level-cache = <&cluster3_l2>;
203 };
204
205 cpu@301 {
206 device_type = "cpu";
207 compatible = "arm,cortex-a72";
208 reg = <0x301>;
209 enable-method = "psci";
210 d-cache-size = <0x8000>;
211 d-cache-line-size = <64>;
212 d-cache-sets = <256>;
213 i-cache-size = <0xc000>;
214 i-cache-line-size = <64>;
215 i-cache-sets = <256>;
216 next-level-cache = <&cluster3_l2>;
217 };
218
219 cpu@302 {
220 device_type = "cpu";
221 compatible = "arm,cortex-a72";
222 reg = <0x302>;
223 enable-method = "psci";
224 d-cache-size = <0x8000>;
225 d-cache-line-size = <64>;
226 d-cache-sets = <256>;
227 i-cache-size = <0xc000>;
228 i-cache-line-size = <64>;
229 i-cache-sets = <256>;
230 next-level-cache = <&cluster3_l2>;
231 };
232
233 cpu@303 {
234 device_type = "cpu";
235 compatible = "arm,cortex-a72";
236 reg = <0x303>;
237 enable-method = "psci";
238 d-cache-size = <0x8000>;
239 d-cache-line-size = <64>;
240 d-cache-sets = <256>;
241 i-cache-size = <0xc000>;
242 i-cache-line-size = <64>;
243 i-cache-sets = <256>;
244 next-level-cache = <&cluster3_l2>;
245 };
246
247 cluster0_l2: cache@0 {
248 compatible = "cache";
249 cache-size = <0x200000>;
250 cache-line-size = <64>;
251 cache-sets = <2048>;
252 cache-level = <2>;
253 };
254
255 cluster1_l2: cache@100 {
256 compatible = "cache";
257 cache-size = <0x200000>;
258 cache-line-size = <64>;
259 cache-sets = <2048>;
260 cache-level = <2>;
261 };
262
263 cluster2_l2: cache@200 {
264 compatible = "cache";
265 cache-size = <0x200000>;
266 cache-line-size = <64>;
267 cache-sets = <2048>;
268 cache-level = <2>;
269 };
270
271 cluster3_l2: cache@300 {
272 compatible = "cache";
273 cache-size = <0x200000>;
274 cache-line-size = <64>;
275 cache-sets = <2048>;
276 cache-level = <2>;
277 };
278
279 };
280
281 reserved-memory {
282 #address-cells = <2>;
283 #size-cells = <2>;
284 ranges;
285
286 secmon@0 {
287 reg = <0x0 0x0 0x0 0x100000>;
288 no-map;
289 };
290 };
291
292 psci {
293 compatible = "arm,psci-0.2";
294 method = "smc";
295 };
296
297 timer {
298 compatible = "arm,armv8-timer";
299 interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>,
300 <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>,
301 <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>,
302 <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>;
303 };
304
305 pmu {
306 compatible = "arm,cortex-a72-pmu";
307 interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>;
308 };
309
310
311 soc {
312 compatible = "simple-bus";
313 #address-cells = <2>;
314 #size-cells = <2>;
315 ranges;
316
317 gic: interrupt-controller@f0000000 {
318 compatible = "arm,gic-v3";
319 #interrupt-cells = <3>;
320 interrupt-controller;
321 reg = <0x0 0xf0800000 0 0x10000>, /* GICD */
322 <0x0 0xf0a00000 0 0x200000>, /* GICR */
323 <0x0 0xf0000000 0 0x2000>, /* GICC */
324 <0x0 0xf0010000 0 0x1000>, /* GICH */
325 <0x0 0xf0020000 0 0x2000>; /* GICV */
326 interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
327 };
328
329 pcie@fbd00000 {
330 compatible = "pci-host-ecam-generic";
331 device_type = "pci";
332 #size-cells = <2>;
333 #address-cells = <3>;
334 #interrupt-cells = <1>;
335 reg = <0x0 0xfbd00000 0x0 0x100000>;
336 interrupt-map-mask = <0xf800 0 0 7>;
337 /* 8 x legacy interrupts for SATA only */
338 interrupt-map = <0x4000 0 0 1 &gic 0 57 IRQ_TYPE_LEVEL_HIGH>,
339 <0x4800 0 0 1 &gic 0 58 IRQ_TYPE_LEVEL_HIGH>,
340 <0x5000 0 0 1 &gic 0 59 IRQ_TYPE_LEVEL_HIGH>,
341 <0x5800 0 0 1 &gic 0 60 IRQ_TYPE_LEVEL_HIGH>,
342 <0x6000 0 0 1 &gic 0 61 IRQ_TYPE_LEVEL_HIGH>,
343 <0x6800 0 0 1 &gic 0 62 IRQ_TYPE_LEVEL_HIGH>,
344 <0x7000 0 0 1 &gic 0 63 IRQ_TYPE_LEVEL_HIGH>,
345 <0x7800 0 0 1 &gic 0 64 IRQ_TYPE_LEVEL_HIGH>;
346 ranges = <0x02000000 0x0 0xfe000000 0x0 0xfe000000 0x0 0x1000000>;
347 bus-range = <0x00 0x00>;
348 msi-parent = <&msix>;
349 };
350
351 msix: msix@fbe00000 {
352 compatible = "al,alpine-msix";
353 reg = <0x0 0xfbe00000 0x0 0x100000>;
354 interrupt-controller;
355 msi-controller;
356 al,msi-base-spi = <336>;
357 al,msi-num-spis = <959>;
358 interrupt-parent = <&gic>;
359 };
360
361 io-fabric {
362 compatible = "simple-bus";
363 #address-cells = <1>;
364 #size-cells = <1>;
365 ranges = <0x0 0x0 0xfc000000 0x2000000>;
366
367 uart0: serial@1883000 {
368 compatible = "ns16550a";
369 reg = <0x1883000 0x1000>;
370 interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
371 clock-frequency = <0>; /* Filled by firmware */
372 reg-shift = <2>;
373 reg-io-width = <4>;
374 status = "disabled";
375 };
376
377 uart1: serial@1884000 {
378 compatible = "ns16550a";
379 reg = <0x1884000 0x1000>;
380 interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>;
381 clock-frequency = <0>; /* Filled by firmware */
382 reg-shift = <2>;
383 reg-io-width = <4>;
384 status = "disabled";
385 };
386
387 uart2: serial@1885000 {
388 compatible = "ns16550a";
389 reg = <0x1885000 0x1000>;
390 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
391 clock-frequency = <0>; /* Filled by firmware */
392 reg-shift = <2>;
393 reg-io-width = <4>;
394 status = "disabled";
395 };
396
397 uart3: serial@1886000 {
398 compatible = "ns16550a";
399 reg = <0x1886000 0x1000>;
400 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
401 clock-frequency = <0>; /* Filled by firmware */
402 reg-shift = <2>;
403 reg-io-width = <4>;
404 status = "disabled";
405 };
406 };
407 };
408 };
Cache object: c3478e4972b2f4a42fc5c7debd46969b
|