162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci
362306a36Sopenharmony_ci#include <dt-bindings/sound/rt5640.h>
462306a36Sopenharmony_ci
562306a36Sopenharmony_ci/ {
662306a36Sopenharmony_ci	compatible = "nvidia,p3740-0002";
762306a36Sopenharmony_ci
862306a36Sopenharmony_ci	bus@0 {
962306a36Sopenharmony_ci		aconnect@2900000 {
1062306a36Sopenharmony_ci			ahub@2900800 {
1162306a36Sopenharmony_ci				i2s@2901300 {
1262306a36Sopenharmony_ci					ports {
1362306a36Sopenharmony_ci						port@1 {
1462306a36Sopenharmony_ci							endpoint {
1562306a36Sopenharmony_ci								dai-format = "i2s";
1662306a36Sopenharmony_ci								remote-endpoint = <&rt5640_ep>;
1762306a36Sopenharmony_ci							};
1862306a36Sopenharmony_ci						};
1962306a36Sopenharmony_ci					};
2062306a36Sopenharmony_ci				};
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ci				i2s@2901500 {
2362306a36Sopenharmony_ci					ports {
2462306a36Sopenharmony_ci						port@1 {
2562306a36Sopenharmony_ci							endpoint {
2662306a36Sopenharmony_ci								bitclock-master;
2762306a36Sopenharmony_ci								frame-master;
2862306a36Sopenharmony_ci							};
2962306a36Sopenharmony_ci						};
3062306a36Sopenharmony_ci					};
3162306a36Sopenharmony_ci				};
3262306a36Sopenharmony_ci			};
3362306a36Sopenharmony_ci		};
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_ci		i2c@31c0000 {
3662306a36Sopenharmony_ci			rt5640: audio-codec@1c {
3762306a36Sopenharmony_ci				compatible = "realtek,rt5640";
3862306a36Sopenharmony_ci				reg = <0x1c>;
3962306a36Sopenharmony_ci				interrupt-parent = <&gpio>;
4062306a36Sopenharmony_ci				interrupts = <TEGRA234_MAIN_GPIO(F, 3) GPIO_ACTIVE_HIGH>;
4162306a36Sopenharmony_ci				clocks = <&bpmp TEGRA234_CLK_AUD_MCLK>;
4262306a36Sopenharmony_ci				clock-names = "mclk";
4362306a36Sopenharmony_ci
4462306a36Sopenharmony_ci				realtek,dmic1-data-pin = <RT5640_DMIC1_DATA_PIN_NONE>;
4562306a36Sopenharmony_ci				realtek,dmic2-data-pin = <RT5640_DMIC2_DATA_PIN_NONE>;
4662306a36Sopenharmony_ci				realtek,jack-detect-source = <RT5640_JD_SRC_HDA_HEADER>;
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_ci				sound-name-prefix = "CVB-RT";
4962306a36Sopenharmony_ci
5062306a36Sopenharmony_ci				port {
5162306a36Sopenharmony_ci					rt5640_ep: endpoint {
5262306a36Sopenharmony_ci						remote-endpoint = <&i2s4_dap>;
5362306a36Sopenharmony_ci						mclk-fs = <256>;
5462306a36Sopenharmony_ci					};
5562306a36Sopenharmony_ci				};
5662306a36Sopenharmony_ci			};
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_ci			/* carrier board ID EEPROM */
5962306a36Sopenharmony_ci			eeprom@55 {
6062306a36Sopenharmony_ci				compatible = "atmel,24c02";
6162306a36Sopenharmony_ci				reg = <0x55>;
6262306a36Sopenharmony_ci
6362306a36Sopenharmony_ci				label = "system";
6462306a36Sopenharmony_ci				vcc-supply = <&vdd_1v8_ls>;
6562306a36Sopenharmony_ci				address-width = <8>;
6662306a36Sopenharmony_ci				pagesize = <8>;
6762306a36Sopenharmony_ci				size = <256>;
6862306a36Sopenharmony_ci				read-only;
6962306a36Sopenharmony_ci			};
7062306a36Sopenharmony_ci		};
7162306a36Sopenharmony_ci
7262306a36Sopenharmony_ci		padctl@3520000 {
7362306a36Sopenharmony_ci			vclamp-usb-supply = <&vdd_1v8_ao>;
7462306a36Sopenharmony_ci			avdd-usb-supply = <&vdd_3v3_ao>;
7562306a36Sopenharmony_ci			status = "okay";
7662306a36Sopenharmony_ci
7762306a36Sopenharmony_ci			pads {
7862306a36Sopenharmony_ci				usb2 {
7962306a36Sopenharmony_ci					lanes {
8062306a36Sopenharmony_ci						usb2-0 {
8162306a36Sopenharmony_ci							nvidia,function = "xusb";
8262306a36Sopenharmony_ci							status = "okay";
8362306a36Sopenharmony_ci						};
8462306a36Sopenharmony_ci
8562306a36Sopenharmony_ci						usb2-1 {
8662306a36Sopenharmony_ci							nvidia,function = "xusb";
8762306a36Sopenharmony_ci							status = "okay";
8862306a36Sopenharmony_ci						};
8962306a36Sopenharmony_ci
9062306a36Sopenharmony_ci						usb2-2 {
9162306a36Sopenharmony_ci							nvidia,function = "xusb";
9262306a36Sopenharmony_ci							status = "okay";
9362306a36Sopenharmony_ci						};
9462306a36Sopenharmony_ci
9562306a36Sopenharmony_ci						usb2-3 {
9662306a36Sopenharmony_ci							nvidia,function = "xusb";
9762306a36Sopenharmony_ci							status = "okay";
9862306a36Sopenharmony_ci						};
9962306a36Sopenharmony_ci					};
10062306a36Sopenharmony_ci				};
10162306a36Sopenharmony_ci
10262306a36Sopenharmony_ci				usb3 {
10362306a36Sopenharmony_ci					lanes {
10462306a36Sopenharmony_ci						usb3-0 {
10562306a36Sopenharmony_ci							nvidia,function = "xusb";
10662306a36Sopenharmony_ci							status = "okay";
10762306a36Sopenharmony_ci						};
10862306a36Sopenharmony_ci
10962306a36Sopenharmony_ci						usb3-1 {
11062306a36Sopenharmony_ci							nvidia,function = "xusb";
11162306a36Sopenharmony_ci							status = "okay";
11262306a36Sopenharmony_ci						};
11362306a36Sopenharmony_ci
11462306a36Sopenharmony_ci						usb3-2 {
11562306a36Sopenharmony_ci							nvidia,function = "xusb";
11662306a36Sopenharmony_ci							status = "okay";
11762306a36Sopenharmony_ci						};
11862306a36Sopenharmony_ci					};
11962306a36Sopenharmony_ci				};
12062306a36Sopenharmony_ci			};
12162306a36Sopenharmony_ci
12262306a36Sopenharmony_ci			ports {
12362306a36Sopenharmony_ci				usb2-0 {
12462306a36Sopenharmony_ci					mode = "otg";
12562306a36Sopenharmony_ci					usb-role-switch;
12662306a36Sopenharmony_ci					status = "okay";
12762306a36Sopenharmony_ci					vbus-supply = <&vdd_5v0_sys>;
12862306a36Sopenharmony_ci				};
12962306a36Sopenharmony_ci
13062306a36Sopenharmony_ci				usb2-1 {
13162306a36Sopenharmony_ci					mode = "host";
13262306a36Sopenharmony_ci					status = "okay";
13362306a36Sopenharmony_ci					vbus-supply = <&vdd_5v0_sys>;
13462306a36Sopenharmony_ci				};
13562306a36Sopenharmony_ci
13662306a36Sopenharmony_ci				usb2-2 {
13762306a36Sopenharmony_ci					mode = "host";
13862306a36Sopenharmony_ci					status = "okay";
13962306a36Sopenharmony_ci					vbus-supply = <&vdd_5v0_sys>;
14062306a36Sopenharmony_ci				};
14162306a36Sopenharmony_ci
14262306a36Sopenharmony_ci				usb2-3 {
14362306a36Sopenharmony_ci					mode = "host";
14462306a36Sopenharmony_ci					status = "okay";
14562306a36Sopenharmony_ci					vbus-supply = <&vdd_5v0_sys>;
14662306a36Sopenharmony_ci				};
14762306a36Sopenharmony_ci
14862306a36Sopenharmony_ci				usb3-0 {
14962306a36Sopenharmony_ci					nvidia,usb2-companion = <2>;
15062306a36Sopenharmony_ci					status = "okay";
15162306a36Sopenharmony_ci				};
15262306a36Sopenharmony_ci
15362306a36Sopenharmony_ci				usb3-1 {
15462306a36Sopenharmony_ci					nvidia,usb2-companion = <0>;
15562306a36Sopenharmony_ci					status = "okay";
15662306a36Sopenharmony_ci				};
15762306a36Sopenharmony_ci
15862306a36Sopenharmony_ci				usb3-2 {
15962306a36Sopenharmony_ci					nvidia,usb2-companion = <1>;
16062306a36Sopenharmony_ci					status = "okay";
16162306a36Sopenharmony_ci				};
16262306a36Sopenharmony_ci			};
16362306a36Sopenharmony_ci		};
16462306a36Sopenharmony_ci
16562306a36Sopenharmony_ci		usb@3550000 {
16662306a36Sopenharmony_ci			status = "okay";
16762306a36Sopenharmony_ci
16862306a36Sopenharmony_ci			phys = <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-0}>,
16962306a36Sopenharmony_ci				<&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-1}>;
17062306a36Sopenharmony_ci			phy-names = "usb2-0", "usb3-0";
17162306a36Sopenharmony_ci		};
17262306a36Sopenharmony_ci
17362306a36Sopenharmony_ci		usb@3610000 {
17462306a36Sopenharmony_ci			status = "okay";
17562306a36Sopenharmony_ci
17662306a36Sopenharmony_ci			phys =	<&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-0}>,
17762306a36Sopenharmony_ci				<&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-1}>,
17862306a36Sopenharmony_ci				<&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-2}>,
17962306a36Sopenharmony_ci				<&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-3}>,
18062306a36Sopenharmony_ci				<&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-0}>,
18162306a36Sopenharmony_ci				<&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-1}>,
18262306a36Sopenharmony_ci				<&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-2}>;
18362306a36Sopenharmony_ci			phy-names = "usb2-0", "usb2-1", "usb2-2", "usb2-3",
18462306a36Sopenharmony_ci				"usb3-0", "usb3-1", "usb3-2";
18562306a36Sopenharmony_ci		};
18662306a36Sopenharmony_ci	};
18762306a36Sopenharmony_ci
18862306a36Sopenharmony_ci	vdd_3v3_dp: regulator-vdd-3v3-dp {
18962306a36Sopenharmony_ci				compatible = "regulator-fixed";
19062306a36Sopenharmony_ci				regulator-name = "VDD_3V3_DP";
19162306a36Sopenharmony_ci				regulator-min-microvolt = <3300000>;
19262306a36Sopenharmony_ci				regulator-max-microvolt = <3300000>;
19362306a36Sopenharmony_ci				vin-supply = <&vdd_3v3_sys>;
19462306a36Sopenharmony_ci				gpio = <&gpio TEGRA234_MAIN_GPIO(H, 6) 0>;
19562306a36Sopenharmony_ci				enable-active-high;
19662306a36Sopenharmony_ci				regulator-always-on;
19762306a36Sopenharmony_ci	};
19862306a36Sopenharmony_ci
19962306a36Sopenharmony_ci	vdd_3v3_sys: regulator-vdd-3v3-sys {
20062306a36Sopenharmony_ci				compatible = "regulator-fixed";
20162306a36Sopenharmony_ci				regulator-name = "VDD_3V3_SYS";
20262306a36Sopenharmony_ci				regulator-min-microvolt = <3300000>;
20362306a36Sopenharmony_ci				regulator-max-microvolt = <3300000>;
20462306a36Sopenharmony_ci	};
20562306a36Sopenharmony_ci
20662306a36Sopenharmony_ci	vdd_3v3_wifi: regulator-vdd-3v3-wifi {
20762306a36Sopenharmony_ci				compatible = "regulator-fixed";
20862306a36Sopenharmony_ci				regulator-name = "VDD_3V3_WIFI";
20962306a36Sopenharmony_ci				regulator-min-microvolt = <3300000>;
21062306a36Sopenharmony_ci				regulator-max-microvolt = <3300000>;
21162306a36Sopenharmony_ci				gpio = <&gpio TEGRA234_MAIN_GPIO(G, 3) GPIO_ACTIVE_HIGH>;
21262306a36Sopenharmony_ci				regulator-boot-on;
21362306a36Sopenharmony_ci				enable-active-high;
21462306a36Sopenharmony_ci	};
21562306a36Sopenharmony_ci};
216