1c95711d7SShubhi Garg// SPDX-License-Identifier: GPL-2.0
2c95711d7SShubhi Garg
3*5862ae43SMohan Kumar#include <dt-bindings/sound/rt5640.h>
4*5862ae43SMohan Kumar
5c95711d7SShubhi Garg/ {
6c95711d7SShubhi Garg	compatible = "nvidia,p3740-0002";
7c95711d7SShubhi Garg
8c95711d7SShubhi Garg	bus@0 {
9*5862ae43SMohan Kumar		aconnect@2900000 {
10*5862ae43SMohan Kumar			ahub@2900800 {
11*5862ae43SMohan Kumar				i2s@2901300 {
12*5862ae43SMohan Kumar					ports {
13*5862ae43SMohan Kumar						port@1 {
14*5862ae43SMohan Kumar							endpoint {
15*5862ae43SMohan Kumar								dai-format = "i2s";
16*5862ae43SMohan Kumar								remote-endpoint = <&rt5640_ep>;
17*5862ae43SMohan Kumar							};
18*5862ae43SMohan Kumar						};
19*5862ae43SMohan Kumar					};
20*5862ae43SMohan Kumar				};
21*5862ae43SMohan Kumar
22*5862ae43SMohan Kumar				i2s@2901500 {
23*5862ae43SMohan Kumar					ports {
24*5862ae43SMohan Kumar						port@1 {
25*5862ae43SMohan Kumar							endpoint {
26*5862ae43SMohan Kumar								bitclock-master;
27*5862ae43SMohan Kumar								frame-master;
28*5862ae43SMohan Kumar							};
29*5862ae43SMohan Kumar						};
30*5862ae43SMohan Kumar					};
31*5862ae43SMohan Kumar				};
32*5862ae43SMohan Kumar			};
33*5862ae43SMohan Kumar		};
34*5862ae43SMohan Kumar
35c95711d7SShubhi Garg		i2c@31c0000 {
36*5862ae43SMohan Kumar			rt5640: audio-codec@1c {
37*5862ae43SMohan Kumar				compatible = "realtek,rt5640";
38*5862ae43SMohan Kumar				reg = <0x1c>;
39*5862ae43SMohan Kumar				interrupt-parent = <&gpio>;
40*5862ae43SMohan Kumar				interrupts = <TEGRA234_MAIN_GPIO(F, 3) GPIO_ACTIVE_HIGH>;
41*5862ae43SMohan Kumar				clocks = <&bpmp TEGRA234_CLK_AUD_MCLK>;
42*5862ae43SMohan Kumar				clock-names = "mclk";
43*5862ae43SMohan Kumar
44*5862ae43SMohan Kumar				realtek,dmic1-data-pin = <RT5640_DMIC1_DATA_PIN_NONE>;
45*5862ae43SMohan Kumar				realtek,dmic2-data-pin = <RT5640_DMIC2_DATA_PIN_NONE>;
46*5862ae43SMohan Kumar				realtek,jack-detect-source = <RT5640_JD_SRC_HDA_HEADER>;
47*5862ae43SMohan Kumar
48*5862ae43SMohan Kumar				sound-name-prefix = "CVB-RT";
49*5862ae43SMohan Kumar
50*5862ae43SMohan Kumar				port {
51*5862ae43SMohan Kumar					rt5640_ep: endpoint {
52*5862ae43SMohan Kumar						remote-endpoint = <&i2s4_dap>;
53*5862ae43SMohan Kumar						mclk-fs = <256>;
54*5862ae43SMohan Kumar					};
55*5862ae43SMohan Kumar				};
56*5862ae43SMohan Kumar			};
57*5862ae43SMohan Kumar
58c95711d7SShubhi Garg			/* carrier board ID EEPROM */
59c95711d7SShubhi Garg			eeprom@55 {
60c95711d7SShubhi Garg				compatible = "atmel,24c02";
61c95711d7SShubhi Garg				reg = <0x55>;
62c95711d7SShubhi Garg
63c95711d7SShubhi Garg				label = "system";
64c95711d7SShubhi Garg				vcc-supply = <&vdd_1v8_ls>;
65c95711d7SShubhi Garg				address-width = <8>;
66c95711d7SShubhi Garg				pagesize = <8>;
67c95711d7SShubhi Garg				size = <256>;
68c95711d7SShubhi Garg				read-only;
69c95711d7SShubhi Garg			};
70c95711d7SShubhi Garg		};
71c95711d7SShubhi Garg
72c95711d7SShubhi Garg		padctl@3520000 {
73c95711d7SShubhi Garg			vclamp-usb-supply = <&vdd_1v8_ao>;
74c95711d7SShubhi Garg			avdd-usb-supply = <&vdd_3v3_ao>;
75c95711d7SShubhi Garg			status = "okay";
76c95711d7SShubhi Garg
77c95711d7SShubhi Garg			pads {
78c95711d7SShubhi Garg				usb2 {
79c95711d7SShubhi Garg					lanes {
80c95711d7SShubhi Garg						usb2-0 {
81c95711d7SShubhi Garg							nvidia,function = "xusb";
82c95711d7SShubhi Garg							status = "okay";
83c95711d7SShubhi Garg						};
84c95711d7SShubhi Garg
85c95711d7SShubhi Garg						usb2-1 {
86c95711d7SShubhi Garg							nvidia,function = "xusb";
87c95711d7SShubhi Garg							status = "okay";
88c95711d7SShubhi Garg						};
89c95711d7SShubhi Garg
90c95711d7SShubhi Garg						usb2-2 {
91c95711d7SShubhi Garg							nvidia,function = "xusb";
92c95711d7SShubhi Garg							status = "okay";
93c95711d7SShubhi Garg						};
94c95711d7SShubhi Garg
95c95711d7SShubhi Garg						usb2-3 {
96c95711d7SShubhi Garg							nvidia,function = "xusb";
97c95711d7SShubhi Garg							status = "okay";
98c95711d7SShubhi Garg						};
99c95711d7SShubhi Garg					};
100c95711d7SShubhi Garg				};
101c95711d7SShubhi Garg
102c95711d7SShubhi Garg				usb3 {
103c95711d7SShubhi Garg					lanes {
104c95711d7SShubhi Garg						usb3-0 {
105c95711d7SShubhi Garg							nvidia,function = "xusb";
106c95711d7SShubhi Garg							status = "okay";
107c95711d7SShubhi Garg						};
108c95711d7SShubhi Garg
109c95711d7SShubhi Garg						usb3-1 {
110c95711d7SShubhi Garg							nvidia,function = "xusb";
111c95711d7SShubhi Garg							status = "okay";
112c95711d7SShubhi Garg						};
113c95711d7SShubhi Garg
114c95711d7SShubhi Garg						usb3-2 {
115c95711d7SShubhi Garg							nvidia,function = "xusb";
116c95711d7SShubhi Garg							status = "okay";
117c95711d7SShubhi Garg						};
118c95711d7SShubhi Garg					};
119c95711d7SShubhi Garg				};
120c95711d7SShubhi Garg			};
121c95711d7SShubhi Garg
122c95711d7SShubhi Garg			ports {
123c95711d7SShubhi Garg				usb2-0 {
124c95711d7SShubhi Garg					mode = "otg";
125c95711d7SShubhi Garg					usb-role-switch;
126c95711d7SShubhi Garg					status = "okay";
127c95711d7SShubhi Garg					vbus-supply = <&vdd_5v0_sys>;
128c95711d7SShubhi Garg				};
129c95711d7SShubhi Garg
130c95711d7SShubhi Garg				usb2-1 {
131c95711d7SShubhi Garg					mode = "host";
132c95711d7SShubhi Garg					status = "okay";
133c95711d7SShubhi Garg					vbus-supply = <&vdd_5v0_sys>;
134c95711d7SShubhi Garg				};
135c95711d7SShubhi Garg
136c95711d7SShubhi Garg				usb2-2 {
137c95711d7SShubhi Garg					mode = "host";
138c95711d7SShubhi Garg					status = "okay";
139c95711d7SShubhi Garg					vbus-supply = <&vdd_5v0_sys>;
140c95711d7SShubhi Garg				};
141c95711d7SShubhi Garg
142c95711d7SShubhi Garg				usb2-3 {
143c95711d7SShubhi Garg					mode = "host";
144c95711d7SShubhi Garg					status = "okay";
145c95711d7SShubhi Garg					vbus-supply = <&vdd_5v0_sys>;
146c95711d7SShubhi Garg				};
147c95711d7SShubhi Garg
148c95711d7SShubhi Garg				usb3-0 {
149c95711d7SShubhi Garg					nvidia,usb2-companion = <2>;
150c95711d7SShubhi Garg					status = "okay";
151c95711d7SShubhi Garg				};
152c95711d7SShubhi Garg
153c95711d7SShubhi Garg				usb3-1 {
154c95711d7SShubhi Garg					nvidia,usb2-companion = <0>;
155c95711d7SShubhi Garg					status = "okay";
156c95711d7SShubhi Garg				};
157c95711d7SShubhi Garg
158c95711d7SShubhi Garg				usb3-2 {
159c95711d7SShubhi Garg					nvidia,usb2-companion = <1>;
160c95711d7SShubhi Garg					status = "okay";
161c95711d7SShubhi Garg				};
162c95711d7SShubhi Garg			};
163c95711d7SShubhi Garg		};
164c95711d7SShubhi Garg
165c95711d7SShubhi Garg		usb@3550000 {
166c95711d7SShubhi Garg			status = "okay";
167c95711d7SShubhi Garg
168c95711d7SShubhi Garg			phys = <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-0}>,
169c95711d7SShubhi Garg				<&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-1}>;
170c95711d7SShubhi Garg			phy-names = "usb2-0", "usb3-0";
171c95711d7SShubhi Garg		};
172c95711d7SShubhi Garg
173c95711d7SShubhi Garg		usb@3610000 {
174c95711d7SShubhi Garg			status = "okay";
175c95711d7SShubhi Garg
176c95711d7SShubhi Garg			phys =	<&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-0}>,
177c95711d7SShubhi Garg				<&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-1}>,
178c95711d7SShubhi Garg				<&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-2}>,
179c95711d7SShubhi Garg				<&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-3}>,
180c95711d7SShubhi Garg				<&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-0}>,
181c95711d7SShubhi Garg				<&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-1}>,
182c95711d7SShubhi Garg				<&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-2}>;
183c95711d7SShubhi Garg			phy-names = "usb2-0", "usb2-1", "usb2-2", "usb2-3",
184c95711d7SShubhi Garg				"usb3-0", "usb3-1", "usb3-2";
185c95711d7SShubhi Garg		};
186c95711d7SShubhi Garg	};
187c95711d7SShubhi Garg};
188