xref: /rk3399_ARM-atf/fdts/rdaspen.dts (revision 6fb6bee1dfd7fd896c44cc21b02b4ef3aad3bbd0)
1d1a1abecSDavid Hu/*
2d1a1abecSDavid Hu * Copyright (c) 2025, Arm Limited. All rights reserved.
3d1a1abecSDavid Hu *
4d1a1abecSDavid Hu * SPDX-License-Identifier: BSD-3-Clause
5d1a1abecSDavid Hu */
6d1a1abecSDavid Hu
7d1a1abecSDavid Hu/dts-v1/;
8d1a1abecSDavid Hu
9d1a1abecSDavid Hu#include <dt-bindings/interrupt-controller/arm-gic.h>
10d1a1abecSDavid Hu
11d1a1abecSDavid Hu/ {
12d1a1abecSDavid Hu	model = "RD-Aspen";
13d1a1abecSDavid Hu	compatible = "arm,rdaspen";
14d1a1abecSDavid Hu	interrupt-parent = <&gic>;
15d1a1abecSDavid Hu	#address-cells = <2>;
16d1a1abecSDavid Hu	#size-cells = <2>;
17d1a1abecSDavid Hu
18d1a1abecSDavid Hu	chosen {
19d1a1abecSDavid Hu		stdout-path = &soc_serial0;
20d1a1abecSDavid Hu	};
21d1a1abecSDavid Hu
22d1a1abecSDavid Hu	cpus {
23d1a1abecSDavid Hu		#address-cells = <2>;
24d1a1abecSDavid Hu		#size-cells = <0>;
25d1a1abecSDavid Hu
26d1a1abecSDavid Hu		/* 4 clusters and 4 CPU cores in each cluster */
27b0a8c52eSAmr Mohamed		cpu-map {
28b0a8c52eSAmr Mohamed			cluster0 {
29b0a8c52eSAmr Mohamed				core0 {
30b0a8c52eSAmr Mohamed					cpu = <&CPU0>;
31b0a8c52eSAmr Mohamed				};
32b0a8c52eSAmr Mohamed				core1 {
33b0a8c52eSAmr Mohamed					cpu = <&CPU1>;
34b0a8c52eSAmr Mohamed				};
35b0a8c52eSAmr Mohamed				core2 {
36b0a8c52eSAmr Mohamed					cpu = <&CPU2>;
37b0a8c52eSAmr Mohamed				};
38b0a8c52eSAmr Mohamed				core3 {
39b0a8c52eSAmr Mohamed					cpu = <&CPU3>;
40b0a8c52eSAmr Mohamed				};
41b0a8c52eSAmr Mohamed				CL0_L3: l3-cache0 {
42b0a8c52eSAmr Mohamed					compatible = "arm,dsu-l3-cache", "cache";
43b0a8c52eSAmr Mohamed					cache-level = <0x03>;
44b0a8c52eSAmr Mohamed					/* 4MB */
45b0a8c52eSAmr Mohamed					cache-size = <0x400000>;
46b0a8c52eSAmr Mohamed					/* 64B */
47b0a8c52eSAmr Mohamed					cache-line-size = <0x40>;
48b0a8c52eSAmr Mohamed					/* 16-way set */
49b0a8c52eSAmr Mohamed					cache-sets = <0x1000>;
50b0a8c52eSAmr Mohamed				};
51b0a8c52eSAmr Mohamed			};
52b0a8c52eSAmr Mohamed			cluster1 {
53b0a8c52eSAmr Mohamed				core0 {
54b0a8c52eSAmr Mohamed					cpu = <&CPU4>;
55b0a8c52eSAmr Mohamed				};
56b0a8c52eSAmr Mohamed				core1 {
57b0a8c52eSAmr Mohamed					cpu = <&CPU5>;
58b0a8c52eSAmr Mohamed				};
59b0a8c52eSAmr Mohamed				core2 {
60b0a8c52eSAmr Mohamed					cpu = <&CPU6>;
61b0a8c52eSAmr Mohamed				};
62b0a8c52eSAmr Mohamed				core3 {
63b0a8c52eSAmr Mohamed					cpu = <&CPU7>;
64b0a8c52eSAmr Mohamed				};
65b0a8c52eSAmr Mohamed				CL1_L3: l3-cache1 {
66b0a8c52eSAmr Mohamed					compatible = "arm,dsu-l3-cache", "cache";
67b0a8c52eSAmr Mohamed					cache-level = <0x03>;
68b0a8c52eSAmr Mohamed					/* 4MB */
69b0a8c52eSAmr Mohamed					cache-size = <0x400000>;
70b0a8c52eSAmr Mohamed					/* 64B */
71b0a8c52eSAmr Mohamed					cache-line-size = <0x40>;
72b0a8c52eSAmr Mohamed					/* 16-way set */
73b0a8c52eSAmr Mohamed					cache-sets = <0x1000>;
74b0a8c52eSAmr Mohamed				};
75b0a8c52eSAmr Mohamed			};
76b0a8c52eSAmr Mohamed			cluster2 {
77b0a8c52eSAmr Mohamed				core0 {
78b0a8c52eSAmr Mohamed					cpu = <&CPU8>;
79b0a8c52eSAmr Mohamed				};
80b0a8c52eSAmr Mohamed				core1 {
81b0a8c52eSAmr Mohamed					cpu = <&CPU9>;
82b0a8c52eSAmr Mohamed				};
83b0a8c52eSAmr Mohamed				core2 {
84b0a8c52eSAmr Mohamed					cpu = <&CPU10>;
85b0a8c52eSAmr Mohamed				};
86b0a8c52eSAmr Mohamed				core3 {
87b0a8c52eSAmr Mohamed					cpu = <&CPU11>;
88b0a8c52eSAmr Mohamed				};
89b0a8c52eSAmr Mohamed				CL2_L3: l3-cache2 {
90b0a8c52eSAmr Mohamed					compatible = "arm,dsu-l3-cache", "cache";
91b0a8c52eSAmr Mohamed					cache-level = <0x03>;
92b0a8c52eSAmr Mohamed					/* 4MB */
93b0a8c52eSAmr Mohamed					cache-size = <0x400000>;
94b0a8c52eSAmr Mohamed					/* 64B */
95b0a8c52eSAmr Mohamed					cache-line-size = <0x40>;
96b0a8c52eSAmr Mohamed					/* 16-way set */
97b0a8c52eSAmr Mohamed					cache-sets = <0x1000>;
98b0a8c52eSAmr Mohamed				};
99b0a8c52eSAmr Mohamed			};
100b0a8c52eSAmr Mohamed			cluster3 {
101b0a8c52eSAmr Mohamed				core0 {
102b0a8c52eSAmr Mohamed					cpu = <&CPU12>;
103b0a8c52eSAmr Mohamed				};
104b0a8c52eSAmr Mohamed				core1 {
105b0a8c52eSAmr Mohamed					cpu = <&CPU13>;
106b0a8c52eSAmr Mohamed				};
107b0a8c52eSAmr Mohamed				core2 {
108b0a8c52eSAmr Mohamed					cpu = <&CPU14>;
109b0a8c52eSAmr Mohamed				};
110b0a8c52eSAmr Mohamed				core3 {
111b0a8c52eSAmr Mohamed					cpu = <&CPU15>;
112b0a8c52eSAmr Mohamed				};
113b0a8c52eSAmr Mohamed				CL3_L3: l3-cache3 {
114b0a8c52eSAmr Mohamed					compatible = "arm,dsu-l3-cache", "cache";
115b0a8c52eSAmr Mohamed					cache-level = <0x03>;
116b0a8c52eSAmr Mohamed					/* 4MB */
117b0a8c52eSAmr Mohamed					cache-size = <0x400000>;
118b0a8c52eSAmr Mohamed					/* 64B */
119b0a8c52eSAmr Mohamed					cache-line-size = <0x40>;
120b0a8c52eSAmr Mohamed					/* 16-way set */
121b0a8c52eSAmr Mohamed					cache-sets = <0x1000>;
122b0a8c52eSAmr Mohamed				};
123b0a8c52eSAmr Mohamed			};
124b0a8c52eSAmr Mohamed		};
125b0a8c52eSAmr Mohamed
126d1a1abecSDavid Hu		CPU0: cpu@0 {
127d1a1abecSDavid Hu			device_type = "cpu";
128d1a1abecSDavid Hu			compatible = "arm,cortex-a720ae";
129d1a1abecSDavid Hu			reg = <0x0 0x0>;
130d1a1abecSDavid Hu			enable-method = "psci";
131d1a1abecSDavid Hu			i-cache-size = <0x10000>;
132d1a1abecSDavid Hu			i-cache-line-size = <0x40>;
133d1a1abecSDavid Hu			i-cache-sets = <0x100>;
134d1a1abecSDavid Hu			d-cache-size = <0x10000>;
135d1a1abecSDavid Hu			d-cache-line-size = <0x40>;
136d1a1abecSDavid Hu			d-cache-sets = <0x100>;
137b0a8c52eSAmr Mohamed			next-level-cache = <&CL0_L2_0>;
138b0a8c52eSAmr Mohamed			CL0_L2_0: l2-cache0 {
139b0a8c52eSAmr Mohamed				compatible = "cache";
140b0a8c52eSAmr Mohamed				cache-level = <0x02>;
141b0a8c52eSAmr Mohamed				/* 512KB */
142b0a8c52eSAmr Mohamed				cache-size = <0x80000>;
143b0a8c52eSAmr Mohamed				/* 64B */
144b0a8c52eSAmr Mohamed				cache-line-size = <0x40>;
145b0a8c52eSAmr Mohamed				/* 8-way set */
146b0a8c52eSAmr Mohamed				cache-sets = <0x400>;
147b0a8c52eSAmr Mohamed				next-level-cache = <&CL0_L3>;
148b0a8c52eSAmr Mohamed			};
149d1a1abecSDavid Hu		};
150d1a1abecSDavid Hu
151d1a1abecSDavid Hu		CPU1: cpu@100 {
152d1a1abecSDavid Hu			device_type = "cpu";
153d1a1abecSDavid Hu			compatible = "arm,cortex-a720ae";
154d1a1abecSDavid Hu			reg = <0x0 0x100>;
155d1a1abecSDavid Hu			enable-method = "psci";
156d1a1abecSDavid Hu			i-cache-size = <0x10000>;
157d1a1abecSDavid Hu			i-cache-line-size = <0x40>;
158d1a1abecSDavid Hu			i-cache-sets = <0x100>;
159d1a1abecSDavid Hu			d-cache-size = <0x10000>;
160d1a1abecSDavid Hu			d-cache-line-size = <0x40>;
161d1a1abecSDavid Hu			d-cache-sets = <0x100>;
162b0a8c52eSAmr Mohamed			next-level-cache = <&CL0_L2_1>;
163b0a8c52eSAmr Mohamed			CL0_L2_1: l2-cache1 {
164b0a8c52eSAmr Mohamed				compatible = "cache";
165b0a8c52eSAmr Mohamed				cache-level = <0x02>;
166b0a8c52eSAmr Mohamed				/* 512KB */
167b0a8c52eSAmr Mohamed				cache-size = <0x80000>;
168b0a8c52eSAmr Mohamed				/* 64B */
169b0a8c52eSAmr Mohamed				cache-line-size = <0x40>;
170b0a8c52eSAmr Mohamed				/* 8-way set */
171b0a8c52eSAmr Mohamed				cache-sets = <0x400>;
172b0a8c52eSAmr Mohamed				next-level-cache = <&CL0_L3>;
173b0a8c52eSAmr Mohamed			};
174d1a1abecSDavid Hu		};
175d1a1abecSDavid Hu
176d1a1abecSDavid Hu		CPU2: cpu@200 {
177d1a1abecSDavid Hu			device_type = "cpu";
178d1a1abecSDavid Hu			compatible = "arm,cortex-a720ae";
179d1a1abecSDavid Hu			reg = <0x0 0x200>;
180d1a1abecSDavid Hu			enable-method = "psci";
181d1a1abecSDavid Hu			i-cache-size = <0x10000>;
182d1a1abecSDavid Hu			i-cache-line-size = <0x40>;
183d1a1abecSDavid Hu			i-cache-sets = <0x100>;
184d1a1abecSDavid Hu			d-cache-size = <0x10000>;
185d1a1abecSDavid Hu			d-cache-line-size = <0x40>;
186d1a1abecSDavid Hu			d-cache-sets = <0x100>;
187b0a8c52eSAmr Mohamed			next-level-cache = <&CL0_L2_2>;
188b0a8c52eSAmr Mohamed			CL0_L2_2: l2-cache2 {
189b0a8c52eSAmr Mohamed				compatible = "cache";
190b0a8c52eSAmr Mohamed				cache-level = <0x02>;
191b0a8c52eSAmr Mohamed				/* 512KB */
192b0a8c52eSAmr Mohamed				cache-size = <0x80000>;
193b0a8c52eSAmr Mohamed				/* 64B */
194b0a8c52eSAmr Mohamed				cache-line-size = <0x40>;
195b0a8c52eSAmr Mohamed				/* 8-way set */
196b0a8c52eSAmr Mohamed				cache-sets = <0x400>;
197b0a8c52eSAmr Mohamed				next-level-cache = <&CL0_L3>;
198b0a8c52eSAmr Mohamed			};
199d1a1abecSDavid Hu		};
200d1a1abecSDavid Hu
201d1a1abecSDavid Hu		CPU3: cpu@300 {
202d1a1abecSDavid Hu			device_type = "cpu";
203d1a1abecSDavid Hu			compatible = "arm,cortex-a720ae";
204d1a1abecSDavid Hu			reg = <0x0 0x300>;
205d1a1abecSDavid Hu			enable-method = "psci";
206d1a1abecSDavid Hu			i-cache-size = <0x10000>;
207d1a1abecSDavid Hu			i-cache-line-size = <0x40>;
208d1a1abecSDavid Hu			i-cache-sets = <0x100>;
209d1a1abecSDavid Hu			d-cache-size = <0x10000>;
210d1a1abecSDavid Hu			d-cache-line-size = <0x40>;
211d1a1abecSDavid Hu			d-cache-sets = <0x100>;
212b0a8c52eSAmr Mohamed			next-level-cache = <&CL0_L2_3>;
213b0a8c52eSAmr Mohamed			CL0_L2_3: l2-cache3 {
214b0a8c52eSAmr Mohamed				compatible = "cache";
215b0a8c52eSAmr Mohamed				cache-level = <0x02>;
216b0a8c52eSAmr Mohamed				/* 512KB */
217b0a8c52eSAmr Mohamed				cache-size = <0x80000>;
218b0a8c52eSAmr Mohamed				/* 64B */
219b0a8c52eSAmr Mohamed				cache-line-size = <0x40>;
220b0a8c52eSAmr Mohamed				/* 8-way set */
221b0a8c52eSAmr Mohamed				cache-sets = <0x400>;
222b0a8c52eSAmr Mohamed				next-level-cache = <&CL0_L3>;
223b0a8c52eSAmr Mohamed			};
224d1a1abecSDavid Hu		};
225d1a1abecSDavid Hu
226d1a1abecSDavid Hu		CPU4: cpu@10000 {
227d1a1abecSDavid Hu			device_type = "cpu";
228d1a1abecSDavid Hu			compatible = "arm,cortex-a720ae";
229d1a1abecSDavid Hu			reg = <0x0 0x10000>;
230d1a1abecSDavid Hu			enable-method = "psci";
231d1a1abecSDavid Hu			i-cache-size = <0x10000>;
232d1a1abecSDavid Hu			i-cache-line-size = <0x40>;
233d1a1abecSDavid Hu			i-cache-sets = <0x100>;
234d1a1abecSDavid Hu			d-cache-size = <0x10000>;
235d1a1abecSDavid Hu			d-cache-line-size = <0x40>;
236d1a1abecSDavid Hu			d-cache-sets = <0x100>;
237b0a8c52eSAmr Mohamed			next-level-cache = <&CL1_L2_0>;
238b0a8c52eSAmr Mohamed			CL1_L2_0: l2-cache4 {
239b0a8c52eSAmr Mohamed				compatible = "cache";
240b0a8c52eSAmr Mohamed				cache-level = <0x02>;
241b0a8c52eSAmr Mohamed				/* 512KB */
242b0a8c52eSAmr Mohamed				cache-size = <0x80000>;
243b0a8c52eSAmr Mohamed				/* 64B */
244b0a8c52eSAmr Mohamed				cache-line-size = <0x40>;
245b0a8c52eSAmr Mohamed				/* 8-way set */
246b0a8c52eSAmr Mohamed				cache-sets = <0x400>;
247b0a8c52eSAmr Mohamed				next-level-cache = <&CL1_L3>;
248b0a8c52eSAmr Mohamed			};
249d1a1abecSDavid Hu		};
250d1a1abecSDavid Hu
251d1a1abecSDavid Hu		CPU5: cpu@10100 {
252d1a1abecSDavid Hu			device_type = "cpu";
253d1a1abecSDavid Hu			compatible = "arm,cortex-a720ae";
254d1a1abecSDavid Hu			reg = <0x0 0x10100>;
255d1a1abecSDavid Hu			enable-method = "psci";
256d1a1abecSDavid Hu			i-cache-size = <0x10000>;
257d1a1abecSDavid Hu			i-cache-line-size = <0x40>;
258d1a1abecSDavid Hu			i-cache-sets = <0x100>;
259d1a1abecSDavid Hu			d-cache-size = <0x10000>;
260d1a1abecSDavid Hu			d-cache-line-size = <0x40>;
261d1a1abecSDavid Hu			d-cache-sets = <0x100>;
262b0a8c52eSAmr Mohamed			next-level-cache = <&CL1_L2_1>;
263b0a8c52eSAmr Mohamed			CL1_L2_1: l2-cache5 {
264b0a8c52eSAmr Mohamed				compatible = "cache";
265b0a8c52eSAmr Mohamed				cache-level = <0x02>;
266b0a8c52eSAmr Mohamed				/* 512KB */
267b0a8c52eSAmr Mohamed				cache-size = <0x80000>;
268b0a8c52eSAmr Mohamed				/* 64B */
269b0a8c52eSAmr Mohamed				cache-line-size = <0x40>;
270b0a8c52eSAmr Mohamed				/* 8-way set */
271b0a8c52eSAmr Mohamed				cache-sets = <0x400>;
272b0a8c52eSAmr Mohamed				next-level-cache = <&CL1_L3>;
273b0a8c52eSAmr Mohamed			};
274d1a1abecSDavid Hu		};
275d1a1abecSDavid Hu
276d1a1abecSDavid Hu		CPU6: cpu@10200 {
277d1a1abecSDavid Hu			device_type = "cpu";
278d1a1abecSDavid Hu			compatible = "arm,cortex-a720ae";
279d1a1abecSDavid Hu			reg = <0x0 0x10200>;
280d1a1abecSDavid Hu			enable-method = "psci";
281d1a1abecSDavid Hu			i-cache-size = <0x10000>;
282d1a1abecSDavid Hu			i-cache-line-size = <0x40>;
283d1a1abecSDavid Hu			i-cache-sets = <0x100>;
284d1a1abecSDavid Hu			d-cache-size = <0x10000>;
285d1a1abecSDavid Hu			d-cache-line-size = <0x40>;
286d1a1abecSDavid Hu			d-cache-sets = <0x100>;
287b0a8c52eSAmr Mohamed			next-level-cache = <&CL1_L2_2>;
288b0a8c52eSAmr Mohamed			CL1_L2_2: l2-cache6 {
289b0a8c52eSAmr Mohamed				compatible = "cache";
290b0a8c52eSAmr Mohamed				cache-level = <0x02>;
291b0a8c52eSAmr Mohamed				/* 512KB */
292b0a8c52eSAmr Mohamed				cache-size = <0x80000>;
293b0a8c52eSAmr Mohamed				/* 64B */
294b0a8c52eSAmr Mohamed				cache-line-size = <0x40>;
295b0a8c52eSAmr Mohamed				/* 8-way set */
296b0a8c52eSAmr Mohamed				cache-sets = <0x400>;
297b0a8c52eSAmr Mohamed				next-level-cache = <&CL1_L3>;
298b0a8c52eSAmr Mohamed			};
299d1a1abecSDavid Hu		};
300d1a1abecSDavid Hu
301d1a1abecSDavid Hu		CPU7: cpu@10300 {
302d1a1abecSDavid Hu			device_type = "cpu";
303d1a1abecSDavid Hu			compatible = "arm,cortex-a720ae";
304d1a1abecSDavid Hu			reg = <0x0 0x10300>;
305d1a1abecSDavid Hu			enable-method = "psci";
306d1a1abecSDavid Hu			i-cache-size = <0x10000>;
307d1a1abecSDavid Hu			i-cache-line-size = <0x40>;
308d1a1abecSDavid Hu			i-cache-sets = <0x100>;
309d1a1abecSDavid Hu			d-cache-size = <0x10000>;
310d1a1abecSDavid Hu			d-cache-line-size = <0x40>;
311d1a1abecSDavid Hu			d-cache-sets = <0x100>;
312b0a8c52eSAmr Mohamed			next-level-cache = <&CL1_L2_3>;
313b0a8c52eSAmr Mohamed			CL1_L2_3: l2-cache7 {
314b0a8c52eSAmr Mohamed				compatible = "cache";
315b0a8c52eSAmr Mohamed				cache-level = <0x02>;
316b0a8c52eSAmr Mohamed				/* 512KB */
317b0a8c52eSAmr Mohamed				cache-size = <0x80000>;
318b0a8c52eSAmr Mohamed				/* 64B */
319b0a8c52eSAmr Mohamed				cache-line-size = <0x40>;
320b0a8c52eSAmr Mohamed				/* 8-way set */
321b0a8c52eSAmr Mohamed				cache-sets = <0x400>;
322b0a8c52eSAmr Mohamed				next-level-cache = <&CL1_L3>;
323b0a8c52eSAmr Mohamed			};
324d1a1abecSDavid Hu		};
325d1a1abecSDavid Hu
326d1a1abecSDavid Hu		CPU8: cpu@20000 {
327d1a1abecSDavid Hu			device_type = "cpu";
328d1a1abecSDavid Hu			compatible = "arm,cortex-a720ae";
329d1a1abecSDavid Hu			reg = <0x0 0x20000>;
330d1a1abecSDavid Hu			enable-method = "psci";
331d1a1abecSDavid Hu			i-cache-size = <0x10000>;
332d1a1abecSDavid Hu			i-cache-line-size = <0x40>;
333d1a1abecSDavid Hu			i-cache-sets = <0x100>;
334d1a1abecSDavid Hu			d-cache-size = <0x10000>;
335d1a1abecSDavid Hu			d-cache-line-size = <0x40>;
336d1a1abecSDavid Hu			d-cache-sets = <0x100>;
337b0a8c52eSAmr Mohamed			next-level-cache = <&CL2_L2_0>;
338b0a8c52eSAmr Mohamed			CL2_L2_0: l2-cache8 {
339b0a8c52eSAmr Mohamed				compatible = "cache";
340b0a8c52eSAmr Mohamed				cache-level = <0x02>;
341b0a8c52eSAmr Mohamed				/* 512KB */
342b0a8c52eSAmr Mohamed				cache-size = <0x80000>;
343b0a8c52eSAmr Mohamed				/* 64B */
344b0a8c52eSAmr Mohamed				cache-line-size = <0x40>;
345b0a8c52eSAmr Mohamed				/* 8-way set */
346b0a8c52eSAmr Mohamed				cache-sets = <0x400>;
347b0a8c52eSAmr Mohamed				next-level-cache = <&CL2_L3>;
348b0a8c52eSAmr Mohamed			};
349d1a1abecSDavid Hu		};
350d1a1abecSDavid Hu
351d1a1abecSDavid Hu		CPU9: cpu@20100 {
352d1a1abecSDavid Hu			device_type = "cpu";
353d1a1abecSDavid Hu			compatible = "arm,cortex-a720ae";
354d1a1abecSDavid Hu			reg = <0x0 0x20100>;
355d1a1abecSDavid Hu			enable-method = "psci";
356d1a1abecSDavid Hu			i-cache-size = <0x10000>;
357d1a1abecSDavid Hu			i-cache-line-size = <0x40>;
358d1a1abecSDavid Hu			i-cache-sets = <0x100>;
359d1a1abecSDavid Hu			d-cache-size = <0x10000>;
360d1a1abecSDavid Hu			d-cache-line-size = <0x40>;
361d1a1abecSDavid Hu			d-cache-sets = <0x100>;
362b0a8c52eSAmr Mohamed			next-level-cache = <&CL2_L2_1>;
363b0a8c52eSAmr Mohamed			CL2_L2_1: l2-cache9 {
364b0a8c52eSAmr Mohamed				compatible = "cache";
365b0a8c52eSAmr Mohamed				cache-level = <0x02>;
366b0a8c52eSAmr Mohamed				/* 512KB */
367b0a8c52eSAmr Mohamed				cache-size = <0x80000>;
368b0a8c52eSAmr Mohamed				/* 64B */
369b0a8c52eSAmr Mohamed				cache-line-size = <0x40>;
370b0a8c52eSAmr Mohamed				/* 8-way set */
371b0a8c52eSAmr Mohamed				cache-sets = <0x400>;
372b0a8c52eSAmr Mohamed				next-level-cache = <&CL2_L3>;
373b0a8c52eSAmr Mohamed			};
374d1a1abecSDavid Hu		};
375d1a1abecSDavid Hu
376d1a1abecSDavid Hu		CPU10: cpu@20200 {
377d1a1abecSDavid Hu			device_type = "cpu";
378d1a1abecSDavid Hu			compatible = "arm,cortex-a720ae";
379d1a1abecSDavid Hu			reg = <0x0 0x20200>;
380d1a1abecSDavid Hu			enable-method = "psci";
381d1a1abecSDavid Hu			i-cache-size = <0x10000>;
382d1a1abecSDavid Hu			i-cache-line-size = <0x40>;
383d1a1abecSDavid Hu			i-cache-sets = <0x100>;
384d1a1abecSDavid Hu			d-cache-size = <0x10000>;
385d1a1abecSDavid Hu			d-cache-line-size = <0x40>;
386d1a1abecSDavid Hu			d-cache-sets = <0x100>;
387b0a8c52eSAmr Mohamed			next-level-cache = <&CL2_L2_2>;
388b0a8c52eSAmr Mohamed			CL2_L2_2: l2-cache10 {
389b0a8c52eSAmr Mohamed				compatible = "cache";
390b0a8c52eSAmr Mohamed				cache-level = <0x02>;
391b0a8c52eSAmr Mohamed				/* 512KB */
392b0a8c52eSAmr Mohamed				cache-size = <0x80000>;
393b0a8c52eSAmr Mohamed				/* 64B */
394b0a8c52eSAmr Mohamed				cache-line-size = <0x40>;
395b0a8c52eSAmr Mohamed				/* 8-way set */
396b0a8c52eSAmr Mohamed				cache-sets = <0x400>;
397b0a8c52eSAmr Mohamed				next-level-cache = <&CL2_L3>;
398b0a8c52eSAmr Mohamed			};
399d1a1abecSDavid Hu		};
400d1a1abecSDavid Hu
401d1a1abecSDavid Hu		CPU11: cpu@20300 {
402d1a1abecSDavid Hu			device_type = "cpu";
403d1a1abecSDavid Hu			compatible = "arm,cortex-a720ae";
404d1a1abecSDavid Hu			reg = <0x0 0x20300>;
405d1a1abecSDavid Hu			enable-method = "psci";
406d1a1abecSDavid Hu			i-cache-size = <0x10000>;
407d1a1abecSDavid Hu			i-cache-line-size = <0x40>;
408d1a1abecSDavid Hu			i-cache-sets = <0x100>;
409d1a1abecSDavid Hu			d-cache-size = <0x10000>;
410d1a1abecSDavid Hu			d-cache-line-size = <0x40>;
411d1a1abecSDavid Hu			d-cache-sets = <0x100>;
412b0a8c52eSAmr Mohamed			next-level-cache = <&CL2_L2_3>;
413b0a8c52eSAmr Mohamed			CL2_L2_3: l2-cache11 {
414b0a8c52eSAmr Mohamed				compatible = "cache";
415b0a8c52eSAmr Mohamed				cache-level = <0x02>;
416b0a8c52eSAmr Mohamed				/* 512KB */
417b0a8c52eSAmr Mohamed				cache-size = <0x80000>;
418b0a8c52eSAmr Mohamed				/* 64B */
419b0a8c52eSAmr Mohamed				cache-line-size = <0x40>;
420b0a8c52eSAmr Mohamed				/* 8-way set */
421b0a8c52eSAmr Mohamed				cache-sets = <0x400>;
422b0a8c52eSAmr Mohamed				next-level-cache = <&CL2_L3>;
423b0a8c52eSAmr Mohamed			};
424d1a1abecSDavid Hu		};
425d1a1abecSDavid Hu
426d1a1abecSDavid Hu		CPU12: cpu@30000 {
427d1a1abecSDavid Hu			device_type = "cpu";
428d1a1abecSDavid Hu			compatible = "arm,cortex-a720ae";
429d1a1abecSDavid Hu			reg = <0x0 0x30000>;
430d1a1abecSDavid Hu			enable-method = "psci";
431d1a1abecSDavid Hu			i-cache-size = <0x10000>;
432d1a1abecSDavid Hu			i-cache-line-size = <0x40>;
433d1a1abecSDavid Hu			i-cache-sets = <0x100>;
434d1a1abecSDavid Hu			d-cache-size = <0x10000>;
435d1a1abecSDavid Hu			d-cache-line-size = <0x40>;
436d1a1abecSDavid Hu			d-cache-sets = <0x100>;
437b0a8c52eSAmr Mohamed			next-level-cache = <&CL3_L2_0>;
438b0a8c52eSAmr Mohamed			CL3_L2_0: l2-cache12 {
439b0a8c52eSAmr Mohamed				compatible = "cache";
440b0a8c52eSAmr Mohamed				cache-level = <0x02>;
441b0a8c52eSAmr Mohamed				/* 512KB */
442b0a8c52eSAmr Mohamed				cache-size = <0x80000>;
443b0a8c52eSAmr Mohamed				/* 64B */
444b0a8c52eSAmr Mohamed				cache-line-size = <0x40>;
445b0a8c52eSAmr Mohamed				/* 8-way set */
446b0a8c52eSAmr Mohamed				cache-sets = <0x400>;
447b0a8c52eSAmr Mohamed				next-level-cache = <&CL3_L3>;
448b0a8c52eSAmr Mohamed			};
449d1a1abecSDavid Hu		};
450d1a1abecSDavid Hu
451d1a1abecSDavid Hu		CPU13: cpu@30100 {
452d1a1abecSDavid Hu			device_type = "cpu";
453d1a1abecSDavid Hu			compatible = "arm,cortex-a720ae";
454d1a1abecSDavid Hu			reg = <0x0 0x30100>;
455d1a1abecSDavid Hu			enable-method = "psci";
456d1a1abecSDavid Hu			i-cache-size = <0x10000>;
457d1a1abecSDavid Hu			i-cache-line-size = <0x40>;
458d1a1abecSDavid Hu			i-cache-sets = <0x100>;
459d1a1abecSDavid Hu			d-cache-size = <0x10000>;
460d1a1abecSDavid Hu			d-cache-line-size = <0x40>;
461d1a1abecSDavid Hu			d-cache-sets = <0x100>;
462b0a8c52eSAmr Mohamed			next-level-cache = <&CL3_L2_1>;
463b0a8c52eSAmr Mohamed			CL3_L2_1: l2-cache13 {
464b0a8c52eSAmr Mohamed				compatible = "cache";
465b0a8c52eSAmr Mohamed				cache-level = <0x02>;
466b0a8c52eSAmr Mohamed				/* 512KB */
467b0a8c52eSAmr Mohamed				cache-size = <0x80000>;
468b0a8c52eSAmr Mohamed				/* 64B */
469b0a8c52eSAmr Mohamed				cache-line-size = <0x40>;
470b0a8c52eSAmr Mohamed				/* 8-way set */
471b0a8c52eSAmr Mohamed				cache-sets = <0x400>;
472b0a8c52eSAmr Mohamed				next-level-cache = <&CL3_L3>;
473b0a8c52eSAmr Mohamed			};
474d1a1abecSDavid Hu		};
475d1a1abecSDavid Hu
476d1a1abecSDavid Hu		CPU14: cpu@30200 {
477d1a1abecSDavid Hu			device_type = "cpu";
478d1a1abecSDavid Hu			compatible = "arm,cortex-a720ae";
479d1a1abecSDavid Hu			reg = <0x0 0x30200>;
480d1a1abecSDavid Hu			enable-method = "psci";
481d1a1abecSDavid Hu			i-cache-size = <0x10000>;
482d1a1abecSDavid Hu			i-cache-line-size = <0x40>;
483d1a1abecSDavid Hu			i-cache-sets = <0x100>;
484d1a1abecSDavid Hu			d-cache-size = <0x10000>;
485d1a1abecSDavid Hu			d-cache-line-size = <0x40>;
486d1a1abecSDavid Hu			d-cache-sets = <0x100>;
487b0a8c52eSAmr Mohamed			next-level-cache = <&CL3_L2_2>;
488b0a8c52eSAmr Mohamed			CL3_L2_2: l2-cache14 {
489b0a8c52eSAmr Mohamed				compatible = "cache";
490b0a8c52eSAmr Mohamed				cache-level = <0x02>;
491b0a8c52eSAmr Mohamed				/* 512KB */
492b0a8c52eSAmr Mohamed				cache-size = <0x80000>;
493b0a8c52eSAmr Mohamed				/* 64B */
494b0a8c52eSAmr Mohamed				cache-line-size = <0x40>;
495b0a8c52eSAmr Mohamed				/* 8-way set */
496b0a8c52eSAmr Mohamed				cache-sets = <0x400>;
497b0a8c52eSAmr Mohamed				next-level-cache = <&CL3_L3>;
498b0a8c52eSAmr Mohamed			};
499d1a1abecSDavid Hu		};
500d1a1abecSDavid Hu
501d1a1abecSDavid Hu		CPU15: cpu@30300 {
502d1a1abecSDavid Hu			device_type = "cpu";
503d1a1abecSDavid Hu			compatible = "arm,cortex-a720ae";
504d1a1abecSDavid Hu			reg = <0x0 0x30300>;
505d1a1abecSDavid Hu			enable-method = "psci";
506d1a1abecSDavid Hu			i-cache-size = <0x10000>;
507d1a1abecSDavid Hu			i-cache-line-size = <0x40>;
508d1a1abecSDavid Hu			i-cache-sets = <0x100>;
509d1a1abecSDavid Hu			d-cache-size = <0x10000>;
510d1a1abecSDavid Hu			d-cache-line-size = <0x40>;
511d1a1abecSDavid Hu			d-cache-sets = <0x100>;
512b0a8c52eSAmr Mohamed			next-level-cache = <&CL3_L2_3>;
513b0a8c52eSAmr Mohamed			CL3_L2_3: l2-cache15 {
514b0a8c52eSAmr Mohamed				compatible = "cache";
515b0a8c52eSAmr Mohamed				cache-level = <0x02>;
516b0a8c52eSAmr Mohamed				/* 512KB */
517b0a8c52eSAmr Mohamed				cache-size = <0x80000>;
518b0a8c52eSAmr Mohamed				/* 64B */
519b0a8c52eSAmr Mohamed				cache-line-size = <0x40>;
520b0a8c52eSAmr Mohamed				/* 8-way set */
521b0a8c52eSAmr Mohamed				cache-sets = <0x400>;
522b0a8c52eSAmr Mohamed				next-level-cache = <&CL3_L3>;
523d1a1abecSDavid Hu			};
524d1a1abecSDavid Hu		};
525b0a8c52eSAmr Mohamed	};
526b0a8c52eSAmr Mohamed
527b0a8c52eSAmr Mohamed	dsu-pmu-0 {
528b0a8c52eSAmr Mohamed		compatible = "arm,dsu-pmu";
529b0a8c52eSAmr Mohamed		cpus = <&CPU0>, <&CPU1>, <&CPU2>, <&CPU3>;
530b0a8c52eSAmr Mohamed		interrupts = <GIC_SPI 216 IRQ_TYPE_EDGE_RISING>;
531b0a8c52eSAmr Mohamed	};
532b0a8c52eSAmr Mohamed
533b0a8c52eSAmr Mohamed	dsu-pmu-1 {
534b0a8c52eSAmr Mohamed		compatible = "arm,dsu-pmu";
535b0a8c52eSAmr Mohamed		cpus = <&CPU4>, <&CPU5>, <&CPU6>, <&CPU7>;
536b0a8c52eSAmr Mohamed		interrupts = <GIC_SPI 217 IRQ_TYPE_EDGE_RISING>;
537b0a8c52eSAmr Mohamed	};
538b0a8c52eSAmr Mohamed
539b0a8c52eSAmr Mohamed	dsu-pmu-2 {
540b0a8c52eSAmr Mohamed		compatible = "arm,dsu-pmu";
541b0a8c52eSAmr Mohamed		cpus = <&CPU8>, <&CPU9>, <&CPU10>, <&CPU11>;
542b0a8c52eSAmr Mohamed		interrupts = <GIC_SPI 218 IRQ_TYPE_EDGE_RISING>;
543b0a8c52eSAmr Mohamed	};
544b0a8c52eSAmr Mohamed
545b0a8c52eSAmr Mohamed	dsu-pmu-3 {
546b0a8c52eSAmr Mohamed		compatible = "arm,dsu-pmu";
547b0a8c52eSAmr Mohamed		cpus = <&CPU12>, <&CPU13>, <&CPU14>, <&CPU15>;
548b0a8c52eSAmr Mohamed		interrupts = <GIC_SPI 219 IRQ_TYPE_EDGE_RISING>;
549b0a8c52eSAmr Mohamed	};
550d1a1abecSDavid Hu
551d1a1abecSDavid Hu	memory@80000000 {
552d1a1abecSDavid Hu		device_type = "memory";
553d1a1abecSDavid Hu
554d1a1abecSDavid Hu		/* Bank 0: start = 0x0000_0000_8000_0000, size = ~2 GiB (0x7F00_0000) */
555d1a1abecSDavid Hu		/* Bank 1: start = 0x0000_0200_0000_0000, size = 2 GiB  (0x8000_0000) */
556d1a1abecSDavid Hu		reg = <
557d1a1abecSDavid Hu			0x00000000  0x80000000  0x00000000  0x7F000000
558d1a1abecSDavid Hu			0x00000200  0x00000000  0x00000000  0x80000000
559d1a1abecSDavid Hu		>;
560d1a1abecSDavid Hu	};
561d1a1abecSDavid Hu
562d1a1abecSDavid Hu	timer {
563d1a1abecSDavid Hu		compatible = "arm,armv8-timer";
564d1a1abecSDavid Hu		interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>,
565d1a1abecSDavid Hu			<GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>,
566d1a1abecSDavid Hu			<GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>,
567d1a1abecSDavid Hu			<GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>,
568d1a1abecSDavid Hu			<GIC_PPI 12 IRQ_TYPE_LEVEL_LOW>;
569d1a1abecSDavid Hu	};
570d1a1abecSDavid Hu
571d1a1abecSDavid Hu	soc_clk24mhz: clk24mhz {
572d1a1abecSDavid Hu		compatible = "fixed-clock";
573d1a1abecSDavid Hu		#clock-cells = <0>;
574d1a1abecSDavid Hu		clock-frequency = <24000000>;
575d1a1abecSDavid Hu		clock-output-names = "refclk24mhz";
576d1a1abecSDavid Hu	};
577d1a1abecSDavid Hu
578d1a1abecSDavid Hu	soc {
579d1a1abecSDavid Hu		compatible = "simple-bus";
580d1a1abecSDavid Hu		#address-cells = <2>;
581d1a1abecSDavid Hu		#size-cells = <2>;
582d1a1abecSDavid Hu		ranges;
583d1a1abecSDavid Hu
584d1a1abecSDavid Hu		timer@1a810000 {
585d1a1abecSDavid Hu			compatible = "arm,armv7-timer-mem";
586d1a1abecSDavid Hu			reg = <0x0 0x1a810000 0 0x10000>;
587*6fb6bee1SAhmed Azeem			#address-cells = <1>;
588*6fb6bee1SAhmed Azeem			#size-cells = <1>;
589*6fb6bee1SAhmed Azeem			/* Map child space [0x0..0x30000) to parent @ 0x1a810000 */
590*6fb6bee1SAhmed Azeem			ranges = <0x0 0x0 0x1a810000 0x00030000>;
591d1a1abecSDavid Hu
592*6fb6bee1SAhmed Azeem			frame@20000 {
593d1a1abecSDavid Hu				frame-number = <1>;
594d1a1abecSDavid Hu				interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
595*6fb6bee1SAhmed Azeem				reg = <0x20000 0x10000>;
596d1a1abecSDavid Hu			};
597d1a1abecSDavid Hu		};
598d1a1abecSDavid Hu
599d1a1abecSDavid Hu		gic: interrupt-controller@20000000 {
600d1a1abecSDavid Hu			compatible = "arm,gic-v3";
601d1a1abecSDavid Hu			reg = <0x0 0x20000000 0x0 0x10000>,    /* GICD */
602d1a1abecSDavid Hu			      <0x0 0x200c0000 0x0 0x400000>;   /* 16 * GICR */
603d1a1abecSDavid Hu			#interrupt-cells = <3>;
604d1a1abecSDavid Hu			#address-cells = <2>;
605d1a1abecSDavid Hu			#size-cells = <2>;
606d1a1abecSDavid Hu			ranges;
607d1a1abecSDavid Hu			interrupt-controller;
608d1a1abecSDavid Hu			interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
609d1a1abecSDavid Hu
610d1a1abecSDavid Hu			its1: msi-controller@20040000 {
611d1a1abecSDavid Hu				compatible = "arm,gic-v3-its";
612d1a1abecSDavid Hu				reg = <0x0 0x20040000 0x0 0x40000>;
613d1a1abecSDavid Hu				msi-controller;
614d1a1abecSDavid Hu				#msi-cells = <1>;
615d1a1abecSDavid Hu			};
616d1a1abecSDavid Hu			its2: msi-controller@20080000 {
617d1a1abecSDavid Hu				compatible = "arm,gic-v3-its";
618d1a1abecSDavid Hu				reg = <0x0 0x20080000 0x0 0x40000>;
619d1a1abecSDavid Hu				msi-controller;
620d1a1abecSDavid Hu				#msi-cells = <1>;
621d1a1abecSDavid Hu			};
622d1a1abecSDavid Hu		};
623d1a1abecSDavid Hu
624d1a1abecSDavid Hu		/* UART is fixed as 24MHz, both UARTCLK and PCLK */
625d1a1abecSDavid Hu		soc_serial0: serial@1a400000 {
626d1a1abecSDavid Hu			compatible = "arm,pl011", "arm,primecell";
627d1a1abecSDavid Hu			reg = <0x0 0x1a400000 0x0 0x10000>;
628d1a1abecSDavid Hu			interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
629d1a1abecSDavid Hu			clocks = <&soc_clk24mhz>, <&soc_clk24mhz>;
630d1a1abecSDavid Hu			clock-names = "uartclk", "apb_pclk";
631d1a1abecSDavid Hu		};
632d1a1abecSDavid Hu
633d1a1abecSDavid Hu		watchdog@1a420000 {
634d1a1abecSDavid Hu			compatible = "arm,sbsa-gwdt";
635d1a1abecSDavid Hu			reg = <0x0 0x1a420000 0x0 0x10000>,
636d1a1abecSDavid Hu			      <0x0 0x1a430000 0x0 0x10000>;
637d1a1abecSDavid Hu			interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
638d1a1abecSDavid Hu		};
639d1a1abecSDavid Hu
640d1a1abecSDavid Hu		rtc@300d0000 {
641d1a1abecSDavid Hu			compatible = "arm,pl031", "arm,primecell";
642d1a1abecSDavid Hu			reg = <0x0 0x300d0000 0x0 0x10000>;
643d1a1abecSDavid Hu			interrupts = <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>;
644d1a1abecSDavid Hu			clocks = <&soc_clk24mhz>;
645d1a1abecSDavid Hu			clock-names = "apb_pclk";
646d1a1abecSDavid Hu		};
647d1a1abecSDavid Hu
648d1a1abecSDavid Hu		virtio-net@30060000 {
649d1a1abecSDavid Hu			compatible = "virtio,mmio";
650d1a1abecSDavid Hu			reg = <0x0 0x30060000 0x0 0x10000>;
651d1a1abecSDavid Hu			interrupts = <GIC_SPI 261 IRQ_TYPE_LEVEL_HIGH>;
652d1a1abecSDavid Hu		};
653d1a1abecSDavid Hu
654d1a1abecSDavid Hu		/* OS storage */
655d1a1abecSDavid Hu		virtio-block@30020000 {
656d1a1abecSDavid Hu			compatible = "virtio,mmio";
657d1a1abecSDavid Hu			reg = <0x0 0x30020000 0x0 0x10000>;
658d1a1abecSDavid Hu			interrupts = <GIC_SPI 257 IRQ_TYPE_LEVEL_HIGH>;
659d1a1abecSDavid Hu		};
660d1a1abecSDavid Hu
661d1a1abecSDavid Hu		/* Distro installation media */
662d1a1abecSDavid Hu		virtio-block@30030000 {
663d1a1abecSDavid Hu			compatible = "virtio,mmio";
664d1a1abecSDavid Hu			reg = <0x0 0x30030000 0x0 0x10000>;
665d1a1abecSDavid Hu			interrupts = <GIC_SPI 258 IRQ_TYPE_LEVEL_HIGH>;
666d1a1abecSDavid Hu		};
667d1a1abecSDavid Hu
668d1a1abecSDavid Hu		/* SystemReady ACS validation media */
669d1a1abecSDavid Hu		virtio-block@30040000 {
670d1a1abecSDavid Hu			compatible = "virtio,mmio";
671d1a1abecSDavid Hu			reg = <0x0 0x30040000 0x0 0x10000>;
672d1a1abecSDavid Hu			interrupts = <GIC_SPI 259 IRQ_TYPE_LEVEL_HIGH>;
673d1a1abecSDavid Hu		};
674d1a1abecSDavid Hu
675d1a1abecSDavid Hu		/* User data media */
676d1a1abecSDavid Hu		virtio-block@30050000 {
677d1a1abecSDavid Hu			compatible = "virtio,mmio";
678d1a1abecSDavid Hu			reg = <0x0 0x30050000 0x0 0x10000>;
679d1a1abecSDavid Hu			interrupts = <GIC_SPI 260 IRQ_TYPE_LEVEL_HIGH>;
680d1a1abecSDavid Hu		};
681d1a1abecSDavid Hu
682d1a1abecSDavid Hu		virtio-rng@30080000 {
683d1a1abecSDavid Hu			compatible = "virtio,mmio";
684d1a1abecSDavid Hu			reg = <0x0 0x30080000 0x0 0x10000>;
685d1a1abecSDavid Hu			interrupts = <GIC_SPI 263 IRQ_TYPE_LEVEL_HIGH>;
686d1a1abecSDavid Hu		};
687d1a1abecSDavid Hu
688d1a1abecSDavid Hu	};
689d1a1abecSDavid Hu
690d1a1abecSDavid Hu	psci {
691d1a1abecSDavid Hu		compatible = "arm,psci-1.0", "arm,psci-0.2", "arm,psci";
692d1a1abecSDavid Hu		method = "smc";
693d1a1abecSDavid Hu		cpu_suspend = <0xc4000001>;
694d1a1abecSDavid Hu		cpu_off = <0x84000002>;
695d1a1abecSDavid Hu		cpu_on = <0xc4000003>;
696d1a1abecSDavid Hu	};
697d1a1abecSDavid Hu
698d1a1abecSDavid Hu};
699