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 {
6040b4d824SJC Kuo						usb2-0 {
6140b4d824SJC Kuo							status = "okay";
6240b4d824SJC Kuo						};
6340b4d824SJC 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
8040b4d824SJC Kuo						usb3-2 {
8140b4d824SJC Kuo							status = "okay";
8240b4d824SJC Kuo						};
8340b4d824SJC Kuo
8492f37c0aSJC Kuo						usb3-3 {
8592f37c0aSJC Kuo							status = "okay";
8692f37c0aSJC Kuo						};
8792f37c0aSJC Kuo					};
8892f37c0aSJC Kuo				};
8992f37c0aSJC Kuo			};
9092f37c0aSJC Kuo
9192f37c0aSJC Kuo			ports {
9240b4d824SJC Kuo				usb2-0 {
9340b4d824SJC Kuo					mode = "host";
9440b4d824SJC Kuo					status = "okay";
9540b4d824SJC Kuo				};
9640b4d824SJC 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
11240b4d824SJC Kuo				usb3-2 {
11340b4d824SJC Kuo					nvidia,usb2-companion = <0>;
11440b4d824SJC Kuo					status = "okay";
11540b4d824SJC Kuo				};
11640b4d824SJC 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
12840b4d824SJC Kuo			phys =	<&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-0}>,
12940b4d824SJC 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}>,
13240b4d824SJC Kuo				<&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-2}>,
1338b3aee8fSThierry Reding				<&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-3}>;
13440b4d824SJC Kuo			phy-names = "usb2-0", "usb2-1", "usb2-3", "usb3-0", "usb3-2", "usb3-3";
13592f37c0aSJC Kuo		};
13692f37c0aSJC Kuo
137*3032985aSSameer Pujar		i2c@c250000 {
138*3032985aSSameer Pujar			status = "okay";
139*3032985aSSameer Pujar
140*3032985aSSameer Pujar			rt5658: audio-codec@1a {
141*3032985aSSameer Pujar				status = "okay";
142*3032985aSSameer Pujar
143*3032985aSSameer Pujar				compatible = "realtek,rt5658";
144*3032985aSSameer Pujar				reg = <0x1a>;
145*3032985aSSameer Pujar				interrupt-parent = <&gpio>;
146*3032985aSSameer Pujar				interrupts = <TEGRA194_MAIN_GPIO(S, 5) GPIO_ACTIVE_HIGH>;
147*3032985aSSameer Pujar				realtek,jd-src = <2>;
148*3032985aSSameer Pujar				sound-name-prefix = "CVB-RT";
149*3032985aSSameer Pujar			};
150*3032985aSSameer Pujar		};
151*3032985aSSameer Pujar
15258542353SThierry Reding		pwm@c340000 {
15358542353SThierry Reding			status = "okay";
15458542353SThierry Reding		};
15533c038e4SThierry Reding
15633c038e4SThierry Reding		host1x@13e00000 {
15733c038e4SThierry Reding			display-hub@15200000 {
15833c038e4SThierry Reding				status = "okay";
15933c038e4SThierry Reding			};
16033c038e4SThierry Reding
161614d063fSThierry Reding			dpaux@155c0000 {
162614d063fSThierry Reding				status = "okay";
163614d063fSThierry Reding			};
164614d063fSThierry Reding
165614d063fSThierry Reding			dpaux@155d0000 {
166614d063fSThierry Reding				status = "okay";
167614d063fSThierry Reding			};
168614d063fSThierry Reding
16933c038e4SThierry Reding			dpaux@155e0000 {
17033c038e4SThierry Reding				status = "okay";
17133c038e4SThierry Reding			};
17233c038e4SThierry Reding
173614d063fSThierry Reding			/* DP0 */
174614d063fSThierry Reding			sor@15b00000 {
175614d063fSThierry Reding				status = "okay";
176614d063fSThierry Reding
177614d063fSThierry Reding				avdd-io-hdmi-dp-supply = <&vdd_1v0>;
178614d063fSThierry Reding				vdd-hdmi-dp-pll-supply = <&vdd_1v8hs>;
179614d063fSThierry Reding
180614d063fSThierry Reding				nvidia,dpaux = <&dpaux0>;
181614d063fSThierry Reding			};
182614d063fSThierry Reding
183614d063fSThierry Reding			/* DP1 */
184614d063fSThierry Reding			sor@15b40000 {
185614d063fSThierry Reding				status = "okay";
186614d063fSThierry Reding
187614d063fSThierry Reding				avdd-io-hdmi-dp-supply = <&vdd_1v0>;
188614d063fSThierry Reding				vdd-hdmi-dp-pll-supply = <&vdd_1v8hs>;
189614d063fSThierry Reding
190614d063fSThierry Reding				nvidia,dpaux = <&dpaux1>;
191614d063fSThierry Reding			};
192614d063fSThierry Reding
193614d063fSThierry Reding			/* HDMI */
19433c038e4SThierry Reding			sor@15b80000 {
19533c038e4SThierry Reding				status = "okay";
19633c038e4SThierry Reding
197e8931a27SThierry Reding				avdd-io-hdmi-dp-supply = <&vdd_1v0>;
198e8931a27SThierry Reding				vdd-hdmi-dp-pll-supply = <&vdd_1v8hs>;
19933c038e4SThierry Reding				hdmi-supply = <&vdd_hdmi>;
20033c038e4SThierry Reding
20133c038e4SThierry Reding				nvidia,ddc-i2c-bus = <&ddc>;
20233c038e4SThierry Reding				nvidia,hpd-gpio = <&gpio TEGRA194_MAIN_GPIO(M, 2)
20333c038e4SThierry Reding							 GPIO_ACTIVE_LOW>;
20433c038e4SThierry Reding			};
20533c038e4SThierry Reding		};
20658542353SThierry Reding	};
20758542353SThierry Reding
208a586c88eSVidya Sagar	pcie@14100000 {
209a586c88eSVidya Sagar		status = "okay";
210a586c88eSVidya Sagar
211a586c88eSVidya Sagar		vddio-pex-ctl-supply = <&vdd_1v8ao>;
212a586c88eSVidya Sagar
213a586c88eSVidya Sagar		phys = <&p2u_hsio_0>;
214a586c88eSVidya Sagar		phy-names = "p2u-0";
215a586c88eSVidya Sagar	};
216a586c88eSVidya Sagar
217a586c88eSVidya Sagar	pcie@14140000 {
218a586c88eSVidya Sagar		status = "okay";
219a586c88eSVidya Sagar
220a586c88eSVidya Sagar		vddio-pex-ctl-supply = <&vdd_1v8ao>;
221a586c88eSVidya Sagar
222a586c88eSVidya Sagar		phys = <&p2u_hsio_7>;
223a586c88eSVidya Sagar		phy-names = "p2u-0";
224a586c88eSVidya Sagar	};
225a586c88eSVidya Sagar
226a586c88eSVidya Sagar	pcie@14180000 {
227a586c88eSVidya Sagar		status = "okay";
228a586c88eSVidya Sagar
229a586c88eSVidya Sagar		vddio-pex-ctl-supply = <&vdd_1v8ao>;
230a586c88eSVidya Sagar
231a586c88eSVidya Sagar		phys = <&p2u_hsio_2>, <&p2u_hsio_3>, <&p2u_hsio_4>,
232a586c88eSVidya Sagar		       <&p2u_hsio_5>;
233a586c88eSVidya Sagar		phy-names = "p2u-0", "p2u-1", "p2u-2", "p2u-3";
234a586c88eSVidya Sagar	};
235a586c88eSVidya Sagar
236a586c88eSVidya Sagar	pcie@141a0000 {
23709a0774aSVidya Sagar		status = "okay";
238a586c88eSVidya Sagar
239a586c88eSVidya Sagar		vddio-pex-ctl-supply = <&vdd_1v8ao>;
24009a0774aSVidya Sagar		vpcie3v3-supply = <&vdd_3v3_pcie>;
24109a0774aSVidya Sagar		vpcie12v-supply = <&vdd_12v_pcie>;
242a586c88eSVidya Sagar
243a586c88eSVidya Sagar		phys = <&p2u_nvhs_0>, <&p2u_nvhs_1>, <&p2u_nvhs_2>,
244a586c88eSVidya Sagar		       <&p2u_nvhs_3>, <&p2u_nvhs_4>, <&p2u_nvhs_5>,
245a586c88eSVidya Sagar		       <&p2u_nvhs_6>, <&p2u_nvhs_7>;
246a586c88eSVidya Sagar
247a586c88eSVidya Sagar		phy-names = "p2u-0", "p2u-1", "p2u-2", "p2u-3", "p2u-4",
248a586c88eSVidya Sagar			    "p2u-5", "p2u-6", "p2u-7";
249a586c88eSVidya Sagar	};
250a586c88eSVidya Sagar
25184eaaf75SVidya Sagar	pcie_ep@141a0000 {
25284eaaf75SVidya Sagar		status = "disabled";
25384eaaf75SVidya Sagar
25484eaaf75SVidya Sagar		vddio-pex-ctl-supply = <&vdd_1v8ao>;
25584eaaf75SVidya Sagar
25684eaaf75SVidya Sagar		reset-gpios = <&gpio TEGRA194_MAIN_GPIO(GG, 1) GPIO_ACTIVE_LOW>;
25784eaaf75SVidya Sagar
25884eaaf75SVidya Sagar		nvidia,refclk-select-gpios = <&gpio_aon TEGRA194_AON_GPIO(AA, 5)
25984eaaf75SVidya Sagar					      GPIO_ACTIVE_HIGH>;
26084eaaf75SVidya Sagar
26184eaaf75SVidya Sagar		phys = <&p2u_nvhs_0>, <&p2u_nvhs_1>, <&p2u_nvhs_2>,
26284eaaf75SVidya Sagar		       <&p2u_nvhs_3>, <&p2u_nvhs_4>, <&p2u_nvhs_5>,
26384eaaf75SVidya Sagar		       <&p2u_nvhs_6>, <&p2u_nvhs_7>;
26484eaaf75SVidya Sagar
26584eaaf75SVidya Sagar		phy-names = "p2u-0", "p2u-1", "p2u-2", "p2u-3", "p2u-4",
26684eaaf75SVidya Sagar			    "p2u-5", "p2u-6", "p2u-7";
26784eaaf75SVidya Sagar	};
26884eaaf75SVidya Sagar
269cfe3af19SThierry Reding	fan: fan {
27058542353SThierry Reding		compatible = "pwm-fan";
27158542353SThierry Reding		pwms = <&pwm4 0 45334>;
272cfe3af19SThierry Reding
273cfe3af19SThierry Reding		cooling-levels = <0 64 128 255>;
274cfe3af19SThierry Reding		#cooling-cells = <2>;
275cfe3af19SThierry Reding	};
276cfe3af19SThierry Reding
277e47ac508SThierry Reding	gpio-keys {
278e47ac508SThierry Reding		compatible = "gpio-keys";
279e47ac508SThierry Reding
280e47ac508SThierry Reding		force-recovery {
281e47ac508SThierry Reding			label = "Force Recovery";
282e47ac508SThierry Reding			gpios = <&gpio TEGRA194_MAIN_GPIO(G, 0)
283e47ac508SThierry Reding				       GPIO_ACTIVE_LOW>;
284e47ac508SThierry Reding			linux,input-type = <EV_KEY>;
285cd8f843cSThierry Reding			linux,code = <KEY_SLEEP>;
286e47ac508SThierry Reding			debounce-interval = <10>;
287e47ac508SThierry Reding		};
288e47ac508SThierry Reding
289e47ac508SThierry Reding		power {
290e47ac508SThierry Reding			label = "Power";
291e47ac508SThierry Reding			gpios = <&gpio_aon TEGRA194_AON_GPIO(EE, 4)
292e47ac508SThierry Reding					   GPIO_ACTIVE_LOW>;
293e47ac508SThierry Reding			linux,input-type = <EV_KEY>;
294e47ac508SThierry Reding			linux,code = <KEY_POWER>;
295e47ac508SThierry Reding			debounce-interval = <10>;
296e47ac508SThierry Reding			wakeup-event-action = <EV_ACT_ASSERTED>;
297e47ac508SThierry Reding			wakeup-source;
298e47ac508SThierry Reding		};
299e47ac508SThierry Reding	};
300e47ac508SThierry Reding
301cfe3af19SThierry Reding	thermal-zones {
302cfe3af19SThierry Reding		cpu {
303cfe3af19SThierry Reding			polling-delay = <0>;
304cfe3af19SThierry Reding			polling-delay-passive = <500>;
305cfe3af19SThierry Reding			status = "okay";
306cfe3af19SThierry Reding
307cfe3af19SThierry Reding			trips {
308cfe3af19SThierry Reding				cpu_trip_critical: critical {
309cfe3af19SThierry Reding					temperature = <96500>;
310cfe3af19SThierry Reding					hysteresis = <0>;
311cfe3af19SThierry Reding					type = "critical";
312cfe3af19SThierry Reding				};
313cfe3af19SThierry Reding
314cfe3af19SThierry Reding				cpu_trip_hot: hot {
315cfe3af19SThierry Reding					temperature = <70000>;
316cfe3af19SThierry Reding					hysteresis = <2000>;
317cfe3af19SThierry Reding					type = "hot";
318cfe3af19SThierry Reding				};
319cfe3af19SThierry Reding
320cfe3af19SThierry Reding				cpu_trip_active: active {
321cfe3af19SThierry Reding					temperature = <50000>;
322cfe3af19SThierry Reding					hysteresis = <2000>;
323cfe3af19SThierry Reding					type = "active";
324cfe3af19SThierry Reding				};
325cfe3af19SThierry Reding
326cfe3af19SThierry Reding				cpu_trip_passive: passive {
327cfe3af19SThierry Reding					temperature = <30000>;
328cfe3af19SThierry Reding					hysteresis = <2000>;
329cfe3af19SThierry Reding					type = "passive";
330cfe3af19SThierry Reding				};
331cfe3af19SThierry Reding			};
332cfe3af19SThierry Reding
333cfe3af19SThierry Reding			cooling-maps {
334cfe3af19SThierry Reding				cpu-critical {
335cfe3af19SThierry Reding					cooling-device = <&fan 3 3>;
336cfe3af19SThierry Reding					trip = <&cpu_trip_critical>;
337cfe3af19SThierry Reding				};
338cfe3af19SThierry Reding
339cfe3af19SThierry Reding				cpu-hot {
340cfe3af19SThierry Reding					cooling-device = <&fan 2 2>;
341cfe3af19SThierry Reding					trip = <&cpu_trip_hot>;
342cfe3af19SThierry Reding				};
343cfe3af19SThierry Reding
344cfe3af19SThierry Reding				cpu-active {
345cfe3af19SThierry Reding					cooling-device = <&fan 1 1>;
346cfe3af19SThierry Reding					trip = <&cpu_trip_active>;
347cfe3af19SThierry Reding				};
348cfe3af19SThierry Reding
349cfe3af19SThierry Reding				cpu-passive {
350cfe3af19SThierry Reding					cooling-device = <&fan 0 0>;
351cfe3af19SThierry Reding					trip = <&cpu_trip_passive>;
352cfe3af19SThierry Reding				};
353cfe3af19SThierry Reding			};
354cfe3af19SThierry Reding		};
355cfe3af19SThierry Reding
356cfe3af19SThierry Reding		gpu {
357cfe3af19SThierry Reding			polling-delay = <0>;
358cfe3af19SThierry Reding			polling-delay-passive = <500>;
359cfe3af19SThierry Reding			status = "okay";
360cfe3af19SThierry Reding
361cfe3af19SThierry Reding			trips {
362cfe3af19SThierry Reding				gpu_alert0: critical {
363cfe3af19SThierry Reding					temperature = <99000>;
364cfe3af19SThierry Reding					hysteresis = <0>;
365cfe3af19SThierry Reding					type = "critical";
366cfe3af19SThierry Reding				};
367cfe3af19SThierry Reding			};
368cfe3af19SThierry Reding		};
369cfe3af19SThierry Reding
370cfe3af19SThierry Reding		aux {
371cfe3af19SThierry Reding			polling-delay = <0>;
372cfe3af19SThierry Reding			polling-delay-passive = <500>;
373cfe3af19SThierry Reding			status = "okay";
374cfe3af19SThierry Reding
375cfe3af19SThierry Reding			trips {
376cfe3af19SThierry Reding				aux_alert0: critical {
377cfe3af19SThierry Reding					temperature = <90000>;
378cfe3af19SThierry Reding					hysteresis = <0>;
379cfe3af19SThierry Reding					type = "critical";
380cfe3af19SThierry Reding				};
381cfe3af19SThierry Reding			};
382cfe3af19SThierry Reding		};
383b8656c67SMikko Perttunen	};
384b8656c67SMikko Perttunen};
385