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