1c95711d7SShubhi Garg// SPDX-License-Identifier: GPL-2.0
2c95711d7SShubhi Garg
35862ae43SMohan Kumar#include <dt-bindings/sound/rt5640.h>
45862ae43SMohan Kumar
5c95711d7SShubhi Garg/ {
6c95711d7SShubhi Garg	compatible = "nvidia,p3740-0002";
7c95711d7SShubhi Garg
8c95711d7SShubhi Garg	bus@0 {
95862ae43SMohan Kumar		aconnect@2900000 {
105862ae43SMohan Kumar			ahub@2900800 {
115862ae43SMohan Kumar				i2s@2901300 {
125862ae43SMohan Kumar					ports {
135862ae43SMohan Kumar						port@1 {
145862ae43SMohan Kumar							endpoint {
155862ae43SMohan Kumar								dai-format = "i2s";
165862ae43SMohan Kumar								remote-endpoint = <&rt5640_ep>;
175862ae43SMohan Kumar							};
185862ae43SMohan Kumar						};
195862ae43SMohan Kumar					};
205862ae43SMohan Kumar				};
215862ae43SMohan Kumar
225862ae43SMohan Kumar				i2s@2901500 {
235862ae43SMohan Kumar					ports {
245862ae43SMohan Kumar						port@1 {
255862ae43SMohan Kumar							endpoint {
265862ae43SMohan Kumar								bitclock-master;
275862ae43SMohan Kumar								frame-master;
285862ae43SMohan Kumar							};
295862ae43SMohan Kumar						};
305862ae43SMohan Kumar					};
315862ae43SMohan Kumar				};
325862ae43SMohan Kumar			};
335862ae43SMohan Kumar		};
345862ae43SMohan Kumar
35c95711d7SShubhi Garg		i2c@31c0000 {
365862ae43SMohan Kumar			rt5640: audio-codec@1c {
375862ae43SMohan Kumar				compatible = "realtek,rt5640";
385862ae43SMohan Kumar				reg = <0x1c>;
395862ae43SMohan Kumar				interrupt-parent = <&gpio>;
405862ae43SMohan Kumar				interrupts = <TEGRA234_MAIN_GPIO(F, 3) GPIO_ACTIVE_HIGH>;
415862ae43SMohan Kumar				clocks = <&bpmp TEGRA234_CLK_AUD_MCLK>;
425862ae43SMohan Kumar				clock-names = "mclk";
435862ae43SMohan Kumar
445862ae43SMohan Kumar				realtek,dmic1-data-pin = <RT5640_DMIC1_DATA_PIN_NONE>;
455862ae43SMohan Kumar				realtek,dmic2-data-pin = <RT5640_DMIC2_DATA_PIN_NONE>;
465862ae43SMohan Kumar				realtek,jack-detect-source = <RT5640_JD_SRC_HDA_HEADER>;
475862ae43SMohan Kumar
485862ae43SMohan Kumar				sound-name-prefix = "CVB-RT";
495862ae43SMohan Kumar
505862ae43SMohan Kumar				port {
515862ae43SMohan Kumar					rt5640_ep: endpoint {
525862ae43SMohan Kumar						remote-endpoint = <&i2s4_dap>;
535862ae43SMohan Kumar						mclk-fs = <256>;
545862ae43SMohan Kumar					};
555862ae43SMohan Kumar				};
565862ae43SMohan Kumar			};
575862ae43SMohan 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	};
187*e78ad903SShubhi Garg
188*e78ad903SShubhi Garg	vdd_3v3_dp: regulator-vdd-3v3-dp {
189*e78ad903SShubhi Garg				compatible = "regulator-fixed";
190*e78ad903SShubhi Garg				regulator-name = "VDD_3V3_DP";
191*e78ad903SShubhi Garg				regulator-min-microvolt = <3300000>;
192*e78ad903SShubhi Garg				regulator-max-microvolt = <3300000>;
193*e78ad903SShubhi Garg				vin-supply = <&vdd_3v3_sys>;
194*e78ad903SShubhi Garg				gpio = <&gpio TEGRA234_MAIN_GPIO(H, 6) 0>;
195*e78ad903SShubhi Garg				enable-active-high;
196*e78ad903SShubhi Garg				regulator-always-on;
197*e78ad903SShubhi Garg	};
198*e78ad903SShubhi Garg
199*e78ad903SShubhi Garg	vdd_3v3_sys: regulator-vdd-3v3-sys {
200*e78ad903SShubhi Garg				compatible = "regulator-fixed";
201*e78ad903SShubhi Garg				regulator-name = "VDD_3V3_SYS";
202*e78ad903SShubhi Garg				regulator-min-microvolt = <3300000>;
203*e78ad903SShubhi Garg				regulator-max-microvolt = <3300000>;
204*e78ad903SShubhi Garg	};
205*e78ad903SShubhi Garg
206*e78ad903SShubhi Garg	vdd_3v3_wifi: regulator-vdd-3v3-wifi {
207*e78ad903SShubhi Garg				compatible = "regulator-fixed";
208*e78ad903SShubhi Garg				regulator-name = "VDD_3V3_WIFI";
209*e78ad903SShubhi Garg				regulator-min-microvolt = <3300000>;
210*e78ad903SShubhi Garg				regulator-max-microvolt = <3300000>;
211*e78ad903SShubhi Garg				gpio = <&gpio TEGRA234_MAIN_GPIO(G, 3) GPIO_ACTIVE_HIGH>;
212*e78ad903SShubhi Garg				regulator-boot-on;
213*e78ad903SShubhi Garg				enable-active-high;
214*e78ad903SShubhi Garg	};
215c95711d7SShubhi Garg};
216