xref: /linux/arch/arm64/boot/dts/nvidia/tegra234-p3740-0002+p3701-0008.dts (revision c532de5a67a70f8533d495f8f2aaa9a0491c3ad0)
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#include "tegra234-p3701-0008.dtsi"
8
9/ {
10	model = "NVIDIA IGX Orin Development Kit";
11	compatible = "nvidia,p3740-0002+p3701-0008", "nvidia,p3701-0008", "nvidia,tegra234";
12
13	aliases {
14		serial0 = &tcu;
15		serial1 = &uarta;
16	};
17
18	chosen {
19		stdout-path = "serial0:115200n8";
20	};
21
22	bus@0 {
23		aconnect@2900000 {
24			ahub@2900800 {
25				i2s@2901300 {
26					ports {
27						port@1 {
28							endpoint {
29								dai-format = "i2s";
30								remote-endpoint = <&rt5640_ep>;
31							};
32						};
33					};
34				};
35
36				i2s@2901500 {
37					ports {
38						port@1 {
39							endpoint {
40								bitclock-master;
41								frame-master;
42							};
43						};
44					};
45				};
46			};
47		};
48
49		serial@3100000 {
50			compatible = "nvidia,tegra194-hsuart";
51			reset-names = "serial";
52			status = "okay";
53		};
54
55		i2c@3160000 {
56			status = "okay";
57		};
58
59		i2c@3180000 {
60			status = "okay";
61		};
62
63		i2c@3190000 {
64			status = "okay";
65		};
66
67		i2c@31b0000 {
68			status = "okay";
69		};
70
71		i2c@31c0000 {
72			status = "okay";
73
74			rt5640: audio-codec@1c {
75				compatible = "realtek,rt5640";
76				reg = <0x1c>;
77				interrupt-parent = <&gpio>;
78				interrupts = <TEGRA234_MAIN_GPIO(F, 3) GPIO_ACTIVE_HIGH>;
79				clocks = <&bpmp TEGRA234_CLK_AUD_MCLK>;
80				clock-names = "mclk";
81
82				realtek,dmic1-data-pin = <RT5640_DMIC1_DATA_PIN_NONE>;
83				realtek,dmic2-data-pin = <RT5640_DMIC2_DATA_PIN_NONE>;
84				realtek,jack-detect-source = <RT5640_JD_SRC_HDA_HEADER>;
85
86				sound-name-prefix = "CVB-RT";
87
88				port {
89					rt5640_ep: endpoint {
90						remote-endpoint = <&i2s4_dap>;
91						mclk-fs = <256>;
92					};
93				};
94			};
95
96			/* carrier board ID EEPROM */
97			eeprom@55 {
98				compatible = "atmel,24c02";
99				reg = <0x55>;
100
101				label = "system";
102				vcc-supply = <&vdd_1v8_ls>;
103				address-width = <8>;
104				pagesize = <8>;
105				size = <256>;
106				read-only;
107			};
108		};
109
110		i2c@31e0000 {
111			status = "okay";
112		};
113
114		spi@3270000 {
115			status = "okay";
116		};
117
118		hda@3510000 {
119			nvidia,model = "NVIDIA IGX Orin HDA";
120			status = "okay";
121		};
122
123		padctl@3520000 {
124			status = "okay";
125
126			pads {
127				usb2 {
128					lanes {
129						usb2-0 {
130							nvidia,function = "xusb";
131							status = "okay";
132						};
133
134						usb2-1 {
135							nvidia,function = "xusb";
136							status = "okay";
137						};
138
139						usb2-2 {
140							nvidia,function = "xusb";
141							status = "okay";
142						};
143
144						usb2-3 {
145							nvidia,function = "xusb";
146							status = "okay";
147						};
148					};
149				};
150
151				usb3 {
152					lanes {
153						usb3-0 {
154							nvidia,function = "xusb";
155							status = "okay";
156						};
157
158						usb3-1 {
159							nvidia,function = "xusb";
160							status = "okay";
161						};
162
163						usb3-2 {
164							nvidia,function = "xusb";
165							status = "okay";
166						};
167					};
168				};
169			};
170
171			ports {
172				usb2-0 {
173					mode = "otg";
174					usb-role-switch;
175					status = "okay";
176				};
177
178				usb2-1 {
179					mode = "host";
180					status = "okay";
181				};
182
183				usb2-2 {
184					mode = "host";
185					status = "okay";
186				};
187
188				usb2-3 {
189					mode = "host";
190					status = "okay";
191				};
192
193				usb3-0 {
194					nvidia,usb2-companion = <2>;
195					status = "okay";
196				};
197
198				usb3-1 {
199					nvidia,usb2-companion = <0>;
200					status = "okay";
201				};
202
203				usb3-2 {
204					nvidia,usb2-companion = <1>;
205					status = "okay";
206				};
207			};
208		};
209
210		usb@3550000 {
211			status = "okay";
212
213			phys = <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-0}>,
214				<&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-1}>;
215			phy-names = "usb2-0", "usb3-0";
216		};
217
218		usb@3610000 {
219			status = "okay";
220
221			phys =	<&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-0}>,
222				<&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-1}>,
223				<&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-2}>,
224				<&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-3}>,
225				<&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-0}>,
226				<&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-1}>,
227				<&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-2}>;
228			phy-names = "usb2-0", "usb2-1", "usb2-2", "usb2-3",
229				"usb3-0", "usb3-1", "usb3-2";
230		};
231
232		fuse@3810000 {
233			status = "okay";
234		};
235
236		i2c@c240000 {
237			status = "okay";
238		};
239
240		i2c@c250000 {
241			status = "okay";
242
243			power-sensor@41 {
244				compatible = "ti,ina3221";
245				reg = <0x41>;
246				#address-cells = <1>;
247				#size-cells = <0>;
248
249				input@0 {
250					reg = <0x0>;
251					label = "CVB_ATX_12V";
252					shunt-resistor-micro-ohms = <2000>;
253				};
254
255				input@1 {
256					reg = <0x1>;
257					label = "CVB_ATX_3V3";
258					shunt-resistor-micro-ohms = <2000>;
259				};
260
261				input@2 {
262					reg = <0x2>;
263					label = "CVB_ATX_5V";
264					shunt-resistor-micro-ohms = <2000>;
265				};
266			};
267
268			power-sensor@44 {
269				compatible = "ti,ina219";
270				reg = <0x44>;
271				shunt-resistor = <2000>;
272			};
273		};
274
275		host1x@13e00000 {
276			nvdec@15480000 {
277				status = "okay";
278			};
279		};
280
281		pcie@140e0000 {
282			status = "okay";
283			vddio-pex-ctl-supply = <&vdd_1v8_ls>;
284			phys = <&p2u_gbe_4>, <&p2u_gbe_5>;
285			phy-names = "p2u-0", "p2u-1";
286		};
287
288		pcie@14100000 {
289			status = "okay";
290			vddio-pex-ctl-supply = <&vdd_1v8_ao>;
291			vpcie3v3-supply = <&vdd_3v3_wifi>;
292			phys = <&p2u_hsio_3>;
293			phy-names = "p2u-0";
294		};
295
296		pcie@14160000 {
297			status = "okay";
298			vddio-pex-ctl-supply = <&vdd_1v8_ao>;
299			phys = <&p2u_hsio_7>, <&p2u_hsio_6>, <&p2u_hsio_5>,
300			       <&p2u_hsio_4>;
301			phy-names = "p2u-0", "p2u-1", "p2u-2", "p2u-3";
302		};
303
304		pcie@141a0000 {
305			status = "okay";
306			vddio-pex-ctl-supply = <&vdd_1v8_ls>;
307			phys = <&p2u_nvhs_0>, <&p2u_nvhs_1>, <&p2u_nvhs_2>,
308				<&p2u_nvhs_3>, <&p2u_nvhs_4>, <&p2u_nvhs_5>,
309				<&p2u_nvhs_6>, <&p2u_nvhs_7>;
310			phy-names = "p2u-0", "p2u-1", "p2u-2", "p2u-3", "p2u-4",
311				    "p2u-5", "p2u-6", "p2u-7";
312		};
313
314		pcie@141e0000 {
315			status = "okay";
316			vddio-pex-ctl-supply = <&vdd_1v8_ls>;
317			phys = <&p2u_gbe_0>, <&p2u_gbe_1>;
318			phy-names = "p2u-0", "p2u-1";
319		};
320	};
321
322	gpio-keys {
323		compatible = "gpio-keys";
324		status = "okay";
325
326		key-force-recovery {
327			label = "Force Recovery";
328			gpios = <&gpio TEGRA234_MAIN_GPIO(G, 0) GPIO_ACTIVE_LOW>;
329			linux,input-type = <EV_KEY>;
330			linux,code = <BTN_1>;
331		};
332
333		key-power {
334			label = "Power";
335			gpios = <&gpio_aon TEGRA234_AON_GPIO(EE, 4) GPIO_ACTIVE_LOW>;
336			linux,input-type = <EV_KEY>;
337			linux,code = <KEY_POWER>;
338			wakeup-event-action = <EV_ACT_ASSERTED>;
339			wakeup-source;
340		};
341
342		key-suspend {
343			label = "Suspend";
344			gpios = <&gpio TEGRA234_MAIN_GPIO(G, 2) GPIO_ACTIVE_LOW>;
345			linux,input-type = <EV_KEY>;
346			linux,code = <KEY_SLEEP>;
347		};
348	};
349
350	serial {
351		status = "okay";
352	};
353
354	sound {
355		status = "okay";
356
357		compatible = "nvidia,tegra186-audio-graph-card";
358
359		dais = /* ADMAIF (FE) Ports */
360		       <&admaif0_port>, <&admaif1_port>, <&admaif2_port>, <&admaif3_port>,
361		       <&admaif4_port>, <&admaif5_port>, <&admaif6_port>, <&admaif7_port>,
362		       <&admaif8_port>, <&admaif9_port>, <&admaif10_port>, <&admaif11_port>,
363		       <&admaif12_port>, <&admaif13_port>, <&admaif14_port>, <&admaif15_port>,
364		       <&admaif16_port>, <&admaif17_port>, <&admaif18_port>, <&admaif19_port>,
365		       /* XBAR Ports */
366		       <&xbar_i2s1_port>, <&xbar_i2s2_port>, <&xbar_i2s4_port>,
367		       <&xbar_i2s6_port>, <&xbar_dmic3_port>,
368		       <&xbar_sfc1_in_port>, <&xbar_sfc2_in_port>,
369		       <&xbar_sfc3_in_port>, <&xbar_sfc4_in_port>,
370		       <&xbar_mvc1_in_port>, <&xbar_mvc2_in_port>,
371		       <&xbar_amx1_in1_port>, <&xbar_amx1_in2_port>,
372		       <&xbar_amx1_in3_port>, <&xbar_amx1_in4_port>,
373		       <&xbar_amx2_in1_port>, <&xbar_amx2_in2_port>,
374		       <&xbar_amx2_in3_port>, <&xbar_amx2_in4_port>,
375		       <&xbar_amx3_in1_port>, <&xbar_amx3_in2_port>,
376		       <&xbar_amx3_in3_port>, <&xbar_amx3_in4_port>,
377		       <&xbar_amx4_in1_port>, <&xbar_amx4_in2_port>,
378		       <&xbar_amx4_in3_port>, <&xbar_amx4_in4_port>,
379		       <&xbar_adx1_in_port>, <&xbar_adx2_in_port>,
380		       <&xbar_adx3_in_port>, <&xbar_adx4_in_port>,
381		       <&xbar_mix_in1_port>, <&xbar_mix_in2_port>,
382		       <&xbar_mix_in3_port>, <&xbar_mix_in4_port>,
383		       <&xbar_mix_in5_port>, <&xbar_mix_in6_port>,
384		       <&xbar_mix_in7_port>, <&xbar_mix_in8_port>,
385		       <&xbar_mix_in9_port>, <&xbar_mix_in10_port>,
386		       <&xbar_asrc_in1_port>, <&xbar_asrc_in2_port>,
387		       <&xbar_asrc_in3_port>, <&xbar_asrc_in4_port>,
388		       <&xbar_asrc_in5_port>, <&xbar_asrc_in6_port>,
389		       <&xbar_asrc_in7_port>,
390		       <&xbar_ope1_in_port>,
391		       /* HW accelerators */
392		       <&sfc1_out_port>, <&sfc2_out_port>,
393		       <&sfc3_out_port>, <&sfc4_out_port>,
394		       <&mvc1_out_port>, <&mvc2_out_port>,
395		       <&amx1_out_port>, <&amx2_out_port>,
396		       <&amx3_out_port>, <&amx4_out_port>,
397		       <&adx1_out1_port>, <&adx1_out2_port>,
398		       <&adx1_out3_port>, <&adx1_out4_port>,
399		       <&adx2_out1_port>, <&adx2_out2_port>,
400		       <&adx2_out3_port>, <&adx2_out4_port>,
401		       <&adx3_out1_port>, <&adx3_out2_port>,
402		       <&adx3_out3_port>, <&adx3_out4_port>,
403		       <&adx4_out1_port>, <&adx4_out2_port>,
404		       <&adx4_out3_port>, <&adx4_out4_port>,
405		       <&mix_out1_port>, <&mix_out2_port>, <&mix_out3_port>,
406		       <&mix_out4_port>, <&mix_out5_port>,
407		       <&asrc_out1_port>, <&asrc_out2_port>, <&asrc_out3_port>,
408		       <&asrc_out4_port>, <&asrc_out5_port>, <&asrc_out6_port>,
409		       <&ope1_out_port>,
410		       /* BE I/O Ports */
411		       <&i2s1_port>, <&i2s2_port>, <&i2s4_port>, <&i2s6_port>,
412		       <&dmic3_port>;
413
414		label = "NVIDIA IGX Orin APE";
415
416		widgets = "Microphone",	"CVB-RT MIC Jack",
417			  "Microphone",	"CVB-RT MIC",
418			  "Headphone",	"CVB-RT HP Jack",
419			  "Speaker",	"CVB-RT SPK";
420
421		routing = /* I2S4 <-> RT5640 */
422			  "CVB-RT AIF1 Playback",	"I2S4 DAP-Playback",
423			  "I2S4 DAP-Capture",		"CVB-RT AIF1 Capture",
424			  /* RT5640 codec controls */
425			  "CVB-RT HP Jack",		"CVB-RT HPOL",
426			  "CVB-RT HP Jack",		"CVB-RT HPOR",
427			  "CVB-RT IN1P",		"CVB-RT MIC Jack",
428			  "CVB-RT IN2P",		"CVB-RT MIC Jack",
429			  "CVB-RT IN2N",		"CVB-RT MIC Jack",
430			  "CVB-RT IN3P",		"CVB-RT MIC Jack",
431			  "CVB-RT SPK",			"CVB-RT SPOLP",
432			  "CVB-RT SPK",			"CVB-RT SPORP",
433			  "CVB-RT SPK",			"CVB-RT LOUTL",
434			  "CVB-RT SPK",			"CVB-RT LOUTR",
435			  "CVB-RT DMIC1",		"CVB-RT MIC",
436			  "CVB-RT DMIC2",		"CVB-RT MIC";
437	};
438
439	vdd_3v3_dp: regulator-vdd-3v3-dp {
440		compatible = "regulator-fixed";
441		regulator-name = "VDD_3V3_DP";
442		regulator-min-microvolt = <3300000>;
443		regulator-max-microvolt = <3300000>;
444		vin-supply = <&vdd_3v3_sys>;
445		gpio = <&gpio TEGRA234_MAIN_GPIO(H, 6) 0>;
446		enable-active-high;
447		regulator-always-on;
448	};
449
450	vdd_3v3_sys: regulator-vdd-3v3-sys {
451		compatible = "regulator-fixed";
452		regulator-name = "VDD_3V3_SYS";
453		regulator-min-microvolt = <3300000>;
454		regulator-max-microvolt = <3300000>;
455	};
456
457	vdd_3v3_wifi: regulator-vdd-3v3-wifi {
458		compatible = "regulator-fixed";
459		regulator-name = "VDD_3V3_WIFI";
460		regulator-min-microvolt = <3300000>;
461		regulator-max-microvolt = <3300000>;
462		gpio = <&gpio TEGRA234_MAIN_GPIO(G, 3) GPIO_ACTIVE_HIGH>;
463		regulator-boot-on;
464		enable-active-high;
465	};
466};
467