xref: /rk3399_ARM-atf/fdts/rdaspen-defs.dtsi (revision c076475173c067cdfb7d6dd26657a49eef22cf21)
1*b666f0a1SAmr Mohamed/*
2*b666f0a1SAmr Mohamed * Copyright (c) 2025, Arm Limited. All rights reserved.
3*b666f0a1SAmr Mohamed *
4*b666f0a1SAmr Mohamed * SPDX-License-Identifier: BSD-3-Clause
5*b666f0a1SAmr Mohamed */
6*b666f0a1SAmr Mohamed
7*b666f0a1SAmr Mohamed#ifndef	RDASPEN_DEFS_DTSI
8*b666f0a1SAmr Mohamed#define	RDASPEN_DEFS_DTSI
9*b666f0a1SAmr Mohamed
10*b666f0a1SAmr Mohamed#include <platform_def.h>
11*b666f0a1SAmr Mohamed
12*b666f0a1SAmr Mohamed#define	CPU(cluster_num, cluster_core_num, cpu_num, mpid)			\
13*b666f0a1SAmr Mohamed	CPU##cpu_num:cpu@mpid## {						\
14*b666f0a1SAmr Mohamed		device_type = "cpu";						\
15*b666f0a1SAmr Mohamed		compatible = "arm,cortex-a720ae";				\
16*b666f0a1SAmr Mohamed		reg = <0x0 0x##mpid>;						\
17*b666f0a1SAmr Mohamed		enable-method = "psci";						\
18*b666f0a1SAmr Mohamed		i-cache-size = <0x10000>;					\
19*b666f0a1SAmr Mohamed		i-cache-line-size = <0x40>;					\
20*b666f0a1SAmr Mohamed		i-cache-sets = <0x100>;						\
21*b666f0a1SAmr Mohamed		d-cache-size = <0x10000>;					\
22*b666f0a1SAmr Mohamed		d-cache-line-size = <0x40>;					\
23*b666f0a1SAmr Mohamed		d-cache-sets = <0x100>;						\
24*b666f0a1SAmr Mohamed		next-level-cache = <&CL##cluster_num##_L2_##cluster_core_num>;	\
25*b666f0a1SAmr Mohamed		CL##cluster_num##_L2_##cluster_core_num: l2-cache##cpu_num {	\
26*b666f0a1SAmr Mohamed			compatible = "cache";					\
27*b666f0a1SAmr Mohamed			cache-unified;						\
28*b666f0a1SAmr Mohamed			cache-level = <0x02>;					\
29*b666f0a1SAmr Mohamed			/* 512KB */						\
30*b666f0a1SAmr Mohamed			cache-size = <0x80000>;					\
31*b666f0a1SAmr Mohamed			/* 64B */						\
32*b666f0a1SAmr Mohamed			cache-line-size = <0x40>;				\
33*b666f0a1SAmr Mohamed			/* 8-way set */						\
34*b666f0a1SAmr Mohamed			cache-sets = <0x400>;					\
35*b666f0a1SAmr Mohamed			next-level-cache = <&CL##cluster_num##_L3>;		\
36*b666f0a1SAmr Mohamed		};								\
37*b666f0a1SAmr Mohamed	};
38*b666f0a1SAmr Mohamed
39*b666f0a1SAmr Mohamed#define	CORE(cluster_core_num, cpu_num)		\
40*b666f0a1SAmr Mohamed	core##cluster_core_num {		\
41*b666f0a1SAmr Mohamed		cpu = <&CPU##cpu_num>;		\
42*b666f0a1SAmr Mohamed	};
43*b666f0a1SAmr Mohamed
44*b666f0a1SAmr Mohamed#define	CLUSTER_L3_CACHE(cluster_num)				\
45*b666f0a1SAmr Mohamed	CL##cluster_num##_L3: l3-cache##cluster_num## {		\
46*b666f0a1SAmr Mohamed		compatible = "arm,dsu-l3-cache", "cache";	\
47*b666f0a1SAmr Mohamed		cache-level = <0x03>;				\
48*b666f0a1SAmr Mohamed		/* 4MB */					\
49*b666f0a1SAmr Mohamed		cache-size = <0x400000>;			\
50*b666f0a1SAmr Mohamed		/* 64B */					\
51*b666f0a1SAmr Mohamed		cache-line-size = <0x40>;			\
52*b666f0a1SAmr Mohamed		/* 16-way set */				\
53*b666f0a1SAmr Mohamed		cache-sets = <0x1000>;				\
54*b666f0a1SAmr Mohamed	};
55*b666f0a1SAmr Mohamed
56*b666f0a1SAmr Mohamed#define	CLUSTER_DSU_PMU(cluster_num, cpu_list, interrupt_map)	\
57*b666f0a1SAmr Mohamed	dsu-pmu-##cluster_num {					\
58*b666f0a1SAmr Mohamed	compatible = "arm,dsu-pmu";				\
59*b666f0a1SAmr Mohamed	cpus = ##cpu_list;					\
60*b666f0a1SAmr Mohamed	interrupts = ##interrupt_map;				\
61*b666f0a1SAmr Mohamed	};
62*b666f0a1SAmr Mohamed
63*b666f0a1SAmr Mohamed#define	CLUSTER_0_DSU_PMU_INTERRUPT_MAP		<GIC_SPI 216 IRQ_TYPE_EDGE_RISING>
64*b666f0a1SAmr Mohamed#define	CLUSTER_1_DSU_PMU_INTERRUPT_MAP		<GIC_SPI 217 IRQ_TYPE_EDGE_RISING>
65*b666f0a1SAmr Mohamed#define	CLUSTER_2_DSU_PMU_INTERRUPT_MAP		<GIC_SPI 218 IRQ_TYPE_EDGE_RISING>
66*b666f0a1SAmr Mohamed#define	CLUSTER_3_DSU_PMU_INTERRUPT_MAP		<GIC_SPI 219 IRQ_TYPE_EDGE_RISING>
67*b666f0a1SAmr Mohamed
68*b666f0a1SAmr Mohamed#if (PLATFORM_CLUSTER_0_CORE_COUNT == 1)
69*b666f0a1SAmr Mohamed#define	CLUSTER_0_CPU_LIST	\
70*b666f0a1SAmr Mohamed	CORE(0, 0)
71*b666f0a1SAmr Mohamed#define	CLUSTER_0_CPUS		\
72*b666f0a1SAmr Mohamed	CPU(0, 0, 0, 0)
73*b666f0a1SAmr Mohamed#define	CLUSTER_0_DSU_PMU_CPU_LIST	<&CPU0>
74*b666f0a1SAmr Mohamed#elif (PLATFORM_CLUSTER_0_CORE_COUNT == 2)
75*b666f0a1SAmr Mohamed#define	CLUSTER_0_CPU_LIST	\
76*b666f0a1SAmr Mohamed	CORE(0, 0)		\
77*b666f0a1SAmr Mohamed	CORE(1, 1)
78*b666f0a1SAmr Mohamed#define	CLUSTER_0_CPUS		\
79*b666f0a1SAmr Mohamed	CPU(0, 0, 0, 0)		\
80*b666f0a1SAmr Mohamed	CPU(0, 1, 1, 100)
81*b666f0a1SAmr Mohamed#define	CLUSTER_0_DSU_PMU_CPU_LIST	<&CPU0>, <&CPU1>
82*b666f0a1SAmr Mohamed#elif (PLATFORM_CLUSTER_0_CORE_COUNT == 3)
83*b666f0a1SAmr Mohamed#define	CLUSTER_0_CPU_LIST	\
84*b666f0a1SAmr Mohamed	CORE(0, 0)		\
85*b666f0a1SAmr Mohamed	CORE(1, 1)		\
86*b666f0a1SAmr Mohamed	CORE(2, 2)
87*b666f0a1SAmr Mohamed#define	CLUSTER_0_CPUS		\
88*b666f0a1SAmr Mohamed	CPU(0, 0, 0, 0)		\
89*b666f0a1SAmr Mohamed	CPU(0, 1, 1, 100)	\
90*b666f0a1SAmr Mohamed	CPU(0, 2, 2, 200)
91*b666f0a1SAmr Mohamed#define	CLUSTER_0_DSU_PMU_CPU_LIST	<&CPU0>, <&CPU1>, <&CPU2>
92*b666f0a1SAmr Mohamed#elif (PLATFORM_CLUSTER_0_CORE_COUNT == 4)
93*b666f0a1SAmr Mohamed#define	CLUSTER_0_CPU_LIST	\
94*b666f0a1SAmr Mohamed	CORE(0, 0)		\
95*b666f0a1SAmr Mohamed	CORE(1, 1)		\
96*b666f0a1SAmr Mohamed	CORE(2, 2)		\
97*b666f0a1SAmr Mohamed	CORE(3, 3)
98*b666f0a1SAmr Mohamed#define	CLUSTER_0_CPUS		\
99*b666f0a1SAmr Mohamed	CPU(0, 0, 0, 0)		\
100*b666f0a1SAmr Mohamed	CPU(0, 1, 1, 100)	\
101*b666f0a1SAmr Mohamed	CPU(0, 2, 2, 200)	\
102*b666f0a1SAmr Mohamed	CPU(0, 3, 3, 300)
103*b666f0a1SAmr Mohamed#define	CLUSTER_0_DSU_PMU_CPU_LIST	<&CPU0>, <&CPU1>, <&CPU2>, <&CPU3>
104*b666f0a1SAmr Mohamed#endif
105*b666f0a1SAmr Mohamed
106*b666f0a1SAmr Mohamed#if	(PLATFORM_CLUSTER_1_CORE_COUNT == 1)
107*b666f0a1SAmr Mohamed#define	CLUSTER_1_CPU_LIST	\
108*b666f0a1SAmr Mohamed	CORE(0, 4)
109*b666f0a1SAmr Mohamed#define	CLUSTER_1_CPUS		\
110*b666f0a1SAmr Mohamed	CPU(1, 0, 4, 10000)
111*b666f0a1SAmr Mohamed#define	CLUSTER_1_DSU_PMU_CPU_LIST	<&CPU4>
112*b666f0a1SAmr Mohamed#elif	(PLATFORM_CLUSTER_1_CORE_COUNT == 2)
113*b666f0a1SAmr Mohamed#define	CLUSTER_1_CPU_LIST	\
114*b666f0a1SAmr Mohamed	CORE(0, 4)		\
115*b666f0a1SAmr Mohamed	CORE(1, 5)
116*b666f0a1SAmr Mohamed#define	CLUSTER_1_CPUS		\
117*b666f0a1SAmr Mohamed	CPU(1, 0, 4, 10000)	\
118*b666f0a1SAmr Mohamed	CPU(1, 1, 5, 10100)
119*b666f0a1SAmr Mohamed#define	CLUSTER_1_DSU_PMU_CPU_LIST	<&CPU4>, <&CPU5>
120*b666f0a1SAmr Mohamed#elif	(PLATFORM_CLUSTER_1_CORE_COUNT == 3)
121*b666f0a1SAmr Mohamed#define	CLUSTER_1_CPU_LIST	\
122*b666f0a1SAmr Mohamed	CORE(0, 4)		\
123*b666f0a1SAmr Mohamed	CORE(1, 5)		\
124*b666f0a1SAmr Mohamed	CORE(2, 6)
125*b666f0a1SAmr Mohamed#define	CLUSTER_1_CPUS		\
126*b666f0a1SAmr Mohamed	CPU(1, 0, 4, 10000)	\
127*b666f0a1SAmr Mohamed	CPU(1, 1, 5, 10100)	\
128*b666f0a1SAmr Mohamed	CPU(1, 2, 6, 10200)
129*b666f0a1SAmr Mohamed#define	CLUSTER_1_DSU_PMU_CPU_LIST	<&CPU4>, <&CPU5>, <&CPU6>
130*b666f0a1SAmr Mohamed#elif	(PLATFORM_CLUSTER_1_CORE_COUNT == 4)
131*b666f0a1SAmr Mohamed#define	CLUSTER_1_CPU_LIST	\
132*b666f0a1SAmr Mohamed	CORE(0, 4)		\
133*b666f0a1SAmr Mohamed	CORE(1, 5)		\
134*b666f0a1SAmr Mohamed	CORE(2, 6)		\
135*b666f0a1SAmr Mohamed	CORE(3, 7)
136*b666f0a1SAmr Mohamed#define	CLUSTER_1_CPUS		\
137*b666f0a1SAmr Mohamed	CPU(1, 0, 4, 10000)	\
138*b666f0a1SAmr Mohamed	CPU(1, 1, 5, 10100)	\
139*b666f0a1SAmr Mohamed	CPU(1, 2, 6, 10200)	\
140*b666f0a1SAmr Mohamed	CPU(1, 3, 7, 10300)
141*b666f0a1SAmr Mohamed#define	CLUSTER_1_DSU_PMU_CPU_LIST	<&CPU4>, <&CPU5>, <&CPU6>, <&CPU7>
142*b666f0a1SAmr Mohamed#endif
143*b666f0a1SAmr Mohamed
144*b666f0a1SAmr Mohamed#if	(PLATFORM_CLUSTER_2_CORE_COUNT == 1)
145*b666f0a1SAmr Mohamed#define	CLUSTER_2_CPU_LIST	\
146*b666f0a1SAmr Mohamed	CORE(0, 8)
147*b666f0a1SAmr Mohamed#define	CLUSTER_2_CPUS		\
148*b666f0a1SAmr Mohamed	CPU(2, 0, 8, 20000)
149*b666f0a1SAmr Mohamed#define	CLUSTER_2_DSU_PMU_CPU_LIST	<&CPU8>
150*b666f0a1SAmr Mohamed#elif	(PLATFORM_CLUSTER_2_CORE_COUNT == 2)
151*b666f0a1SAmr Mohamed#define	CLUSTER_2_CPU_LIST	\
152*b666f0a1SAmr Mohamed	CORE(0, 8)		\
153*b666f0a1SAmr Mohamed	CORE(1, 9)
154*b666f0a1SAmr Mohamed#define	CLUSTER_2_CPUS		\
155*b666f0a1SAmr Mohamed	CPU(2, 0, 8, 20000)	\
156*b666f0a1SAmr Mohamed	CPU(2, 1, 9, 20100)
157*b666f0a1SAmr Mohamed#define	CLUSTER_2_DSU_PMU_CPU_LIST	<&CPU8>, <&CPU9>
158*b666f0a1SAmr Mohamed#elif	(PLATFORM_CLUSTER_2_CORE_COUNT == 3)
159*b666f0a1SAmr Mohamed#define	CLUSTER_2_CPU_LIST	\
160*b666f0a1SAmr Mohamed	CORE(0, 8)		\
161*b666f0a1SAmr Mohamed	CORE(1, 9)		\
162*b666f0a1SAmr Mohamed	CORE(2, 10)
163*b666f0a1SAmr Mohamed#define	CLUSTER_2_CPUS		\
164*b666f0a1SAmr Mohamed	CPU(2, 0, 8, 20000)	\
165*b666f0a1SAmr Mohamed	CPU(2, 1, 9, 20100)	\
166*b666f0a1SAmr Mohamed	CPU(2, 2, 10, 20200)
167*b666f0a1SAmr Mohamed#define	CLUSTER_2_DSU_PMU_CPU_LIST	<&CPU8>, <&CPU9>, <&CPU10>
168*b666f0a1SAmr Mohamed#elif	(PLATFORM_CLUSTER_2_CORE_COUNT == 4)
169*b666f0a1SAmr Mohamed#define	CLUSTER_2_CPU_LIST	\
170*b666f0a1SAmr Mohamed	CORE(0, 8)		\
171*b666f0a1SAmr Mohamed	CORE(1, 9)		\
172*b666f0a1SAmr Mohamed	CORE(2, 10)		\
173*b666f0a1SAmr Mohamed	CORE(3, 11)
174*b666f0a1SAmr Mohamed#define	CLUSTER_2_CPUS		\
175*b666f0a1SAmr Mohamed	CPU(2, 0, 8, 20000)	\
176*b666f0a1SAmr Mohamed	CPU(2, 1, 9, 20100)	\
177*b666f0a1SAmr Mohamed	CPU(2, 2, 10, 20200)	\
178*b666f0a1SAmr Mohamed	CPU(2, 3, 11, 20300)
179*b666f0a1SAmr Mohamed#define	CLUSTER_2_DSU_PMU_CPU_LIST	<&CPU8>, <&CPU9>, <&CPU10>, <&CPU11>
180*b666f0a1SAmr Mohamed#endif
181*b666f0a1SAmr Mohamed
182*b666f0a1SAmr Mohamed#if	(PLATFORM_CLUSTER_3_CORE_COUNT == 1)
183*b666f0a1SAmr Mohamed#define	CLUSTER_3_CPU_LIST	\
184*b666f0a1SAmr Mohamed	CORE(0, 12)
185*b666f0a1SAmr Mohamed#define	CLUSTER_3_CPUS		\
186*b666f0a1SAmr Mohamed	CPU(3, 0, 12, 30000)
187*b666f0a1SAmr Mohamed#define	CLUSTER_3_DSU_PMU_CPU_LIST	<&CPU12>
188*b666f0a1SAmr Mohamed#elif	(PLATFORM_CLUSTER_3_CORE_COUNT == 2)
189*b666f0a1SAmr Mohamed#define	CLUSTER_3_CPU_LIST	\
190*b666f0a1SAmr Mohamed	CORE(0, 12)		\
191*b666f0a1SAmr Mohamed	CORE(1, 13)
192*b666f0a1SAmr Mohamed#define	CLUSTER_3_CPUS		\
193*b666f0a1SAmr Mohamed	CPU(3, 0, 12, 30000)	\
194*b666f0a1SAmr Mohamed	CPU(3, 1, 13, 30100)
195*b666f0a1SAmr Mohamed#define	CLUSTER_3_DSU_PMU_CPU_LIST	<&CPU12>, <&CPU13>
196*b666f0a1SAmr Mohamed#elif	(PLATFORM_CLUSTER_3_CORE_COUNT == 3)
197*b666f0a1SAmr Mohamed#define	CLUSTER_3_CPU_LIST	\
198*b666f0a1SAmr Mohamed	CORE(0, 12)		\
199*b666f0a1SAmr Mohamed	CORE(1, 13)		\
200*b666f0a1SAmr Mohamed	CORE(2, 14)
201*b666f0a1SAmr Mohamed#define	CLUSTER_3_CPUS		\
202*b666f0a1SAmr Mohamed	CPU(3, 0, 12, 30000)	\
203*b666f0a1SAmr Mohamed	CPU(3, 1, 13, 30100)	\
204*b666f0a1SAmr Mohamed	CPU(3, 2, 14, 30200)
205*b666f0a1SAmr Mohamed#define	CLUSTER_3_DSU_PMU_CPU_LIST	<&CPU12>, <&CPU13>, <&CPU14>
206*b666f0a1SAmr Mohamed#elif	(PLATFORM_CLUSTER_3_CORE_COUNT == 4)
207*b666f0a1SAmr Mohamed#define	CLUSTER_3_CPU_LIST	\
208*b666f0a1SAmr Mohamed	CORE(0, 12)		\
209*b666f0a1SAmr Mohamed	CORE(1, 13)		\
210*b666f0a1SAmr Mohamed	CORE(2, 14)		\
211*b666f0a1SAmr Mohamed	CORE(3, 15)
212*b666f0a1SAmr Mohamed#define	CLUSTER_3_CPUS		\
213*b666f0a1SAmr Mohamed	CPU(3, 0, 12, 30000)	\
214*b666f0a1SAmr Mohamed	CPU(3, 1, 13, 30100)	\
215*b666f0a1SAmr Mohamed	CPU(3, 2, 14, 30200)	\
216*b666f0a1SAmr Mohamed	CPU(3, 3, 15, 30300)
217*b666f0a1SAmr Mohamed#define	CLUSTER_3_DSU_PMU_CPU_LIST	<&CPU12>, <&CPU13>, <&CPU14>, <&CPU15>
218*b666f0a1SAmr Mohamed#endif
219*b666f0a1SAmr Mohamed
220*b666f0a1SAmr Mohamed#define	CLUSTER_0_CPU_MAP				\
221*b666f0a1SAmr Mohamed	cluster0 {					\
222*b666f0a1SAmr Mohamed		CLUSTER_0_CPU_LIST			\
223*b666f0a1SAmr Mohamed	};
224*b666f0a1SAmr Mohamed
225*b666f0a1SAmr Mohamed#define	CLUSTER_0_DSU_PMU				\
226*b666f0a1SAmr Mohamed	CLUSTER_DSU_PMU(0,				\
227*b666f0a1SAmr Mohamed			CLUSTER_0_DSU_PMU_CPU_LIST,	\
228*b666f0a1SAmr Mohamed			CLUSTER_0_DSU_PMU_INTERRUPT_MAP)
229*b666f0a1SAmr Mohamed
230*b666f0a1SAmr Mohamed#if	(PLATFORM_CLUSTER_1_CORE_COUNT >= 1)
231*b666f0a1SAmr Mohamed#define	CLUSTER_1_CPU_MAP				\
232*b666f0a1SAmr Mohamed	cluster1 {					\
233*b666f0a1SAmr Mohamed		CLUSTER_1_CPU_LIST			\
234*b666f0a1SAmr Mohamed	};
235*b666f0a1SAmr Mohamed
236*b666f0a1SAmr Mohamed#define	CLUSTER_1_DSU_PMU				\
237*b666f0a1SAmr Mohamed	CLUSTER_DSU_PMU(1,				\
238*b666f0a1SAmr Mohamed			CLUSTER_1_DSU_PMU_CPU_LIST,	\
239*b666f0a1SAmr Mohamed			CLUSTER_1_DSU_PMU_INTERRUPT_MAP)
240*b666f0a1SAmr Mohamed#endif
241*b666f0a1SAmr Mohamed
242*b666f0a1SAmr Mohamed#if	(PLATFORM_CLUSTER_2_CORE_COUNT >= 1)
243*b666f0a1SAmr Mohamed#define	CLUSTER_2_CPU_MAP				\
244*b666f0a1SAmr Mohamed	cluster2 {					\
245*b666f0a1SAmr Mohamed		CLUSTER_2_CPU_LIST			\
246*b666f0a1SAmr Mohamed	};
247*b666f0a1SAmr Mohamed
248*b666f0a1SAmr Mohamed#define	CLUSTER_2_DSU_PMU				\
249*b666f0a1SAmr Mohamed	CLUSTER_DSU_PMU(2,				\
250*b666f0a1SAmr Mohamed			CLUSTER_2_DSU_PMU_CPU_LIST,	\
251*b666f0a1SAmr Mohamed			CLUSTER_2_DSU_PMU_INTERRUPT_MAP)
252*b666f0a1SAmr Mohamed#endif
253*b666f0a1SAmr Mohamed
254*b666f0a1SAmr Mohamed#if	(PLATFORM_CLUSTER_3_CORE_COUNT >= 1)
255*b666f0a1SAmr Mohamed#define	CLUSTER_3_CPU_MAP				\
256*b666f0a1SAmr Mohamed	cluster3 {					\
257*b666f0a1SAmr Mohamed		CLUSTER_3_CPU_LIST			\
258*b666f0a1SAmr Mohamed	};
259*b666f0a1SAmr Mohamed
260*b666f0a1SAmr Mohamed#define	CLUSTER_3_DSU_PMU				\
261*b666f0a1SAmr Mohamed	CLUSTER_DSU_PMU(3,				\
262*b666f0a1SAmr Mohamed			CLUSTER_3_DSU_PMU_CPU_LIST,	\
263*b666f0a1SAmr Mohamed			CLUSTER_3_DSU_PMU_INTERRUPT_MAP)
264*b666f0a1SAmr Mohamed#endif
265*b666f0a1SAmr Mohamed
266*b666f0a1SAmr Mohamed/* Max 4 clusters */
267*b666f0a1SAmr Mohamed#if	(PLAT_ARM_CLUSTER_COUNT == 1)
268*b666f0a1SAmr Mohamed#define	CPU_MAP				\
269*b666f0a1SAmr Mohamed	cpu-map {			\
270*b666f0a1SAmr Mohamed		CLUSTER_0_CPU_MAP	\
271*b666f0a1SAmr Mohamed	};
272*b666f0a1SAmr Mohamed
273*b666f0a1SAmr Mohamed#define	CPUS				\
274*b666f0a1SAmr Mohamed	CLUSTER_0_CPUS
275*b666f0a1SAmr Mohamed
276*b666f0a1SAmr Mohamed#define	DSU_PMU				\
277*b666f0a1SAmr Mohamed	CLUSTER_0_DSU_PMU
278*b666f0a1SAmr Mohamed
279*b666f0a1SAmr Mohamed#define	L3_CACHE			\
280*b666f0a1SAmr Mohamed	CLUSTER_L3_CACHE(0)
281*b666f0a1SAmr Mohamed
282*b666f0a1SAmr Mohamed#elif	(PLAT_ARM_CLUSTER_COUNT == 2)
283*b666f0a1SAmr Mohamed#define	CPU_MAP				\
284*b666f0a1SAmr Mohamed	cpu-map {			\
285*b666f0a1SAmr Mohamed		CLUSTER_0_CPU_MAP	\
286*b666f0a1SAmr Mohamed		CLUSTER_1_CPU_MAP	\
287*b666f0a1SAmr Mohamed	};
288*b666f0a1SAmr Mohamed
289*b666f0a1SAmr Mohamed#define	CPUS				\
290*b666f0a1SAmr Mohamed	CLUSTER_0_CPUS			\
291*b666f0a1SAmr Mohamed	CLUSTER_1_CPUS
292*b666f0a1SAmr Mohamed
293*b666f0a1SAmr Mohamed#define	DSU_PMU				\
294*b666f0a1SAmr Mohamed	CLUSTER_0_DSU_PMU		\
295*b666f0a1SAmr Mohamed	CLUSTER_1_DSU_PMU
296*b666f0a1SAmr Mohamed
297*b666f0a1SAmr Mohamed#define	L3_CACHE			\
298*b666f0a1SAmr Mohamed	CLUSTER_L3_CACHE(0)		\
299*b666f0a1SAmr Mohamed	CLUSTER_L3_CACHE(1)
300*b666f0a1SAmr Mohamed
301*b666f0a1SAmr Mohamed#elif	(PLAT_ARM_CLUSTER_COUNT == 3)
302*b666f0a1SAmr Mohamed#define	CPU_MAP				\
303*b666f0a1SAmr Mohamed	cpu-map {			\
304*b666f0a1SAmr Mohamed		CLUSTER_0_CPU_MAP	\
305*b666f0a1SAmr Mohamed		CLUSTER_1_CPU_MAP	\
306*b666f0a1SAmr Mohamed		CLUSTER_2_CPU_MAP	\
307*b666f0a1SAmr Mohamed	};
308*b666f0a1SAmr Mohamed
309*b666f0a1SAmr Mohamed#define	CPUS				\
310*b666f0a1SAmr Mohamed	CLUSTER_0_CPUS			\
311*b666f0a1SAmr Mohamed	CLUSTER_1_CPUS			\
312*b666f0a1SAmr Mohamed	CLUSTER_2_CPUS
313*b666f0a1SAmr Mohamed
314*b666f0a1SAmr Mohamed#define	DSU_PMU				\
315*b666f0a1SAmr Mohamed	CLUSTER_0_DSU_PMU		\
316*b666f0a1SAmr Mohamed	CLUSTER_1_DSU_PMU		\
317*b666f0a1SAmr Mohamed	CLUSTER_2_DSU_PMU
318*b666f0a1SAmr Mohamed
319*b666f0a1SAmr Mohamed#define	L3_CACHE			\
320*b666f0a1SAmr Mohamed	CLUSTER_L3_CACHE(0)		\
321*b666f0a1SAmr Mohamed	CLUSTER_L3_CACHE(1)		\
322*b666f0a1SAmr Mohamed	CLUSTER_L3_CACHE(2)
323*b666f0a1SAmr Mohamed
324*b666f0a1SAmr Mohamed#elif	(PLAT_ARM_CLUSTER_COUNT == 4)
325*b666f0a1SAmr Mohamed#define	CPU_MAP				\
326*b666f0a1SAmr Mohamed	cpu-map {			\
327*b666f0a1SAmr Mohamed		CLUSTER_0_CPU_MAP	\
328*b666f0a1SAmr Mohamed		CLUSTER_1_CPU_MAP	\
329*b666f0a1SAmr Mohamed		CLUSTER_2_CPU_MAP	\
330*b666f0a1SAmr Mohamed		CLUSTER_3_CPU_MAP	\
331*b666f0a1SAmr Mohamed	};
332*b666f0a1SAmr Mohamed
333*b666f0a1SAmr Mohamed#define	CPUS				\
334*b666f0a1SAmr Mohamed	CLUSTER_0_CPUS			\
335*b666f0a1SAmr Mohamed	CLUSTER_1_CPUS			\
336*b666f0a1SAmr Mohamed	CLUSTER_2_CPUS			\
337*b666f0a1SAmr Mohamed	CLUSTER_3_CPUS
338*b666f0a1SAmr Mohamed
339*b666f0a1SAmr Mohamed#define	DSU_PMU				\
340*b666f0a1SAmr Mohamed	CLUSTER_0_DSU_PMU		\
341*b666f0a1SAmr Mohamed	CLUSTER_1_DSU_PMU		\
342*b666f0a1SAmr Mohamed	CLUSTER_2_DSU_PMU		\
343*b666f0a1SAmr Mohamed	CLUSTER_3_DSU_PMU
344*b666f0a1SAmr Mohamed
345*b666f0a1SAmr Mohamed#define	L3_CACHE			\
346*b666f0a1SAmr Mohamed	CLUSTER_L3_CACHE(0)		\
347*b666f0a1SAmr Mohamed	CLUSTER_L3_CACHE(1)		\
348*b666f0a1SAmr Mohamed	CLUSTER_L3_CACHE(2)		\
349*b666f0a1SAmr Mohamed	CLUSTER_L3_CACHE(3)
350*b666f0a1SAmr Mohamed
351*b666f0a1SAmr Mohamed#endif	/* PLAT_ARM_CLUSTER_COUNT */
352*b666f0a1SAmr Mohamed
353*b666f0a1SAmr Mohamed#endif	/* RDASPEN_DEFS_DTSI */
354