xref: /linux/arch/arm64/boot/dts/nvidia/tegra234-p3768-0000+p3767.dtsi (revision a3a02a52bcfcbcc4a637d4b68bf1bc391c9fad02)
1// SPDX-License-Identifier: GPL-2.0
2
3#include <dt-bindings/input/linux-event-codes.h>
4#include <dt-bindings/input/gpio-keys.h>
5
6#include "tegra234-p3767.dtsi"
7
8/ {
9
10	aliases {
11		serial0 = &tcu;
12	};
13
14	chosen {
15		stdout-path = "serial0:115200n8";
16	};
17
18	bus@0 {
19		i2c@3160000 {
20			status = "okay";
21
22			eeprom@57 {
23				compatible = "atmel,24c02";
24				reg = <0x57>;
25
26				label = "system";
27				vcc-supply = <&vdd_1v8_sys>;
28				address-width = <8>;
29				pagesize = <8>;
30				size = <256>;
31				read-only;
32			};
33		};
34
35		serial@31d0000 {
36			current-speed = <115200>;
37			status = "okay";
38		};
39
40		pwm@32a0000 {
41			assigned-clocks = <&bpmp TEGRA234_CLK_PWM3>;
42			assigned-clock-parents = <&bpmp TEGRA234_CLK_PLLP_OUT0>;
43			status = "okay";
44		};
45
46		padctl@3520000 {
47			status = "okay";
48
49			pads {
50				usb2 {
51					lanes {
52						usb2-0 {
53							nvidia,function = "xusb";
54							status = "okay";
55						};
56
57						usb2-1 {
58							nvidia,function = "xusb";
59							status = "okay";
60						};
61
62						usb2-2 {
63							nvidia,function = "xusb";
64							status = "okay";
65						};
66					};
67				};
68
69				usb3 {
70					lanes {
71						usb3-0 {
72							nvidia,function = "xusb";
73							status = "okay";
74						};
75
76						usb3-1 {
77							nvidia,function = "xusb";
78							status = "okay";
79						};
80					};
81				};
82			};
83
84			ports {
85				/* recovery port */
86				usb2-0 {
87					mode = "otg";
88					vbus-supply = <&vdd_5v0_sys>;
89					status = "okay";
90					usb-role-switch;
91				};
92
93				/* hub */
94				usb2-1 {
95					mode = "host";
96					vbus-supply = <&vdd_1v1_hub>;
97					status = "okay";
98				};
99
100				/* M.2 Key-E */
101				usb2-2 {
102					mode = "host";
103					vbus-supply = <&vdd_5v0_sys>;
104					status = "okay";
105				};
106
107				/* hub */
108				usb3-0 {
109					nvidia,usb2-companion = <1>;
110					status = "okay";
111				};
112
113				/* J5 */
114				usb3-1 {
115					nvidia,usb2-companion = <0>;
116					status = "okay";
117				};
118			};
119		};
120
121		usb@3550000 {
122			status = "okay";
123
124			phys = <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-0}>,
125			       <&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-1}>;
126			phy-names = "usb2-0", "usb3-0";
127		};
128
129		usb@3610000 {
130			status = "okay";
131
132			phys = <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-0}>,
133			       <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-1}>,
134			       <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-2}>,
135			       <&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-0}>,
136			       <&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-1}>;
137			phy-names = "usb2-0", "usb2-1", "usb2-2", "usb3-0",
138				    "usb3-1";
139		};
140
141		/* C8 - Ethernet */
142		pcie@140a0000 {
143			status = "okay";
144
145			num-lanes = <2>;
146
147			phys = <&p2u_gbe_2>, <&p2u_gbe_3>;
148			phy-names = "p2u-0", "p2u-1";
149
150			vddio-pex-ctl-supply = <&vdd_1v8_ao>;
151			vpcie3v3-supply = <&vdd_3v3_pcie>;
152		};
153
154		/* C1 - M.2 Key-E */
155		pcie@14100000 {
156			status = "okay";
157
158			vddio-pex-ctl-supply = <&vdd_1v8_ao>;
159
160			phys = <&p2u_hsio_3>;
161			phy-names = "p2u-0";
162		};
163
164		/* C4 - M.2 Key-M */
165		pcie@14160000 {
166			status = "okay";
167
168			vddio-pex-ctl-supply = <&vdd_1v8_ao>;
169
170			phys = <&p2u_hsio_4>, <&p2u_hsio_5>, <&p2u_hsio_6>,
171			       <&p2u_hsio_7>;
172			phy-names = "p2u-0", "p2u-1", "p2u-2", "p2u-3";
173		};
174
175		/* C7 - M.2 Key-M */
176		pcie@141e0000 {
177			status = "okay";
178
179			vddio-pex-ctl-supply = <&vdd_1v8_ao>;
180
181			phys = <&p2u_gbe_0>, <&p2u_gbe_1>;
182			phy-names = "p2u-0", "p2u-1";
183		};
184	};
185
186	gpio-keys {
187		compatible = "gpio-keys";
188
189		key-force-recovery {
190			label = "Force Recovery";
191			gpios = <&gpio TEGRA234_MAIN_GPIO(G, 0) GPIO_ACTIVE_LOW>;
192			linux,input-type = <EV_KEY>;
193			linux,code = <BTN_1>;
194		};
195
196		key-power {
197			label = "Power";
198			gpios = <&gpio_aon TEGRA234_AON_GPIO(EE, 4) GPIO_ACTIVE_LOW>;
199			linux,input-type = <EV_KEY>;
200			linux,code = <KEY_POWER>;
201			wakeup-event-action = <EV_ACT_ASSERTED>;
202			wakeup-source;
203		};
204
205		key-suspend {
206			label = "Suspend";
207			gpios = <&gpio TEGRA234_MAIN_GPIO(G, 2) GPIO_ACTIVE_LOW>;
208			linux,input-type = <EV_KEY>;
209			linux,code = <KEY_SLEEP>;
210		};
211	};
212
213	fan: pwm-fan {
214		compatible = "pwm-fan";
215		pwms = <&pwm3 0 45334>;
216		#cooling-cells = <2>;
217		cooling-levels = <0 88 187 255>;
218	};
219
220	vdd_1v8_sys: regulator-vdd-1v8-sys {
221		compatible = "regulator-fixed";
222		regulator-name = "VDD_1V8_SYS";
223		regulator-min-microvolt = <1800000>;
224		regulator-max-microvolt = <1800000>;
225		regulator-always-on;
226	};
227
228	vdd_1v1_hub: regulator-vdd-1v1-hub {
229		compatible = "regulator-fixed";
230		regulator-name = "VDD_AV10_HUB";
231		regulator-min-microvolt = <1100000>;
232		regulator-max-microvolt = <1100000>;
233		vin-supply = <&vdd_5v0_sys>;
234		regulator-always-on;
235	};
236
237	vdd_3v3_pcie: regulator-vdd-3v3-pcie {
238		compatible = "regulator-fixed";
239		regulator-name = "VDD_3V3_PCIE";
240		regulator-min-microvolt = <3300000>;
241		regulator-max-microvolt = <3300000>;
242		gpio = <&gpio_aon TEGRA234_AON_GPIO(AA, 5) GPIO_ACTIVE_HIGH>;
243		enable-active-high;
244	};
245
246	serial {
247		status = "okay";
248	};
249
250	thermal-zones {
251		tj-thermal {
252			cooling-maps {
253				map-active-0 {
254					cooling-device = <&fan 0 1>;
255					trip = <&tj_trip_active0>;
256				};
257
258				map-active-1 {
259					cooling-device = <&fan 1 2>;
260					trip = <&tj_trip_active1>;
261				};
262
263				map-active-2 {
264					cooling-device = <&fan 2 3>;
265					trip = <&tj_trip_active2>;
266				};
267			};
268		};
269	};
270};
271