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