xref: /linux/arch/arm64/boot/dts/apple/t6031-base.dtsi (revision 67f8bc848ee31831336bd478e57d2f993551902e)
1*67d9574cSJanne Grunau// SPDX-License-Identifier: GPL-2.0+ OR MIT
2*67d9574cSJanne Grunau/*
3*67d9574cSJanne Grunau * Nodes common for T6031, T6032 and T6034 family SoCs (M3 Max/Ultra)
4*67d9574cSJanne Grunau *
5*67d9574cSJanne Grunau * Other names: H15J, H15S, "Palma"
6*67d9574cSJanne Grunau *
7*67d9574cSJanne Grunau * Copyright The Asahi Linux Contributors
8*67d9574cSJanne Grunau */
9*67d9574cSJanne Grunau
10*67d9574cSJanne Grunau/ {
11*67d9574cSJanne Grunau	#address-cells = <2>;
12*67d9574cSJanne Grunau	#size-cells = <2>;
13*67d9574cSJanne Grunau
14*67d9574cSJanne Grunau	cpus {
15*67d9574cSJanne Grunau		#address-cells = <2>;
16*67d9574cSJanne Grunau		#size-cells = <0>;
17*67d9574cSJanne Grunau
18*67d9574cSJanne Grunau		cpu-map {
19*67d9574cSJanne Grunau			cluster0 {
20*67d9574cSJanne Grunau				core0 {
21*67d9574cSJanne Grunau					cpu = <&cpu_e00>;
22*67d9574cSJanne Grunau				};
23*67d9574cSJanne Grunau				core1 {
24*67d9574cSJanne Grunau					cpu = <&cpu_e01>;
25*67d9574cSJanne Grunau				};
26*67d9574cSJanne Grunau				core2 {
27*67d9574cSJanne Grunau					cpu = <&cpu_e02>;
28*67d9574cSJanne Grunau				};
29*67d9574cSJanne Grunau				core3 {
30*67d9574cSJanne Grunau					cpu = <&cpu_e03>;
31*67d9574cSJanne Grunau				};
32*67d9574cSJanne Grunau			};
33*67d9574cSJanne Grunau
34*67d9574cSJanne Grunau			cluster1 {
35*67d9574cSJanne Grunau				core0 {
36*67d9574cSJanne Grunau					cpu = <&cpu_p00>;
37*67d9574cSJanne Grunau				};
38*67d9574cSJanne Grunau				core1 {
39*67d9574cSJanne Grunau					cpu = <&cpu_p01>;
40*67d9574cSJanne Grunau				};
41*67d9574cSJanne Grunau				core2 {
42*67d9574cSJanne Grunau					cpu = <&cpu_p02>;
43*67d9574cSJanne Grunau				};
44*67d9574cSJanne Grunau				core3 {
45*67d9574cSJanne Grunau					cpu = <&cpu_p03>;
46*67d9574cSJanne Grunau				};
47*67d9574cSJanne Grunau				core4 {
48*67d9574cSJanne Grunau					cpu = <&cpu_p04>;
49*67d9574cSJanne Grunau				};
50*67d9574cSJanne Grunau				core5 {
51*67d9574cSJanne Grunau					cpu = <&cpu_p05>;
52*67d9574cSJanne Grunau				};
53*67d9574cSJanne Grunau			};
54*67d9574cSJanne Grunau
55*67d9574cSJanne Grunau			cluster2 {
56*67d9574cSJanne Grunau				core0 {
57*67d9574cSJanne Grunau					cpu = <&cpu_p10>;
58*67d9574cSJanne Grunau				};
59*67d9574cSJanne Grunau				core1 {
60*67d9574cSJanne Grunau					cpu = <&cpu_p11>;
61*67d9574cSJanne Grunau				};
62*67d9574cSJanne Grunau				core2 {
63*67d9574cSJanne Grunau					cpu = <&cpu_p12>;
64*67d9574cSJanne Grunau				};
65*67d9574cSJanne Grunau				core3 {
66*67d9574cSJanne Grunau					cpu = <&cpu_p13>;
67*67d9574cSJanne Grunau				};
68*67d9574cSJanne Grunau				core4 {
69*67d9574cSJanne Grunau					cpu = <&cpu_p14>;
70*67d9574cSJanne Grunau				};
71*67d9574cSJanne Grunau				core5 {
72*67d9574cSJanne Grunau					cpu = <&cpu_p15>;
73*67d9574cSJanne Grunau				};
74*67d9574cSJanne Grunau			};
75*67d9574cSJanne Grunau		};
76*67d9574cSJanne Grunau
77*67d9574cSJanne Grunau		cpu_e00: cpu@0 {
78*67d9574cSJanne Grunau			compatible = "apple,sawtooth";
79*67d9574cSJanne Grunau			device_type = "cpu";
80*67d9574cSJanne Grunau			reg = <0x0 0x0>;
81*67d9574cSJanne Grunau			enable-method = "spin-table";
82*67d9574cSJanne Grunau			cpu-release-addr = <0 0>; /* to be filled by loader */
83*67d9574cSJanne Grunau			next-level-cache = <&l2_cache_0>;
84*67d9574cSJanne Grunau			i-cache-size = <0x20000>;
85*67d9574cSJanne Grunau			d-cache-size = <0x10000>;
86*67d9574cSJanne Grunau		};
87*67d9574cSJanne Grunau
88*67d9574cSJanne Grunau		cpu_e01: cpu@1 {
89*67d9574cSJanne Grunau			compatible = "apple,sawtooth";
90*67d9574cSJanne Grunau			device_type = "cpu";
91*67d9574cSJanne Grunau			reg = <0x0 0x1>;
92*67d9574cSJanne Grunau			enable-method = "spin-table";
93*67d9574cSJanne Grunau			cpu-release-addr = <0 0>; /* to be filled by loader */
94*67d9574cSJanne Grunau			next-level-cache = <&l2_cache_0>;
95*67d9574cSJanne Grunau			i-cache-size = <0x20000>;
96*67d9574cSJanne Grunau			d-cache-size = <0x10000>;
97*67d9574cSJanne Grunau		};
98*67d9574cSJanne Grunau
99*67d9574cSJanne Grunau		cpu_e02: cpu@2 {
100*67d9574cSJanne Grunau			compatible = "apple,sawtooth";
101*67d9574cSJanne Grunau			device_type = "cpu";
102*67d9574cSJanne Grunau			reg = <0x0 0x2>;
103*67d9574cSJanne Grunau			enable-method = "spin-table";
104*67d9574cSJanne Grunau			cpu-release-addr = <0 0>; /* to be filled by loader */
105*67d9574cSJanne Grunau			next-level-cache = <&l2_cache_0>;
106*67d9574cSJanne Grunau			i-cache-size = <0x20000>;
107*67d9574cSJanne Grunau			d-cache-size = <0x10000>;
108*67d9574cSJanne Grunau		};
109*67d9574cSJanne Grunau
110*67d9574cSJanne Grunau		cpu_e03: cpu@3 {
111*67d9574cSJanne Grunau			compatible = "apple,sawtooth";
112*67d9574cSJanne Grunau			device_type = "cpu";
113*67d9574cSJanne Grunau			reg = <0x0 0x3>;
114*67d9574cSJanne Grunau			enable-method = "spin-table";
115*67d9574cSJanne Grunau			cpu-release-addr = <0 0>; /* to be filled by loader */
116*67d9574cSJanne Grunau			next-level-cache = <&l2_cache_0>;
117*67d9574cSJanne Grunau			i-cache-size = <0x20000>;
118*67d9574cSJanne Grunau			d-cache-size = <0x10000>;
119*67d9574cSJanne Grunau		};
120*67d9574cSJanne Grunau
121*67d9574cSJanne Grunau		cpu_p00: cpu@10100 {
122*67d9574cSJanne Grunau			compatible = "apple,everest";
123*67d9574cSJanne Grunau			device_type = "cpu";
124*67d9574cSJanne Grunau			reg = <0x0 0x10100>;
125*67d9574cSJanne Grunau			enable-method = "spin-table";
126*67d9574cSJanne Grunau			cpu-release-addr = <0 0>; /* To be filled by loader */
127*67d9574cSJanne Grunau			next-level-cache = <&l2_cache_1>;
128*67d9574cSJanne Grunau			i-cache-size = <0x30000>;
129*67d9574cSJanne Grunau			d-cache-size = <0x20000>;
130*67d9574cSJanne Grunau		};
131*67d9574cSJanne Grunau
132*67d9574cSJanne Grunau		cpu_p01: cpu@10101 {
133*67d9574cSJanne Grunau			compatible = "apple,everest";
134*67d9574cSJanne Grunau			device_type = "cpu";
135*67d9574cSJanne Grunau			reg = <0x0 0x10101>;
136*67d9574cSJanne Grunau			enable-method = "spin-table";
137*67d9574cSJanne Grunau			cpu-release-addr = <0 0>; /* To be filled by loader */
138*67d9574cSJanne Grunau			next-level-cache = <&l2_cache_1>;
139*67d9574cSJanne Grunau			i-cache-size = <0x30000>;
140*67d9574cSJanne Grunau			d-cache-size = <0x20000>;
141*67d9574cSJanne Grunau		};
142*67d9574cSJanne Grunau
143*67d9574cSJanne Grunau		cpu_p02: cpu@10102 {
144*67d9574cSJanne Grunau			compatible = "apple,everest";
145*67d9574cSJanne Grunau			device_type = "cpu";
146*67d9574cSJanne Grunau			reg = <0x0 0x10102>;
147*67d9574cSJanne Grunau			enable-method = "spin-table";
148*67d9574cSJanne Grunau			cpu-release-addr = <0 0>; /* To be filled by loader */
149*67d9574cSJanne Grunau			next-level-cache = <&l2_cache_1>;
150*67d9574cSJanne Grunau			i-cache-size = <0x30000>;
151*67d9574cSJanne Grunau			d-cache-size = <0x20000>;
152*67d9574cSJanne Grunau		};
153*67d9574cSJanne Grunau
154*67d9574cSJanne Grunau		cpu_p03: cpu@10103 {
155*67d9574cSJanne Grunau			compatible = "apple,everest";
156*67d9574cSJanne Grunau			device_type = "cpu";
157*67d9574cSJanne Grunau			reg = <0x0 0x10103>;
158*67d9574cSJanne Grunau			enable-method = "spin-table";
159*67d9574cSJanne Grunau			cpu-release-addr = <0 0>; /* To be filled by loader */
160*67d9574cSJanne Grunau			next-level-cache = <&l2_cache_1>;
161*67d9574cSJanne Grunau			i-cache-size = <0x30000>;
162*67d9574cSJanne Grunau			d-cache-size = <0x20000>;
163*67d9574cSJanne Grunau		};
164*67d9574cSJanne Grunau
165*67d9574cSJanne Grunau		cpu_p04: cpu@10104 {
166*67d9574cSJanne Grunau			compatible = "apple,everest";
167*67d9574cSJanne Grunau			device_type = "cpu";
168*67d9574cSJanne Grunau			reg = <0x0 0x10104>;
169*67d9574cSJanne Grunau			enable-method = "spin-table";
170*67d9574cSJanne Grunau			cpu-release-addr = <0 0>; /* To be filled by loader */
171*67d9574cSJanne Grunau			next-level-cache = <&l2_cache_1>;
172*67d9574cSJanne Grunau			i-cache-size = <0x30000>;
173*67d9574cSJanne Grunau			d-cache-size = <0x20000>;
174*67d9574cSJanne Grunau		};
175*67d9574cSJanne Grunau
176*67d9574cSJanne Grunau		cpu_p05: cpu@10105 {
177*67d9574cSJanne Grunau			compatible = "apple,everest";
178*67d9574cSJanne Grunau			device_type = "cpu";
179*67d9574cSJanne Grunau			reg = <0x0 0x10105>;
180*67d9574cSJanne Grunau			enable-method = "spin-table";
181*67d9574cSJanne Grunau			cpu-release-addr = <0 0>; /* To be filled by loader */
182*67d9574cSJanne Grunau			next-level-cache = <&l2_cache_1>;
183*67d9574cSJanne Grunau			i-cache-size = <0x30000>;
184*67d9574cSJanne Grunau			d-cache-size = <0x20000>;
185*67d9574cSJanne Grunau		};
186*67d9574cSJanne Grunau
187*67d9574cSJanne Grunau		cpu_p10: cpu@10200 {
188*67d9574cSJanne Grunau			compatible = "apple,everest";
189*67d9574cSJanne Grunau			device_type = "cpu";
190*67d9574cSJanne Grunau			reg = <0x0 0x10200>;
191*67d9574cSJanne Grunau			enable-method = "spin-table";
192*67d9574cSJanne Grunau			cpu-release-addr = <0 0>; /* To be filled by loader */
193*67d9574cSJanne Grunau			next-level-cache = <&l2_cache_2>;
194*67d9574cSJanne Grunau			i-cache-size = <0x30000>;
195*67d9574cSJanne Grunau			d-cache-size = <0x20000>;
196*67d9574cSJanne Grunau		};
197*67d9574cSJanne Grunau
198*67d9574cSJanne Grunau		cpu_p11: cpu@10201 {
199*67d9574cSJanne Grunau			compatible = "apple,everest";
200*67d9574cSJanne Grunau			device_type = "cpu";
201*67d9574cSJanne Grunau			reg = <0x0 0x10201>;
202*67d9574cSJanne Grunau			enable-method = "spin-table";
203*67d9574cSJanne Grunau			cpu-release-addr = <0 0>; /* To be filled by loader */
204*67d9574cSJanne Grunau			next-level-cache = <&l2_cache_2>;
205*67d9574cSJanne Grunau			i-cache-size = <0x30000>;
206*67d9574cSJanne Grunau			d-cache-size = <0x20000>;
207*67d9574cSJanne Grunau		};
208*67d9574cSJanne Grunau
209*67d9574cSJanne Grunau		cpu_p12: cpu@10202 {
210*67d9574cSJanne Grunau			compatible = "apple,everest";
211*67d9574cSJanne Grunau			device_type = "cpu";
212*67d9574cSJanne Grunau			reg = <0x0 0x10202>;
213*67d9574cSJanne Grunau			enable-method = "spin-table";
214*67d9574cSJanne Grunau			cpu-release-addr = <0 0>; /* To be filled by loader */
215*67d9574cSJanne Grunau			next-level-cache = <&l2_cache_2>;
216*67d9574cSJanne Grunau			i-cache-size = <0x30000>;
217*67d9574cSJanne Grunau			d-cache-size = <0x20000>;
218*67d9574cSJanne Grunau		};
219*67d9574cSJanne Grunau
220*67d9574cSJanne Grunau		cpu_p13: cpu@10203 {
221*67d9574cSJanne Grunau			compatible = "apple,everest";
222*67d9574cSJanne Grunau			device_type = "cpu";
223*67d9574cSJanne Grunau			reg = <0x0 0x10203>;
224*67d9574cSJanne Grunau			enable-method = "spin-table";
225*67d9574cSJanne Grunau			cpu-release-addr = <0 0>; /* To be filled by loader */
226*67d9574cSJanne Grunau			next-level-cache = <&l2_cache_2>;
227*67d9574cSJanne Grunau			i-cache-size = <0x30000>;
228*67d9574cSJanne Grunau			d-cache-size = <0x20000>;
229*67d9574cSJanne Grunau		};
230*67d9574cSJanne Grunau
231*67d9574cSJanne Grunau		cpu_p14: cpu@10204 {
232*67d9574cSJanne Grunau			compatible = "apple,everest";
233*67d9574cSJanne Grunau			device_type = "cpu";
234*67d9574cSJanne Grunau			reg = <0x0 0x10204>;
235*67d9574cSJanne Grunau			enable-method = "spin-table";
236*67d9574cSJanne Grunau			cpu-release-addr = <0 0>; /* To be filled by loader */
237*67d9574cSJanne Grunau			next-level-cache = <&l2_cache_2>;
238*67d9574cSJanne Grunau			i-cache-size = <0x30000>;
239*67d9574cSJanne Grunau			d-cache-size = <0x20000>;
240*67d9574cSJanne Grunau		};
241*67d9574cSJanne Grunau
242*67d9574cSJanne Grunau		cpu_p15: cpu@10205 {
243*67d9574cSJanne Grunau			compatible = "apple,everest";
244*67d9574cSJanne Grunau			device_type = "cpu";
245*67d9574cSJanne Grunau			reg = <0x0 0x10205>;
246*67d9574cSJanne Grunau			enable-method = "spin-table";
247*67d9574cSJanne Grunau			cpu-release-addr = <0 0>; /* To be filled by loader */
248*67d9574cSJanne Grunau			next-level-cache = <&l2_cache_2>;
249*67d9574cSJanne Grunau			i-cache-size = <0x30000>;
250*67d9574cSJanne Grunau			d-cache-size = <0x20000>;
251*67d9574cSJanne Grunau		};
252*67d9574cSJanne Grunau
253*67d9574cSJanne Grunau		l2_cache_0: l2-cache-0 {
254*67d9574cSJanne Grunau			compatible = "cache";
255*67d9574cSJanne Grunau			cache-level = <2>;
256*67d9574cSJanne Grunau			cache-unified;
257*67d9574cSJanne Grunau			cache-size = <0x400000>;
258*67d9574cSJanne Grunau		};
259*67d9574cSJanne Grunau
260*67d9574cSJanne Grunau		l2_cache_1: l2-cache-1 {
261*67d9574cSJanne Grunau			compatible = "cache";
262*67d9574cSJanne Grunau			cache-level = <2>;
263*67d9574cSJanne Grunau			cache-unified;
264*67d9574cSJanne Grunau			cache-size = <0x1000000>;
265*67d9574cSJanne Grunau		};
266*67d9574cSJanne Grunau
267*67d9574cSJanne Grunau		l2_cache_2: l2-cache-2 {
268*67d9574cSJanne Grunau			compatible = "cache";
269*67d9574cSJanne Grunau			cache-level = <2>;
270*67d9574cSJanne Grunau			cache-unified;
271*67d9574cSJanne Grunau			cache-size = <0x1000000>;
272*67d9574cSJanne Grunau		};
273*67d9574cSJanne Grunau	};
274*67d9574cSJanne Grunau
275*67d9574cSJanne Grunau	timer {
276*67d9574cSJanne Grunau		compatible = "arm,armv8-timer";
277*67d9574cSJanne Grunau		interrupt-parent = <&aic>;
278*67d9574cSJanne Grunau		interrupt-names = "phys", "virt", "hyp-phys", "hyp-virt";
279*67d9574cSJanne Grunau		interrupts = <AIC_FIQ 0 AIC_TMR_GUEST_PHYS IRQ_TYPE_LEVEL_HIGH>,
280*67d9574cSJanne Grunau			     <AIC_FIQ 0 AIC_TMR_GUEST_VIRT IRQ_TYPE_LEVEL_HIGH>,
281*67d9574cSJanne Grunau			     <AIC_FIQ 0 AIC_TMR_HV_PHYS IRQ_TYPE_LEVEL_HIGH>,
282*67d9574cSJanne Grunau			     <AIC_FIQ 0 AIC_TMR_HV_VIRT IRQ_TYPE_LEVEL_HIGH>;
283*67d9574cSJanne Grunau	};
284*67d9574cSJanne Grunau
285*67d9574cSJanne Grunau	clkref: clock-ref {
286*67d9574cSJanne Grunau		compatible = "fixed-clock";
287*67d9574cSJanne Grunau		#clock-cells = <0>;
288*67d9574cSJanne Grunau		clock-frequency = <24000000>;
289*67d9574cSJanne Grunau		clock-output-names = "clkref";
290*67d9574cSJanne Grunau	};
291*67d9574cSJanne Grunau
292*67d9574cSJanne Grunau	reserved-memory {
293*67d9574cSJanne Grunau		#address-cells = <2>;
294*67d9574cSJanne Grunau		#size-cells = <2>;
295*67d9574cSJanne Grunau		ranges;
296*67d9574cSJanne Grunau	};
297*67d9574cSJanne Grunau};
298