xref: /linux/arch/arm64/boot/dts/apple/t6030.dtsi (revision 67f8bc848ee31831336bd478e57d2f993551902e)
1*e81af013SJanne Grunau// SPDX-License-Identifier: GPL-2.0+ OR MIT
2*e81af013SJanne Grunau/*
3*e81af013SJanne Grunau * Apple T6030 "M3 Pro" SoC
4*e81af013SJanne Grunau *
5*e81af013SJanne Grunau * Other names: H15J, "Lobos"
6*e81af013SJanne Grunau *
7*e81af013SJanne Grunau * Copyright The Asahi Linux Contributors
8*e81af013SJanne Grunau */
9*e81af013SJanne Grunau
10*e81af013SJanne Grunau#include <dt-bindings/interrupt-controller/apple-aic.h>
11*e81af013SJanne Grunau#include <dt-bindings/interrupt-controller/irq.h>
12*e81af013SJanne Grunau#include <dt-bindings/pinctrl/apple.h>
13*e81af013SJanne Grunau
14*e81af013SJanne Grunau/ {
15*e81af013SJanne Grunau	#address-cells = <2>;
16*e81af013SJanne Grunau	#size-cells = <2>;
17*e81af013SJanne Grunau
18*e81af013SJanne Grunau	cpus {
19*e81af013SJanne Grunau		#address-cells = <2>;
20*e81af013SJanne Grunau		#size-cells = <0>;
21*e81af013SJanne Grunau
22*e81af013SJanne Grunau		cpu-map {
23*e81af013SJanne Grunau			cluster0 {
24*e81af013SJanne Grunau				core0 {
25*e81af013SJanne Grunau					cpu = <&cpu_e00>;
26*e81af013SJanne Grunau				};
27*e81af013SJanne Grunau				core1 {
28*e81af013SJanne Grunau					cpu = <&cpu_e01>;
29*e81af013SJanne Grunau				};
30*e81af013SJanne Grunau				core2 {
31*e81af013SJanne Grunau					cpu = <&cpu_e02>;
32*e81af013SJanne Grunau				};
33*e81af013SJanne Grunau				core3 {
34*e81af013SJanne Grunau					cpu = <&cpu_e03>;
35*e81af013SJanne Grunau				};
36*e81af013SJanne Grunau				core4 {
37*e81af013SJanne Grunau					cpu = <&cpu_e04>;
38*e81af013SJanne Grunau				};
39*e81af013SJanne Grunau				core5 {
40*e81af013SJanne Grunau					cpu = <&cpu_e05>;
41*e81af013SJanne Grunau				};
42*e81af013SJanne Grunau			};
43*e81af013SJanne Grunau
44*e81af013SJanne Grunau			cluster1 {
45*e81af013SJanne Grunau				core0 {
46*e81af013SJanne Grunau					cpu = <&cpu_p00>;
47*e81af013SJanne Grunau				};
48*e81af013SJanne Grunau				core1 {
49*e81af013SJanne Grunau					cpu = <&cpu_p01>;
50*e81af013SJanne Grunau				};
51*e81af013SJanne Grunau				core2 {
52*e81af013SJanne Grunau					cpu = <&cpu_p02>;
53*e81af013SJanne Grunau				};
54*e81af013SJanne Grunau				core3 {
55*e81af013SJanne Grunau					cpu = <&cpu_p03>;
56*e81af013SJanne Grunau				};
57*e81af013SJanne Grunau				core4 {
58*e81af013SJanne Grunau					cpu = <&cpu_p04>;
59*e81af013SJanne Grunau				};
60*e81af013SJanne Grunau				core5 {
61*e81af013SJanne Grunau					cpu = <&cpu_p05>;
62*e81af013SJanne Grunau				};
63*e81af013SJanne Grunau			};
64*e81af013SJanne Grunau		};
65*e81af013SJanne Grunau
66*e81af013SJanne Grunau		cpu_e00: cpu@0 {
67*e81af013SJanne Grunau			compatible = "apple,sawtooth";
68*e81af013SJanne Grunau			device_type = "cpu";
69*e81af013SJanne Grunau			reg = <0x0 0x0>;
70*e81af013SJanne Grunau			enable-method = "spin-table";
71*e81af013SJanne Grunau			cpu-release-addr = <0 0>; /* to be filled by loader */
72*e81af013SJanne Grunau			next-level-cache = <&l2_cache_0>;
73*e81af013SJanne Grunau			i-cache-size = <0x20000>;
74*e81af013SJanne Grunau			d-cache-size = <0x10000>;
75*e81af013SJanne Grunau		};
76*e81af013SJanne Grunau
77*e81af013SJanne Grunau		cpu_e01: cpu@1 {
78*e81af013SJanne Grunau			compatible = "apple,sawtooth";
79*e81af013SJanne Grunau			device_type = "cpu";
80*e81af013SJanne Grunau			reg = <0x0 0x1>;
81*e81af013SJanne Grunau			enable-method = "spin-table";
82*e81af013SJanne Grunau			cpu-release-addr = <0 0>; /* to be filled by loader */
83*e81af013SJanne Grunau			next-level-cache = <&l2_cache_0>;
84*e81af013SJanne Grunau			i-cache-size = <0x20000>;
85*e81af013SJanne Grunau			d-cache-size = <0x10000>;
86*e81af013SJanne Grunau		};
87*e81af013SJanne Grunau
88*e81af013SJanne Grunau		cpu_e02: cpu@2 {
89*e81af013SJanne Grunau			compatible = "apple,sawtooth";
90*e81af013SJanne Grunau			device_type = "cpu";
91*e81af013SJanne Grunau			reg = <0x0 0x2>;
92*e81af013SJanne Grunau			enable-method = "spin-table";
93*e81af013SJanne Grunau			cpu-release-addr = <0 0>; /* to be filled by loader */
94*e81af013SJanne Grunau			next-level-cache = <&l2_cache_0>;
95*e81af013SJanne Grunau			i-cache-size = <0x20000>;
96*e81af013SJanne Grunau			d-cache-size = <0x10000>;
97*e81af013SJanne Grunau		};
98*e81af013SJanne Grunau
99*e81af013SJanne Grunau		cpu_e03: cpu@3 {
100*e81af013SJanne Grunau			compatible = "apple,sawtooth";
101*e81af013SJanne Grunau			device_type = "cpu";
102*e81af013SJanne Grunau			reg = <0x0 0x3>;
103*e81af013SJanne Grunau			enable-method = "spin-table";
104*e81af013SJanne Grunau			cpu-release-addr = <0 0>; /* to be filled by loader */
105*e81af013SJanne Grunau			next-level-cache = <&l2_cache_0>;
106*e81af013SJanne Grunau			i-cache-size = <0x20000>;
107*e81af013SJanne Grunau			d-cache-size = <0x10000>;
108*e81af013SJanne Grunau		};
109*e81af013SJanne Grunau
110*e81af013SJanne Grunau		cpu_e04: cpu@4 {
111*e81af013SJanne Grunau			compatible = "apple,sawtooth";
112*e81af013SJanne Grunau			device_type = "cpu";
113*e81af013SJanne Grunau			reg = <0x0 0x4>;
114*e81af013SJanne Grunau			enable-method = "spin-table";
115*e81af013SJanne Grunau			cpu-release-addr = <0 0>; /* to be filled by loader */
116*e81af013SJanne Grunau			next-level-cache = <&l2_cache_0>;
117*e81af013SJanne Grunau			i-cache-size = <0x20000>;
118*e81af013SJanne Grunau			d-cache-size = <0x10000>;
119*e81af013SJanne Grunau		};
120*e81af013SJanne Grunau
121*e81af013SJanne Grunau		cpu_e05: cpu@5 {
122*e81af013SJanne Grunau			compatible = "apple,sawtooth";
123*e81af013SJanne Grunau			device_type = "cpu";
124*e81af013SJanne Grunau			reg = <0x0 0x5>;
125*e81af013SJanne Grunau			enable-method = "spin-table";
126*e81af013SJanne Grunau			cpu-release-addr = <0 0>; /* to be filled by loader */
127*e81af013SJanne Grunau			next-level-cache = <&l2_cache_0>;
128*e81af013SJanne Grunau			i-cache-size = <0x20000>;
129*e81af013SJanne Grunau			d-cache-size = <0x10000>;
130*e81af013SJanne Grunau		};
131*e81af013SJanne Grunau
132*e81af013SJanne Grunau		cpu_p00: cpu@10100 {
133*e81af013SJanne Grunau			compatible = "apple,everest";
134*e81af013SJanne Grunau			device_type = "cpu";
135*e81af013SJanne Grunau			reg = <0x0 0x10100>;
136*e81af013SJanne Grunau			enable-method = "spin-table";
137*e81af013SJanne Grunau			cpu-release-addr = <0 0>; /* To be filled by loader */
138*e81af013SJanne Grunau			next-level-cache = <&l2_cache_1>;
139*e81af013SJanne Grunau			i-cache-size = <0x30000>;
140*e81af013SJanne Grunau			d-cache-size = <0x20000>;
141*e81af013SJanne Grunau		};
142*e81af013SJanne Grunau
143*e81af013SJanne Grunau		cpu_p01: cpu@10101 {
144*e81af013SJanne Grunau			compatible = "apple,everest";
145*e81af013SJanne Grunau			device_type = "cpu";
146*e81af013SJanne Grunau			reg = <0x0 0x10101>;
147*e81af013SJanne Grunau			enable-method = "spin-table";
148*e81af013SJanne Grunau			cpu-release-addr = <0 0>; /* To be filled by loader */
149*e81af013SJanne Grunau			next-level-cache = <&l2_cache_1>;
150*e81af013SJanne Grunau			i-cache-size = <0x30000>;
151*e81af013SJanne Grunau			d-cache-size = <0x20000>;
152*e81af013SJanne Grunau		};
153*e81af013SJanne Grunau
154*e81af013SJanne Grunau		cpu_p02: cpu@10102 {
155*e81af013SJanne Grunau			compatible = "apple,everest";
156*e81af013SJanne Grunau			device_type = "cpu";
157*e81af013SJanne Grunau			reg = <0x0 0x10102>;
158*e81af013SJanne Grunau			enable-method = "spin-table";
159*e81af013SJanne Grunau			cpu-release-addr = <0 0>; /* To be filled by loader */
160*e81af013SJanne Grunau			next-level-cache = <&l2_cache_1>;
161*e81af013SJanne Grunau			i-cache-size = <0x30000>;
162*e81af013SJanne Grunau			d-cache-size = <0x20000>;
163*e81af013SJanne Grunau		};
164*e81af013SJanne Grunau
165*e81af013SJanne Grunau		cpu_p03: cpu@10103 {
166*e81af013SJanne Grunau			compatible = "apple,everest";
167*e81af013SJanne Grunau			device_type = "cpu";
168*e81af013SJanne Grunau			reg = <0x0 0x10103>;
169*e81af013SJanne Grunau			enable-method = "spin-table";
170*e81af013SJanne Grunau			cpu-release-addr = <0 0>; /* To be filled by loader */
171*e81af013SJanne Grunau			next-level-cache = <&l2_cache_1>;
172*e81af013SJanne Grunau			i-cache-size = <0x30000>;
173*e81af013SJanne Grunau			d-cache-size = <0x20000>;
174*e81af013SJanne Grunau		};
175*e81af013SJanne Grunau
176*e81af013SJanne Grunau		cpu_p04: cpu@10104 {
177*e81af013SJanne Grunau			compatible = "apple,everest";
178*e81af013SJanne Grunau			device_type = "cpu";
179*e81af013SJanne Grunau			reg = <0x0 0x10104>;
180*e81af013SJanne Grunau			enable-method = "spin-table";
181*e81af013SJanne Grunau			cpu-release-addr = <0 0>; /* To be filled by loader */
182*e81af013SJanne Grunau			next-level-cache = <&l2_cache_1>;
183*e81af013SJanne Grunau			i-cache-size = <0x30000>;
184*e81af013SJanne Grunau			d-cache-size = <0x20000>;
185*e81af013SJanne Grunau		};
186*e81af013SJanne Grunau
187*e81af013SJanne Grunau		cpu_p05: cpu@10105 {
188*e81af013SJanne Grunau			compatible = "apple,everest";
189*e81af013SJanne Grunau			device_type = "cpu";
190*e81af013SJanne Grunau			reg = <0x0 0x10105>;
191*e81af013SJanne Grunau			enable-method = "spin-table";
192*e81af013SJanne Grunau			cpu-release-addr = <0 0>; /* To be filled by loader */
193*e81af013SJanne Grunau			next-level-cache = <&l2_cache_1>;
194*e81af013SJanne Grunau			i-cache-size = <0x30000>;
195*e81af013SJanne Grunau			d-cache-size = <0x20000>;
196*e81af013SJanne Grunau		};
197*e81af013SJanne Grunau
198*e81af013SJanne Grunau		l2_cache_0: l2-cache-0 {
199*e81af013SJanne Grunau			compatible = "cache";
200*e81af013SJanne Grunau			cache-level = <2>;
201*e81af013SJanne Grunau			cache-unified;
202*e81af013SJanne Grunau			cache-size = <0x400000>;
203*e81af013SJanne Grunau		};
204*e81af013SJanne Grunau
205*e81af013SJanne Grunau		l2_cache_1: l2-cache-1 {
206*e81af013SJanne Grunau			compatible = "cache";
207*e81af013SJanne Grunau			cache-level = <2>;
208*e81af013SJanne Grunau			cache-unified;
209*e81af013SJanne Grunau			cache-size = <0x1000000>;
210*e81af013SJanne Grunau		};
211*e81af013SJanne Grunau	 };
212*e81af013SJanne Grunau
213*e81af013SJanne Grunau	timer {
214*e81af013SJanne Grunau		compatible = "arm,armv8-timer";
215*e81af013SJanne Grunau		interrupt-parent = <&aic>;
216*e81af013SJanne Grunau		interrupt-names = "phys", "virt", "hyp-phys", "hyp-virt";
217*e81af013SJanne Grunau		interrupts = <AIC_FIQ AIC_TMR_GUEST_PHYS IRQ_TYPE_LEVEL_HIGH>,
218*e81af013SJanne Grunau			     <AIC_FIQ AIC_TMR_GUEST_VIRT IRQ_TYPE_LEVEL_HIGH>,
219*e81af013SJanne Grunau			     <AIC_FIQ AIC_TMR_HV_PHYS IRQ_TYPE_LEVEL_HIGH>,
220*e81af013SJanne Grunau			     <AIC_FIQ AIC_TMR_HV_VIRT IRQ_TYPE_LEVEL_HIGH>;
221*e81af013SJanne Grunau	};
222*e81af013SJanne Grunau
223*e81af013SJanne Grunau	clkref: clock-ref {
224*e81af013SJanne Grunau		compatible = "fixed-clock";
225*e81af013SJanne Grunau		#clock-cells = <0>;
226*e81af013SJanne Grunau		clock-frequency = <24000000>;
227*e81af013SJanne Grunau		clock-output-names = "clkref";
228*e81af013SJanne Grunau	};
229*e81af013SJanne Grunau
230*e81af013SJanne Grunau	reserved-memory {
231*e81af013SJanne Grunau		#address-cells = <2>;
232*e81af013SJanne Grunau		#size-cells = <2>;
233*e81af013SJanne Grunau		ranges;
234*e81af013SJanne Grunau	};
235*e81af013SJanne Grunau
236*e81af013SJanne Grunau	soc: soc {
237*e81af013SJanne Grunau		compatible = "simple-bus";
238*e81af013SJanne Grunau		#address-cells = <2>;
239*e81af013SJanne Grunau		#size-cells = <2>;
240*e81af013SJanne Grunau
241*e81af013SJanne Grunau		ranges;
242*e81af013SJanne Grunau		nonposted-mmio;
243*e81af013SJanne Grunau		/* Required to get >32-bit DMA via DARTs */
244*e81af013SJanne Grunau		dma-ranges = <0 0 0 0 0xffffffff 0xffffc000>;
245*e81af013SJanne Grunau
246*e81af013SJanne Grunau		i2c1: i2c@289014000 {
247*e81af013SJanne Grunau			compatible = "apple,t6030-i2c", "apple,t8103-i2c";
248*e81af013SJanne Grunau			reg = <0x2 0x89014000 0x0 0x4000>;
249*e81af013SJanne Grunau			clocks = <&clkref>;
250*e81af013SJanne Grunau			interrupt-parent = <&aic>;
251*e81af013SJanne Grunau			interrupts = <AIC_IRQ 890 IRQ_TYPE_LEVEL_HIGH>;
252*e81af013SJanne Grunau			pinctrl-0 = <&i2c1_pins>;
253*e81af013SJanne Grunau			pinctrl-names = "default";
254*e81af013SJanne Grunau			#address-cells = <0x1>;
255*e81af013SJanne Grunau			#size-cells = <0x0>;
256*e81af013SJanne Grunau			power-domains = <&ps_i2c1>;
257*e81af013SJanne Grunau			status = "disabled";
258*e81af013SJanne Grunau		};
259*e81af013SJanne Grunau
260*e81af013SJanne Grunau		i2c2: i2c@289018000 {
261*e81af013SJanne Grunau			compatible = "apple,t6030-i2c", "apple,t8103-i2c";
262*e81af013SJanne Grunau			reg = <0x2 0x89018000 0x0 0x4000>;
263*e81af013SJanne Grunau			clocks = <&clkref>;
264*e81af013SJanne Grunau			interrupt-parent = <&aic>;
265*e81af013SJanne Grunau			interrupts = <AIC_IRQ 891 IRQ_TYPE_LEVEL_HIGH>;
266*e81af013SJanne Grunau			pinctrl-0 = <&i2c2_pins>;
267*e81af013SJanne Grunau			pinctrl-names = "default";
268*e81af013SJanne Grunau			#address-cells = <0x1>;
269*e81af013SJanne Grunau			#size-cells = <0x0>;
270*e81af013SJanne Grunau			power-domains = <&ps_i2c2>;
271*e81af013SJanne Grunau			status = "disabled";
272*e81af013SJanne Grunau		};
273*e81af013SJanne Grunau
274*e81af013SJanne Grunau		i2c3: i2c@28901c000 {
275*e81af013SJanne Grunau			compatible = "apple,t6030-i2c", "apple,t8103-i2c";
276*e81af013SJanne Grunau			reg = <0x2 0x8901c000 0x0 0x4000>;
277*e81af013SJanne Grunau			clocks = <&clkref>;
278*e81af013SJanne Grunau			interrupt-parent = <&aic>;
279*e81af013SJanne Grunau			interrupts = <AIC_IRQ 892 IRQ_TYPE_LEVEL_HIGH>;
280*e81af013SJanne Grunau			pinctrl-0 = <&i2c3_pins>;
281*e81af013SJanne Grunau			pinctrl-names = "default";
282*e81af013SJanne Grunau			#address-cells = <0x1>;
283*e81af013SJanne Grunau			#size-cells = <0x0>;
284*e81af013SJanne Grunau			power-domains = <&ps_i2c3>;
285*e81af013SJanne Grunau			status = "disabled";
286*e81af013SJanne Grunau		};
287*e81af013SJanne Grunau
288*e81af013SJanne Grunau		i2c4: i2c@289020000 {
289*e81af013SJanne Grunau			compatible = "apple,t6030-i2c", "apple,t8103-i2c";
290*e81af013SJanne Grunau			reg = <0x2 0x89020000 0x0 0x4000>;
291*e81af013SJanne Grunau			clocks = <&clkref>;
292*e81af013SJanne Grunau			interrupt-parent = <&aic>;
293*e81af013SJanne Grunau			interrupts = <AIC_IRQ 893 IRQ_TYPE_LEVEL_HIGH>;
294*e81af013SJanne Grunau			pinctrl-0 = <&i2c4_pins>;
295*e81af013SJanne Grunau			pinctrl-names = "default";
296*e81af013SJanne Grunau			#address-cells = <0x1>;
297*e81af013SJanne Grunau			#size-cells = <0x0>;
298*e81af013SJanne Grunau			power-domains = <&ps_i2c4>;
299*e81af013SJanne Grunau			status = "disabled";
300*e81af013SJanne Grunau		};
301*e81af013SJanne Grunau
302*e81af013SJanne Grunau		i2c6: i2c@289028000 {
303*e81af013SJanne Grunau			compatible = "apple,t6030-i2c", "apple,t8103-i2c";
304*e81af013SJanne Grunau			reg = <0x2 0x89028000 0x0 0x4000>;
305*e81af013SJanne Grunau			clocks = <&clkref>;
306*e81af013SJanne Grunau			interrupt-parent = <&aic>;
307*e81af013SJanne Grunau			interrupts = <AIC_IRQ 895 IRQ_TYPE_LEVEL_HIGH>;
308*e81af013SJanne Grunau			pinctrl-0 = <&i2c6_pins>;
309*e81af013SJanne Grunau			pinctrl-names = "default";
310*e81af013SJanne Grunau			#address-cells = <0x1>;
311*e81af013SJanne Grunau			#size-cells = <0x0>;
312*e81af013SJanne Grunau			power-domains = <&ps_i2c6>;
313*e81af013SJanne Grunau			status = "disabled";
314*e81af013SJanne Grunau		};
315*e81af013SJanne Grunau
316*e81af013SJanne Grunau		i2c8: i2c@289030000 {
317*e81af013SJanne Grunau			compatible = "apple,t6030-i2c", "apple,t8103-i2c";
318*e81af013SJanne Grunau			reg = <0x2 0x89030000 0x0 0x4000>;
319*e81af013SJanne Grunau			clocks = <&clkref>;
320*e81af013SJanne Grunau			interrupt-parent = <&aic>;
321*e81af013SJanne Grunau			interrupts = <AIC_IRQ 897 IRQ_TYPE_LEVEL_HIGH>;
322*e81af013SJanne Grunau			pinctrl-0 = <&i2c8_pins>;
323*e81af013SJanne Grunau			pinctrl-names = "default";
324*e81af013SJanne Grunau			#address-cells = <0x1>;
325*e81af013SJanne Grunau			#size-cells = <0x0>;
326*e81af013SJanne Grunau			power-domains = <&ps_i2c8>;
327*e81af013SJanne Grunau			status = "disabled";
328*e81af013SJanne Grunau		};
329*e81af013SJanne Grunau
330*e81af013SJanne Grunau		fpwm0: pwm@289040000 {
331*e81af013SJanne Grunau			compatible = "apple,t6030-fpwm", "apple,s5l-fpwm";
332*e81af013SJanne Grunau			reg = <0x2 0x89040000 0x0 0x4000>;
333*e81af013SJanne Grunau			power-domains = <&ps_fpwm0>;
334*e81af013SJanne Grunau			clocks = <&clkref>;
335*e81af013SJanne Grunau			#pwm-cells = <2>;
336*e81af013SJanne Grunau			status = "disabled";
337*e81af013SJanne Grunau		};
338*e81af013SJanne Grunau
339*e81af013SJanne Grunau		serial0: serial@289200000 {
340*e81af013SJanne Grunau			compatible = "apple,s5l-uart";
341*e81af013SJanne Grunau			reg = <0x2 0x89200000 0x0 0x1000>;
342*e81af013SJanne Grunau			reg-io-width = <4>;
343*e81af013SJanne Grunau			interrupt-parent = <&aic>;
344*e81af013SJanne Grunau			interrupts = <AIC_IRQ 866 IRQ_TYPE_LEVEL_HIGH>;
345*e81af013SJanne Grunau			/*
346*e81af013SJanne Grunau			 * TODO: figure out the clocking properly, there may
347*e81af013SJanne Grunau			 * be a third selectable clock.
348*e81af013SJanne Grunau			 */
349*e81af013SJanne Grunau			clocks = <&clkref>, <&clkref>;
350*e81af013SJanne Grunau			clock-names = "uart", "clk_uart_baud0";
351*e81af013SJanne Grunau			power-domains = <&ps_uart0>;
352*e81af013SJanne Grunau			status = "disabled";
353*e81af013SJanne Grunau		};
354*e81af013SJanne Grunau
355*e81af013SJanne Grunau		pmgr_gfx: power-management@290e80000 {
356*e81af013SJanne Grunau			compatible = "apple,t6030-pmgr", "apple,t8103-pmgr", "syscon", "simple-mfd";
357*e81af013SJanne Grunau			#address-cells = <1>;
358*e81af013SJanne Grunau			#size-cells = <1>;
359*e81af013SJanne Grunau
360*e81af013SJanne Grunau			reg = <0x2 0x90e80000 0 0x4000>;
361*e81af013SJanne Grunau			/* child nodes are added in t6030-pmgr.dtsi */
362*e81af013SJanne Grunau		};
363*e81af013SJanne Grunau
364*e81af013SJanne Grunau		pinctrl_ap: pinctrl@347100000 {
365*e81af013SJanne Grunau			compatible = "apple,t6030-pinctrl", "apple,t8103-pinctrl";
366*e81af013SJanne Grunau			reg = <0x3 0x47100000 0x0 0x4000>;
367*e81af013SJanne Grunau
368*e81af013SJanne Grunau			interrupt-parent = <&aic>;
369*e81af013SJanne Grunau			interrupts = <AIC_IRQ 273 IRQ_TYPE_LEVEL_HIGH>,
370*e81af013SJanne Grunau				     <AIC_IRQ 274 IRQ_TYPE_LEVEL_HIGH>,
371*e81af013SJanne Grunau				     <AIC_IRQ 275 IRQ_TYPE_LEVEL_HIGH>,
372*e81af013SJanne Grunau				     <AIC_IRQ 276 IRQ_TYPE_LEVEL_HIGH>,
373*e81af013SJanne Grunau				     <AIC_IRQ 277 IRQ_TYPE_LEVEL_HIGH>,
374*e81af013SJanne Grunau				     <AIC_IRQ 278 IRQ_TYPE_LEVEL_HIGH>,
375*e81af013SJanne Grunau				     <AIC_IRQ 279 IRQ_TYPE_LEVEL_HIGH>;
376*e81af013SJanne Grunau
377*e81af013SJanne Grunau			power-domains = <&ps_gpio>;
378*e81af013SJanne Grunau
379*e81af013SJanne Grunau			gpio-controller;
380*e81af013SJanne Grunau			#gpio-cells = <2>;
381*e81af013SJanne Grunau			gpio-ranges = <&pinctrl_ap 0 0 224>;
382*e81af013SJanne Grunau			apple,npins = <224>;
383*e81af013SJanne Grunau
384*e81af013SJanne Grunau			interrupt-controller;
385*e81af013SJanne Grunau			#interrupt-cells = <2>;
386*e81af013SJanne Grunau
387*e81af013SJanne Grunau			i2c1_pins: i2c1-pins {
388*e81af013SJanne Grunau				pinmux = <APPLE_PINMUX(37, 1)>,
389*e81af013SJanne Grunau					 <APPLE_PINMUX(36, 1)>;
390*e81af013SJanne Grunau			};
391*e81af013SJanne Grunau
392*e81af013SJanne Grunau			i2c2_pins: i2c2-pins {
393*e81af013SJanne Grunau				pinmux = <APPLE_PINMUX(43, 1)>,
394*e81af013SJanne Grunau					 <APPLE_PINMUX(42, 1)>;
395*e81af013SJanne Grunau			};
396*e81af013SJanne Grunau
397*e81af013SJanne Grunau			i2c3_pins: i2c3-pins {
398*e81af013SJanne Grunau				pinmux = <APPLE_PINMUX(41, 1)>,
399*e81af013SJanne Grunau					 <APPLE_PINMUX(40, 1)>;
400*e81af013SJanne Grunau			};
401*e81af013SJanne Grunau
402*e81af013SJanne Grunau			i2c4_pins: i2c4-pins {
403*e81af013SJanne Grunau				pinmux = <APPLE_PINMUX(39, 1)>,
404*e81af013SJanne Grunau					 <APPLE_PINMUX(38, 1)>;
405*e81af013SJanne Grunau			};
406*e81af013SJanne Grunau
407*e81af013SJanne Grunau			i2c6_pins: i2c6-pins {
408*e81af013SJanne Grunau				pinmux = <APPLE_PINMUX(47, 1)>,
409*e81af013SJanne Grunau					 <APPLE_PINMUX(46, 1)>;
410*e81af013SJanne Grunau			};
411*e81af013SJanne Grunau
412*e81af013SJanne Grunau			i2c8_pins: i2c8-pins {
413*e81af013SJanne Grunau				pinmux = <APPLE_PINMUX(51, 1)>,
414*e81af013SJanne Grunau					 <APPLE_PINMUX(50, 1)>;
415*e81af013SJanne Grunau			};
416*e81af013SJanne Grunau		};
417*e81af013SJanne Grunau
418*e81af013SJanne Grunau		pmgr: power-management@350700000 {
419*e81af013SJanne Grunau			compatible = "apple,t6030-pmgr", "apple,t8103-pmgr", "syscon", "simple-mfd";
420*e81af013SJanne Grunau			#address-cells = <1>;
421*e81af013SJanne Grunau			#size-cells = <1>;
422*e81af013SJanne Grunau
423*e81af013SJanne Grunau			reg = <0x3 0x50700000 0 0x14000>;
424*e81af013SJanne Grunau			/* child nodes are added in t6030-pmgr.dtsi */
425*e81af013SJanne Grunau		};
426*e81af013SJanne Grunau
427*e81af013SJanne Grunau		aic: interrupt-controller@351000000 {
428*e81af013SJanne Grunau			compatible = "apple,t6030-aic3", "apple,t8122-aic3";
429*e81af013SJanne Grunau			#interrupt-cells = <3>;
430*e81af013SJanne Grunau			interrupt-controller;
431*e81af013SJanne Grunau
432*e81af013SJanne Grunau			reg = <0x3 0x51000000 0x0 0x184000>,
433*e81af013SJanne Grunau			      <0x3 0x51040000 0x0 0x4000>;
434*e81af013SJanne Grunau			reg-names = "core", "event";
435*e81af013SJanne Grunau			power-domains = <&ps_aic>;
436*e81af013SJanne Grunau		};
437*e81af013SJanne Grunau
438*e81af013SJanne Grunau		pinctrl_nub: pinctrl@3641f0000 {
439*e81af013SJanne Grunau			compatible = "apple,t6030-pinctrl", "apple,t8103-pinctrl";
440*e81af013SJanne Grunau			reg = <0x3 0x641f0000 0x0 0x4000>;
441*e81af013SJanne Grunau
442*e81af013SJanne Grunau			interrupt-parent = <&aic>;
443*e81af013SJanne Grunau			interrupts = <AIC_IRQ 472 IRQ_TYPE_LEVEL_HIGH>,
444*e81af013SJanne Grunau				     <AIC_IRQ 473 IRQ_TYPE_LEVEL_HIGH>,
445*e81af013SJanne Grunau				     <AIC_IRQ 474 IRQ_TYPE_LEVEL_HIGH>,
446*e81af013SJanne Grunau				     <AIC_IRQ 475 IRQ_TYPE_LEVEL_HIGH>,
447*e81af013SJanne Grunau				     <AIC_IRQ 476 IRQ_TYPE_LEVEL_HIGH>,
448*e81af013SJanne Grunau				     <AIC_IRQ 477 IRQ_TYPE_LEVEL_HIGH>,
449*e81af013SJanne Grunau				     <AIC_IRQ 478 IRQ_TYPE_LEVEL_HIGH>;
450*e81af013SJanne Grunau
451*e81af013SJanne Grunau			gpio-controller;
452*e81af013SJanne Grunau			#gpio-cells = <2>;
453*e81af013SJanne Grunau			gpio-ranges = <&pinctrl_nub 0 0 37>;
454*e81af013SJanne Grunau			apple,npins = <37>;
455*e81af013SJanne Grunau
456*e81af013SJanne Grunau			interrupt-controller;
457*e81af013SJanne Grunau			#interrupt-cells = <2>;
458*e81af013SJanne Grunau		};
459*e81af013SJanne Grunau
460*e81af013SJanne Grunau		pmgr_mini: power-management@364280000 {
461*e81af013SJanne Grunau			compatible = "apple,t6030-pmgr", "apple,t8103-pmgr", "syscon", "simple-mfd";
462*e81af013SJanne Grunau			#address-cells = <1>;
463*e81af013SJanne Grunau			#size-cells = <1>;
464*e81af013SJanne Grunau
465*e81af013SJanne Grunau			reg = <0x3 0x64280000 0 0x4000>;
466*e81af013SJanne Grunau			/* child nodes are added in t6030-pmgr.dtsi */
467*e81af013SJanne Grunau		};
468*e81af013SJanne Grunau
469*e81af013SJanne Grunau		wdt: watchdog@3642b0000 {
470*e81af013SJanne Grunau			compatible = "apple,t6030-wdt", "apple,t8103-wdt";
471*e81af013SJanne Grunau			reg = <0x3 0x642b0000 0x0 0x4000>;
472*e81af013SJanne Grunau			clocks = <&clkref>;
473*e81af013SJanne Grunau			interrupt-parent = <&aic>;
474*e81af013SJanne Grunau			interrupts = <AIC_IRQ 480 IRQ_TYPE_LEVEL_HIGH>;
475*e81af013SJanne Grunau		};
476*e81af013SJanne Grunau
477*e81af013SJanne Grunau		pinctrl_smc: pinctrl@36c820000 {
478*e81af013SJanne Grunau			compatible = "apple,t6030-pinctrl", "apple,t8103-pinctrl";
479*e81af013SJanne Grunau			reg = <0x3 0x6c820000 0x0 0x4000>;
480*e81af013SJanne Grunau
481*e81af013SJanne Grunau			gpio-controller;
482*e81af013SJanne Grunau			#gpio-cells = <2>;
483*e81af013SJanne Grunau			gpio-ranges = <&pinctrl_smc 0 0 18>;
484*e81af013SJanne Grunau			apple,npins = <18>;
485*e81af013SJanne Grunau
486*e81af013SJanne Grunau			interrupt-controller;
487*e81af013SJanne Grunau			#interrupt-cells = <2>;
488*e81af013SJanne Grunau			interrupt-parent = <&aic>;
489*e81af013SJanne Grunau			interrupts = <AIC_IRQ 545 IRQ_TYPE_LEVEL_HIGH>,
490*e81af013SJanne Grunau				     <AIC_IRQ 546 IRQ_TYPE_LEVEL_HIGH>,
491*e81af013SJanne Grunau				     <AIC_IRQ 547 IRQ_TYPE_LEVEL_HIGH>,
492*e81af013SJanne Grunau				     <AIC_IRQ 548 IRQ_TYPE_LEVEL_HIGH>,
493*e81af013SJanne Grunau				     <AIC_IRQ 549 IRQ_TYPE_LEVEL_HIGH>,
494*e81af013SJanne Grunau				     <AIC_IRQ 550 IRQ_TYPE_LEVEL_HIGH>,
495*e81af013SJanne Grunau				     <AIC_IRQ 551 IRQ_TYPE_LEVEL_HIGH>;
496*e81af013SJanne Grunau		};
497*e81af013SJanne Grunau
498*e81af013SJanne Grunau		pinctrl_aop: pinctrl@374824000 {
499*e81af013SJanne Grunau			compatible = "apple,t6030-pinctrl", "apple,t8103-pinctrl";
500*e81af013SJanne Grunau			reg = <0x3 0x74824000 0x0 0x4000>;
501*e81af013SJanne Grunau
502*e81af013SJanne Grunau			interrupt-parent = <&aic>;
503*e81af013SJanne Grunau			interrupts = <AIC_IRQ 394 IRQ_TYPE_LEVEL_HIGH>,
504*e81af013SJanne Grunau				     <AIC_IRQ 395 IRQ_TYPE_LEVEL_HIGH>,
505*e81af013SJanne Grunau				     <AIC_IRQ 396 IRQ_TYPE_LEVEL_HIGH>,
506*e81af013SJanne Grunau				     <AIC_IRQ 397 IRQ_TYPE_LEVEL_HIGH>,
507*e81af013SJanne Grunau				     <AIC_IRQ 398 IRQ_TYPE_LEVEL_HIGH>,
508*e81af013SJanne Grunau				     <AIC_IRQ 399 IRQ_TYPE_LEVEL_HIGH>,
509*e81af013SJanne Grunau				     <AIC_IRQ 400 IRQ_TYPE_LEVEL_HIGH>;
510*e81af013SJanne Grunau
511*e81af013SJanne Grunau			clocks = <&clkref>;
512*e81af013SJanne Grunau
513*e81af013SJanne Grunau			gpio-controller;
514*e81af013SJanne Grunau			#gpio-cells = <2>;
515*e81af013SJanne Grunau			gpio-ranges = <&pinctrl_aop 0 0 54>;
516*e81af013SJanne Grunau			apple,npins = <54>;
517*e81af013SJanne Grunau
518*e81af013SJanne Grunau			interrupt-controller;
519*e81af013SJanne Grunau			#interrupt-cells = <2>;
520*e81af013SJanne Grunau		};
521*e81af013SJanne Grunau	};
522*e81af013SJanne Grunau};
523*e81af013SJanne Grunau
524*e81af013SJanne Grunau#include "t6030-pmgr.dtsi"
525