1// SPDX-License-Identifier: GPL-2.0
2
3/ {
4	compatible = "nvidia,p3740-0002";
5
6	bus@0 {
7		i2c@31c0000 {
8			/* carrier board ID EEPROM */
9			eeprom@55 {
10				compatible = "atmel,24c02";
11				reg = <0x55>;
12
13				label = "system";
14				vcc-supply = <&vdd_1v8_ls>;
15				address-width = <8>;
16				pagesize = <8>;
17				size = <256>;
18				read-only;
19			};
20		};
21
22		padctl@3520000 {
23			vclamp-usb-supply = <&vdd_1v8_ao>;
24			avdd-usb-supply = <&vdd_3v3_ao>;
25			status = "okay";
26
27			pads {
28				usb2 {
29					lanes {
30						usb2-0 {
31							nvidia,function = "xusb";
32							status = "okay";
33						};
34
35						usb2-1 {
36							nvidia,function = "xusb";
37							status = "okay";
38						};
39
40						usb2-2 {
41							nvidia,function = "xusb";
42							status = "okay";
43						};
44
45						usb2-3 {
46							nvidia,function = "xusb";
47							status = "okay";
48						};
49					};
50				};
51
52				usb3 {
53					lanes {
54						usb3-0 {
55							nvidia,function = "xusb";
56							status = "okay";
57						};
58
59						usb3-1 {
60							nvidia,function = "xusb";
61							status = "okay";
62						};
63
64						usb3-2 {
65							nvidia,function = "xusb";
66							status = "okay";
67						};
68					};
69				};
70			};
71
72			ports {
73				usb2-0 {
74					mode = "otg";
75					usb-role-switch;
76					status = "okay";
77					vbus-supply = <&vdd_5v0_sys>;
78				};
79
80				usb2-1 {
81					mode = "host";
82					status = "okay";
83					vbus-supply = <&vdd_5v0_sys>;
84				};
85
86				usb2-2 {
87					mode = "host";
88					status = "okay";
89					vbus-supply = <&vdd_5v0_sys>;
90				};
91
92				usb2-3 {
93					mode = "host";
94					status = "okay";
95					vbus-supply = <&vdd_5v0_sys>;
96				};
97
98				usb3-0 {
99					nvidia,usb2-companion = <2>;
100					status = "okay";
101				};
102
103				usb3-1 {
104					nvidia,usb2-companion = <0>;
105					status = "okay";
106				};
107
108				usb3-2 {
109					nvidia,usb2-companion = <1>;
110					status = "okay";
111				};
112			};
113		};
114
115		usb@3550000 {
116			status = "okay";
117
118			phys = <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-0}>,
119				<&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-1}>;
120			phy-names = "usb2-0", "usb3-0";
121		};
122
123		usb@3610000 {
124			status = "okay";
125
126			phys =	<&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-0}>,
127				<&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-1}>,
128				<&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-2}>,
129				<&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-3}>,
130				<&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-0}>,
131				<&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-1}>,
132				<&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-2}>;
133			phy-names = "usb2-0", "usb2-1", "usb2-2", "usb2-3",
134				"usb3-0", "usb3-1", "usb3-2";
135		};
136	};
137};
138