1// SPDX-License-Identifier: GPL-2.0
2/dts-v1/;
3
4#include <dt-bindings/input/linux-event-codes.h>
5#include <dt-bindings/input/gpio-keys.h>
6
7#include "tegra194-p2888.dtsi"
8
9/ {
10	model = "NVIDIA Jetson AGX Xavier Developer Kit";
11	compatible = "nvidia,p2972-0000", "nvidia,tegra194";
12
13	bus@0 {
14		aconnect@2900000 {
15			status = "okay";
16
17			dma-controller@2930000 {
18				status = "okay";
19			};
20
21			interrupt-controller@2a40000 {
22				status = "okay";
23			};
24		};
25
26		i2c@3160000 {
27			eeprom@56 {
28				compatible = "atmel,24c02";
29				reg = <0x56>;
30
31				label = "system";
32				vcc-supply = <&vdd_1v8ls>;
33				address-width = <8>;
34				pagesize = <8>;
35				size = <256>;
36				read-only;
37			};
38		};
39
40		ddc: i2c@31c0000 {
41			status = "okay";
42		};
43
44		/* SDMMC1 (SD/MMC) */
45		mmc@3400000 {
46			status = "okay";
47		};
48
49		hda@3510000 {
50			nvidia,model = "jetson-xavier-hda";
51			status = "okay";
52		};
53
54		padctl@3520000 {
55			status = "okay";
56
57			pads {
58				usb2 {
59					lanes {
60						usb2-1 {
61							status = "okay";
62						};
63
64						usb2-3 {
65							status = "okay";
66						};
67					};
68				};
69
70				usb3 {
71					lanes {
72						usb3-0 {
73							status = "okay";
74						};
75
76						usb3-3 {
77							status = "okay";
78						};
79					};
80				};
81			};
82
83			ports {
84				usb2-1 {
85					mode = "host";
86					status = "okay";
87				};
88
89				usb2-3 {
90					mode = "host";
91					status = "okay";
92				};
93
94				usb3-0 {
95					nvidia,usb2-companion = <1>;
96					status = "okay";
97				};
98
99				usb3-3 {
100					nvidia,usb2-companion = <3>;
101					maximum-speed = "super-speed";
102					status = "okay";
103				};
104			};
105		};
106
107		usb@3610000 {
108			status = "okay";
109
110			phys =	<&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-1}>,
111				<&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-3}>,
112				<&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-0}>,
113				<&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-3}>;
114			phy-names = "usb2-1", "usb2-3", "usb3-0", "usb3-3";
115		};
116
117		pwm@c340000 {
118			status = "okay";
119		};
120
121		host1x@13e00000 {
122			display-hub@15200000 {
123				status = "okay";
124			};
125
126			dpaux@155c0000 {
127				status = "okay";
128			};
129
130			dpaux@155d0000 {
131				status = "okay";
132			};
133
134			dpaux@155e0000 {
135				status = "okay";
136			};
137
138			/* DP0 */
139			sor@15b00000 {
140				status = "okay";
141
142				avdd-io-hdmi-dp-supply = <&vdd_1v0>;
143				vdd-hdmi-dp-pll-supply = <&vdd_1v8hs>;
144
145				nvidia,dpaux = <&dpaux0>;
146			};
147
148			/* DP1 */
149			sor@15b40000 {
150				status = "okay";
151
152				avdd-io-hdmi-dp-supply = <&vdd_1v0>;
153				vdd-hdmi-dp-pll-supply = <&vdd_1v8hs>;
154
155				nvidia,dpaux = <&dpaux1>;
156			};
157
158			/* HDMI */
159			sor@15b80000 {
160				status = "okay";
161
162				avdd-io-hdmi-dp-supply = <&vdd_1v0>;
163				vdd-hdmi-dp-pll-supply = <&vdd_1v8hs>;
164				hdmi-supply = <&vdd_hdmi>;
165
166				nvidia,ddc-i2c-bus = <&ddc>;
167				nvidia,hpd-gpio = <&gpio TEGRA194_MAIN_GPIO(M, 2)
168							 GPIO_ACTIVE_LOW>;
169			};
170		};
171	};
172
173	pcie@14100000 {
174		status = "okay";
175
176		vddio-pex-ctl-supply = <&vdd_1v8ao>;
177
178		phys = <&p2u_hsio_0>;
179		phy-names = "p2u-0";
180	};
181
182	pcie@14140000 {
183		status = "okay";
184
185		vddio-pex-ctl-supply = <&vdd_1v8ao>;
186
187		phys = <&p2u_hsio_7>;
188		phy-names = "p2u-0";
189	};
190
191	pcie@14180000 {
192		status = "okay";
193
194		vddio-pex-ctl-supply = <&vdd_1v8ao>;
195
196		phys = <&p2u_hsio_2>, <&p2u_hsio_3>, <&p2u_hsio_4>,
197		       <&p2u_hsio_5>;
198		phy-names = "p2u-0", "p2u-1", "p2u-2", "p2u-3";
199	};
200
201	pcie@141a0000 {
202		status = "okay";
203
204		vddio-pex-ctl-supply = <&vdd_1v8ao>;
205		vpcie3v3-supply = <&vdd_3v3_pcie>;
206		vpcie12v-supply = <&vdd_12v_pcie>;
207
208		phys = <&p2u_nvhs_0>, <&p2u_nvhs_1>, <&p2u_nvhs_2>,
209		       <&p2u_nvhs_3>, <&p2u_nvhs_4>, <&p2u_nvhs_5>,
210		       <&p2u_nvhs_6>, <&p2u_nvhs_7>;
211
212		phy-names = "p2u-0", "p2u-1", "p2u-2", "p2u-3", "p2u-4",
213			    "p2u-5", "p2u-6", "p2u-7";
214	};
215
216	pcie_ep@141a0000 {
217		status = "disabled";
218
219		vddio-pex-ctl-supply = <&vdd_1v8ao>;
220
221		reset-gpios = <&gpio TEGRA194_MAIN_GPIO(GG, 1) GPIO_ACTIVE_LOW>;
222
223		nvidia,refclk-select-gpios = <&gpio_aon TEGRA194_AON_GPIO(AA, 5)
224					      GPIO_ACTIVE_HIGH>;
225
226		phys = <&p2u_nvhs_0>, <&p2u_nvhs_1>, <&p2u_nvhs_2>,
227		       <&p2u_nvhs_3>, <&p2u_nvhs_4>, <&p2u_nvhs_5>,
228		       <&p2u_nvhs_6>, <&p2u_nvhs_7>;
229
230		phy-names = "p2u-0", "p2u-1", "p2u-2", "p2u-3", "p2u-4",
231			    "p2u-5", "p2u-6", "p2u-7";
232	};
233
234	fan: fan {
235		compatible = "pwm-fan";
236		pwms = <&pwm4 0 45334>;
237
238		cooling-levels = <0 64 128 255>;
239		#cooling-cells = <2>;
240	};
241
242	gpio-keys {
243		compatible = "gpio-keys";
244
245		force-recovery {
246			label = "Force Recovery";
247			gpios = <&gpio TEGRA194_MAIN_GPIO(G, 0)
248				       GPIO_ACTIVE_LOW>;
249			linux,input-type = <EV_KEY>;
250			linux,code = <KEY_SLEEP>;
251			debounce-interval = <10>;
252		};
253
254		power {
255			label = "Power";
256			gpios = <&gpio_aon TEGRA194_AON_GPIO(EE, 4)
257					   GPIO_ACTIVE_LOW>;
258			linux,input-type = <EV_KEY>;
259			linux,code = <KEY_POWER>;
260			debounce-interval = <10>;
261			wakeup-event-action = <EV_ACT_ASSERTED>;
262			wakeup-source;
263		};
264	};
265
266	thermal-zones {
267		cpu {
268			polling-delay = <0>;
269			polling-delay-passive = <500>;
270			status = "okay";
271
272			trips {
273				cpu_trip_critical: critical {
274					temperature = <96500>;
275					hysteresis = <0>;
276					type = "critical";
277				};
278
279				cpu_trip_hot: hot {
280					temperature = <70000>;
281					hysteresis = <2000>;
282					type = "hot";
283				};
284
285				cpu_trip_active: active {
286					temperature = <50000>;
287					hysteresis = <2000>;
288					type = "active";
289				};
290
291				cpu_trip_passive: passive {
292					temperature = <30000>;
293					hysteresis = <2000>;
294					type = "passive";
295				};
296			};
297
298			cooling-maps {
299				cpu-critical {
300					cooling-device = <&fan 3 3>;
301					trip = <&cpu_trip_critical>;
302				};
303
304				cpu-hot {
305					cooling-device = <&fan 2 2>;
306					trip = <&cpu_trip_hot>;
307				};
308
309				cpu-active {
310					cooling-device = <&fan 1 1>;
311					trip = <&cpu_trip_active>;
312				};
313
314				cpu-passive {
315					cooling-device = <&fan 0 0>;
316					trip = <&cpu_trip_passive>;
317				};
318			};
319		};
320
321		gpu {
322			polling-delay = <0>;
323			polling-delay-passive = <500>;
324			status = "okay";
325
326			trips {
327				gpu_alert0: critical {
328					temperature = <99000>;
329					hysteresis = <0>;
330					type = "critical";
331				};
332			};
333		};
334
335		aux {
336			polling-delay = <0>;
337			polling-delay-passive = <500>;
338			status = "okay";
339
340			trips {
341				aux_alert0: critical {
342					temperature = <90000>;
343					hysteresis = <0>;
344					type = "critical";
345				};
346			};
347		};
348	};
349};
350