xref: /freebsd/sys/contrib/device-tree/src/arm64/nvidia/tegra234-p3737-0000+p3701.dtsi (revision 5f62a964e9f8abc6a05d8338273fadd154f0a206)
1*5f62a964SEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0
2*5f62a964SEmmanuel Vadot
3*5f62a964SEmmanuel Vadot#include <dt-bindings/clock/tegra234-clock.h>
4*5f62a964SEmmanuel Vadot#include <dt-bindings/gpio/tegra234-gpio.h>
5*5f62a964SEmmanuel Vadot#include <dt-bindings/input/linux-event-codes.h>
6*5f62a964SEmmanuel Vadot#include <dt-bindings/input/gpio-keys.h>
7*5f62a964SEmmanuel Vadot#include <dt-bindings/sound/rt5640.h>
8*5f62a964SEmmanuel Vadot
9*5f62a964SEmmanuel Vadot/ {
10*5f62a964SEmmanuel Vadot	aliases {
11*5f62a964SEmmanuel Vadot		serial0 = &tcu;
12*5f62a964SEmmanuel Vadot		serial1 = &uarta;
13*5f62a964SEmmanuel Vadot	};
14*5f62a964SEmmanuel Vadot
15*5f62a964SEmmanuel Vadot	chosen {
16*5f62a964SEmmanuel Vadot		bootargs = "console=ttyTCU0,115200n8";
17*5f62a964SEmmanuel Vadot		stdout-path = "serial0:115200n8";
18*5f62a964SEmmanuel Vadot	};
19*5f62a964SEmmanuel Vadot
20*5f62a964SEmmanuel Vadot	bus@0 {
21*5f62a964SEmmanuel Vadot		aconnect@2900000 {
22*5f62a964SEmmanuel Vadot			ahub@2900800 {
23*5f62a964SEmmanuel Vadot				i2s@2901000 {
24*5f62a964SEmmanuel Vadot					ports {
25*5f62a964SEmmanuel Vadot						port@1 {
26*5f62a964SEmmanuel Vadot							endpoint {
27*5f62a964SEmmanuel Vadot								dai-format = "i2s";
28*5f62a964SEmmanuel Vadot								remote-endpoint = <&rt5640_ep>;
29*5f62a964SEmmanuel Vadot							};
30*5f62a964SEmmanuel Vadot						};
31*5f62a964SEmmanuel Vadot					};
32*5f62a964SEmmanuel Vadot				};
33*5f62a964SEmmanuel Vadot			};
34*5f62a964SEmmanuel Vadot		};
35*5f62a964SEmmanuel Vadot
36*5f62a964SEmmanuel Vadot		serial@3100000 {
37*5f62a964SEmmanuel Vadot			compatible = "nvidia,tegra194-hsuart";
38*5f62a964SEmmanuel Vadot			reset-names = "serial";
39*5f62a964SEmmanuel Vadot			status = "okay";
40*5f62a964SEmmanuel Vadot		};
41*5f62a964SEmmanuel Vadot
42*5f62a964SEmmanuel Vadot		i2c@3160000 {
43*5f62a964SEmmanuel Vadot			status = "okay";
44*5f62a964SEmmanuel Vadot
45*5f62a964SEmmanuel Vadot			eeprom@56 {
46*5f62a964SEmmanuel Vadot				compatible = "atmel,24c02";
47*5f62a964SEmmanuel Vadot				reg = <0x56>;
48*5f62a964SEmmanuel Vadot
49*5f62a964SEmmanuel Vadot				label = "system";
50*5f62a964SEmmanuel Vadot				vcc-supply = <&vdd_1v8_sys>;
51*5f62a964SEmmanuel Vadot				address-width = <8>;
52*5f62a964SEmmanuel Vadot				pagesize = <8>;
53*5f62a964SEmmanuel Vadot				size = <256>;
54*5f62a964SEmmanuel Vadot				read-only;
55*5f62a964SEmmanuel Vadot			};
56*5f62a964SEmmanuel Vadot		};
57*5f62a964SEmmanuel Vadot
58*5f62a964SEmmanuel Vadot		serial@31d0000 {
59*5f62a964SEmmanuel Vadot			current-speed = <115200>;
60*5f62a964SEmmanuel Vadot			status = "okay";
61*5f62a964SEmmanuel Vadot		};
62*5f62a964SEmmanuel Vadot
63*5f62a964SEmmanuel Vadot		i2c@31e0000 {
64*5f62a964SEmmanuel Vadot			status = "okay";
65*5f62a964SEmmanuel Vadot
66*5f62a964SEmmanuel Vadot			audio-codec@1c {
67*5f62a964SEmmanuel Vadot				compatible = "realtek,rt5640";
68*5f62a964SEmmanuel Vadot				reg = <0x1c>;
69*5f62a964SEmmanuel Vadot				interrupt-parent = <&gpio>;
70*5f62a964SEmmanuel Vadot				interrupts = <TEGRA234_MAIN_GPIO(AC, 5) GPIO_ACTIVE_HIGH>;
71*5f62a964SEmmanuel Vadot				clocks = <&bpmp TEGRA234_CLK_AUD_MCLK>;
72*5f62a964SEmmanuel Vadot				clock-names = "mclk";
73*5f62a964SEmmanuel Vadot				realtek,dmic1-data-pin = <RT5640_DMIC1_DATA_PIN_NONE>;
74*5f62a964SEmmanuel Vadot				realtek,dmic2-data-pin = <RT5640_DMIC2_DATA_PIN_NONE>;
75*5f62a964SEmmanuel Vadot				realtek,jack-detect-source = <RT5640_JD_SRC_HDA_HEADER>;
76*5f62a964SEmmanuel Vadot				sound-name-prefix = "CVB-RT";
77*5f62a964SEmmanuel Vadot
78*5f62a964SEmmanuel Vadot				port {
79*5f62a964SEmmanuel Vadot					rt5640_ep: endpoint {
80*5f62a964SEmmanuel Vadot						remote-endpoint = <&i2s1_dap>;
81*5f62a964SEmmanuel Vadot						mclk-fs = <256>;
82*5f62a964SEmmanuel Vadot					};
83*5f62a964SEmmanuel Vadot				};
84*5f62a964SEmmanuel Vadot			};
85*5f62a964SEmmanuel Vadot		};
86*5f62a964SEmmanuel Vadot
87*5f62a964SEmmanuel Vadot		pwm@3280000 {
88*5f62a964SEmmanuel Vadot			status = "okay";
89*5f62a964SEmmanuel Vadot		};
90*5f62a964SEmmanuel Vadot
91*5f62a964SEmmanuel Vadot		pwm@32a0000 {
92*5f62a964SEmmanuel Vadot			assigned-clocks = <&bpmp TEGRA234_CLK_PWM3>;
93*5f62a964SEmmanuel Vadot			assigned-clock-parents = <&bpmp TEGRA234_CLK_PLLP_OUT0>;
94*5f62a964SEmmanuel Vadot			status = "okay";
95*5f62a964SEmmanuel Vadot		};
96*5f62a964SEmmanuel Vadot
97*5f62a964SEmmanuel Vadot		pwm@32c0000 {
98*5f62a964SEmmanuel Vadot			status = "okay";
99*5f62a964SEmmanuel Vadot		};
100*5f62a964SEmmanuel Vadot
101*5f62a964SEmmanuel Vadot		pwm@32f0000 {
102*5f62a964SEmmanuel Vadot			status = "okay";
103*5f62a964SEmmanuel Vadot		};
104*5f62a964SEmmanuel Vadot
105*5f62a964SEmmanuel Vadot		mmc@3400000 {
106*5f62a964SEmmanuel Vadot			status = "okay";
107*5f62a964SEmmanuel Vadot			bus-width = <4>;
108*5f62a964SEmmanuel Vadot			cd-gpios = <&gpio TEGRA234_MAIN_GPIO(G, 7) GPIO_ACTIVE_LOW>;
109*5f62a964SEmmanuel Vadot			disable-wp;
110*5f62a964SEmmanuel Vadot		};
111*5f62a964SEmmanuel Vadot
112*5f62a964SEmmanuel Vadot		hda@3510000 {
113*5f62a964SEmmanuel Vadot			nvidia,model = "NVIDIA Jetson AGX Orin HDA";
114*5f62a964SEmmanuel Vadot			status = "okay";
115*5f62a964SEmmanuel Vadot		};
116*5f62a964SEmmanuel Vadot
117*5f62a964SEmmanuel Vadot		padctl@3520000 {
118*5f62a964SEmmanuel Vadot			status = "okay";
119*5f62a964SEmmanuel Vadot
120*5f62a964SEmmanuel Vadot			pads {
121*5f62a964SEmmanuel Vadot				usb2 {
122*5f62a964SEmmanuel Vadot					lanes {
123*5f62a964SEmmanuel Vadot						usb2-0 {
124*5f62a964SEmmanuel Vadot							status = "okay";
125*5f62a964SEmmanuel Vadot						};
126*5f62a964SEmmanuel Vadot
127*5f62a964SEmmanuel Vadot						usb2-1 {
128*5f62a964SEmmanuel Vadot							status = "okay";
129*5f62a964SEmmanuel Vadot						};
130*5f62a964SEmmanuel Vadot
131*5f62a964SEmmanuel Vadot						usb2-2 {
132*5f62a964SEmmanuel Vadot							status = "okay";
133*5f62a964SEmmanuel Vadot						};
134*5f62a964SEmmanuel Vadot
135*5f62a964SEmmanuel Vadot						usb2-3 {
136*5f62a964SEmmanuel Vadot							status = "okay";
137*5f62a964SEmmanuel Vadot						};
138*5f62a964SEmmanuel Vadot					};
139*5f62a964SEmmanuel Vadot				};
140*5f62a964SEmmanuel Vadot
141*5f62a964SEmmanuel Vadot				usb3 {
142*5f62a964SEmmanuel Vadot					lanes {
143*5f62a964SEmmanuel Vadot						usb3-0 {
144*5f62a964SEmmanuel Vadot							status = "okay";
145*5f62a964SEmmanuel Vadot						};
146*5f62a964SEmmanuel Vadot
147*5f62a964SEmmanuel Vadot						usb3-1 {
148*5f62a964SEmmanuel Vadot							status = "okay";
149*5f62a964SEmmanuel Vadot						};
150*5f62a964SEmmanuel Vadot
151*5f62a964SEmmanuel Vadot						usb3-2 {
152*5f62a964SEmmanuel Vadot							status = "okay";
153*5f62a964SEmmanuel Vadot						};
154*5f62a964SEmmanuel Vadot					};
155*5f62a964SEmmanuel Vadot				};
156*5f62a964SEmmanuel Vadot			};
157*5f62a964SEmmanuel Vadot
158*5f62a964SEmmanuel Vadot			ports {
159*5f62a964SEmmanuel Vadot				usb2-0 {
160*5f62a964SEmmanuel Vadot					mode = "otg";
161*5f62a964SEmmanuel Vadot					usb-role-switch;
162*5f62a964SEmmanuel Vadot					status = "okay";
163*5f62a964SEmmanuel Vadot
164*5f62a964SEmmanuel Vadot					port {
165*5f62a964SEmmanuel Vadot						hs_typec_p1: endpoint {
166*5f62a964SEmmanuel Vadot							remote-endpoint = <&hs_ucsi_ccg_p1>;
167*5f62a964SEmmanuel Vadot						};
168*5f62a964SEmmanuel Vadot					};
169*5f62a964SEmmanuel Vadot				};
170*5f62a964SEmmanuel Vadot
171*5f62a964SEmmanuel Vadot				usb2-1 {
172*5f62a964SEmmanuel Vadot					mode = "host";
173*5f62a964SEmmanuel Vadot					status = "okay";
174*5f62a964SEmmanuel Vadot
175*5f62a964SEmmanuel Vadot					port {
176*5f62a964SEmmanuel Vadot						hs_typec_p0: endpoint {
177*5f62a964SEmmanuel Vadot							remote-endpoint = <&hs_ucsi_ccg_p0>;
178*5f62a964SEmmanuel Vadot						};
179*5f62a964SEmmanuel Vadot					};
180*5f62a964SEmmanuel Vadot				};
181*5f62a964SEmmanuel Vadot
182*5f62a964SEmmanuel Vadot				usb2-2 {
183*5f62a964SEmmanuel Vadot					mode = "host";
184*5f62a964SEmmanuel Vadot					status = "okay";
185*5f62a964SEmmanuel Vadot				};
186*5f62a964SEmmanuel Vadot
187*5f62a964SEmmanuel Vadot				usb2-3 {
188*5f62a964SEmmanuel Vadot					mode = "host";
189*5f62a964SEmmanuel Vadot					status = "okay";
190*5f62a964SEmmanuel Vadot				};
191*5f62a964SEmmanuel Vadot
192*5f62a964SEmmanuel Vadot				usb3-0 {
193*5f62a964SEmmanuel Vadot					nvidia,usb2-companion = <1>;
194*5f62a964SEmmanuel Vadot					status = "okay";
195*5f62a964SEmmanuel Vadot
196*5f62a964SEmmanuel Vadot					port {
197*5f62a964SEmmanuel Vadot						ss_typec_p0: endpoint {
198*5f62a964SEmmanuel Vadot							remote-endpoint = <&ss_ucsi_ccg_p0>;
199*5f62a964SEmmanuel Vadot						};
200*5f62a964SEmmanuel Vadot					};
201*5f62a964SEmmanuel Vadot				};
202*5f62a964SEmmanuel Vadot
203*5f62a964SEmmanuel Vadot				usb3-1 {
204*5f62a964SEmmanuel Vadot					nvidia,usb2-companion = <0>;
205*5f62a964SEmmanuel Vadot					status = "okay";
206*5f62a964SEmmanuel Vadot
207*5f62a964SEmmanuel Vadot					port {
208*5f62a964SEmmanuel Vadot						ss_typec_p1: endpoint {
209*5f62a964SEmmanuel Vadot							remote-endpoint = <&ss_ucsi_ccg_p1>;
210*5f62a964SEmmanuel Vadot						};
211*5f62a964SEmmanuel Vadot					};
212*5f62a964SEmmanuel Vadot				};
213*5f62a964SEmmanuel Vadot
214*5f62a964SEmmanuel Vadot				usb3-2 {
215*5f62a964SEmmanuel Vadot					nvidia,usb2-companion = <3>;
216*5f62a964SEmmanuel Vadot					status = "okay";
217*5f62a964SEmmanuel Vadot				};
218*5f62a964SEmmanuel Vadot			};
219*5f62a964SEmmanuel Vadot		};
220*5f62a964SEmmanuel Vadot
221*5f62a964SEmmanuel Vadot		usb@3550000 {
222*5f62a964SEmmanuel Vadot			status = "okay";
223*5f62a964SEmmanuel Vadot
224*5f62a964SEmmanuel Vadot			phys = <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-0}>,
225*5f62a964SEmmanuel Vadot			       <&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-1}>;
226*5f62a964SEmmanuel Vadot			phy-names = "usb2-0", "usb3-0";
227*5f62a964SEmmanuel Vadot		};
228*5f62a964SEmmanuel Vadot
229*5f62a964SEmmanuel Vadot		usb@3610000 {
230*5f62a964SEmmanuel Vadot			status = "okay";
231*5f62a964SEmmanuel Vadot
232*5f62a964SEmmanuel Vadot			phys = <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-0}>,
233*5f62a964SEmmanuel Vadot			       <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-1}>,
234*5f62a964SEmmanuel Vadot			       <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-2}>,
235*5f62a964SEmmanuel Vadot			       <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-3}>,
236*5f62a964SEmmanuel Vadot			       <&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-0}>,
237*5f62a964SEmmanuel Vadot			       <&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-1}>,
238*5f62a964SEmmanuel Vadot			       <&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-2}>;
239*5f62a964SEmmanuel Vadot			phy-names = "usb2-0", "usb2-1", "usb2-2", "usb2-3",
240*5f62a964SEmmanuel Vadot				    "usb3-0", "usb3-1", "usb3-2";
241*5f62a964SEmmanuel Vadot		};
242*5f62a964SEmmanuel Vadot
243*5f62a964SEmmanuel Vadot		ethernet@6800000 {
244*5f62a964SEmmanuel Vadot			status = "okay";
245*5f62a964SEmmanuel Vadot
246*5f62a964SEmmanuel Vadot			phy-handle = <&mgbe0_phy>;
247*5f62a964SEmmanuel Vadot			phy-mode = "10gbase-r";
248*5f62a964SEmmanuel Vadot
249*5f62a964SEmmanuel Vadot			mdio {
250*5f62a964SEmmanuel Vadot				#address-cells = <1>;
251*5f62a964SEmmanuel Vadot				#size-cells = <0>;
252*5f62a964SEmmanuel Vadot
253*5f62a964SEmmanuel Vadot				mgbe0_phy: phy@0 {
254*5f62a964SEmmanuel Vadot					compatible = "ethernet-phy-ieee802.3-c45";
255*5f62a964SEmmanuel Vadot					reg = <0x0>;
256*5f62a964SEmmanuel Vadot
257*5f62a964SEmmanuel Vadot					#phy-cells = <0>;
258*5f62a964SEmmanuel Vadot				};
259*5f62a964SEmmanuel Vadot			};
260*5f62a964SEmmanuel Vadot		};
261*5f62a964SEmmanuel Vadot
262*5f62a964SEmmanuel Vadot		i2c@c240000 {
263*5f62a964SEmmanuel Vadot			status = "okay";
264*5f62a964SEmmanuel Vadot
265*5f62a964SEmmanuel Vadot			typec@8 {
266*5f62a964SEmmanuel Vadot				compatible = "cypress,cypd4226";
267*5f62a964SEmmanuel Vadot				reg = <0x08>;
268*5f62a964SEmmanuel Vadot				interrupt-parent = <&gpio>;
269*5f62a964SEmmanuel Vadot				interrupts = <TEGRA234_MAIN_GPIO(Y, 4) IRQ_TYPE_LEVEL_LOW>;
270*5f62a964SEmmanuel Vadot				firmware-name = "nvidia,jetson-agx-xavier";
271*5f62a964SEmmanuel Vadot				status = "okay";
272*5f62a964SEmmanuel Vadot
273*5f62a964SEmmanuel Vadot				#address-cells = <1>;
274*5f62a964SEmmanuel Vadot				#size-cells = <0>;
275*5f62a964SEmmanuel Vadot
276*5f62a964SEmmanuel Vadot				ccg_typec_con0: connector@0 {
277*5f62a964SEmmanuel Vadot					compatible = "usb-c-connector";
278*5f62a964SEmmanuel Vadot					reg = <0>;
279*5f62a964SEmmanuel Vadot					label = "USB-C";
280*5f62a964SEmmanuel Vadot					data-role = "host";
281*5f62a964SEmmanuel Vadot
282*5f62a964SEmmanuel Vadot					ports {
283*5f62a964SEmmanuel Vadot						#address-cells = <1>;
284*5f62a964SEmmanuel Vadot						#size-cells = <0>;
285*5f62a964SEmmanuel Vadot
286*5f62a964SEmmanuel Vadot						port@0 {
287*5f62a964SEmmanuel Vadot							reg = <0>;
288*5f62a964SEmmanuel Vadot
289*5f62a964SEmmanuel Vadot							hs_ucsi_ccg_p0: endpoint {
290*5f62a964SEmmanuel Vadot								remote-endpoint = <&hs_typec_p0>;
291*5f62a964SEmmanuel Vadot							};
292*5f62a964SEmmanuel Vadot						};
293*5f62a964SEmmanuel Vadot
294*5f62a964SEmmanuel Vadot						port@1 {
295*5f62a964SEmmanuel Vadot							reg = <1>;
296*5f62a964SEmmanuel Vadot
297*5f62a964SEmmanuel Vadot							ss_ucsi_ccg_p0: endpoint {
298*5f62a964SEmmanuel Vadot								remote-endpoint = <&ss_typec_p0>;
299*5f62a964SEmmanuel Vadot							};
300*5f62a964SEmmanuel Vadot						};
301*5f62a964SEmmanuel Vadot					};
302*5f62a964SEmmanuel Vadot				};
303*5f62a964SEmmanuel Vadot
304*5f62a964SEmmanuel Vadot				ccg_typec_con1: connector@1 {
305*5f62a964SEmmanuel Vadot					compatible = "usb-c-connector";
306*5f62a964SEmmanuel Vadot					reg = <1>;
307*5f62a964SEmmanuel Vadot					label = "USB-C";
308*5f62a964SEmmanuel Vadot					data-role = "dual";
309*5f62a964SEmmanuel Vadot
310*5f62a964SEmmanuel Vadot					ports {
311*5f62a964SEmmanuel Vadot						#address-cells = <1>;
312*5f62a964SEmmanuel Vadot						#size-cells = <0>;
313*5f62a964SEmmanuel Vadot
314*5f62a964SEmmanuel Vadot						port@0 {
315*5f62a964SEmmanuel Vadot							reg = <0>;
316*5f62a964SEmmanuel Vadot
317*5f62a964SEmmanuel Vadot							hs_ucsi_ccg_p1: endpoint {
318*5f62a964SEmmanuel Vadot								remote-endpoint = <&hs_typec_p1>;
319*5f62a964SEmmanuel Vadot							};
320*5f62a964SEmmanuel Vadot						};
321*5f62a964SEmmanuel Vadot
322*5f62a964SEmmanuel Vadot						port@1 {
323*5f62a964SEmmanuel Vadot							reg = <1>;
324*5f62a964SEmmanuel Vadot
325*5f62a964SEmmanuel Vadot							ss_ucsi_ccg_p1: endpoint {
326*5f62a964SEmmanuel Vadot								remote-endpoint = <&ss_typec_p1>;
327*5f62a964SEmmanuel Vadot							};
328*5f62a964SEmmanuel Vadot						};
329*5f62a964SEmmanuel Vadot					};
330*5f62a964SEmmanuel Vadot				};
331*5f62a964SEmmanuel Vadot			};
332*5f62a964SEmmanuel Vadot		};
333*5f62a964SEmmanuel Vadot
334*5f62a964SEmmanuel Vadot		pcie@14100000 {
335*5f62a964SEmmanuel Vadot			status = "okay";
336*5f62a964SEmmanuel Vadot
337*5f62a964SEmmanuel Vadot			vddio-pex-ctl-supply = <&vdd_1v8_ao>;
338*5f62a964SEmmanuel Vadot
339*5f62a964SEmmanuel Vadot			phys = <&p2u_hsio_3>;
340*5f62a964SEmmanuel Vadot			phy-names = "p2u-0";
341*5f62a964SEmmanuel Vadot		};
342*5f62a964SEmmanuel Vadot
343*5f62a964SEmmanuel Vadot		pcie@14160000 {
344*5f62a964SEmmanuel Vadot			status = "okay";
345*5f62a964SEmmanuel Vadot
346*5f62a964SEmmanuel Vadot			vddio-pex-ctl-supply = <&vdd_1v8_ao>;
347*5f62a964SEmmanuel Vadot
348*5f62a964SEmmanuel Vadot			phys = <&p2u_hsio_4>, <&p2u_hsio_5>, <&p2u_hsio_6>,
349*5f62a964SEmmanuel Vadot			       <&p2u_hsio_7>;
350*5f62a964SEmmanuel Vadot			phy-names = "p2u-0", "p2u-1", "p2u-2", "p2u-3";
351*5f62a964SEmmanuel Vadot		};
352*5f62a964SEmmanuel Vadot
353*5f62a964SEmmanuel Vadot		pcie@141a0000 {
354*5f62a964SEmmanuel Vadot			status = "okay";
355*5f62a964SEmmanuel Vadot
356*5f62a964SEmmanuel Vadot			vddio-pex-ctl-supply = <&vdd_1v8_ls>;
357*5f62a964SEmmanuel Vadot			vpcie3v3-supply = <&vdd_3v3_pcie>;
358*5f62a964SEmmanuel Vadot			vpcie12v-supply = <&vdd_12v_pcie>;
359*5f62a964SEmmanuel Vadot
360*5f62a964SEmmanuel Vadot			phys = <&p2u_nvhs_0>, <&p2u_nvhs_1>, <&p2u_nvhs_2>,
361*5f62a964SEmmanuel Vadot			       <&p2u_nvhs_3>, <&p2u_nvhs_4>, <&p2u_nvhs_5>,
362*5f62a964SEmmanuel Vadot			       <&p2u_nvhs_6>, <&p2u_nvhs_7>;
363*5f62a964SEmmanuel Vadot			phy-names = "p2u-0", "p2u-1", "p2u-2", "p2u-3", "p2u-4",
364*5f62a964SEmmanuel Vadot				    "p2u-5", "p2u-6", "p2u-7";
365*5f62a964SEmmanuel Vadot		};
366*5f62a964SEmmanuel Vadot
367*5f62a964SEmmanuel Vadot		pcie-ep@141a0000 {
368*5f62a964SEmmanuel Vadot			status = "disabled";
369*5f62a964SEmmanuel Vadot
370*5f62a964SEmmanuel Vadot			vddio-pex-ctl-supply = <&vdd_1v8_ls>;
371*5f62a964SEmmanuel Vadot
372*5f62a964SEmmanuel Vadot			reset-gpios = <&gpio TEGRA234_MAIN_GPIO(AF, 1) GPIO_ACTIVE_LOW>;
373*5f62a964SEmmanuel Vadot
374*5f62a964SEmmanuel Vadot			nvidia,refclk-select-gpios = <&gpio_aon
375*5f62a964SEmmanuel Vadot						      TEGRA234_AON_GPIO(AA, 4)
376*5f62a964SEmmanuel Vadot						      GPIO_ACTIVE_HIGH>;
377*5f62a964SEmmanuel Vadot
378*5f62a964SEmmanuel Vadot			phys = <&p2u_nvhs_0>, <&p2u_nvhs_1>, <&p2u_nvhs_2>,
379*5f62a964SEmmanuel Vadot			       <&p2u_nvhs_3>, <&p2u_nvhs_4>, <&p2u_nvhs_5>,
380*5f62a964SEmmanuel Vadot			       <&p2u_nvhs_6>, <&p2u_nvhs_7>;
381*5f62a964SEmmanuel Vadot			phy-names = "p2u-0", "p2u-1", "p2u-2", "p2u-3", "p2u-4",
382*5f62a964SEmmanuel Vadot				    "p2u-5", "p2u-6", "p2u-7";
383*5f62a964SEmmanuel Vadot		};
384*5f62a964SEmmanuel Vadot	};
385*5f62a964SEmmanuel Vadot
386*5f62a964SEmmanuel Vadot	gpio-keys {
387*5f62a964SEmmanuel Vadot		compatible = "gpio-keys";
388*5f62a964SEmmanuel Vadot		status = "okay";
389*5f62a964SEmmanuel Vadot
390*5f62a964SEmmanuel Vadot		key-force-recovery {
391*5f62a964SEmmanuel Vadot			label = "Force Recovery";
392*5f62a964SEmmanuel Vadot			gpios = <&gpio TEGRA234_MAIN_GPIO(G, 0) GPIO_ACTIVE_LOW>;
393*5f62a964SEmmanuel Vadot			linux,input-type = <EV_KEY>;
394*5f62a964SEmmanuel Vadot			linux,code = <BTN_1>;
395*5f62a964SEmmanuel Vadot		};
396*5f62a964SEmmanuel Vadot
397*5f62a964SEmmanuel Vadot		key-power {
398*5f62a964SEmmanuel Vadot			label = "Power";
399*5f62a964SEmmanuel Vadot			gpios = <&gpio_aon TEGRA234_AON_GPIO(EE, 4) GPIO_ACTIVE_LOW>;
400*5f62a964SEmmanuel Vadot			linux,input-type = <EV_KEY>;
401*5f62a964SEmmanuel Vadot			linux,code = <KEY_POWER>;
402*5f62a964SEmmanuel Vadot			wakeup-event-action = <EV_ACT_ASSERTED>;
403*5f62a964SEmmanuel Vadot			wakeup-source;
404*5f62a964SEmmanuel Vadot		};
405*5f62a964SEmmanuel Vadot
406*5f62a964SEmmanuel Vadot		key-suspend {
407*5f62a964SEmmanuel Vadot			label = "Suspend";
408*5f62a964SEmmanuel Vadot			gpios = <&gpio TEGRA234_MAIN_GPIO(G, 2) GPIO_ACTIVE_LOW>;
409*5f62a964SEmmanuel Vadot			linux,input-type = <EV_KEY>;
410*5f62a964SEmmanuel Vadot			linux,code = <KEY_SLEEP>;
411*5f62a964SEmmanuel Vadot		};
412*5f62a964SEmmanuel Vadot	};
413*5f62a964SEmmanuel Vadot
414*5f62a964SEmmanuel Vadot	fan: pwm-fan {
415*5f62a964SEmmanuel Vadot		compatible = "pwm-fan";
416*5f62a964SEmmanuel Vadot		cooling-levels = <66 215 255>;
417*5f62a964SEmmanuel Vadot		pwms = <&pwm3 0 45334>;
418*5f62a964SEmmanuel Vadot		#cooling-cells = <2>;
419*5f62a964SEmmanuel Vadot	};
420*5f62a964SEmmanuel Vadot
421*5f62a964SEmmanuel Vadot	serial {
422*5f62a964SEmmanuel Vadot		status = "okay";
423*5f62a964SEmmanuel Vadot	};
424*5f62a964SEmmanuel Vadot
425*5f62a964SEmmanuel Vadot	sound {
426*5f62a964SEmmanuel Vadot		compatible = "nvidia,tegra186-audio-graph-card";
427*5f62a964SEmmanuel Vadot		status = "okay";
428*5f62a964SEmmanuel Vadot
429*5f62a964SEmmanuel Vadot		dais = /* ADMAIF (FE) Ports */
430*5f62a964SEmmanuel Vadot		       <&admaif0_port>, <&admaif1_port>, <&admaif2_port>, <&admaif3_port>,
431*5f62a964SEmmanuel Vadot		       <&admaif4_port>, <&admaif5_port>, <&admaif6_port>, <&admaif7_port>,
432*5f62a964SEmmanuel Vadot		       <&admaif8_port>, <&admaif9_port>, <&admaif10_port>, <&admaif11_port>,
433*5f62a964SEmmanuel Vadot		       <&admaif12_port>, <&admaif13_port>, <&admaif14_port>, <&admaif15_port>,
434*5f62a964SEmmanuel Vadot		       <&admaif16_port>, <&admaif17_port>, <&admaif18_port>, <&admaif19_port>,
435*5f62a964SEmmanuel Vadot		       /* XBAR Ports */
436*5f62a964SEmmanuel Vadot		       <&xbar_i2s1_port>, <&xbar_i2s2_port>, <&xbar_i2s4_port>,
437*5f62a964SEmmanuel Vadot		       <&xbar_i2s6_port>, <&xbar_dmic3_port>,
438*5f62a964SEmmanuel Vadot		       <&xbar_sfc1_in_port>, <&xbar_sfc2_in_port>,
439*5f62a964SEmmanuel Vadot		       <&xbar_sfc3_in_port>, <&xbar_sfc4_in_port>,
440*5f62a964SEmmanuel Vadot		       <&xbar_mvc1_in_port>, <&xbar_mvc2_in_port>,
441*5f62a964SEmmanuel Vadot		       <&xbar_amx1_in1_port>, <&xbar_amx1_in2_port>,
442*5f62a964SEmmanuel Vadot		       <&xbar_amx1_in3_port>, <&xbar_amx1_in4_port>,
443*5f62a964SEmmanuel Vadot		       <&xbar_amx2_in1_port>, <&xbar_amx2_in2_port>,
444*5f62a964SEmmanuel Vadot		       <&xbar_amx2_in3_port>, <&xbar_amx2_in4_port>,
445*5f62a964SEmmanuel Vadot		       <&xbar_amx3_in1_port>, <&xbar_amx3_in2_port>,
446*5f62a964SEmmanuel Vadot		       <&xbar_amx3_in3_port>, <&xbar_amx3_in4_port>,
447*5f62a964SEmmanuel Vadot		       <&xbar_amx4_in1_port>, <&xbar_amx4_in2_port>,
448*5f62a964SEmmanuel Vadot		       <&xbar_amx4_in3_port>, <&xbar_amx4_in4_port>,
449*5f62a964SEmmanuel Vadot		       <&xbar_adx1_in_port>, <&xbar_adx2_in_port>,
450*5f62a964SEmmanuel Vadot		       <&xbar_adx3_in_port>, <&xbar_adx4_in_port>,
451*5f62a964SEmmanuel Vadot		       <&xbar_mix_in1_port>, <&xbar_mix_in2_port>,
452*5f62a964SEmmanuel Vadot		       <&xbar_mix_in3_port>, <&xbar_mix_in4_port>,
453*5f62a964SEmmanuel Vadot		       <&xbar_mix_in5_port>, <&xbar_mix_in6_port>,
454*5f62a964SEmmanuel Vadot		       <&xbar_mix_in7_port>, <&xbar_mix_in8_port>,
455*5f62a964SEmmanuel Vadot		       <&xbar_mix_in9_port>, <&xbar_mix_in10_port>,
456*5f62a964SEmmanuel Vadot		       <&xbar_asrc_in1_port>, <&xbar_asrc_in2_port>,
457*5f62a964SEmmanuel Vadot		       <&xbar_asrc_in3_port>, <&xbar_asrc_in4_port>,
458*5f62a964SEmmanuel Vadot		       <&xbar_asrc_in5_port>, <&xbar_asrc_in6_port>,
459*5f62a964SEmmanuel Vadot		       <&xbar_asrc_in7_port>,
460*5f62a964SEmmanuel Vadot		       <&xbar_ope1_in_port>,
461*5f62a964SEmmanuel Vadot		       /* HW accelerators */
462*5f62a964SEmmanuel Vadot		       <&sfc1_out_port>, <&sfc2_out_port>,
463*5f62a964SEmmanuel Vadot		       <&sfc3_out_port>, <&sfc4_out_port>,
464*5f62a964SEmmanuel Vadot		       <&mvc1_out_port>, <&mvc2_out_port>,
465*5f62a964SEmmanuel Vadot		       <&amx1_out_port>, <&amx2_out_port>,
466*5f62a964SEmmanuel Vadot		       <&amx3_out_port>, <&amx4_out_port>,
467*5f62a964SEmmanuel Vadot		       <&adx1_out1_port>, <&adx1_out2_port>,
468*5f62a964SEmmanuel Vadot		       <&adx1_out3_port>, <&adx1_out4_port>,
469*5f62a964SEmmanuel Vadot		       <&adx2_out1_port>, <&adx2_out2_port>,
470*5f62a964SEmmanuel Vadot		       <&adx2_out3_port>, <&adx2_out4_port>,
471*5f62a964SEmmanuel Vadot		       <&adx3_out1_port>, <&adx3_out2_port>,
472*5f62a964SEmmanuel Vadot		       <&adx3_out3_port>, <&adx3_out4_port>,
473*5f62a964SEmmanuel Vadot		       <&adx4_out1_port>, <&adx4_out2_port>,
474*5f62a964SEmmanuel Vadot		       <&adx4_out3_port>, <&adx4_out4_port>,
475*5f62a964SEmmanuel Vadot		       <&mix_out1_port>, <&mix_out2_port>, <&mix_out3_port>,
476*5f62a964SEmmanuel Vadot		       <&mix_out4_port>, <&mix_out5_port>,
477*5f62a964SEmmanuel Vadot		       <&asrc_out1_port>, <&asrc_out2_port>, <&asrc_out3_port>,
478*5f62a964SEmmanuel Vadot		       <&asrc_out4_port>, <&asrc_out5_port>, <&asrc_out6_port>,
479*5f62a964SEmmanuel Vadot		       <&ope1_out_port>,
480*5f62a964SEmmanuel Vadot		       /* BE I/O Ports */
481*5f62a964SEmmanuel Vadot		       <&i2s1_port>, <&i2s2_port>, <&i2s4_port>, <&i2s6_port>,
482*5f62a964SEmmanuel Vadot		       <&dmic3_port>;
483*5f62a964SEmmanuel Vadot
484*5f62a964SEmmanuel Vadot		label = "NVIDIA Jetson AGX Orin APE";
485*5f62a964SEmmanuel Vadot
486*5f62a964SEmmanuel Vadot		widgets = "Microphone",	"CVB-RT MIC Jack",
487*5f62a964SEmmanuel Vadot			  "Microphone",	"CVB-RT MIC",
488*5f62a964SEmmanuel Vadot			  "Headphone",	"CVB-RT HP Jack",
489*5f62a964SEmmanuel Vadot			  "Speaker",	"CVB-RT SPK";
490*5f62a964SEmmanuel Vadot
491*5f62a964SEmmanuel Vadot		routing = /* I2S1 <-> RT5640 */
492*5f62a964SEmmanuel Vadot			  "CVB-RT AIF1 Playback",	"I2S1 DAP-Playback",
493*5f62a964SEmmanuel Vadot			  "I2S1 DAP-Capture",		"CVB-RT AIF1 Capture",
494*5f62a964SEmmanuel Vadot			  /* RT5640 codec controls */
495*5f62a964SEmmanuel Vadot			  "CVB-RT HP Jack",		"CVB-RT HPOL",
496*5f62a964SEmmanuel Vadot			  "CVB-RT HP Jack",		"CVB-RT HPOR",
497*5f62a964SEmmanuel Vadot			  "CVB-RT IN1P",		"CVB-RT MIC Jack",
498*5f62a964SEmmanuel Vadot			  "CVB-RT IN2P",		"CVB-RT MIC Jack",
499*5f62a964SEmmanuel Vadot			  "CVB-RT SPK",			"CVB-RT SPOLP",
500*5f62a964SEmmanuel Vadot			  "CVB-RT SPK",			"CVB-RT SPORP",
501*5f62a964SEmmanuel Vadot			  "CVB-RT DMIC1",		"CVB-RT MIC",
502*5f62a964SEmmanuel Vadot			  "CVB-RT DMIC2",		"CVB-RT MIC";
503*5f62a964SEmmanuel Vadot	};
504*5f62a964SEmmanuel Vadot
505*5f62a964SEmmanuel Vadot	thermal-zones {
506*5f62a964SEmmanuel Vadot		tj-thermal {
507*5f62a964SEmmanuel Vadot			cooling-maps {
508*5f62a964SEmmanuel Vadot				map-active-0 {
509*5f62a964SEmmanuel Vadot					cooling-device = <&fan 0 1>;
510*5f62a964SEmmanuel Vadot					trip = <&tj_trip_active0>;
511*5f62a964SEmmanuel Vadot				};
512*5f62a964SEmmanuel Vadot
513*5f62a964SEmmanuel Vadot				map-active-1 {
514*5f62a964SEmmanuel Vadot					cooling-device = <&fan 1 2>;
515*5f62a964SEmmanuel Vadot					trip = <&tj_trip_active1>;
516*5f62a964SEmmanuel Vadot				};
517*5f62a964SEmmanuel Vadot			};
518*5f62a964SEmmanuel Vadot		};
519*5f62a964SEmmanuel Vadot	};
520*5f62a964SEmmanuel Vadot
521*5f62a964SEmmanuel Vadot	vdd_1v8_sys: regulator-vdd-1v8-sys {
522*5f62a964SEmmanuel Vadot		compatible = "regulator-fixed";
523*5f62a964SEmmanuel Vadot		regulator-name = "VDD_1V8_SYS";
524*5f62a964SEmmanuel Vadot		regulator-min-microvolt = <1800000>;
525*5f62a964SEmmanuel Vadot		regulator-max-microvolt = <1800000>;
526*5f62a964SEmmanuel Vadot		regulator-always-on;
527*5f62a964SEmmanuel Vadot	};
528*5f62a964SEmmanuel Vadot
529*5f62a964SEmmanuel Vadot	vdd_3v3_pcie: regulator-vdd-3v3-pcie {
530*5f62a964SEmmanuel Vadot		compatible = "regulator-fixed";
531*5f62a964SEmmanuel Vadot		regulator-name = "VDD_3V3_PCIE";
532*5f62a964SEmmanuel Vadot		regulator-min-microvolt = <3300000>;
533*5f62a964SEmmanuel Vadot		regulator-max-microvolt = <3300000>;
534*5f62a964SEmmanuel Vadot		gpio = <&gpio TEGRA234_MAIN_GPIO(H, 4) GPIO_ACTIVE_HIGH>;
535*5f62a964SEmmanuel Vadot		regulator-boot-on;
536*5f62a964SEmmanuel Vadot		enable-active-high;
537*5f62a964SEmmanuel Vadot	};
538*5f62a964SEmmanuel Vadot
539*5f62a964SEmmanuel Vadot	vdd_12v_pcie: regulator-vdd-12v-pcie {
540*5f62a964SEmmanuel Vadot		compatible = "regulator-fixed";
541*5f62a964SEmmanuel Vadot		regulator-name = "VDD_12V_PCIE";
542*5f62a964SEmmanuel Vadot		regulator-min-microvolt = <12000000>;
543*5f62a964SEmmanuel Vadot		regulator-max-microvolt = <12000000>;
544*5f62a964SEmmanuel Vadot		gpio = <&gpio TEGRA234_MAIN_GPIO(A, 1) GPIO_ACTIVE_LOW>;
545*5f62a964SEmmanuel Vadot		regulator-boot-on;
546*5f62a964SEmmanuel Vadot	};
547*5f62a964SEmmanuel Vadot};
548