xref: /linux/arch/arm64/boot/dts/apple/t600x-dieX.dtsi (revision d2a4a07190f42e4f82805daf58e708400b703f1c)
1// SPDX-License-Identifier: GPL-2.0+ OR MIT
2/*
3 * Devices used on both dies on the Apple T6002 "M1 Ultra" and present on
4 * Apple T6000/T6001 "M1 Pro/Max".
5 *
6 * Copyright The Asahi Linux Contributors
7 */
8
9	DIE_NODE(cpufreq_e): cpufreq@210e20000 {
10		compatible = "apple,t6000-cluster-cpufreq", "apple,t8103-cluster-cpufreq", "apple,cluster-cpufreq";
11		reg = <0x2 0x10e20000 0 0x1000>;
12		#performance-domain-cells = <0>;
13	};
14
15	DIE_NODE(cpufreq_p0): cpufreq@211e20000 {
16		compatible = "apple,t6000-cluster-cpufreq", "apple,t8103-cluster-cpufreq", "apple,cluster-cpufreq";
17		reg = <0x2 0x11e20000 0 0x1000>;
18		#performance-domain-cells = <0>;
19	};
20
21	DIE_NODE(cpufreq_p1): cpufreq@212e20000 {
22		compatible = "apple,t6000-cluster-cpufreq", "apple,t8103-cluster-cpufreq", "apple,cluster-cpufreq";
23		reg = <0x2 0x12e20000 0 0x1000>;
24		#performance-domain-cells = <0>;
25	};
26
27	DIE_NODE(pmgr): power-management@28e080000 {
28		compatible = "apple,t6000-pmgr", "apple,pmgr", "syscon", "simple-mfd";
29		#address-cells = <1>;
30		#size-cells = <1>;
31		reg = <0x2 0x8e080000 0 0x4000>;
32	};
33
34	DIE_NODE(pmgr_east): power-management@28e580000 {
35		compatible = "apple,t6000-pmgr", "apple,pmgr", "syscon", "simple-mfd";
36		#address-cells = <1>;
37		#size-cells = <1>;
38		reg = <0x2 0x8e580000 0 0xc000>;
39	};
40
41	DIE_NODE(pmgr_south): power-management@28e680000 {
42		compatible = "apple,t6000-pmgr", "apple,pmgr", "syscon", "simple-mfd";
43		#address-cells = <1>;
44		#size-cells = <1>;
45		reg = <0x2 0x8e680000 0 0xc000>;
46	};
47
48	DIE_NODE(pinctrl_nub): pinctrl@2921f0000 {
49		compatible = "apple,t6000-pinctrl", "apple,pinctrl";
50		reg = <0x2 0x921f0000 0x0 0x4000>;
51		power-domains = <&DIE_NODE(ps_nub_gpio)>;
52
53		gpio-controller;
54		#gpio-cells = <2>;
55		gpio-ranges = <&DIE_NODE(pinctrl_nub) 0 0 16>;
56		apple,npins = <16>;
57
58		interrupt-controller;
59		#interrupt-cells = <2>;
60		interrupt-parent = <&aic>;
61		interrupts = <AIC_IRQ DIE_NO 623 IRQ_TYPE_LEVEL_HIGH>,
62				<AIC_IRQ DIE_NO 624 IRQ_TYPE_LEVEL_HIGH>,
63				<AIC_IRQ DIE_NO 625 IRQ_TYPE_LEVEL_HIGH>,
64				<AIC_IRQ DIE_NO 626 IRQ_TYPE_LEVEL_HIGH>,
65				<AIC_IRQ DIE_NO 627 IRQ_TYPE_LEVEL_HIGH>,
66				<AIC_IRQ DIE_NO 628 IRQ_TYPE_LEVEL_HIGH>,
67				<AIC_IRQ DIE_NO 629 IRQ_TYPE_LEVEL_HIGH>;
68	};
69
70	DIE_NODE(pmgr_mini): power-management@292280000 {
71		compatible = "apple,t6000-pmgr", "apple,pmgr", "syscon", "simple-mfd";
72		#address-cells = <1>;
73		#size-cells = <1>;
74		reg = <0x2 0x92280000 0 0x4000>;
75	};
76
77	DIE_NODE(pinctrl_aop): pinctrl@293820000 {
78		compatible = "apple,t6000-pinctrl", "apple,pinctrl";
79		reg = <0x2 0x93820000 0x0 0x4000>;
80
81		gpio-controller;
82		#gpio-cells = <2>;
83		gpio-ranges = <&DIE_NODE(pinctrl_aop) 0 0 63>;
84		apple,npins = <63>;
85
86		interrupt-controller;
87		#interrupt-cells = <2>;
88		interrupt-parent = <&aic>;
89		interrupts = <AIC_IRQ DIE_NO 567 IRQ_TYPE_LEVEL_HIGH>,
90				<AIC_IRQ DIE_NO 568 IRQ_TYPE_LEVEL_HIGH>,
91				<AIC_IRQ DIE_NO 569 IRQ_TYPE_LEVEL_HIGH>,
92				<AIC_IRQ DIE_NO 570 IRQ_TYPE_LEVEL_HIGH>,
93				<AIC_IRQ DIE_NO 571 IRQ_TYPE_LEVEL_HIGH>,
94				<AIC_IRQ DIE_NO 572 IRQ_TYPE_LEVEL_HIGH>,
95				<AIC_IRQ DIE_NO 573 IRQ_TYPE_LEVEL_HIGH>;
96	};
97
98	DIE_NODE(pinctrl_ap): pinctrl@39b028000 {
99		compatible = "apple,t6000-pinctrl", "apple,pinctrl";
100		reg = <0x3 0x9b028000 0x0 0x4000>;
101
102		interrupt-parent = <&aic>;
103		interrupts = <AIC_IRQ DIE_NO 427 IRQ_TYPE_LEVEL_HIGH>,
104				<AIC_IRQ DIE_NO 428 IRQ_TYPE_LEVEL_HIGH>,
105				<AIC_IRQ DIE_NO 429 IRQ_TYPE_LEVEL_HIGH>,
106				<AIC_IRQ DIE_NO 430 IRQ_TYPE_LEVEL_HIGH>,
107				<AIC_IRQ DIE_NO 431 IRQ_TYPE_LEVEL_HIGH>,
108				<AIC_IRQ DIE_NO 432 IRQ_TYPE_LEVEL_HIGH>,
109				<AIC_IRQ DIE_NO 433 IRQ_TYPE_LEVEL_HIGH>;
110
111		clocks = <&clkref>;
112		power-domains = <&DIE_NODE(ps_gpio)>;
113
114		gpio-controller;
115		#gpio-cells = <2>;
116		gpio-ranges = <&DIE_NODE(pinctrl_ap) 0 0 255>;
117		apple,npins = <255>;
118
119		interrupt-controller;
120		#interrupt-cells = <2>;
121	};
122