xref: /linux/arch/arm64/boot/dts/apple/t6031-die0.dtsi (revision 67f8bc848ee31831336bd478e57d2f993551902e)
1*67d9574cSJanne Grunau// SPDX-License-Identifier: GPL-2.0+ OR MIT
2*67d9574cSJanne Grunau/*
3*67d9574cSJanne Grunau * Devices used on die 0 on the Apple T6032 "M3 Ultra" SoC and present on
4*67d9574cSJanne Grunau * Apple T6030 ("M3 Pro") and T6031 / T6034 ("M3 Max").
5*67d9574cSJanne Grunau *
6*67d9574cSJanne Grunau * Copyright The Asahi Linux Contributors
7*67d9574cSJanne Grunau */
8*67d9574cSJanne Grunau
9*67d9574cSJanne Grunau	aic: interrupt-controller@292400000 {
10*67d9574cSJanne Grunau		compatible = "apple,t6031-aic3", "apple,t8122-aic3";
11*67d9574cSJanne Grunau		#interrupt-cells = <4>;
12*67d9574cSJanne Grunau		interrupt-controller;
13*67d9574cSJanne Grunau
14*67d9574cSJanne Grunau		reg = <0x00000002 0x92400000 0x00000000 0x1cc000>,
15*67d9574cSJanne Grunau		      <0x00000002 0x92440000 0x00000000 0x4000>;
16*67d9574cSJanne Grunau		reg-names = "core", "event";
17*67d9574cSJanne Grunau		power-domains = <&ps_aic>;
18*67d9574cSJanne Grunau	};
19*67d9574cSJanne Grunau
20*67d9574cSJanne Grunau	wdt: watchdog@2a02d4000 {
21*67d9574cSJanne Grunau		compatible = "apple,t6031-wdt", "apple,t8103-wdt";
22*67d9574cSJanne Grunau		reg = <0x2 0xa02d4000 0x0 0x4000>;
23*67d9574cSJanne Grunau		clocks = <&clkref>;
24*67d9574cSJanne Grunau		interrupt-parent = <&aic>;
25*67d9574cSJanne Grunau		interrupts = <AIC_IRQ 0 718 IRQ_TYPE_LEVEL_HIGH>;
26*67d9574cSJanne Grunau	};
27*67d9574cSJanne Grunau
28*67d9574cSJanne Grunau	pinctrl_smc: pinctrl@2a4820000 {
29*67d9574cSJanne Grunau		compatible = "apple,t6031-pinctrl", "apple,t8103-pinctrl";
30*67d9574cSJanne Grunau		reg = <0x2 0xa4820000 0x0 0x4000>;
31*67d9574cSJanne Grunau
32*67d9574cSJanne Grunau		gpio-controller;
33*67d9574cSJanne Grunau		#gpio-cells = <2>;
34*67d9574cSJanne Grunau		gpio-ranges = <&pinctrl_smc 0 0 30>;
35*67d9574cSJanne Grunau		apple,npins = <30>;
36*67d9574cSJanne Grunau
37*67d9574cSJanne Grunau		interrupt-controller;
38*67d9574cSJanne Grunau		#interrupt-cells = <2>;
39*67d9574cSJanne Grunau		interrupt-parent = <&aic>;
40*67d9574cSJanne Grunau		interrupts = <AIC_IRQ 0 904 IRQ_TYPE_LEVEL_HIGH>,
41*67d9574cSJanne Grunau				<AIC_IRQ 0 905 IRQ_TYPE_LEVEL_HIGH>,
42*67d9574cSJanne Grunau				<AIC_IRQ 0 906 IRQ_TYPE_LEVEL_HIGH>,
43*67d9574cSJanne Grunau				<AIC_IRQ 0 907 IRQ_TYPE_LEVEL_HIGH>,
44*67d9574cSJanne Grunau				<AIC_IRQ 0 908 IRQ_TYPE_LEVEL_HIGH>,
45*67d9574cSJanne Grunau				<AIC_IRQ 0 909 IRQ_TYPE_LEVEL_HIGH>,
46*67d9574cSJanne Grunau				<AIC_IRQ 0 910 IRQ_TYPE_LEVEL_HIGH>;
47*67d9574cSJanne Grunau	};
48*67d9574cSJanne Grunau
49*67d9574cSJanne Grunau	i2c0: i2c@391010000 {
50*67d9574cSJanne Grunau		compatible = "apple,t6031-i2c", "apple,t8103-i2c";
51*67d9574cSJanne Grunau		reg = <0x3 0x91010000 0x0 0x4000>;
52*67d9574cSJanne Grunau		clocks = <&clkref>;
53*67d9574cSJanne Grunau		interrupt-parent = <&aic>;
54*67d9574cSJanne Grunau		interrupts = <AIC_IRQ 0 1326 IRQ_TYPE_LEVEL_HIGH>;
55*67d9574cSJanne Grunau		pinctrl-0 = <&i2c0_pins>;
56*67d9574cSJanne Grunau		pinctrl-names = "default";
57*67d9574cSJanne Grunau		power-domains = <&ps_i2c0>;
58*67d9574cSJanne Grunau		#address-cells = <0x1>;
59*67d9574cSJanne Grunau		#size-cells = <0x0>;
60*67d9574cSJanne Grunau	};
61*67d9574cSJanne Grunau
62*67d9574cSJanne Grunau	i2c1: i2c@391014000 {
63*67d9574cSJanne Grunau		compatible = "apple,t6031-i2c", "apple,t8103-i2c";
64*67d9574cSJanne Grunau		reg = <0x3 0x91014000 0x0 0x4000>;
65*67d9574cSJanne Grunau		clocks = <&clkref>;
66*67d9574cSJanne Grunau		interrupt-parent = <&aic>;
67*67d9574cSJanne Grunau		interrupts = <AIC_IRQ 0 1327 IRQ_TYPE_LEVEL_HIGH>;
68*67d9574cSJanne Grunau		pinctrl-0 = <&i2c1_pins>;
69*67d9574cSJanne Grunau		pinctrl-names = "default";
70*67d9574cSJanne Grunau		power-domains = <&ps_i2c1>;
71*67d9574cSJanne Grunau		#address-cells = <0x1>;
72*67d9574cSJanne Grunau		#size-cells = <0x0>;
73*67d9574cSJanne Grunau		status = "disabled";
74*67d9574cSJanne Grunau	};
75*67d9574cSJanne Grunau
76*67d9574cSJanne Grunau	i2c2: i2c@391018000 {
77*67d9574cSJanne Grunau		compatible = "apple,t6031-i2c", "apple,t8103-i2c";
78*67d9574cSJanne Grunau		reg = <0x3 0x91018000 0x0 0x4000>;
79*67d9574cSJanne Grunau		clocks = <&clkref>;
80*67d9574cSJanne Grunau		interrupt-parent = <&aic>;
81*67d9574cSJanne Grunau		interrupts = <AIC_IRQ 0 1328 IRQ_TYPE_LEVEL_HIGH>;
82*67d9574cSJanne Grunau		pinctrl-0 = <&i2c2_pins>;
83*67d9574cSJanne Grunau		pinctrl-names = "default";
84*67d9574cSJanne Grunau		power-domains = <&ps_i2c2>;
85*67d9574cSJanne Grunau		#address-cells = <0x1>;
86*67d9574cSJanne Grunau		#size-cells = <0x0>;
87*67d9574cSJanne Grunau		status = "disabled";
88*67d9574cSJanne Grunau	};
89*67d9574cSJanne Grunau
90*67d9574cSJanne Grunau	i2c3: i2c@39101c000 {
91*67d9574cSJanne Grunau		compatible = "apple,t6031-i2c", "apple,t8103-i2c";
92*67d9574cSJanne Grunau		reg = <0x3 0x9101c000 0x0 0x4000>;
93*67d9574cSJanne Grunau		clocks = <&clkref>;
94*67d9574cSJanne Grunau		interrupt-parent = <&aic>;
95*67d9574cSJanne Grunau		interrupts = <AIC_IRQ 0 1329 IRQ_TYPE_LEVEL_HIGH>;
96*67d9574cSJanne Grunau		pinctrl-0 = <&i2c3_pins>;
97*67d9574cSJanne Grunau		pinctrl-names = "default";
98*67d9574cSJanne Grunau		power-domains = <&ps_i2c3>;
99*67d9574cSJanne Grunau		#address-cells = <0x1>;
100*67d9574cSJanne Grunau		#size-cells = <0x0>;
101*67d9574cSJanne Grunau		status = "disabled";
102*67d9574cSJanne Grunau	};
103*67d9574cSJanne Grunau
104*67d9574cSJanne Grunau	i2c4: i2c@391020000 {
105*67d9574cSJanne Grunau		compatible = "apple,t6031-i2c", "apple,t8103-i2c";
106*67d9574cSJanne Grunau		reg = <0x3 0x91020000 0x0 0x4000>;
107*67d9574cSJanne Grunau		clocks = <&clkref>;
108*67d9574cSJanne Grunau		interrupt-parent = <&aic>;
109*67d9574cSJanne Grunau		interrupts = <AIC_IRQ 0 1330 IRQ_TYPE_LEVEL_HIGH>;
110*67d9574cSJanne Grunau		pinctrl-0 = <&i2c4_pins>;
111*67d9574cSJanne Grunau		pinctrl-names = "default";
112*67d9574cSJanne Grunau		power-domains = <&ps_i2c4>;
113*67d9574cSJanne Grunau		#address-cells = <0x1>;
114*67d9574cSJanne Grunau		#size-cells = <0x0>;
115*67d9574cSJanne Grunau		status = "disabled";
116*67d9574cSJanne Grunau	};
117*67d9574cSJanne Grunau
118*67d9574cSJanne Grunau	i2c5: i2c@391024000 {
119*67d9574cSJanne Grunau		compatible = "apple,t6031-i2c", "apple,t8103-i2c";
120*67d9574cSJanne Grunau		reg = <0x3 0x91024000 0x0 0x4000>;
121*67d9574cSJanne Grunau		clocks = <&clkref>;
122*67d9574cSJanne Grunau		interrupt-parent = <&aic>;
123*67d9574cSJanne Grunau		interrupts = <AIC_IRQ 0 1331 IRQ_TYPE_LEVEL_HIGH>;
124*67d9574cSJanne Grunau		pinctrl-0 = <&i2c5_pins>;
125*67d9574cSJanne Grunau		pinctrl-names = "default";
126*67d9574cSJanne Grunau		power-domains = <&ps_i2c5>;
127*67d9574cSJanne Grunau		#address-cells = <0x1>;
128*67d9574cSJanne Grunau		#size-cells = <0x0>;
129*67d9574cSJanne Grunau		status = "disabled";
130*67d9574cSJanne Grunau	};
131*67d9574cSJanne Grunau
132*67d9574cSJanne Grunau	i2c6: i2c@391028000 {
133*67d9574cSJanne Grunau		compatible = "apple,t6031-i2c", "apple,t8103-i2c";
134*67d9574cSJanne Grunau		reg = <0x3 0x91028000 0x0 0x4000>;
135*67d9574cSJanne Grunau		clocks = <&clkref>;
136*67d9574cSJanne Grunau		interrupt-parent = <&aic>;
137*67d9574cSJanne Grunau		interrupts = <AIC_IRQ 0 1332 IRQ_TYPE_LEVEL_HIGH>;
138*67d9574cSJanne Grunau		pinctrl-0 = <&i2c6_pins>;
139*67d9574cSJanne Grunau		pinctrl-names = "default";
140*67d9574cSJanne Grunau		power-domains = <&ps_i2c6>;
141*67d9574cSJanne Grunau		#address-cells = <0x1>;
142*67d9574cSJanne Grunau		#size-cells = <0x0>;
143*67d9574cSJanne Grunau		status = "disabled";
144*67d9574cSJanne Grunau	};
145*67d9574cSJanne Grunau
146*67d9574cSJanne Grunau	i2c7: i2c@39102c000 {
147*67d9574cSJanne Grunau		compatible = "apple,t6031-i2c", "apple,t8103-i2c";
148*67d9574cSJanne Grunau		reg = <0x3 0x9102c000 0x0 0x4000>;
149*67d9574cSJanne Grunau		clocks = <&clkref>;
150*67d9574cSJanne Grunau		interrupt-parent = <&aic>;
151*67d9574cSJanne Grunau		interrupts = <AIC_IRQ 0 1333 IRQ_TYPE_LEVEL_HIGH>;
152*67d9574cSJanne Grunau		pinctrl-0 = <&i2c7_pins>;
153*67d9574cSJanne Grunau		pinctrl-names = "default";
154*67d9574cSJanne Grunau		power-domains = <&ps_i2c7>;
155*67d9574cSJanne Grunau		#address-cells = <0x1>;
156*67d9574cSJanne Grunau		#size-cells = <0x0>;
157*67d9574cSJanne Grunau		status = "disabled";
158*67d9574cSJanne Grunau	};
159*67d9574cSJanne Grunau
160*67d9574cSJanne Grunau	i2c8: i2c@391030000 {
161*67d9574cSJanne Grunau		compatible = "apple,t6031-i2c", "apple,t8103-i2c";
162*67d9574cSJanne Grunau		reg = <0x3 0x91030000 0x0 0x4000>;
163*67d9574cSJanne Grunau		clocks = <&clkref>;
164*67d9574cSJanne Grunau		interrupt-parent = <&aic>;
165*67d9574cSJanne Grunau		interrupts = <AIC_IRQ 0 1334 IRQ_TYPE_LEVEL_HIGH>;
166*67d9574cSJanne Grunau		pinctrl-0 = <&i2c8_pins>;
167*67d9574cSJanne Grunau		pinctrl-names = "default";
168*67d9574cSJanne Grunau		power-domains = <&ps_i2c8>;
169*67d9574cSJanne Grunau		#address-cells = <0x1>;
170*67d9574cSJanne Grunau		#size-cells = <0x0>;
171*67d9574cSJanne Grunau		status = "disabled";
172*67d9574cSJanne Grunau	};
173*67d9574cSJanne Grunau
174*67d9574cSJanne Grunau	fpwm0: pwm@391040000 {
175*67d9574cSJanne Grunau		compatible = "apple,t6031-fpwm", "apple,s5l-fpwm";
176*67d9574cSJanne Grunau		reg = <0x3 0x91040000 0x0 0x4000>;
177*67d9574cSJanne Grunau		power-domains = <&ps_fpwm0>;
178*67d9574cSJanne Grunau		clocks = <&clkref>;
179*67d9574cSJanne Grunau		#pwm-cells = <2>;
180*67d9574cSJanne Grunau		status = "disabled";
181*67d9574cSJanne Grunau	};
182*67d9574cSJanne Grunau
183*67d9574cSJanne Grunau	serial0: serial@391200000 {
184*67d9574cSJanne Grunau		compatible = "apple,s5l-uart";
185*67d9574cSJanne Grunau		reg = <0x3 0x91200000 0x0 0x4000>;
186*67d9574cSJanne Grunau		reg-io-width = <4>;
187*67d9574cSJanne Grunau		interrupt-parent = <&aic>;
188*67d9574cSJanne Grunau		interrupts = <AIC_IRQ 0 1303 IRQ_TYPE_LEVEL_HIGH>;
189*67d9574cSJanne Grunau		/*
190*67d9574cSJanne Grunau		 * TODO: figure out the clocking properly, there may
191*67d9574cSJanne Grunau		 * be a third selectable clock.
192*67d9574cSJanne Grunau		 */
193*67d9574cSJanne Grunau		clocks = <&clkref>, <&clkref>;
194*67d9574cSJanne Grunau		clock-names = "uart", "clk_uart_baud0";
195*67d9574cSJanne Grunau		power-domains = <&ps_uart0>;
196*67d9574cSJanne Grunau		status = "disabled";
197*67d9574cSJanne Grunau	};
198