xref: /freebsd/sys/contrib/device-tree/src/arm64/apple/t6022-jxxxd.dtsi (revision 0cd4430a9320c916a84617b6bbf400f5c64a09c7)
1// SPDX-License-Identifier: GPL-2.0+ OR MIT
2/*
3 * Mac Pro (M2 Ultra, 2023) and Mac Studio (M2 Ultra, 2023)
4 *
5 * This file contains the parts common to J180 and J475 devices with t6022.
6 *
7 * target-type: J180d / J475d
8 *
9 * Copyright The Asahi Linux Contributors
10 */
11
12/* delete power-domains for missing disp0 / disp0_die1 */
13/delete-node/ &ps_disp0_cpu0;
14/delete-node/ &ps_disp0_fe;
15
16/delete-node/ &ps_disp0_cpu0_die1;
17/delete-node/ &ps_disp0_fe_die1;
18
19/* USB Type C */
20&i2c0 {
21	/* front-right */
22	hpm4: usb-pd@39 {
23		compatible = "apple,cd321x";
24		reg = <0x39>;
25		interrupt-parent = <&pinctrl_ap>;
26		interrupts = <44 IRQ_TYPE_LEVEL_LOW>;
27		interrupt-names = "irq";
28
29		typec4: connector {
30			compatible = "usb-c-connector";
31			power-role = "dual";
32			data-role = "dual";
33
34			ports {
35				#address-cells = <1>;
36				#size-cells = <0>;
37				port@0 {
38					reg = <0>;
39					typec4_connector_hs: endpoint {
40						remote-endpoint = <&dwc3_4_hs>;
41					};
42				};
43				port@1 {
44					reg = <1>;
45					typec4_connector_ss: endpoint {
46						remote-endpoint = <&atcphy4_typec_lanes>;
47					};
48				};
49			};
50		};
51	};
52
53	/* front-left */
54	hpm5: usb-pd@3a {
55		compatible = "apple,cd321x";
56		reg = <0x3a>;
57		interrupt-parent = <&pinctrl_ap>;
58		interrupts = <44 IRQ_TYPE_LEVEL_LOW>;
59		interrupt-names = "irq";
60
61		typec5: connector {
62			compatible = "usb-c-connector";
63			power-role = "dual";
64			data-role = "dual";
65
66			ports {
67				#address-cells = <1>;
68				#size-cells = <0>;
69				port@0 {
70					reg = <0>;
71					typec5_connector_hs: endpoint {
72						remote-endpoint = <&dwc3_5_hs>;
73					};
74				};
75				port@1 {
76					reg = <1>;
77					typec5_connector_ss: endpoint {
78						remote-endpoint = <&atcphy5_typec_lanes>;
79					};
80				};
81			};
82		};
83	};
84};
85
86
87/* USB controllers on die 1 */
88&dwc3_0_die1 {
89	ports {
90		#address-cells = <1>;
91		#size-cells = <0>;
92
93		port@0 {
94			reg = <0>;
95			dwc3_4_hs: endpoint {
96				remote-endpoint = <&typec4_connector_hs>;
97			};
98		};
99
100		port@1 {
101			reg = <1>;
102			dwc3_4_ss: endpoint {
103				remote-endpoint = <&atcphy4_usb3>;
104			};
105		};
106	};
107};
108
109&dwc3_1_die1 {
110	ports {
111		#address-cells = <1>;
112		#size-cells = <0>;
113
114		port@0 {
115			reg = <0>;
116			dwc3_5_hs: endpoint {
117				remote-endpoint = <&typec5_connector_hs>;
118			};
119		};
120
121		port@1 {
122			reg = <1>;
123			dwc3_5_ss: endpoint {
124				remote-endpoint = <&atcphy5_usb3>;
125			};
126		};
127	};
128};
129
130/* Type-C PHYs */
131&atcphy0_die1 {
132	ports {
133		#address-cells = <1>;
134		#size-cells = <0>;
135
136		port@0 {
137			reg = <0>;
138			atcphy4_typec_lanes: endpoint {
139				remote-endpoint = <&typec4_connector_ss>;
140			};
141		};
142
143		port@1 {
144			reg = <1>;
145			atcphy4_usb3: endpoint {
146				remote-endpoint = <&dwc3_4_ss>;
147			};
148		};
149	};
150};
151
152&atcphy1_die1 {
153	ports {
154		#address-cells = <1>;
155		#size-cells = <0>;
156
157		port@0 {
158			reg = <0>;
159			atcphy5_typec_lanes: endpoint {
160				remote-endpoint = <&typec5_connector_ss>;
161			};
162		};
163
164		port@1 {
165			reg = <1>;
166			atcphy5_usb3: endpoint {
167				remote-endpoint = <&dwc3_5_ss>;
168			};
169		};
170	};
171};
172