xref: /freebsd/sys/contrib/device-tree/src/arm64/apple/t602x-dieX.dtsi (revision 0cd4430a9320c916a84617b6bbf400f5c64a09c7)
1// SPDX-License-Identifier: GPL-2.0+ OR MIT
2/*
3 * Nodes present on both dies of T6022 (M2 Ultra) and present on M2 Pro/Max.
4 *
5 * Copyright The Asahi Linux Contributors
6 */
7
8	DIE_NODE(cpufreq_e): cpufreq@210e20000 {
9		compatible = "apple,t6020-cluster-cpufreq", "apple,t8112-cluster-cpufreq";
10		reg = <0x2 0x10e20000 0 0x1000>;
11		#performance-domain-cells = <0>;
12	};
13
14	DIE_NODE(cpufreq_p0): cpufreq@211e20000 {
15		compatible = "apple,t6020-cluster-cpufreq", "apple,t8112-cluster-cpufreq";
16		reg = <0x2 0x11e20000 0 0x1000>;
17		#performance-domain-cells = <0>;
18	};
19
20	DIE_NODE(cpufreq_p1): cpufreq@212e20000 {
21		compatible = "apple,t6020-cluster-cpufreq", "apple,t8112-cluster-cpufreq";
22		reg = <0x2 0x12e20000 0 0x1000>;
23		#performance-domain-cells = <0>;
24	};
25
26	DIE_NODE(pmgr): power-management@28e080000 {
27		compatible = "apple,t6020-pmgr", "apple,t8103-pmgr", "syscon", "simple-mfd";
28		#address-cells = <1>;
29		#size-cells = <1>;
30		reg = <0x2 0x8e080000 0 0x8000>;
31	};
32
33	DIE_NODE(pmgr_south): power-management@28e680000 {
34		compatible = "apple,t6020-pmgr", "apple,t8103-pmgr", "syscon", "simple-mfd";
35		#address-cells = <1>;
36		#size-cells = <1>;
37		reg = <0x2 0x8e680000 0 0x8000>;
38	};
39
40	DIE_NODE(pmgr_east): power-management@290280000 {
41		compatible = "apple,t6020-pmgr", "apple,t8103-pmgr", "syscon", "simple-mfd";
42		#address-cells = <1>;
43		#size-cells = <1>;
44		reg = <0x2 0x90280000 0 0xc000>;
45	};
46
47	DIE_NODE(pinctrl_nub): pinctrl@29e1f0000 {
48		compatible = "apple,t6020-pinctrl", "apple,t8103-pinctrl";
49		reg = <0x2 0x9e1f0000 0x0 0x4000>;
50		power-domains = <&DIE_NODE(ps_nub_gpio)>;
51
52		gpio-controller;
53		#gpio-cells = <2>;
54		gpio-ranges = <&DIE_NODE(pinctrl_nub) 0 0 30>;
55		apple,npins = <30>;
56
57		interrupt-controller;
58		#interrupt-cells = <2>;
59		interrupt-parent = <&aic>;
60		interrupts = <AIC_IRQ DIE_NO 711 IRQ_TYPE_LEVEL_HIGH>,
61				<AIC_IRQ DIE_NO 712 IRQ_TYPE_LEVEL_HIGH>,
62				<AIC_IRQ DIE_NO 713 IRQ_TYPE_LEVEL_HIGH>,
63				<AIC_IRQ DIE_NO 714 IRQ_TYPE_LEVEL_HIGH>,
64				<AIC_IRQ DIE_NO 715 IRQ_TYPE_LEVEL_HIGH>,
65				<AIC_IRQ DIE_NO 716 IRQ_TYPE_LEVEL_HIGH>,
66				<AIC_IRQ DIE_NO 717 IRQ_TYPE_LEVEL_HIGH>;
67	};
68
69	DIE_NODE(pmgr_mini): power-management@29e280000 {
70		compatible = "apple,t6020-pmgr", "apple,t8103-pmgr", "syscon", "simple-mfd";
71		#address-cells = <1>;
72		#size-cells = <1>;
73		reg = <0x2 0x9e280000 0 0x4000>;
74	};
75
76	DIE_NODE(pinctrl_aop): pinctrl@2a6820000 {
77		compatible = "apple,t6020-pinctrl", "apple,t8103-pinctrl";
78		reg = <0x2 0xa6820000 0x0 0x4000>;
79
80		gpio-controller;
81		#gpio-cells = <2>;
82		gpio-ranges = <&DIE_NODE(pinctrl_aop) 0 0 72>;
83		apple,npins = <72>;
84
85		interrupt-controller;
86		#interrupt-cells = <2>;
87		interrupt-parent = <&aic>;
88		interrupts = <AIC_IRQ DIE_NO 598 IRQ_TYPE_LEVEL_HIGH>,
89				<AIC_IRQ DIE_NO 599 IRQ_TYPE_LEVEL_HIGH>,
90				<AIC_IRQ DIE_NO 600 IRQ_TYPE_LEVEL_HIGH>,
91				<AIC_IRQ DIE_NO 601 IRQ_TYPE_LEVEL_HIGH>,
92				<AIC_IRQ DIE_NO 602 IRQ_TYPE_LEVEL_HIGH>,
93				<AIC_IRQ DIE_NO 603 IRQ_TYPE_LEVEL_HIGH>,
94				<AIC_IRQ DIE_NO 604 IRQ_TYPE_LEVEL_HIGH>;
95	};
96
97	DIE_NODE(pinctrl_ap): pinctrl@39b028000 {
98		compatible = "apple,t6020-pinctrl", "apple,t8103-pinctrl";
99		reg = <0x3 0x9b028000 0x0 0x4000>;
100
101		interrupt-parent = <&aic>;
102		interrupts = <AIC_IRQ DIE_NO 458 IRQ_TYPE_LEVEL_HIGH>,
103				<AIC_IRQ DIE_NO 459 IRQ_TYPE_LEVEL_HIGH>,
104				<AIC_IRQ DIE_NO 460 IRQ_TYPE_LEVEL_HIGH>,
105				<AIC_IRQ DIE_NO 461 IRQ_TYPE_LEVEL_HIGH>,
106				<AIC_IRQ DIE_NO 462 IRQ_TYPE_LEVEL_HIGH>,
107				<AIC_IRQ DIE_NO 463 IRQ_TYPE_LEVEL_HIGH>,
108				<AIC_IRQ DIE_NO 464 IRQ_TYPE_LEVEL_HIGH>;
109
110		clocks = <&clkref>;
111		power-domains = <&DIE_NODE(ps_gpio)>;
112
113		gpio-controller;
114		#gpio-cells = <2>;
115		gpio-ranges = <&DIE_NODE(pinctrl_ap) 0 0 255>;
116		apple,npins = <255>;
117
118		interrupt-controller;
119		#interrupt-cells = <2>;
120	};
121
122	DIE_NODE(pmgr_gfx): power-management@404e80000 {
123		compatible = "apple,t6020-pmgr", "apple,t8103-pmgr", "syscon", "simple-mfd";
124		#address-cells = <1>;
125		#size-cells = <1>;
126
127		reg = <0x4 0x4e80000 0 0x4000>;
128	};
129
130	DIE_NODE(dwc3_0): usb@702280000 {
131		compatible = "apple,t6020-dwc3", "apple,t8103-dwc3";
132		reg = <0x7 0x02280000 0x0 0xcd00>, <0x7 0x0228cd00 0x0 0x3200>;
133		reg-names = "dwc3-core", "dwc3-apple";
134		interrupt-parent = <&aic>;
135		interrupts = <AIC_IRQ DIE_NO 1256 IRQ_TYPE_LEVEL_HIGH>;
136		dr_mode = "otg";
137		usb-role-switch;
138		role-switch-default-mode = "host";
139		iommus = <&DIE_NODE(dwc3_0_dart_0) 0>,
140			<&DIE_NODE(dwc3_0_dart_1) 1>;
141		power-domains = <&DIE_NODE(ps_atc0_usb)>;
142		resets = <&DIE_NODE(atcphy0)>;
143		phys = <&DIE_NODE(atcphy0) PHY_TYPE_USB2>, <&DIE_NODE(atcphy0) PHY_TYPE_USB3>;
144		phy-names = "usb2-phy", "usb3-phy";
145	};
146
147	DIE_NODE(dwc3_0_dart_0): iommu@702f00000 {
148		compatible = "apple,t6020-dart", "apple,t8110-dart";
149		reg = <0x7 0x02f00000 0x0 0x4000>;
150		interrupt-parent = <&aic>;
151		interrupts = <AIC_IRQ DIE_NO 1260 IRQ_TYPE_LEVEL_HIGH>;
152		power-domains = <&DIE_NODE(ps_atc0_usb)>;
153		#iommu-cells = <1>;
154	};
155
156	DIE_NODE(dwc3_0_dart_1): iommu@702f80000 {
157		compatible = "apple,t6020-dart", "apple,t8110-dart";
158		reg = <0x7 0x02f80000 0x0 0x4000>;
159		interrupt-parent = <&aic>;
160		interrupts = <AIC_IRQ DIE_NO 1260 IRQ_TYPE_LEVEL_HIGH>;
161		power-domains = <&DIE_NODE(ps_atc0_usb)>;
162		#iommu-cells = <1>;
163	};
164
165	DIE_NODE(atcphy0): phy@703000000 {
166		compatible = "apple,t6020-atcphy", "apple,t8103-atcphy";
167		reg = <0x7 0x03000000 0x0 0x4c000>,
168			<0x7 0x03050000 0x0 0x8000>,
169			<0x7 0x00000000 0x0 0x4000>,
170			<0x7 0x02a90000 0x0 0x4000>,
171			<0x7 0x02a84000 0x0 0x4000>;
172		reg-names = "core", "lpdptx", "axi2af", "usb2phy",
173			"pipehandler";
174
175		#phy-cells = <1>;
176		#reset-cells = <0>;
177
178		orientation-switch;
179		mode-switch;
180		power-domains = <&DIE_NODE(ps_atc0_usb)>;
181	};
182
183	DIE_NODE(dwc3_1): usb@b02280000 {
184		compatible = "apple,t6020-dwc3", "apple,t8103-dwc3";
185		reg = <0xb 0x02280000 0x0 0xcd00>, <0xb 0x0228cd00 0x0 0x3200>;
186		reg-names = "dwc3-core", "dwc3-apple";
187		interrupt-parent = <&aic>;
188		interrupts = <AIC_IRQ DIE_NO 1274 IRQ_TYPE_LEVEL_HIGH>;
189		dr_mode = "otg";
190		usb-role-switch;
191		role-switch-default-mode = "host";
192		iommus = <&DIE_NODE(dwc3_1_dart_0) 0>,
193			<&DIE_NODE(dwc3_1_dart_1) 1>;
194		power-domains = <&DIE_NODE(ps_atc1_usb)>;
195		resets = <&DIE_NODE(atcphy1)>;
196		phys = <&DIE_NODE(atcphy1) PHY_TYPE_USB2>, <&DIE_NODE(atcphy1) PHY_TYPE_USB3>;
197		phy-names = "usb2-phy", "usb3-phy";
198	};
199
200	DIE_NODE(dwc3_1_dart_0): iommu@b02f00000 {
201		compatible = "apple,t6020-dart", "apple,t8110-dart";
202		reg = <0xb 0x02f00000 0x0 0x4000>;
203		interrupt-parent = <&aic>;
204		interrupts = <AIC_IRQ DIE_NO 1278 IRQ_TYPE_LEVEL_HIGH>;
205		power-domains = <&DIE_NODE(ps_atc1_usb)>;
206		#iommu-cells = <1>;
207	};
208
209	DIE_NODE(dwc3_1_dart_1): iommu@b02f80000 {
210		compatible = "apple,t6020-dart", "apple,t8110-dart";
211		reg = <0xb 0x02f80000 0x0 0x4000>;
212		interrupt-parent = <&aic>;
213		interrupts = <AIC_IRQ DIE_NO 1278 IRQ_TYPE_LEVEL_HIGH>;
214		power-domains = <&DIE_NODE(ps_atc1_usb)>;
215		#iommu-cells = <1>;
216	};
217
218	DIE_NODE(atcphy1): phy@b03000000 {
219		compatible = "apple,t6020-atcphy", "apple,t8103-atcphy";
220		reg = <0xb 0x03000000 0x0 0x4c000>,
221			<0xb 0x03050000 0x0 0x8000>,
222			<0xb 0x00000000 0x0 0x4000>,
223			<0xb 0x02a90000 0x0 0x4000>,
224			<0xb 0x02a84000 0x0 0x4000>;
225		reg-names = "core", "lpdptx", "axi2af", "usb2phy",
226			"pipehandler";
227
228		#phy-cells = <1>;
229		#reset-cells = <0>;
230
231		orientation-switch;
232		mode-switch;
233		power-domains = <&DIE_NODE(ps_atc1_usb)>;
234	};
235
236	DIE_NODE(dwc3_2): usb@f02280000 {
237		compatible = "apple,t6020-dwc3", "apple,t8103-dwc3";
238		reg = <0xf 0x02280000 0x0 0xcd00>, <0xf 0x0228cd00 0x0 0x3200>;
239		reg-names = "dwc3-core", "dwc3-apple";
240		interrupt-parent = <&aic>;
241		interrupts = <AIC_IRQ DIE_NO 1292 IRQ_TYPE_LEVEL_HIGH>;
242		dr_mode = "otg";
243		usb-role-switch;
244		role-switch-default-mode = "host";
245		iommus = <&DIE_NODE(dwc3_2_dart_0) 0>,
246			<&DIE_NODE(dwc3_2_dart_1) 1>;
247		power-domains = <&DIE_NODE(ps_atc2_usb)>;
248		resets = <&DIE_NODE(atcphy2)>;
249		phys = <&DIE_NODE(atcphy2) PHY_TYPE_USB2>, <&DIE_NODE(atcphy2) PHY_TYPE_USB3>;
250		phy-names = "usb2-phy", "usb3-phy";
251	};
252
253	DIE_NODE(dwc3_2_dart_0): iommu@f02f00000 {
254		compatible = "apple,t6020-dart", "apple,t8110-dart";
255		reg = <0xf 0x02f00000 0x0 0x4000>;
256		interrupt-parent = <&aic>;
257		interrupts = <AIC_IRQ DIE_NO 1296 IRQ_TYPE_LEVEL_HIGH>;
258		power-domains = <&DIE_NODE(ps_atc2_usb)>;
259		#iommu-cells = <1>;
260	};
261
262	DIE_NODE(dwc3_2_dart_1): iommu@f02f80000 {
263		compatible = "apple,t6020-dart", "apple,t8110-dart";
264		reg = <0xf 0x02f80000 0x0 0x4000>;
265		interrupt-parent = <&aic>;
266		interrupts = <AIC_IRQ DIE_NO 1296 IRQ_TYPE_LEVEL_HIGH>;
267		power-domains = <&DIE_NODE(ps_atc2_usb)>;
268		#iommu-cells = <1>;
269	};
270
271	DIE_NODE(atcphy2): phy@f03000000 {
272		compatible = "apple,t6020-atcphy", "apple,t8103-atcphy";
273		reg = <0xf 0x03000000 0x0 0x4c000>,
274			<0xf 0x03050000 0x0 0x8000>,
275			<0xf 0x00000000 0x0 0x4000>,
276			<0xf 0x02a90000 0x0 0x4000>,
277			<0xf 0x02a84000 0x0 0x4000>;
278		reg-names = "core", "lpdptx", "axi2af", "usb2phy",
279			"pipehandler";
280
281		#phy-cells = <1>;
282		#reset-cells = <0>;
283
284		orientation-switch;
285		mode-switch;
286		power-domains = <&DIE_NODE(ps_atc2_usb)>;
287	};
288
289	DIE_NODE(dwc3_3): usb@1302280000 {
290		compatible = "apple,t6020-dwc3", "apple,t8103-dwc3";
291		reg = <0x13 0x02280000 0x0 0xcd00>, <0x13 0x0228cd00 0x0 0x3200>;
292		reg-names = "dwc3-core", "dwc3-apple";
293		interrupt-parent = <&aic>;
294		interrupts = <AIC_IRQ DIE_NO 1310 IRQ_TYPE_LEVEL_HIGH>;
295		dr_mode = "otg";
296		usb-role-switch;
297		role-switch-default-mode = "host";
298		iommus = <&DIE_NODE(dwc3_3_dart_0) 0>,
299			<&DIE_NODE(dwc3_3_dart_1) 1>;
300		power-domains = <&DIE_NODE(ps_atc3_usb)>;
301		resets = <&DIE_NODE(atcphy3)>;
302		phys = <&DIE_NODE(atcphy3) PHY_TYPE_USB2>, <&DIE_NODE(atcphy3) PHY_TYPE_USB3>;
303		phy-names = "usb2-phy", "usb3-phy";
304	};
305
306	DIE_NODE(dwc3_3_dart_0): iommu@1302f00000 {
307		compatible = "apple,t6020-dart", "apple,t8110-dart";
308		reg = <0x13 0x02f00000 0x0 0x4000>;
309		interrupt-parent = <&aic>;
310		interrupts = <AIC_IRQ DIE_NO 1314 IRQ_TYPE_LEVEL_HIGH>;
311		power-domains = <&DIE_NODE(ps_atc3_usb)>;
312		#iommu-cells = <1>;
313	};
314
315	DIE_NODE(dwc3_3_dart_1): iommu@1302f80000 {
316		compatible = "apple,t6020-dart", "apple,t8110-dart";
317		reg = <0x13 0x02f80000 0x0 0x4000>;
318		interrupt-parent = <&aic>;
319		interrupts = <AIC_IRQ DIE_NO 1314 IRQ_TYPE_LEVEL_HIGH>;
320		power-domains = <&DIE_NODE(ps_atc3_usb)>;
321		#iommu-cells = <1>;
322	};
323
324	DIE_NODE(atcphy3): phy@1303000000 {
325		compatible = "apple,t6020-atcphy", "apple,t8103-atcphy";
326		reg = <0x13 0x03000000 0x0 0x4c000>,
327			<0x13 0x03050000 0x0 0x8000>,
328			<0x13 0x00000000 0x0 0x4000>,
329			<0x13 0x02a90000 0x0 0x4000>,
330			<0x13 0x02a84000 0x0 0x4000>;
331		reg-names = "core", "lpdptx", "axi2af", "usb2phy",
332			"pipehandler";
333
334		#phy-cells = <1>;
335		#reset-cells = <0>;
336
337		orientation-switch;
338		mode-switch;
339		power-domains = <&DIE_NODE(ps_atc3_usb)>;
340	};
341