xref: /rk3399_ARM-atf/fdts/rdaspen.dts (revision b0a8c52e362f4619498fe50e138520067854fac9)
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 */
27*b0a8c52eSAmr Mohamed		cpu-map {
28*b0a8c52eSAmr Mohamed			cluster0 {
29*b0a8c52eSAmr Mohamed				core0 {
30*b0a8c52eSAmr Mohamed					cpu = <&CPU0>;
31*b0a8c52eSAmr Mohamed				};
32*b0a8c52eSAmr Mohamed				core1 {
33*b0a8c52eSAmr Mohamed					cpu = <&CPU1>;
34*b0a8c52eSAmr Mohamed				};
35*b0a8c52eSAmr Mohamed				core2 {
36*b0a8c52eSAmr Mohamed					cpu = <&CPU2>;
37*b0a8c52eSAmr Mohamed				};
38*b0a8c52eSAmr Mohamed				core3 {
39*b0a8c52eSAmr Mohamed					cpu = <&CPU3>;
40*b0a8c52eSAmr Mohamed				};
41*b0a8c52eSAmr Mohamed				CL0_L3: l3-cache0 {
42*b0a8c52eSAmr Mohamed					compatible = "arm,dsu-l3-cache", "cache";
43*b0a8c52eSAmr Mohamed					cache-level = <0x03>;
44*b0a8c52eSAmr Mohamed					/* 4MB */
45*b0a8c52eSAmr Mohamed					cache-size = <0x400000>;
46*b0a8c52eSAmr Mohamed					/* 64B */
47*b0a8c52eSAmr Mohamed					cache-line-size = <0x40>;
48*b0a8c52eSAmr Mohamed					/* 16-way set */
49*b0a8c52eSAmr Mohamed					cache-sets = <0x1000>;
50*b0a8c52eSAmr Mohamed				};
51*b0a8c52eSAmr Mohamed			};
52*b0a8c52eSAmr Mohamed			cluster1 {
53*b0a8c52eSAmr Mohamed				core0 {
54*b0a8c52eSAmr Mohamed					cpu = <&CPU4>;
55*b0a8c52eSAmr Mohamed				};
56*b0a8c52eSAmr Mohamed				core1 {
57*b0a8c52eSAmr Mohamed					cpu = <&CPU5>;
58*b0a8c52eSAmr Mohamed				};
59*b0a8c52eSAmr Mohamed				core2 {
60*b0a8c52eSAmr Mohamed					cpu = <&CPU6>;
61*b0a8c52eSAmr Mohamed				};
62*b0a8c52eSAmr Mohamed				core3 {
63*b0a8c52eSAmr Mohamed					cpu = <&CPU7>;
64*b0a8c52eSAmr Mohamed				};
65*b0a8c52eSAmr Mohamed				CL1_L3: l3-cache1 {
66*b0a8c52eSAmr Mohamed					compatible = "arm,dsu-l3-cache", "cache";
67*b0a8c52eSAmr Mohamed					cache-level = <0x03>;
68*b0a8c52eSAmr Mohamed					/* 4MB */
69*b0a8c52eSAmr Mohamed					cache-size = <0x400000>;
70*b0a8c52eSAmr Mohamed					/* 64B */
71*b0a8c52eSAmr Mohamed					cache-line-size = <0x40>;
72*b0a8c52eSAmr Mohamed					/* 16-way set */
73*b0a8c52eSAmr Mohamed					cache-sets = <0x1000>;
74*b0a8c52eSAmr Mohamed				};
75*b0a8c52eSAmr Mohamed			};
76*b0a8c52eSAmr Mohamed			cluster2 {
77*b0a8c52eSAmr Mohamed				core0 {
78*b0a8c52eSAmr Mohamed					cpu = <&CPU8>;
79*b0a8c52eSAmr Mohamed				};
80*b0a8c52eSAmr Mohamed				core1 {
81*b0a8c52eSAmr Mohamed					cpu = <&CPU9>;
82*b0a8c52eSAmr Mohamed				};
83*b0a8c52eSAmr Mohamed				core2 {
84*b0a8c52eSAmr Mohamed					cpu = <&CPU10>;
85*b0a8c52eSAmr Mohamed				};
86*b0a8c52eSAmr Mohamed				core3 {
87*b0a8c52eSAmr Mohamed					cpu = <&CPU11>;
88*b0a8c52eSAmr Mohamed				};
89*b0a8c52eSAmr Mohamed				CL2_L3: l3-cache2 {
90*b0a8c52eSAmr Mohamed					compatible = "arm,dsu-l3-cache", "cache";
91*b0a8c52eSAmr Mohamed					cache-level = <0x03>;
92*b0a8c52eSAmr Mohamed					/* 4MB */
93*b0a8c52eSAmr Mohamed					cache-size = <0x400000>;
94*b0a8c52eSAmr Mohamed					/* 64B */
95*b0a8c52eSAmr Mohamed					cache-line-size = <0x40>;
96*b0a8c52eSAmr Mohamed					/* 16-way set */
97*b0a8c52eSAmr Mohamed					cache-sets = <0x1000>;
98*b0a8c52eSAmr Mohamed				};
99*b0a8c52eSAmr Mohamed			};
100*b0a8c52eSAmr Mohamed			cluster3 {
101*b0a8c52eSAmr Mohamed				core0 {
102*b0a8c52eSAmr Mohamed					cpu = <&CPU12>;
103*b0a8c52eSAmr Mohamed				};
104*b0a8c52eSAmr Mohamed				core1 {
105*b0a8c52eSAmr Mohamed					cpu = <&CPU13>;
106*b0a8c52eSAmr Mohamed				};
107*b0a8c52eSAmr Mohamed				core2 {
108*b0a8c52eSAmr Mohamed					cpu = <&CPU14>;
109*b0a8c52eSAmr Mohamed				};
110*b0a8c52eSAmr Mohamed				core3 {
111*b0a8c52eSAmr Mohamed					cpu = <&CPU15>;
112*b0a8c52eSAmr Mohamed				};
113*b0a8c52eSAmr Mohamed				CL3_L3: l3-cache3 {
114*b0a8c52eSAmr Mohamed					compatible = "arm,dsu-l3-cache", "cache";
115*b0a8c52eSAmr Mohamed					cache-level = <0x03>;
116*b0a8c52eSAmr Mohamed					/* 4MB */
117*b0a8c52eSAmr Mohamed					cache-size = <0x400000>;
118*b0a8c52eSAmr Mohamed					/* 64B */
119*b0a8c52eSAmr Mohamed					cache-line-size = <0x40>;
120*b0a8c52eSAmr Mohamed					/* 16-way set */
121*b0a8c52eSAmr Mohamed					cache-sets = <0x1000>;
122*b0a8c52eSAmr Mohamed				};
123*b0a8c52eSAmr Mohamed			};
124*b0a8c52eSAmr Mohamed		};
125*b0a8c52eSAmr 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>;
137*b0a8c52eSAmr Mohamed			next-level-cache = <&CL0_L2_0>;
138*b0a8c52eSAmr Mohamed			CL0_L2_0: l2-cache0 {
139*b0a8c52eSAmr Mohamed				compatible = "cache";
140*b0a8c52eSAmr Mohamed				cache-level = <0x02>;
141*b0a8c52eSAmr Mohamed				/* 512KB */
142*b0a8c52eSAmr Mohamed				cache-size = <0x80000>;
143*b0a8c52eSAmr Mohamed				/* 64B */
144*b0a8c52eSAmr Mohamed				cache-line-size = <0x40>;
145*b0a8c52eSAmr Mohamed				/* 8-way set */
146*b0a8c52eSAmr Mohamed				cache-sets = <0x400>;
147*b0a8c52eSAmr Mohamed				next-level-cache = <&CL0_L3>;
148*b0a8c52eSAmr 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>;
162*b0a8c52eSAmr Mohamed			next-level-cache = <&CL0_L2_1>;
163*b0a8c52eSAmr Mohamed			CL0_L2_1: l2-cache1 {
164*b0a8c52eSAmr Mohamed				compatible = "cache";
165*b0a8c52eSAmr Mohamed				cache-level = <0x02>;
166*b0a8c52eSAmr Mohamed				/* 512KB */
167*b0a8c52eSAmr Mohamed				cache-size = <0x80000>;
168*b0a8c52eSAmr Mohamed				/* 64B */
169*b0a8c52eSAmr Mohamed				cache-line-size = <0x40>;
170*b0a8c52eSAmr Mohamed				/* 8-way set */
171*b0a8c52eSAmr Mohamed				cache-sets = <0x400>;
172*b0a8c52eSAmr Mohamed				next-level-cache = <&CL0_L3>;
173*b0a8c52eSAmr 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>;
187*b0a8c52eSAmr Mohamed			next-level-cache = <&CL0_L2_2>;
188*b0a8c52eSAmr Mohamed			CL0_L2_2: l2-cache2 {
189*b0a8c52eSAmr Mohamed				compatible = "cache";
190*b0a8c52eSAmr Mohamed				cache-level = <0x02>;
191*b0a8c52eSAmr Mohamed				/* 512KB */
192*b0a8c52eSAmr Mohamed				cache-size = <0x80000>;
193*b0a8c52eSAmr Mohamed				/* 64B */
194*b0a8c52eSAmr Mohamed				cache-line-size = <0x40>;
195*b0a8c52eSAmr Mohamed				/* 8-way set */
196*b0a8c52eSAmr Mohamed				cache-sets = <0x400>;
197*b0a8c52eSAmr Mohamed				next-level-cache = <&CL0_L3>;
198*b0a8c52eSAmr 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>;
212*b0a8c52eSAmr Mohamed			next-level-cache = <&CL0_L2_3>;
213*b0a8c52eSAmr Mohamed			CL0_L2_3: l2-cache3 {
214*b0a8c52eSAmr Mohamed				compatible = "cache";
215*b0a8c52eSAmr Mohamed				cache-level = <0x02>;
216*b0a8c52eSAmr Mohamed				/* 512KB */
217*b0a8c52eSAmr Mohamed				cache-size = <0x80000>;
218*b0a8c52eSAmr Mohamed				/* 64B */
219*b0a8c52eSAmr Mohamed				cache-line-size = <0x40>;
220*b0a8c52eSAmr Mohamed				/* 8-way set */
221*b0a8c52eSAmr Mohamed				cache-sets = <0x400>;
222*b0a8c52eSAmr Mohamed				next-level-cache = <&CL0_L3>;
223*b0a8c52eSAmr 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>;
237*b0a8c52eSAmr Mohamed			next-level-cache = <&CL1_L2_0>;
238*b0a8c52eSAmr Mohamed			CL1_L2_0: l2-cache4 {
239*b0a8c52eSAmr Mohamed				compatible = "cache";
240*b0a8c52eSAmr Mohamed				cache-level = <0x02>;
241*b0a8c52eSAmr Mohamed				/* 512KB */
242*b0a8c52eSAmr Mohamed				cache-size = <0x80000>;
243*b0a8c52eSAmr Mohamed				/* 64B */
244*b0a8c52eSAmr Mohamed				cache-line-size = <0x40>;
245*b0a8c52eSAmr Mohamed				/* 8-way set */
246*b0a8c52eSAmr Mohamed				cache-sets = <0x400>;
247*b0a8c52eSAmr Mohamed				next-level-cache = <&CL1_L3>;
248*b0a8c52eSAmr 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>;
262*b0a8c52eSAmr Mohamed			next-level-cache = <&CL1_L2_1>;
263*b0a8c52eSAmr Mohamed			CL1_L2_1: l2-cache5 {
264*b0a8c52eSAmr Mohamed				compatible = "cache";
265*b0a8c52eSAmr Mohamed				cache-level = <0x02>;
266*b0a8c52eSAmr Mohamed				/* 512KB */
267*b0a8c52eSAmr Mohamed				cache-size = <0x80000>;
268*b0a8c52eSAmr Mohamed				/* 64B */
269*b0a8c52eSAmr Mohamed				cache-line-size = <0x40>;
270*b0a8c52eSAmr Mohamed				/* 8-way set */
271*b0a8c52eSAmr Mohamed				cache-sets = <0x400>;
272*b0a8c52eSAmr Mohamed				next-level-cache = <&CL1_L3>;
273*b0a8c52eSAmr 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>;
287*b0a8c52eSAmr Mohamed			next-level-cache = <&CL1_L2_2>;
288*b0a8c52eSAmr Mohamed			CL1_L2_2: l2-cache6 {
289*b0a8c52eSAmr Mohamed				compatible = "cache";
290*b0a8c52eSAmr Mohamed				cache-level = <0x02>;
291*b0a8c52eSAmr Mohamed				/* 512KB */
292*b0a8c52eSAmr Mohamed				cache-size = <0x80000>;
293*b0a8c52eSAmr Mohamed				/* 64B */
294*b0a8c52eSAmr Mohamed				cache-line-size = <0x40>;
295*b0a8c52eSAmr Mohamed				/* 8-way set */
296*b0a8c52eSAmr Mohamed				cache-sets = <0x400>;
297*b0a8c52eSAmr Mohamed				next-level-cache = <&CL1_L3>;
298*b0a8c52eSAmr 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>;
312*b0a8c52eSAmr Mohamed			next-level-cache = <&CL1_L2_3>;
313*b0a8c52eSAmr Mohamed			CL1_L2_3: l2-cache7 {
314*b0a8c52eSAmr Mohamed				compatible = "cache";
315*b0a8c52eSAmr Mohamed				cache-level = <0x02>;
316*b0a8c52eSAmr Mohamed				/* 512KB */
317*b0a8c52eSAmr Mohamed				cache-size = <0x80000>;
318*b0a8c52eSAmr Mohamed				/* 64B */
319*b0a8c52eSAmr Mohamed				cache-line-size = <0x40>;
320*b0a8c52eSAmr Mohamed				/* 8-way set */
321*b0a8c52eSAmr Mohamed				cache-sets = <0x400>;
322*b0a8c52eSAmr Mohamed				next-level-cache = <&CL1_L3>;
323*b0a8c52eSAmr 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>;
337*b0a8c52eSAmr Mohamed			next-level-cache = <&CL2_L2_0>;
338*b0a8c52eSAmr Mohamed			CL2_L2_0: l2-cache8 {
339*b0a8c52eSAmr Mohamed				compatible = "cache";
340*b0a8c52eSAmr Mohamed				cache-level = <0x02>;
341*b0a8c52eSAmr Mohamed				/* 512KB */
342*b0a8c52eSAmr Mohamed				cache-size = <0x80000>;
343*b0a8c52eSAmr Mohamed				/* 64B */
344*b0a8c52eSAmr Mohamed				cache-line-size = <0x40>;
345*b0a8c52eSAmr Mohamed				/* 8-way set */
346*b0a8c52eSAmr Mohamed				cache-sets = <0x400>;
347*b0a8c52eSAmr Mohamed				next-level-cache = <&CL2_L3>;
348*b0a8c52eSAmr 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>;
362*b0a8c52eSAmr Mohamed			next-level-cache = <&CL2_L2_1>;
363*b0a8c52eSAmr Mohamed			CL2_L2_1: l2-cache9 {
364*b0a8c52eSAmr Mohamed				compatible = "cache";
365*b0a8c52eSAmr Mohamed				cache-level = <0x02>;
366*b0a8c52eSAmr Mohamed				/* 512KB */
367*b0a8c52eSAmr Mohamed				cache-size = <0x80000>;
368*b0a8c52eSAmr Mohamed				/* 64B */
369*b0a8c52eSAmr Mohamed				cache-line-size = <0x40>;
370*b0a8c52eSAmr Mohamed				/* 8-way set */
371*b0a8c52eSAmr Mohamed				cache-sets = <0x400>;
372*b0a8c52eSAmr Mohamed				next-level-cache = <&CL2_L3>;
373*b0a8c52eSAmr 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>;
387*b0a8c52eSAmr Mohamed			next-level-cache = <&CL2_L2_2>;
388*b0a8c52eSAmr Mohamed			CL2_L2_2: l2-cache10 {
389*b0a8c52eSAmr Mohamed				compatible = "cache";
390*b0a8c52eSAmr Mohamed				cache-level = <0x02>;
391*b0a8c52eSAmr Mohamed				/* 512KB */
392*b0a8c52eSAmr Mohamed				cache-size = <0x80000>;
393*b0a8c52eSAmr Mohamed				/* 64B */
394*b0a8c52eSAmr Mohamed				cache-line-size = <0x40>;
395*b0a8c52eSAmr Mohamed				/* 8-way set */
396*b0a8c52eSAmr Mohamed				cache-sets = <0x400>;
397*b0a8c52eSAmr Mohamed				next-level-cache = <&CL2_L3>;
398*b0a8c52eSAmr 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>;
412*b0a8c52eSAmr Mohamed			next-level-cache = <&CL2_L2_3>;
413*b0a8c52eSAmr Mohamed			CL2_L2_3: l2-cache11 {
414*b0a8c52eSAmr Mohamed				compatible = "cache";
415*b0a8c52eSAmr Mohamed				cache-level = <0x02>;
416*b0a8c52eSAmr Mohamed				/* 512KB */
417*b0a8c52eSAmr Mohamed				cache-size = <0x80000>;
418*b0a8c52eSAmr Mohamed				/* 64B */
419*b0a8c52eSAmr Mohamed				cache-line-size = <0x40>;
420*b0a8c52eSAmr Mohamed				/* 8-way set */
421*b0a8c52eSAmr Mohamed				cache-sets = <0x400>;
422*b0a8c52eSAmr Mohamed				next-level-cache = <&CL2_L3>;
423*b0a8c52eSAmr 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>;
437*b0a8c52eSAmr Mohamed			next-level-cache = <&CL3_L2_0>;
438*b0a8c52eSAmr Mohamed			CL3_L2_0: l2-cache12 {
439*b0a8c52eSAmr Mohamed				compatible = "cache";
440*b0a8c52eSAmr Mohamed				cache-level = <0x02>;
441*b0a8c52eSAmr Mohamed				/* 512KB */
442*b0a8c52eSAmr Mohamed				cache-size = <0x80000>;
443*b0a8c52eSAmr Mohamed				/* 64B */
444*b0a8c52eSAmr Mohamed				cache-line-size = <0x40>;
445*b0a8c52eSAmr Mohamed				/* 8-way set */
446*b0a8c52eSAmr Mohamed				cache-sets = <0x400>;
447*b0a8c52eSAmr Mohamed				next-level-cache = <&CL3_L3>;
448*b0a8c52eSAmr 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>;
462*b0a8c52eSAmr Mohamed			next-level-cache = <&CL3_L2_1>;
463*b0a8c52eSAmr Mohamed			CL3_L2_1: l2-cache13 {
464*b0a8c52eSAmr Mohamed				compatible = "cache";
465*b0a8c52eSAmr Mohamed				cache-level = <0x02>;
466*b0a8c52eSAmr Mohamed				/* 512KB */
467*b0a8c52eSAmr Mohamed				cache-size = <0x80000>;
468*b0a8c52eSAmr Mohamed				/* 64B */
469*b0a8c52eSAmr Mohamed				cache-line-size = <0x40>;
470*b0a8c52eSAmr Mohamed				/* 8-way set */
471*b0a8c52eSAmr Mohamed				cache-sets = <0x400>;
472*b0a8c52eSAmr Mohamed				next-level-cache = <&CL3_L3>;
473*b0a8c52eSAmr 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>;
487*b0a8c52eSAmr Mohamed			next-level-cache = <&CL3_L2_2>;
488*b0a8c52eSAmr Mohamed			CL3_L2_2: l2-cache14 {
489*b0a8c52eSAmr Mohamed				compatible = "cache";
490*b0a8c52eSAmr Mohamed				cache-level = <0x02>;
491*b0a8c52eSAmr Mohamed				/* 512KB */
492*b0a8c52eSAmr Mohamed				cache-size = <0x80000>;
493*b0a8c52eSAmr Mohamed				/* 64B */
494*b0a8c52eSAmr Mohamed				cache-line-size = <0x40>;
495*b0a8c52eSAmr Mohamed				/* 8-way set */
496*b0a8c52eSAmr Mohamed				cache-sets = <0x400>;
497*b0a8c52eSAmr Mohamed				next-level-cache = <&CL3_L3>;
498*b0a8c52eSAmr 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>;
512*b0a8c52eSAmr Mohamed			next-level-cache = <&CL3_L2_3>;
513*b0a8c52eSAmr Mohamed			CL3_L2_3: l2-cache15 {
514*b0a8c52eSAmr Mohamed				compatible = "cache";
515*b0a8c52eSAmr Mohamed				cache-level = <0x02>;
516*b0a8c52eSAmr Mohamed				/* 512KB */
517*b0a8c52eSAmr Mohamed				cache-size = <0x80000>;
518*b0a8c52eSAmr Mohamed				/* 64B */
519*b0a8c52eSAmr Mohamed				cache-line-size = <0x40>;
520*b0a8c52eSAmr Mohamed				/* 8-way set */
521*b0a8c52eSAmr Mohamed				cache-sets = <0x400>;
522*b0a8c52eSAmr Mohamed				next-level-cache = <&CL3_L3>;
523d1a1abecSDavid Hu			};
524d1a1abecSDavid Hu		};
525*b0a8c52eSAmr Mohamed	};
526*b0a8c52eSAmr Mohamed
527*b0a8c52eSAmr Mohamed	dsu-pmu-0 {
528*b0a8c52eSAmr Mohamed		compatible = "arm,dsu-pmu";
529*b0a8c52eSAmr Mohamed		cpus = <&CPU0>, <&CPU1>, <&CPU2>, <&CPU3>;
530*b0a8c52eSAmr Mohamed		interrupts = <GIC_SPI 216 IRQ_TYPE_EDGE_RISING>;
531*b0a8c52eSAmr Mohamed	};
532*b0a8c52eSAmr Mohamed
533*b0a8c52eSAmr Mohamed	dsu-pmu-1 {
534*b0a8c52eSAmr Mohamed		compatible = "arm,dsu-pmu";
535*b0a8c52eSAmr Mohamed		cpus = <&CPU4>, <&CPU5>, <&CPU6>, <&CPU7>;
536*b0a8c52eSAmr Mohamed		interrupts = <GIC_SPI 217 IRQ_TYPE_EDGE_RISING>;
537*b0a8c52eSAmr Mohamed	};
538*b0a8c52eSAmr Mohamed
539*b0a8c52eSAmr Mohamed	dsu-pmu-2 {
540*b0a8c52eSAmr Mohamed		compatible = "arm,dsu-pmu";
541*b0a8c52eSAmr Mohamed		cpus = <&CPU8>, <&CPU9>, <&CPU10>, <&CPU11>;
542*b0a8c52eSAmr Mohamed		interrupts = <GIC_SPI 218 IRQ_TYPE_EDGE_RISING>;
543*b0a8c52eSAmr Mohamed	};
544*b0a8c52eSAmr Mohamed
545*b0a8c52eSAmr Mohamed	dsu-pmu-3 {
546*b0a8c52eSAmr Mohamed		compatible = "arm,dsu-pmu";
547*b0a8c52eSAmr Mohamed		cpus = <&CPU12>, <&CPU13>, <&CPU14>, <&CPU15>;
548*b0a8c52eSAmr Mohamed		interrupts = <GIC_SPI 219 IRQ_TYPE_EDGE_RISING>;
549*b0a8c52eSAmr 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>;
587d1a1abecSDavid Hu			#address-cells = <2>;
588d1a1abecSDavid Hu			#size-cells = <2>;
589d1a1abecSDavid Hu			clock-frequency = <125000000>;
590d1a1abecSDavid Hu			ranges;
591d1a1abecSDavid Hu
592d1a1abecSDavid Hu			frame@1a830000 {
593d1a1abecSDavid Hu				frame-number = <1>;
594d1a1abecSDavid Hu				interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
595d1a1abecSDavid Hu				reg = <0x0 0x1a830000 0x0 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