1b8656c67SMikko Perttunen// SPDX-License-Identifier: GPL-2.0
2b8656c67SMikko Perttunen/dts-v1/;
3b8656c67SMikko Perttunen
4e47ac508SThierry Reding#include <dt-bindings/input/linux-event-codes.h>
5e47ac508SThierry Reding#include <dt-bindings/input/gpio-keys.h>
6e47ac508SThierry Reding
7b8656c67SMikko Perttunen#include "tegra194-p2888.dtsi"
8b8656c67SMikko Perttunen
9b8656c67SMikko Perttunen/ {
109c536ccdSThierry Reding	model = "NVIDIA Jetson AGX Xavier Developer Kit";
11b8656c67SMikko Perttunen	compatible = "nvidia,p2972-0000", "nvidia,tegra194";
12b8656c67SMikko Perttunen
138b3aee8fSThierry Reding	bus@0 {
141aaa7698SThierry Reding		aconnect@2900000 {
159a182db4SSameer Pujar			status = "okay";
169a182db4SSameer Pujar
179a182db4SSameer Pujar			dma-controller@2930000 {
189a182db4SSameer Pujar				status = "okay";
199a182db4SSameer Pujar			};
209a182db4SSameer Pujar
219a182db4SSameer Pujar			interrupt-controller@2a40000 {
229a182db4SSameer Pujar				status = "okay";
239a182db4SSameer Pujar			};
249a182db4SSameer Pujar		};
259a182db4SSameer Pujar
26228f1e6aSThierry Reding		i2c@3160000 {
27228f1e6aSThierry Reding			eeprom@56 {
28228f1e6aSThierry Reding				compatible = "atmel,24c02";
29228f1e6aSThierry Reding				reg = <0x56>;
30228f1e6aSThierry Reding
31a4387f29SJon Hunter				label = "system";
32228f1e6aSThierry Reding				vcc-supply = <&vdd_1v8ls>;
33228f1e6aSThierry Reding				address-width = <8>;
34228f1e6aSThierry Reding				pagesize = <8>;
35228f1e6aSThierry Reding				size = <256>;
36228f1e6aSThierry Reding				read-only;
37228f1e6aSThierry Reding			};
38228f1e6aSThierry Reding		};
39228f1e6aSThierry Reding
405eef17eeSThierry Reding		ddc: i2c@31c0000 {
415eef17eeSThierry Reding			status = "okay";
425eef17eeSThierry Reding		};
435eef17eeSThierry Reding
44b8656c67SMikko Perttunen		/* SDMMC1 (SD/MMC) */
4567bb17f6SThierry Reding		mmc@3400000 {
46b8656c67SMikko Perttunen			status = "okay";
47b8656c67SMikko Perttunen		};
4858542353SThierry Reding
495eef17eeSThierry Reding		hda@3510000 {
50da2577feSLinus Torvalds			nvidia,model = "jetson-xavier-hda";
5133c038e4SThierry Reding			status = "okay";
5233c038e4SThierry Reding		};
5333c038e4SThierry Reding
5492f37c0aSJC Kuo		padctl@3520000 {
5592f37c0aSJC Kuo			status = "okay";
5692f37c0aSJC Kuo
5792f37c0aSJC Kuo			pads {
5892f37c0aSJC Kuo				usb2 {
5992f37c0aSJC Kuo					lanes {
60*40b4d824SJC Kuo						usb2-0 {
61*40b4d824SJC Kuo							status = "okay";
62*40b4d824SJC Kuo						};
63*40b4d824SJC Kuo
6492f37c0aSJC Kuo						usb2-1 {
6592f37c0aSJC Kuo							status = "okay";
6692f37c0aSJC Kuo						};
6792f37c0aSJC Kuo
6892f37c0aSJC Kuo						usb2-3 {
6992f37c0aSJC Kuo							status = "okay";
7092f37c0aSJC Kuo						};
7192f37c0aSJC Kuo					};
7292f37c0aSJC Kuo				};
7392f37c0aSJC Kuo
7492f37c0aSJC Kuo				usb3 {
7592f37c0aSJC Kuo					lanes {
7692f37c0aSJC Kuo						usb3-0 {
7792f37c0aSJC Kuo							status = "okay";
7892f37c0aSJC Kuo						};
7992f37c0aSJC Kuo
80*40b4d824SJC Kuo						usb3-2 {
81*40b4d824SJC Kuo							status = "okay";
82*40b4d824SJC Kuo						};
83*40b4d824SJC Kuo
8492f37c0aSJC Kuo						usb3-3 {
8592f37c0aSJC Kuo							status = "okay";
8692f37c0aSJC Kuo						};
8792f37c0aSJC Kuo					};
8892f37c0aSJC Kuo				};
8992f37c0aSJC Kuo			};
9092f37c0aSJC Kuo
9192f37c0aSJC Kuo			ports {
92*40b4d824SJC Kuo				usb2-0 {
93*40b4d824SJC Kuo					mode = "host";
94*40b4d824SJC Kuo					status = "okay";
95*40b4d824SJC Kuo				};
96*40b4d824SJC Kuo
9792f37c0aSJC Kuo				usb2-1 {
9892f37c0aSJC Kuo					mode = "host";
9992f37c0aSJC Kuo					status = "okay";
10092f37c0aSJC Kuo				};
10192f37c0aSJC Kuo
10292f37c0aSJC Kuo				usb2-3 {
10392f37c0aSJC Kuo					mode = "host";
10492f37c0aSJC Kuo					status = "okay";
10592f37c0aSJC Kuo				};
10692f37c0aSJC Kuo
10792f37c0aSJC Kuo				usb3-0 {
10892f37c0aSJC Kuo					nvidia,usb2-companion = <1>;
10992f37c0aSJC Kuo					status = "okay";
11092f37c0aSJC Kuo				};
11192f37c0aSJC Kuo
112*40b4d824SJC Kuo				usb3-2 {
113*40b4d824SJC Kuo					nvidia,usb2-companion = <0>;
114*40b4d824SJC Kuo					status = "okay";
115*40b4d824SJC Kuo				};
116*40b4d824SJC Kuo
11792f37c0aSJC Kuo				usb3-3 {
11892f37c0aSJC Kuo					nvidia,usb2-companion = <3>;
11992f37c0aSJC Kuo					maximum-speed = "super-speed";
12092f37c0aSJC Kuo					status = "okay";
12192f37c0aSJC Kuo				};
12292f37c0aSJC Kuo			};
12392f37c0aSJC Kuo		};
12492f37c0aSJC Kuo
12592f37c0aSJC Kuo		usb@3610000 {
12692f37c0aSJC Kuo			status = "okay";
12792f37c0aSJC Kuo
128*40b4d824SJC Kuo			phys =	<&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-0}>,
129*40b4d824SJC Kuo				<&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-1}>,
1308b3aee8fSThierry Reding				<&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-3}>,
1318b3aee8fSThierry Reding				<&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-0}>,
132*40b4d824SJC Kuo				<&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-2}>,
1338b3aee8fSThierry Reding				<&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-3}>;
134*40b4d824SJC Kuo			phy-names = "usb2-0", "usb2-1", "usb2-3", "usb3-0", "usb3-2", "usb3-3";
13592f37c0aSJC Kuo		};
13692f37c0aSJC Kuo
13758542353SThierry Reding		pwm@c340000 {
13858542353SThierry Reding			status = "okay";
13958542353SThierry Reding		};
14033c038e4SThierry Reding
14133c038e4SThierry Reding		host1x@13e00000 {
14233c038e4SThierry Reding			display-hub@15200000 {
14333c038e4SThierry Reding				status = "okay";
14433c038e4SThierry Reding			};
14533c038e4SThierry Reding
146614d063fSThierry Reding			dpaux@155c0000 {
147614d063fSThierry Reding				status = "okay";
148614d063fSThierry Reding			};
149614d063fSThierry Reding
150614d063fSThierry Reding			dpaux@155d0000 {
151614d063fSThierry Reding				status = "okay";
152614d063fSThierry Reding			};
153614d063fSThierry Reding
15433c038e4SThierry Reding			dpaux@155e0000 {
15533c038e4SThierry Reding				status = "okay";
15633c038e4SThierry Reding			};
15733c038e4SThierry Reding
158614d063fSThierry Reding			/* DP0 */
159614d063fSThierry Reding			sor@15b00000 {
160614d063fSThierry Reding				status = "okay";
161614d063fSThierry Reding
162614d063fSThierry Reding				avdd-io-hdmi-dp-supply = <&vdd_1v0>;
163614d063fSThierry Reding				vdd-hdmi-dp-pll-supply = <&vdd_1v8hs>;
164614d063fSThierry Reding
165614d063fSThierry Reding				nvidia,dpaux = <&dpaux0>;
166614d063fSThierry Reding			};
167614d063fSThierry Reding
168614d063fSThierry Reding			/* DP1 */
169614d063fSThierry Reding			sor@15b40000 {
170614d063fSThierry Reding				status = "okay";
171614d063fSThierry Reding
172614d063fSThierry Reding				avdd-io-hdmi-dp-supply = <&vdd_1v0>;
173614d063fSThierry Reding				vdd-hdmi-dp-pll-supply = <&vdd_1v8hs>;
174614d063fSThierry Reding
175614d063fSThierry Reding				nvidia,dpaux = <&dpaux1>;
176614d063fSThierry Reding			};
177614d063fSThierry Reding
178614d063fSThierry Reding			/* HDMI */
17933c038e4SThierry Reding			sor@15b80000 {
18033c038e4SThierry Reding				status = "okay";
18133c038e4SThierry Reding
182e8931a27SThierry Reding				avdd-io-hdmi-dp-supply = <&vdd_1v0>;
183e8931a27SThierry Reding				vdd-hdmi-dp-pll-supply = <&vdd_1v8hs>;
18433c038e4SThierry Reding				hdmi-supply = <&vdd_hdmi>;
18533c038e4SThierry Reding
18633c038e4SThierry Reding				nvidia,ddc-i2c-bus = <&ddc>;
18733c038e4SThierry Reding				nvidia,hpd-gpio = <&gpio TEGRA194_MAIN_GPIO(M, 2)
18833c038e4SThierry Reding							 GPIO_ACTIVE_LOW>;
18933c038e4SThierry Reding			};
19033c038e4SThierry Reding		};
19158542353SThierry Reding	};
19258542353SThierry Reding
193a586c88eSVidya Sagar	pcie@14100000 {
194a586c88eSVidya Sagar		status = "okay";
195a586c88eSVidya Sagar
196a586c88eSVidya Sagar		vddio-pex-ctl-supply = <&vdd_1v8ao>;
197a586c88eSVidya Sagar
198a586c88eSVidya Sagar		phys = <&p2u_hsio_0>;
199a586c88eSVidya Sagar		phy-names = "p2u-0";
200a586c88eSVidya Sagar	};
201a586c88eSVidya Sagar
202a586c88eSVidya Sagar	pcie@14140000 {
203a586c88eSVidya Sagar		status = "okay";
204a586c88eSVidya Sagar
205a586c88eSVidya Sagar		vddio-pex-ctl-supply = <&vdd_1v8ao>;
206a586c88eSVidya Sagar
207a586c88eSVidya Sagar		phys = <&p2u_hsio_7>;
208a586c88eSVidya Sagar		phy-names = "p2u-0";
209a586c88eSVidya Sagar	};
210a586c88eSVidya Sagar
211a586c88eSVidya Sagar	pcie@14180000 {
212a586c88eSVidya Sagar		status = "okay";
213a586c88eSVidya Sagar
214a586c88eSVidya Sagar		vddio-pex-ctl-supply = <&vdd_1v8ao>;
215a586c88eSVidya Sagar
216a586c88eSVidya Sagar		phys = <&p2u_hsio_2>, <&p2u_hsio_3>, <&p2u_hsio_4>,
217a586c88eSVidya Sagar		       <&p2u_hsio_5>;
218a586c88eSVidya Sagar		phy-names = "p2u-0", "p2u-1", "p2u-2", "p2u-3";
219a586c88eSVidya Sagar	};
220a586c88eSVidya Sagar
221a586c88eSVidya Sagar	pcie@141a0000 {
22209a0774aSVidya Sagar		status = "okay";
223a586c88eSVidya Sagar
224a586c88eSVidya Sagar		vddio-pex-ctl-supply = <&vdd_1v8ao>;
22509a0774aSVidya Sagar		vpcie3v3-supply = <&vdd_3v3_pcie>;
22609a0774aSVidya Sagar		vpcie12v-supply = <&vdd_12v_pcie>;
227a586c88eSVidya Sagar
228a586c88eSVidya Sagar		phys = <&p2u_nvhs_0>, <&p2u_nvhs_1>, <&p2u_nvhs_2>,
229a586c88eSVidya Sagar		       <&p2u_nvhs_3>, <&p2u_nvhs_4>, <&p2u_nvhs_5>,
230a586c88eSVidya Sagar		       <&p2u_nvhs_6>, <&p2u_nvhs_7>;
231a586c88eSVidya Sagar
232a586c88eSVidya Sagar		phy-names = "p2u-0", "p2u-1", "p2u-2", "p2u-3", "p2u-4",
233a586c88eSVidya Sagar			    "p2u-5", "p2u-6", "p2u-7";
234a586c88eSVidya Sagar	};
235a586c88eSVidya Sagar
23684eaaf75SVidya Sagar	pcie_ep@141a0000 {
23784eaaf75SVidya Sagar		status = "disabled";
23884eaaf75SVidya Sagar
23984eaaf75SVidya Sagar		vddio-pex-ctl-supply = <&vdd_1v8ao>;
24084eaaf75SVidya Sagar
24184eaaf75SVidya Sagar		reset-gpios = <&gpio TEGRA194_MAIN_GPIO(GG, 1) GPIO_ACTIVE_LOW>;
24284eaaf75SVidya Sagar
24384eaaf75SVidya Sagar		nvidia,refclk-select-gpios = <&gpio_aon TEGRA194_AON_GPIO(AA, 5)
24484eaaf75SVidya Sagar					      GPIO_ACTIVE_HIGH>;
24584eaaf75SVidya Sagar
24684eaaf75SVidya Sagar		phys = <&p2u_nvhs_0>, <&p2u_nvhs_1>, <&p2u_nvhs_2>,
24784eaaf75SVidya Sagar		       <&p2u_nvhs_3>, <&p2u_nvhs_4>, <&p2u_nvhs_5>,
24884eaaf75SVidya Sagar		       <&p2u_nvhs_6>, <&p2u_nvhs_7>;
24984eaaf75SVidya Sagar
25084eaaf75SVidya Sagar		phy-names = "p2u-0", "p2u-1", "p2u-2", "p2u-3", "p2u-4",
25184eaaf75SVidya Sagar			    "p2u-5", "p2u-6", "p2u-7";
25284eaaf75SVidya Sagar	};
25384eaaf75SVidya Sagar
254cfe3af19SThierry Reding	fan: fan {
25558542353SThierry Reding		compatible = "pwm-fan";
25658542353SThierry Reding		pwms = <&pwm4 0 45334>;
257cfe3af19SThierry Reding
258cfe3af19SThierry Reding		cooling-levels = <0 64 128 255>;
259cfe3af19SThierry Reding		#cooling-cells = <2>;
260cfe3af19SThierry Reding	};
261cfe3af19SThierry Reding
262e47ac508SThierry Reding	gpio-keys {
263e47ac508SThierry Reding		compatible = "gpio-keys";
264e47ac508SThierry Reding
265e47ac508SThierry Reding		force-recovery {
266e47ac508SThierry Reding			label = "Force Recovery";
267e47ac508SThierry Reding			gpios = <&gpio TEGRA194_MAIN_GPIO(G, 0)
268e47ac508SThierry Reding				       GPIO_ACTIVE_LOW>;
269e47ac508SThierry Reding			linux,input-type = <EV_KEY>;
270cd8f843cSThierry Reding			linux,code = <KEY_SLEEP>;
271e47ac508SThierry Reding			debounce-interval = <10>;
272e47ac508SThierry Reding		};
273e47ac508SThierry Reding
274e47ac508SThierry Reding		power {
275e47ac508SThierry Reding			label = "Power";
276e47ac508SThierry Reding			gpios = <&gpio_aon TEGRA194_AON_GPIO(EE, 4)
277e47ac508SThierry Reding					   GPIO_ACTIVE_LOW>;
278e47ac508SThierry Reding			linux,input-type = <EV_KEY>;
279e47ac508SThierry Reding			linux,code = <KEY_POWER>;
280e47ac508SThierry Reding			debounce-interval = <10>;
281e47ac508SThierry Reding			wakeup-event-action = <EV_ACT_ASSERTED>;
282e47ac508SThierry Reding			wakeup-source;
283e47ac508SThierry Reding		};
284e47ac508SThierry Reding	};
285e47ac508SThierry Reding
286cfe3af19SThierry Reding	thermal-zones {
287cfe3af19SThierry Reding		cpu {
288cfe3af19SThierry Reding			polling-delay = <0>;
289cfe3af19SThierry Reding			polling-delay-passive = <500>;
290cfe3af19SThierry Reding			status = "okay";
291cfe3af19SThierry Reding
292cfe3af19SThierry Reding			trips {
293cfe3af19SThierry Reding				cpu_trip_critical: critical {
294cfe3af19SThierry Reding					temperature = <96500>;
295cfe3af19SThierry Reding					hysteresis = <0>;
296cfe3af19SThierry Reding					type = "critical";
297cfe3af19SThierry Reding				};
298cfe3af19SThierry Reding
299cfe3af19SThierry Reding				cpu_trip_hot: hot {
300cfe3af19SThierry Reding					temperature = <70000>;
301cfe3af19SThierry Reding					hysteresis = <2000>;
302cfe3af19SThierry Reding					type = "hot";
303cfe3af19SThierry Reding				};
304cfe3af19SThierry Reding
305cfe3af19SThierry Reding				cpu_trip_active: active {
306cfe3af19SThierry Reding					temperature = <50000>;
307cfe3af19SThierry Reding					hysteresis = <2000>;
308cfe3af19SThierry Reding					type = "active";
309cfe3af19SThierry Reding				};
310cfe3af19SThierry Reding
311cfe3af19SThierry Reding				cpu_trip_passive: passive {
312cfe3af19SThierry Reding					temperature = <30000>;
313cfe3af19SThierry Reding					hysteresis = <2000>;
314cfe3af19SThierry Reding					type = "passive";
315cfe3af19SThierry Reding				};
316cfe3af19SThierry Reding			};
317cfe3af19SThierry Reding
318cfe3af19SThierry Reding			cooling-maps {
319cfe3af19SThierry Reding				cpu-critical {
320cfe3af19SThierry Reding					cooling-device = <&fan 3 3>;
321cfe3af19SThierry Reding					trip = <&cpu_trip_critical>;
322cfe3af19SThierry Reding				};
323cfe3af19SThierry Reding
324cfe3af19SThierry Reding				cpu-hot {
325cfe3af19SThierry Reding					cooling-device = <&fan 2 2>;
326cfe3af19SThierry Reding					trip = <&cpu_trip_hot>;
327cfe3af19SThierry Reding				};
328cfe3af19SThierry Reding
329cfe3af19SThierry Reding				cpu-active {
330cfe3af19SThierry Reding					cooling-device = <&fan 1 1>;
331cfe3af19SThierry Reding					trip = <&cpu_trip_active>;
332cfe3af19SThierry Reding				};
333cfe3af19SThierry Reding
334cfe3af19SThierry Reding				cpu-passive {
335cfe3af19SThierry Reding					cooling-device = <&fan 0 0>;
336cfe3af19SThierry Reding					trip = <&cpu_trip_passive>;
337cfe3af19SThierry Reding				};
338cfe3af19SThierry Reding			};
339cfe3af19SThierry Reding		};
340cfe3af19SThierry Reding
341cfe3af19SThierry Reding		gpu {
342cfe3af19SThierry Reding			polling-delay = <0>;
343cfe3af19SThierry Reding			polling-delay-passive = <500>;
344cfe3af19SThierry Reding			status = "okay";
345cfe3af19SThierry Reding
346cfe3af19SThierry Reding			trips {
347cfe3af19SThierry Reding				gpu_alert0: critical {
348cfe3af19SThierry Reding					temperature = <99000>;
349cfe3af19SThierry Reding					hysteresis = <0>;
350cfe3af19SThierry Reding					type = "critical";
351cfe3af19SThierry Reding				};
352cfe3af19SThierry Reding			};
353cfe3af19SThierry Reding		};
354cfe3af19SThierry Reding
355cfe3af19SThierry Reding		aux {
356cfe3af19SThierry Reding			polling-delay = <0>;
357cfe3af19SThierry Reding			polling-delay-passive = <500>;
358cfe3af19SThierry Reding			status = "okay";
359cfe3af19SThierry Reding
360cfe3af19SThierry Reding			trips {
361cfe3af19SThierry Reding				aux_alert0: critical {
362cfe3af19SThierry Reding					temperature = <90000>;
363cfe3af19SThierry Reding					hysteresis = <0>;
364cfe3af19SThierry Reding					type = "critical";
365cfe3af19SThierry Reding				};
366cfe3af19SThierry Reding			};
367cfe3af19SThierry Reding		};
368b8656c67SMikko Perttunen	};
369b8656c67SMikko Perttunen};
370