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(pmgr): power-management@28e080000 {
10		compatible = "apple,t6000-pmgr", "apple,pmgr", "syscon", "simple-mfd";
11		#address-cells = <1>;
12		#size-cells = <1>;
13		reg = <0x2 0x8e080000 0 0x4000>;
14	};
15
16	DIE_NODE(pmgr_east): power-management@28e580000 {
17		compatible = "apple,t6000-pmgr", "apple,pmgr", "syscon", "simple-mfd";
18		#address-cells = <1>;
19		#size-cells = <1>;
20		reg = <0x2 0x8e580000 0 0xc000>;
21	};
22
23	DIE_NODE(pmgr_south): power-management@28e680000 {
24		compatible = "apple,t6000-pmgr", "apple,pmgr", "syscon", "simple-mfd";
25		#address-cells = <1>;
26		#size-cells = <1>;
27		reg = <0x2 0x8e680000 0 0xc000>;
28	};
29
30	DIE_NODE(pinctrl_nub): pinctrl@2921f0000 {
31		compatible = "apple,t6000-pinctrl", "apple,pinctrl";
32		reg = <0x2 0x921f0000 0x0 0x4000>;
33		power-domains = <&DIE_NODE(ps_nub_gpio)>;
34
35		gpio-controller;
36		#gpio-cells = <2>;
37		gpio-ranges = <&DIE_NODE(pinctrl_nub) 0 0 16>;
38		apple,npins = <16>;
39
40		interrupt-controller;
41		#interrupt-cells = <2>;
42		interrupt-parent = <&aic>;
43		interrupts = <AIC_IRQ DIE_NO 623 IRQ_TYPE_LEVEL_HIGH>,
44				<AIC_IRQ DIE_NO 624 IRQ_TYPE_LEVEL_HIGH>,
45				<AIC_IRQ DIE_NO 625 IRQ_TYPE_LEVEL_HIGH>,
46				<AIC_IRQ DIE_NO 626 IRQ_TYPE_LEVEL_HIGH>,
47				<AIC_IRQ DIE_NO 627 IRQ_TYPE_LEVEL_HIGH>,
48				<AIC_IRQ DIE_NO 628 IRQ_TYPE_LEVEL_HIGH>,
49				<AIC_IRQ DIE_NO 629 IRQ_TYPE_LEVEL_HIGH>;
50	};
51
52	DIE_NODE(pmgr_mini): power-management@292280000 {
53		compatible = "apple,t6000-pmgr", "apple,pmgr", "syscon", "simple-mfd";
54		#address-cells = <1>;
55		#size-cells = <1>;
56		reg = <0x2 0x92280000 0 0x4000>;
57	};
58
59	DIE_NODE(pinctrl_aop): pinctrl@293820000 {
60		compatible = "apple,t6000-pinctrl", "apple,pinctrl";
61		reg = <0x2 0x93820000 0x0 0x4000>;
62
63		gpio-controller;
64		#gpio-cells = <2>;
65		gpio-ranges = <&DIE_NODE(pinctrl_aop) 0 0 63>;
66		apple,npins = <63>;
67
68		interrupt-controller;
69		#interrupt-cells = <2>;
70		interrupt-parent = <&aic>;
71		interrupts = <AIC_IRQ DIE_NO 567 IRQ_TYPE_LEVEL_HIGH>,
72				<AIC_IRQ DIE_NO 568 IRQ_TYPE_LEVEL_HIGH>,
73				<AIC_IRQ DIE_NO 569 IRQ_TYPE_LEVEL_HIGH>,
74				<AIC_IRQ DIE_NO 570 IRQ_TYPE_LEVEL_HIGH>,
75				<AIC_IRQ DIE_NO 571 IRQ_TYPE_LEVEL_HIGH>,
76				<AIC_IRQ DIE_NO 572 IRQ_TYPE_LEVEL_HIGH>,
77				<AIC_IRQ DIE_NO 573 IRQ_TYPE_LEVEL_HIGH>;
78	};
79
80	DIE_NODE(pinctrl_ap): pinctrl@39b028000 {
81		compatible = "apple,t6000-pinctrl", "apple,pinctrl";
82		reg = <0x3 0x9b028000 0x0 0x4000>;
83
84		interrupt-parent = <&aic>;
85		interrupts = <AIC_IRQ DIE_NO 427 IRQ_TYPE_LEVEL_HIGH>,
86				<AIC_IRQ DIE_NO 428 IRQ_TYPE_LEVEL_HIGH>,
87				<AIC_IRQ DIE_NO 429 IRQ_TYPE_LEVEL_HIGH>,
88				<AIC_IRQ DIE_NO 430 IRQ_TYPE_LEVEL_HIGH>,
89				<AIC_IRQ DIE_NO 431 IRQ_TYPE_LEVEL_HIGH>,
90				<AIC_IRQ DIE_NO 432 IRQ_TYPE_LEVEL_HIGH>,
91				<AIC_IRQ DIE_NO 433 IRQ_TYPE_LEVEL_HIGH>;
92
93		clocks = <&clkref>;
94		power-domains = <&DIE_NODE(ps_gpio)>;
95
96		gpio-controller;
97		#gpio-cells = <2>;
98		gpio-ranges = <&DIE_NODE(pinctrl_ap) 0 0 255>;
99		apple,npins = <255>;
100
101		interrupt-controller;
102		#interrupt-cells = <2>;
103	};
104