xref: /linux/arch/arm64/boot/dts/apple/t8122.dtsi (revision be150d35864ccd8d1005a12953da145013219d35)
1c65ab490SJanne Grunau// SPDX-License-Identifier: GPL-2.0+ OR MIT
2c65ab490SJanne Grunau/*
3c65ab490SJanne Grunau * Apple T8122 "M3" SoC
4c65ab490SJanne Grunau *
5c65ab490SJanne Grunau * Other names: H15G
6c65ab490SJanne Grunau *
7c65ab490SJanne Grunau * Copyright The Asahi Linux Contributors
8c65ab490SJanne Grunau */
9c65ab490SJanne Grunau
10c65ab490SJanne Grunau#include <dt-bindings/gpio/gpio.h>
11c65ab490SJanne Grunau#include <dt-bindings/interrupt-controller/apple-aic.h>
12c65ab490SJanne Grunau#include <dt-bindings/interrupt-controller/irq.h>
13c65ab490SJanne Grunau#include <dt-bindings/pinctrl/apple.h>
14c65ab490SJanne Grunau#include <dt-bindings/phy/phy.h>
15c65ab490SJanne Grunau#include <dt-bindings/spmi/spmi.h>
16c65ab490SJanne Grunau
17c65ab490SJanne Grunau/ {
18c65ab490SJanne Grunau	compatible = "apple,t8122", "apple,arm-platform";
19c65ab490SJanne Grunau
20c65ab490SJanne Grunau	#address-cells = <2>;
21c65ab490SJanne Grunau	#size-cells = <2>;
22c65ab490SJanne Grunau
23c65ab490SJanne Grunau	cpus {
24c65ab490SJanne Grunau		#address-cells = <2>;
25c65ab490SJanne Grunau		#size-cells = <0>;
26c65ab490SJanne Grunau
27c65ab490SJanne Grunau		cpu-map {
28c65ab490SJanne Grunau			cluster0 {
29c65ab490SJanne Grunau				core0 {
30c65ab490SJanne Grunau					cpu = <&cpu_e0>;
31c65ab490SJanne Grunau				};
32c65ab490SJanne Grunau				core1 {
33c65ab490SJanne Grunau					cpu = <&cpu_e1>;
34c65ab490SJanne Grunau				};
35c65ab490SJanne Grunau				core2 {
36c65ab490SJanne Grunau					cpu = <&cpu_e2>;
37c65ab490SJanne Grunau				};
38c65ab490SJanne Grunau				core3 {
39c65ab490SJanne Grunau					cpu = <&cpu_e3>;
40c65ab490SJanne Grunau				};
41c65ab490SJanne Grunau			};
42c65ab490SJanne Grunau
43c65ab490SJanne Grunau			cluster1 {
44c65ab490SJanne Grunau				core0 {
45c65ab490SJanne Grunau					cpu = <&cpu_p0>;
46c65ab490SJanne Grunau				};
47c65ab490SJanne Grunau				core1 {
48c65ab490SJanne Grunau					cpu = <&cpu_p1>;
49c65ab490SJanne Grunau				};
50c65ab490SJanne Grunau				core2 {
51c65ab490SJanne Grunau					cpu = <&cpu_p2>;
52c65ab490SJanne Grunau				};
53c65ab490SJanne Grunau				core3 {
54c65ab490SJanne Grunau					cpu = <&cpu_p3>;
55c65ab490SJanne Grunau				};
56c65ab490SJanne Grunau			};
57c65ab490SJanne Grunau		};
58c65ab490SJanne Grunau
59c65ab490SJanne Grunau		cpu_e0: cpu@0 {
60c65ab490SJanne Grunau			compatible = "apple,sawtooth";
61c65ab490SJanne Grunau			device_type = "cpu";
62c65ab490SJanne Grunau			reg = <0x0 0x0>;
63c65ab490SJanne Grunau			enable-method = "spin-table";
64c65ab490SJanne Grunau			cpu-release-addr = <0 0>; /* To be filled by loader */
65c65ab490SJanne Grunau			next-level-cache = <&l2_cache_0>;
66c65ab490SJanne Grunau			i-cache-size = <0x20000>;
67c65ab490SJanne Grunau			d-cache-size = <0x10000>;
68c65ab490SJanne Grunau		};
69c65ab490SJanne Grunau
70c65ab490SJanne Grunau		cpu_e1: cpu@1 {
71c65ab490SJanne Grunau			compatible = "apple,sawtooth";
72c65ab490SJanne Grunau			device_type = "cpu";
73c65ab490SJanne Grunau			reg = <0x0 0x1>;
74c65ab490SJanne Grunau			enable-method = "spin-table";
75c65ab490SJanne Grunau			cpu-release-addr = <0 0>; /* To be filled by loader */
76c65ab490SJanne Grunau			next-level-cache = <&l2_cache_0>;
77c65ab490SJanne Grunau			i-cache-size = <0x20000>;
78c65ab490SJanne Grunau			d-cache-size = <0x10000>;
79c65ab490SJanne Grunau		};
80c65ab490SJanne Grunau
81c65ab490SJanne Grunau		cpu_e2: cpu@2 {
82c65ab490SJanne Grunau			compatible = "apple,sawtooth";
83c65ab490SJanne Grunau			device_type = "cpu";
84c65ab490SJanne Grunau			reg = <0x0 0x2>;
85c65ab490SJanne Grunau			enable-method = "spin-table";
86c65ab490SJanne Grunau			cpu-release-addr = <0 0>; /* To be filled by loader */
87c65ab490SJanne Grunau			next-level-cache = <&l2_cache_0>;
88c65ab490SJanne Grunau			i-cache-size = <0x20000>;
89c65ab490SJanne Grunau			d-cache-size = <0x10000>;
90c65ab490SJanne Grunau		};
91c65ab490SJanne Grunau
92c65ab490SJanne Grunau		cpu_e3: cpu@3 {
93c65ab490SJanne Grunau			compatible = "apple,sawtooth";
94c65ab490SJanne Grunau			device_type = "cpu";
95c65ab490SJanne Grunau			reg = <0x0 0x3>;
96c65ab490SJanne Grunau			enable-method = "spin-table";
97c65ab490SJanne Grunau			cpu-release-addr = <0 0>; /* To be filled by loader */
98c65ab490SJanne Grunau			next-level-cache = <&l2_cache_0>;
99c65ab490SJanne Grunau			i-cache-size = <0x20000>;
100c65ab490SJanne Grunau			d-cache-size = <0x10000>;
101c65ab490SJanne Grunau		};
102c65ab490SJanne Grunau
103c65ab490SJanne Grunau		cpu_p0: cpu@10100 {
104c65ab490SJanne Grunau			compatible = "apple,everest";
105c65ab490SJanne Grunau			device_type = "cpu";
106c65ab490SJanne Grunau			reg = <0x0 0x10100>;
107c65ab490SJanne Grunau			enable-method = "spin-table";
108c65ab490SJanne Grunau			cpu-release-addr = <0 0>; /* To be filled by loader */
109c65ab490SJanne Grunau			next-level-cache = <&l2_cache_1>;
110c65ab490SJanne Grunau			i-cache-size = <0x30000>;
111c65ab490SJanne Grunau			d-cache-size = <0x20000>;
112c65ab490SJanne Grunau		};
113c65ab490SJanne Grunau
114c65ab490SJanne Grunau		cpu_p1: cpu@10101 {
115c65ab490SJanne Grunau			compatible = "apple,everest";
116c65ab490SJanne Grunau			device_type = "cpu";
117c65ab490SJanne Grunau			reg = <0x0 0x10101>;
118c65ab490SJanne Grunau			enable-method = "spin-table";
119c65ab490SJanne Grunau			cpu-release-addr = <0 0>; /* To be filled by loader */
120c65ab490SJanne Grunau			next-level-cache = <&l2_cache_1>;
121c65ab490SJanne Grunau			i-cache-size = <0x30000>;
122c65ab490SJanne Grunau			d-cache-size = <0x20000>;
123c65ab490SJanne Grunau		};
124c65ab490SJanne Grunau
125c65ab490SJanne Grunau		cpu_p2: cpu@10102 {
126c65ab490SJanne Grunau			compatible = "apple,everest";
127c65ab490SJanne Grunau			device_type = "cpu";
128c65ab490SJanne Grunau			reg = <0x0 0x10102>;
129c65ab490SJanne Grunau			enable-method = "spin-table";
130c65ab490SJanne Grunau			cpu-release-addr = <0 0>; /* To be filled by loader */
131c65ab490SJanne Grunau			next-level-cache = <&l2_cache_1>;
132c65ab490SJanne Grunau			i-cache-size = <0x30000>;
133c65ab490SJanne Grunau			d-cache-size = <0x20000>;
134c65ab490SJanne Grunau		};
135c65ab490SJanne Grunau
136c65ab490SJanne Grunau		cpu_p3: cpu@10103 {
137c65ab490SJanne Grunau			compatible = "apple,everest";
138c65ab490SJanne Grunau			device_type = "cpu";
139c65ab490SJanne Grunau			reg = <0x0 0x10103>;
140c65ab490SJanne Grunau			enable-method = "spin-table";
141c65ab490SJanne Grunau			cpu-release-addr = <0 0>; /* To be filled by loader */
142c65ab490SJanne Grunau			next-level-cache = <&l2_cache_1>;
143c65ab490SJanne Grunau			i-cache-size = <0x30000>;
144c65ab490SJanne Grunau			d-cache-size = <0x20000>;
145c65ab490SJanne Grunau		};
146c65ab490SJanne Grunau
147c65ab490SJanne Grunau		l2_cache_0: l2-cache-0 {
148c65ab490SJanne Grunau			compatible = "cache";
149c65ab490SJanne Grunau			cache-level = <2>;
150c65ab490SJanne Grunau			cache-unified;
151c65ab490SJanne Grunau			cache-size = <0x400000>;
152c65ab490SJanne Grunau		};
153c65ab490SJanne Grunau
154c65ab490SJanne Grunau		l2_cache_1: l2-cache-1 {
155c65ab490SJanne Grunau			compatible = "cache";
156c65ab490SJanne Grunau			cache-level = <2>;
157c65ab490SJanne Grunau			cache-unified;
158c65ab490SJanne Grunau			cache-size = <0x1000000>;
159c65ab490SJanne Grunau		};
160c65ab490SJanne Grunau	};
161c65ab490SJanne Grunau
162c65ab490SJanne Grunau	timer {
163c65ab490SJanne Grunau		compatible = "arm,armv8-timer";
164c65ab490SJanne Grunau		interrupt-parent = <&aic>;
165c65ab490SJanne Grunau		interrupt-names = "phys", "virt", "hyp-phys", "hyp-virt";
166c65ab490SJanne Grunau		interrupts = <AIC_FIQ AIC_TMR_GUEST_PHYS IRQ_TYPE_LEVEL_HIGH>,
167c65ab490SJanne Grunau			     <AIC_FIQ AIC_TMR_GUEST_VIRT IRQ_TYPE_LEVEL_HIGH>,
168c65ab490SJanne Grunau			     <AIC_FIQ AIC_TMR_HV_PHYS IRQ_TYPE_LEVEL_HIGH>,
169c65ab490SJanne Grunau			     <AIC_FIQ AIC_TMR_HV_VIRT IRQ_TYPE_LEVEL_HIGH>;
170c65ab490SJanne Grunau	};
171c65ab490SJanne Grunau
172c65ab490SJanne Grunau	clkref: clock-ref {
173c65ab490SJanne Grunau		compatible = "fixed-clock";
174c65ab490SJanne Grunau		#clock-cells = <0>;
175c65ab490SJanne Grunau		clock-frequency = <24000000>;
176c65ab490SJanne Grunau		clock-output-names = "clkref";
177c65ab490SJanne Grunau	};
178c65ab490SJanne Grunau
179c65ab490SJanne Grunau	soc {
180c65ab490SJanne Grunau		compatible = "simple-bus";
181c65ab490SJanne Grunau		#address-cells = <2>;
182c65ab490SJanne Grunau		#size-cells = <2>;
183c65ab490SJanne Grunau
184c65ab490SJanne Grunau		ranges;
185c65ab490SJanne Grunau		nonposted-mmio;
186c65ab490SJanne Grunau		/* Required to get >32-bit DMA via DARTs */
187c65ab490SJanne Grunau		dma-ranges = <0 0 0 0 0xffffffff 0xffffc000>;
188c65ab490SJanne Grunau
189*09780b4bSMichael Reeves		i2c0: i2c@2a1010000 {
190c65ab490SJanne Grunau			compatible = "apple,t8122-i2c", "apple,t8103-i2c";
191*09780b4bSMichael Reeves			reg = <0x2 0xa1010000 0x0 0x4000>;
192c65ab490SJanne Grunau			clocks = <&clkref>;
193c65ab490SJanne Grunau			interrupt-parent = <&aic>;
194*09780b4bSMichael Reeves			interrupts = <AIC_IRQ 780 IRQ_TYPE_LEVEL_HIGH>;
195c65ab490SJanne Grunau			pinctrl-0 = <&i2c0_pins>;
196c65ab490SJanne Grunau			pinctrl-names = "default";
197c65ab490SJanne Grunau			#address-cells = <0x1>;
198c65ab490SJanne Grunau			#size-cells = <0x0>;
199c65ab490SJanne Grunau			power-domains = <&ps_i2c0>;
200c65ab490SJanne Grunau			status = "disabled";
201c65ab490SJanne Grunau		};
202c65ab490SJanne Grunau
203*09780b4bSMichael Reeves		i2c1: i2c@2a1014000 {
204c65ab490SJanne Grunau			compatible = "apple,t8122-i2c", "apple,t8103-i2c";
205*09780b4bSMichael Reeves			reg = <0x2 0xa1014000 0x0 0x4000>;
206c65ab490SJanne Grunau			clocks = <&clkref>;
207c65ab490SJanne Grunau			interrupt-parent = <&aic>;
208*09780b4bSMichael Reeves			interrupts = <AIC_IRQ 781 IRQ_TYPE_LEVEL_HIGH>;
209c65ab490SJanne Grunau			pinctrl-0 = <&i2c1_pins>;
210c65ab490SJanne Grunau			pinctrl-names = "default";
211c65ab490SJanne Grunau			#address-cells = <0x1>;
212c65ab490SJanne Grunau			#size-cells = <0x0>;
213c65ab490SJanne Grunau			power-domains = <&ps_i2c1>;
214c65ab490SJanne Grunau			status = "disabled";
215c65ab490SJanne Grunau		};
216c65ab490SJanne Grunau
217*09780b4bSMichael Reeves		i2c2: i2c@2a1018000 {
218c65ab490SJanne Grunau			compatible = "apple,t8122-i2c", "apple,t8103-i2c";
219*09780b4bSMichael Reeves			reg = <0x2 0xa1018000 0x0 0x4000>;
220c65ab490SJanne Grunau			clocks = <&clkref>;
221c65ab490SJanne Grunau			interrupt-parent = <&aic>;
222*09780b4bSMichael Reeves			interrupts = <AIC_IRQ 782 IRQ_TYPE_LEVEL_HIGH>;
223c65ab490SJanne Grunau			pinctrl-0 = <&i2c2_pins>;
224c65ab490SJanne Grunau			pinctrl-names = "default";
225c65ab490SJanne Grunau			#address-cells = <0x1>;
226c65ab490SJanne Grunau			#size-cells = <0x0>;
227c65ab490SJanne Grunau			power-domains = <&ps_i2c2>;
228c65ab490SJanne Grunau			status = "disabled";
229c65ab490SJanne Grunau		};
230c65ab490SJanne Grunau
231*09780b4bSMichael Reeves		i2c3: i2c@2a101c000 {
232c65ab490SJanne Grunau			compatible = "apple,t8122-i2c", "apple,t8103-i2c";
233*09780b4bSMichael Reeves			reg = <0x2 0xa101c000 0x0 0x4000>;
234c65ab490SJanne Grunau			clocks = <&clkref>;
235c65ab490SJanne Grunau			interrupt-parent = <&aic>;
236*09780b4bSMichael Reeves			interrupts = <AIC_IRQ 783 IRQ_TYPE_LEVEL_HIGH>;
237c65ab490SJanne Grunau			pinctrl-0 = <&i2c3_pins>;
238c65ab490SJanne Grunau			pinctrl-names = "default";
239c65ab490SJanne Grunau			#address-cells = <0x1>;
240c65ab490SJanne Grunau			#size-cells = <0x0>;
241c65ab490SJanne Grunau			power-domains = <&ps_i2c3>;
242c65ab490SJanne Grunau			status = "disabled";
243c65ab490SJanne Grunau		};
244c65ab490SJanne Grunau
245*09780b4bSMichael Reeves		i2c4: i2c@2a1020000 {
246c65ab490SJanne Grunau			compatible = "apple,t8122-i2c", "apple,t8103-i2c";
247*09780b4bSMichael Reeves			reg = <0x2 0xa1020000 0x0 0x4000>;
248c65ab490SJanne Grunau			clocks = <&clkref>;
249c65ab490SJanne Grunau			interrupt-parent = <&aic>;
250*09780b4bSMichael Reeves			interrupts = <AIC_IRQ 784 IRQ_TYPE_LEVEL_HIGH>;
251c65ab490SJanne Grunau			pinctrl-0 = <&i2c4_pins>;
252c65ab490SJanne Grunau			pinctrl-names = "default";
253c65ab490SJanne Grunau			#address-cells = <0x1>;
254c65ab490SJanne Grunau			#size-cells = <0x0>;
255c65ab490SJanne Grunau			power-domains = <&ps_i2c4>;
256c65ab490SJanne Grunau			status = "disabled";
257c65ab490SJanne Grunau		};
258c65ab490SJanne Grunau
259c65ab490SJanne Grunau		fpwm1: pwm@2a1044000 {
260c65ab490SJanne Grunau			compatible = "apple,t8122-fpwm", "apple,s5l-fpwm";
261c65ab490SJanne Grunau			reg = <0x2 0xa1044000 0x0 0x4000>;
262c65ab490SJanne Grunau			power-domains = <&ps_fpwm1>;
263c65ab490SJanne Grunau			clocks = <&clkref>;
264c65ab490SJanne Grunau			#pwm-cells = <2>;
265c65ab490SJanne Grunau			status = "disabled";
266c65ab490SJanne Grunau		};
267c65ab490SJanne Grunau
268c65ab490SJanne Grunau		serial0: serial@2a1200000 {
269c65ab490SJanne Grunau			compatible = "apple,s5l-uart";
270c65ab490SJanne Grunau			reg = <0x2 0xa1200000 0x0 0x1000>;
271c65ab490SJanne Grunau			reg-io-width = <4>;
272c65ab490SJanne Grunau			interrupt-parent = <&aic>;
273c65ab490SJanne Grunau			interrupts = <AIC_IRQ 757 IRQ_TYPE_LEVEL_HIGH>;
274c65ab490SJanne Grunau			/*
275c65ab490SJanne Grunau			 * TODO: figure out the clocking properly, there may
276c65ab490SJanne Grunau			 * be a third selectable clock.
277c65ab490SJanne Grunau			 */
278c65ab490SJanne Grunau			clocks = <&clkref>, <&clkref>;
279c65ab490SJanne Grunau			clock-names = "uart", "clk_uart_baud0";
280c65ab490SJanne Grunau			power-domains = <&ps_uart0>;
281c65ab490SJanne Grunau			status = "disabled";
282c65ab490SJanne Grunau		};
283c65ab490SJanne Grunau
284c65ab490SJanne Grunau		aic: interrupt-controller@2d1000000 {
285c65ab490SJanne Grunau			compatible = "apple,t8122-aic3";
286c65ab490SJanne Grunau			#interrupt-cells = <3>;
287c65ab490SJanne Grunau			interrupt-controller;
288c65ab490SJanne Grunau			reg = <0x2 0xd1000000 0x0 0x184000>,
289c65ab490SJanne Grunau				<0x2 0xd1040000 0x0 0x4>;
290c65ab490SJanne Grunau			reg-names = "core", "event";
291c65ab490SJanne Grunau			power-domains = <&ps_aic>;
292c65ab490SJanne Grunau
293c65ab490SJanne Grunau			affinities {
294c65ab490SJanne Grunau				e-core-pmu-affinity {
295c65ab490SJanne Grunau					apple,fiq-index = <AIC_CPU_PMU_E>;
296c65ab490SJanne Grunau					cpus = <&cpu_e0 &cpu_e1 &cpu_e2 &cpu_e3>;
297c65ab490SJanne Grunau				};
298c65ab490SJanne Grunau
299c65ab490SJanne Grunau				p-core-pmu-affinity {
300c65ab490SJanne Grunau					apple,fiq-index = <AIC_CPU_PMU_P>;
301c65ab490SJanne Grunau					cpus = <&cpu_p0 &cpu_p1 &cpu_p2 &cpu_p3>;
302c65ab490SJanne Grunau				};
303c65ab490SJanne Grunau			};
304c65ab490SJanne Grunau		};
305c65ab490SJanne Grunau
306c65ab490SJanne Grunau		pmgr: power-management@2d0700000 {
307c65ab490SJanne Grunau			compatible = "apple,t8122-pmgr", "apple,t8103-pmgr", "syscon", "simple-mfd";
308c65ab490SJanne Grunau			#address-cells = <1>;
309c65ab490SJanne Grunau			#size-cells = <1>;
310c65ab490SJanne Grunau			reg = <0x2 0xd0700000 0 0x14000>;
311c65ab490SJanne Grunau			/* child nodes are added in t8122-pmgr.dtsi */
312c65ab490SJanne Grunau		};
313c65ab490SJanne Grunau
314c65ab490SJanne Grunau		pinctrl_ap: pinctrl@2c7100000 {
315c65ab490SJanne Grunau			compatible = "apple,t8122-pinctrl", "apple,t8103-pinctrl";
316c65ab490SJanne Grunau			reg = <0x2 0xc7100000 0x0 0x100000>;
317c65ab490SJanne Grunau			power-domains = <&ps_gpio>;
318c65ab490SJanne Grunau
319c65ab490SJanne Grunau			gpio-controller;
320c65ab490SJanne Grunau			#gpio-cells = <2>;
321c65ab490SJanne Grunau			gpio-ranges = <&pinctrl_ap 0 0 224>;
322c65ab490SJanne Grunau			apple,npins = <224>;
323c65ab490SJanne Grunau
324c65ab490SJanne Grunau			interrupt-controller;
325c65ab490SJanne Grunau			#interrupt-cells = <2>;
326c65ab490SJanne Grunau			interrupt-parent = <&aic>;
327c65ab490SJanne Grunau			interrupts = <AIC_IRQ 241 IRQ_TYPE_LEVEL_HIGH>,
328c65ab490SJanne Grunau				     <AIC_IRQ 242 IRQ_TYPE_LEVEL_HIGH>,
329c65ab490SJanne Grunau				     <AIC_IRQ 243 IRQ_TYPE_LEVEL_HIGH>,
330c65ab490SJanne Grunau				     <AIC_IRQ 244 IRQ_TYPE_LEVEL_HIGH>,
331c65ab490SJanne Grunau				     <AIC_IRQ 245 IRQ_TYPE_LEVEL_HIGH>,
332c65ab490SJanne Grunau				     <AIC_IRQ 246 IRQ_TYPE_LEVEL_HIGH>,
333c65ab490SJanne Grunau				     <AIC_IRQ 247 IRQ_TYPE_LEVEL_HIGH>;
334c65ab490SJanne Grunau
335c65ab490SJanne Grunau			i2c0_pins: i2c0-pins {
336c65ab490SJanne Grunau				pinmux = <APPLE_PINMUX(145, 1)>,
337c65ab490SJanne Grunau					 <APPLE_PINMUX(144, 1)>;
338c65ab490SJanne Grunau			};
339c65ab490SJanne Grunau
340c65ab490SJanne Grunau			i2c1_pins: i2c1-pins {
341c65ab490SJanne Grunau				pinmux = <APPLE_PINMUX(147, 1)>,
342c65ab490SJanne Grunau					 <APPLE_PINMUX(146, 1)>;
343c65ab490SJanne Grunau			};
344c65ab490SJanne Grunau
345c65ab490SJanne Grunau			i2c2_pins: i2c2-pins {
346c65ab490SJanne Grunau				pinmux = <APPLE_PINMUX(56, 1)>,
347c65ab490SJanne Grunau					 <APPLE_PINMUX(55, 1)>;
348c65ab490SJanne Grunau			};
349c65ab490SJanne Grunau
350c65ab490SJanne Grunau			i2c3_pins: i2c3-pins {
351c65ab490SJanne Grunau				pinmux = <APPLE_PINMUX(54, 1)>,
352c65ab490SJanne Grunau					 <APPLE_PINMUX(53, 1)>;
353c65ab490SJanne Grunau			};
354c65ab490SJanne Grunau
355c65ab490SJanne Grunau			i2c4_pins: i2c4-pins {
356c65ab490SJanne Grunau				pinmux = <APPLE_PINMUX(149, 1)>,
357c65ab490SJanne Grunau					 <APPLE_PINMUX(148, 1)>;
358c65ab490SJanne Grunau			};
359c65ab490SJanne Grunau
360c65ab490SJanne Grunau		};
361c65ab490SJanne Grunau
362c65ab490SJanne Grunau		pinctrl_nub: pinctrl@2e41f0000 {
363c65ab490SJanne Grunau			compatible = "apple,t8122-pinctrl", "apple,t8103-pinctrl";
364c65ab490SJanne Grunau			reg = <0x2 0xe41f0000 0x0 0x4000>;
365c65ab490SJanne Grunau			power-domains = <&ps_nub_gpio>;
366c65ab490SJanne Grunau
367c65ab490SJanne Grunau			gpio-controller;
368c65ab490SJanne Grunau			#gpio-cells = <2>;
369c65ab490SJanne Grunau			gpio-ranges = <&pinctrl_nub 0 0 32>;
370c65ab490SJanne Grunau			apple,npins = <32>;
371c65ab490SJanne Grunau
372c65ab490SJanne Grunau			interrupt-controller;
373c65ab490SJanne Grunau			#interrupt-cells = <2>;
374c65ab490SJanne Grunau			interrupt-parent = <&aic>;
375c65ab490SJanne Grunau			interrupts = <AIC_IRQ 424 IRQ_TYPE_LEVEL_HIGH>,
376c65ab490SJanne Grunau				     <AIC_IRQ 425 IRQ_TYPE_LEVEL_HIGH>,
377c65ab490SJanne Grunau				     <AIC_IRQ 426 IRQ_TYPE_LEVEL_HIGH>,
378c65ab490SJanne Grunau				     <AIC_IRQ 427 IRQ_TYPE_LEVEL_HIGH>,
379c65ab490SJanne Grunau				     <AIC_IRQ 428 IRQ_TYPE_LEVEL_HIGH>,
380c65ab490SJanne Grunau				     <AIC_IRQ 429 IRQ_TYPE_LEVEL_HIGH>,
381c65ab490SJanne Grunau				     <AIC_IRQ 430 IRQ_TYPE_LEVEL_HIGH>;
382c65ab490SJanne Grunau		};
383c65ab490SJanne Grunau
384c65ab490SJanne Grunau		pmgr_mini: power-management@2e4280000 {
385c65ab490SJanne Grunau			compatible = "apple,t8122-pmgr", "apple,t8103-pmgr", "syscon", "simple-mfd";
386c65ab490SJanne Grunau			#address-cells = <1>;
387c65ab490SJanne Grunau			#size-cells = <1>;
388c65ab490SJanne Grunau			reg = <0x2 0xe4280000 0 0x4000>;
389c65ab490SJanne Grunau			/* child nodes are added in t8122-pmgr.dtsi */
390c65ab490SJanne Grunau		};
391c65ab490SJanne Grunau
392c65ab490SJanne Grunau		wdt: watchdog@2e42b0000 {
393c65ab490SJanne Grunau			compatible = "apple,t8122-wdt", "apple,t8103-wdt";
394c65ab490SJanne Grunau			reg = <0x2 0xe42b0000 0x0 0x4000>;
395c65ab490SJanne Grunau			clocks = <&clkref>;
396c65ab490SJanne Grunau			interrupt-parent = <&aic>;
397c65ab490SJanne Grunau			interrupts = <AIC_IRQ 432 IRQ_TYPE_LEVEL_HIGH>;
398c65ab490SJanne Grunau		};
399c65ab490SJanne Grunau
400c65ab490SJanne Grunau		pinctrl_smc: pinctrl@2ec820000 {
401c65ab490SJanne Grunau			compatible = "apple,t8122-pinctrl", "apple,t8103-pinctrl";
402c65ab490SJanne Grunau			reg = <0x2 0xec820000 0x0 0x4000>;
403c65ab490SJanne Grunau
404c65ab490SJanne Grunau			gpio-controller;
405c65ab490SJanne Grunau			#gpio-cells = <2>;
406c65ab490SJanne Grunau			gpio-ranges = <&pinctrl_smc 0 0 18>;
407c65ab490SJanne Grunau			apple,npins = <18>;
408c65ab490SJanne Grunau
409c65ab490SJanne Grunau			interrupt-controller;
410c65ab490SJanne Grunau			#interrupt-cells = <2>;
411c65ab490SJanne Grunau			interrupt-parent = <&aic>;
412c65ab490SJanne Grunau			interrupts = <AIC_IRQ 493 IRQ_TYPE_LEVEL_HIGH>,
413c65ab490SJanne Grunau				     <AIC_IRQ 494 IRQ_TYPE_LEVEL_HIGH>,
414c65ab490SJanne Grunau				     <AIC_IRQ 495 IRQ_TYPE_LEVEL_HIGH>,
415c65ab490SJanne Grunau				     <AIC_IRQ 496 IRQ_TYPE_LEVEL_HIGH>,
416c65ab490SJanne Grunau				     <AIC_IRQ 497 IRQ_TYPE_LEVEL_HIGH>,
417c65ab490SJanne Grunau				     <AIC_IRQ 498 IRQ_TYPE_LEVEL_HIGH>,
418c65ab490SJanne Grunau				     <AIC_IRQ 499 IRQ_TYPE_LEVEL_HIGH>;
419c65ab490SJanne Grunau		};
420c65ab490SJanne Grunau
421c65ab490SJanne Grunau		pinctrl_aop: pinctrl@2f4824000 {
422c65ab490SJanne Grunau			compatible = "apple,t8122-pinctrl", "apple,t8103-pinctrl";
423c65ab490SJanne Grunau			reg = <0x2 0xf4824000 0x0 0x4000>;
424c65ab490SJanne Grunau
425c65ab490SJanne Grunau			gpio-controller;
426c65ab490SJanne Grunau			#gpio-cells = <2>;
427c65ab490SJanne Grunau			gpio-ranges = <&pinctrl_aop 0 0 54>;
428c65ab490SJanne Grunau			apple,npins = <54>;
429c65ab490SJanne Grunau
430c65ab490SJanne Grunau			interrupt-controller;
431c65ab490SJanne Grunau			#interrupt-cells = <2>;
432c65ab490SJanne Grunau			interrupt-parent = <&aic>;
433c65ab490SJanne Grunau			interrupts = <AIC_IRQ 346 IRQ_TYPE_LEVEL_HIGH>,
434c65ab490SJanne Grunau				     <AIC_IRQ 347 IRQ_TYPE_LEVEL_HIGH>,
435c65ab490SJanne Grunau				     <AIC_IRQ 348 IRQ_TYPE_LEVEL_HIGH>,
436c65ab490SJanne Grunau				     <AIC_IRQ 349 IRQ_TYPE_LEVEL_HIGH>,
437c65ab490SJanne Grunau				     <AIC_IRQ 350 IRQ_TYPE_LEVEL_HIGH>,
438c65ab490SJanne Grunau				     <AIC_IRQ 351 IRQ_TYPE_LEVEL_HIGH>,
439c65ab490SJanne Grunau				     <AIC_IRQ 352 IRQ_TYPE_LEVEL_HIGH>;
440c65ab490SJanne Grunau		};
441c65ab490SJanne Grunau	};
442c65ab490SJanne Grunau};
443c65ab490SJanne Grunau
444c65ab490SJanne Grunau#include "t8122-pmgr.dtsi"
445