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