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