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
13eef97c2aSThierry Reding	cbb@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
265eef17eeSThierry Reding		ddc: i2c@31c0000 {
275eef17eeSThierry Reding			status = "okay";
285eef17eeSThierry Reding		};
295eef17eeSThierry Reding
30b8656c67SMikko Perttunen		/* SDMMC1 (SD/MMC) */
31b8656c67SMikko Perttunen		sdhci@3400000 {
32b8656c67SMikko Perttunen			status = "okay";
33b8656c67SMikko Perttunen		};
3458542353SThierry Reding
355eef17eeSThierry Reding		hda@3510000 {
36da2577feSLinus Torvalds			nvidia,model = "jetson-xavier-hda";
3733c038e4SThierry Reding			status = "okay";
3833c038e4SThierry Reding		};
3933c038e4SThierry Reding
4092f37c0aSJC Kuo		padctl@3520000 {
4192f37c0aSJC Kuo			status = "okay";
4292f37c0aSJC Kuo
4392f37c0aSJC Kuo			pads {
4492f37c0aSJC Kuo				usb2 {
4592f37c0aSJC Kuo					lanes {
4692f37c0aSJC Kuo						usb2-1 {
4792f37c0aSJC Kuo							status = "okay";
4892f37c0aSJC Kuo						};
4992f37c0aSJC Kuo
5092f37c0aSJC Kuo						usb2-3 {
5192f37c0aSJC Kuo							status = "okay";
5292f37c0aSJC Kuo						};
5392f37c0aSJC Kuo					};
5492f37c0aSJC Kuo				};
5592f37c0aSJC Kuo
5692f37c0aSJC Kuo				usb3 {
5792f37c0aSJC Kuo					lanes {
5892f37c0aSJC Kuo						usb3-0 {
5992f37c0aSJC Kuo							status = "okay";
6092f37c0aSJC Kuo						};
6192f37c0aSJC Kuo
6292f37c0aSJC Kuo						usb3-3 {
6392f37c0aSJC Kuo							status = "okay";
6492f37c0aSJC Kuo						};
6592f37c0aSJC Kuo					};
6692f37c0aSJC Kuo				};
6792f37c0aSJC Kuo			};
6892f37c0aSJC Kuo
6992f37c0aSJC Kuo			ports {
7092f37c0aSJC Kuo				usb2-1 {
7192f37c0aSJC Kuo					mode = "host";
7292f37c0aSJC Kuo					status = "okay";
7392f37c0aSJC Kuo				};
7492f37c0aSJC Kuo
7592f37c0aSJC Kuo				usb2-3 {
7692f37c0aSJC Kuo					mode = "host";
7792f37c0aSJC Kuo					status = "okay";
7892f37c0aSJC Kuo				};
7992f37c0aSJC Kuo
8092f37c0aSJC Kuo				usb3-0 {
8192f37c0aSJC Kuo					nvidia,usb2-companion = <1>;
8292f37c0aSJC Kuo					status = "okay";
8392f37c0aSJC Kuo				};
8492f37c0aSJC Kuo
8592f37c0aSJC Kuo				usb3-3 {
8692f37c0aSJC Kuo					nvidia,usb2-companion = <3>;
8792f37c0aSJC Kuo					maximum-speed = "super-speed";
8892f37c0aSJC Kuo					status = "okay";
8992f37c0aSJC Kuo				};
9092f37c0aSJC Kuo			};
9192f37c0aSJC Kuo		};
9292f37c0aSJC Kuo
9392f37c0aSJC Kuo		usb@3610000 {
9492f37c0aSJC Kuo			status = "okay";
9592f37c0aSJC Kuo
9692f37c0aSJC Kuo			phys =	<&{/cbb@0/padctl@3520000/pads/usb2/lanes/usb2-1}>,
9792f37c0aSJC Kuo				<&{/cbb@0/padctl@3520000/pads/usb2/lanes/usb2-3}>,
9892f37c0aSJC Kuo				<&{/cbb@0/padctl@3520000/pads/usb3/lanes/usb3-0}>,
9992f37c0aSJC Kuo				<&{/cbb@0/padctl@3520000/pads/usb3/lanes/usb3-3}>;
10092f37c0aSJC Kuo			phy-names = "usb2-1", "usb2-3", "usb3-0", "usb3-3";
10192f37c0aSJC Kuo		};
10292f37c0aSJC Kuo
10358542353SThierry Reding		pwm@c340000 {
10458542353SThierry Reding			status = "okay";
10558542353SThierry Reding		};
10633c038e4SThierry Reding
10733c038e4SThierry Reding		host1x@13e00000 {
10833c038e4SThierry Reding			display-hub@15200000 {
10933c038e4SThierry Reding				status = "okay";
11033c038e4SThierry Reding			};
11133c038e4SThierry Reding
112614d063fSThierry Reding			dpaux@155c0000 {
113614d063fSThierry Reding				status = "okay";
114614d063fSThierry Reding			};
115614d063fSThierry Reding
116614d063fSThierry Reding			dpaux@155d0000 {
117614d063fSThierry Reding				status = "okay";
118614d063fSThierry Reding			};
119614d063fSThierry Reding
12033c038e4SThierry Reding			dpaux@155e0000 {
12133c038e4SThierry Reding				status = "okay";
12233c038e4SThierry Reding			};
12333c038e4SThierry Reding
124614d063fSThierry Reding			/* DP0 */
125614d063fSThierry Reding			sor@15b00000 {
126614d063fSThierry Reding				status = "okay";
127614d063fSThierry Reding
128614d063fSThierry Reding				avdd-io-hdmi-dp-supply = <&vdd_1v0>;
129614d063fSThierry Reding				vdd-hdmi-dp-pll-supply = <&vdd_1v8hs>;
130614d063fSThierry Reding
131614d063fSThierry Reding				nvidia,dpaux = <&dpaux0>;
132614d063fSThierry Reding			};
133614d063fSThierry Reding
134614d063fSThierry Reding			/* DP1 */
135614d063fSThierry Reding			sor@15b40000 {
136614d063fSThierry Reding				status = "okay";
137614d063fSThierry Reding
138614d063fSThierry Reding				avdd-io-hdmi-dp-supply = <&vdd_1v0>;
139614d063fSThierry Reding				vdd-hdmi-dp-pll-supply = <&vdd_1v8hs>;
140614d063fSThierry Reding
141614d063fSThierry Reding				nvidia,dpaux = <&dpaux1>;
142614d063fSThierry Reding			};
143614d063fSThierry Reding
144614d063fSThierry Reding			/* HDMI */
14533c038e4SThierry Reding			sor@15b80000 {
14633c038e4SThierry Reding				status = "okay";
14733c038e4SThierry Reding
14833c038e4SThierry Reding				avdd-io-supply = <&vdd_1v0>;
14933c038e4SThierry Reding				vdd-pll-supply = <&vdd_1v8hs>;
15033c038e4SThierry Reding				hdmi-supply = <&vdd_hdmi>;
15133c038e4SThierry Reding
15233c038e4SThierry Reding				nvidia,ddc-i2c-bus = <&ddc>;
15333c038e4SThierry Reding				nvidia,hpd-gpio = <&gpio TEGRA194_MAIN_GPIO(M, 2)
15433c038e4SThierry Reding							 GPIO_ACTIVE_LOW>;
15533c038e4SThierry Reding			};
15633c038e4SThierry Reding		};
15758542353SThierry Reding	};
15858542353SThierry Reding
159a586c88eSVidya Sagar	pcie@14100000 {
160a586c88eSVidya Sagar		status = "okay";
161a586c88eSVidya Sagar
162a586c88eSVidya Sagar		vddio-pex-ctl-supply = <&vdd_1v8ao>;
163a586c88eSVidya Sagar
164a586c88eSVidya Sagar		phys = <&p2u_hsio_0>;
165a586c88eSVidya Sagar		phy-names = "p2u-0";
166a586c88eSVidya Sagar	};
167a586c88eSVidya Sagar
168a586c88eSVidya Sagar	pcie@14140000 {
169a586c88eSVidya Sagar		status = "okay";
170a586c88eSVidya Sagar
171a586c88eSVidya Sagar		vddio-pex-ctl-supply = <&vdd_1v8ao>;
172a586c88eSVidya Sagar
173a586c88eSVidya Sagar		phys = <&p2u_hsio_7>;
174a586c88eSVidya Sagar		phy-names = "p2u-0";
175a586c88eSVidya Sagar	};
176a586c88eSVidya Sagar
177a586c88eSVidya Sagar	pcie@14180000 {
178a586c88eSVidya Sagar		status = "okay";
179a586c88eSVidya Sagar
180a586c88eSVidya Sagar		vddio-pex-ctl-supply = <&vdd_1v8ao>;
181a586c88eSVidya Sagar
182a586c88eSVidya Sagar		phys = <&p2u_hsio_2>, <&p2u_hsio_3>, <&p2u_hsio_4>,
183a586c88eSVidya Sagar		       <&p2u_hsio_5>;
184a586c88eSVidya Sagar		phy-names = "p2u-0", "p2u-1", "p2u-2", "p2u-3";
185a586c88eSVidya Sagar	};
186a586c88eSVidya Sagar
187a586c88eSVidya Sagar	pcie@141a0000 {
18809a0774aSVidya Sagar		status = "okay";
189a586c88eSVidya Sagar
190a586c88eSVidya Sagar		vddio-pex-ctl-supply = <&vdd_1v8ao>;
19109a0774aSVidya Sagar		vpcie3v3-supply = <&vdd_3v3_pcie>;
19209a0774aSVidya Sagar		vpcie12v-supply = <&vdd_12v_pcie>;
193a586c88eSVidya Sagar
194a586c88eSVidya Sagar		phys = <&p2u_nvhs_0>, <&p2u_nvhs_1>, <&p2u_nvhs_2>,
195a586c88eSVidya Sagar		       <&p2u_nvhs_3>, <&p2u_nvhs_4>, <&p2u_nvhs_5>,
196a586c88eSVidya Sagar		       <&p2u_nvhs_6>, <&p2u_nvhs_7>;
197a586c88eSVidya Sagar
198a586c88eSVidya Sagar		phy-names = "p2u-0", "p2u-1", "p2u-2", "p2u-3", "p2u-4",
199a586c88eSVidya Sagar			    "p2u-5", "p2u-6", "p2u-7";
200a586c88eSVidya Sagar	};
201a586c88eSVidya Sagar
202cfe3af19SThierry Reding	fan: fan {
20358542353SThierry Reding		compatible = "pwm-fan";
20458542353SThierry Reding		pwms = <&pwm4 0 45334>;
205cfe3af19SThierry Reding
206cfe3af19SThierry Reding		cooling-levels = <0 64 128 255>;
207cfe3af19SThierry Reding		#cooling-cells = <2>;
208cfe3af19SThierry Reding	};
209cfe3af19SThierry Reding
210e47ac508SThierry Reding	gpio-keys {
211e47ac508SThierry Reding		compatible = "gpio-keys";
212e47ac508SThierry Reding
213e47ac508SThierry Reding		force-recovery {
214e47ac508SThierry Reding			label = "Force Recovery";
215e47ac508SThierry Reding			gpios = <&gpio TEGRA194_MAIN_GPIO(G, 0)
216e47ac508SThierry Reding				       GPIO_ACTIVE_LOW>;
217e47ac508SThierry Reding			linux,input-type = <EV_KEY>;
218cd8f843cSThierry Reding			linux,code = <KEY_SLEEP>;
219e47ac508SThierry Reding			debounce-interval = <10>;
220e47ac508SThierry Reding		};
221e47ac508SThierry Reding
222e47ac508SThierry Reding		power {
223e47ac508SThierry Reding			label = "Power";
224e47ac508SThierry Reding			gpios = <&gpio_aon TEGRA194_AON_GPIO(EE, 4)
225e47ac508SThierry Reding					   GPIO_ACTIVE_LOW>;
226e47ac508SThierry Reding			linux,input-type = <EV_KEY>;
227e47ac508SThierry Reding			linux,code = <KEY_POWER>;
228e47ac508SThierry Reding			debounce-interval = <10>;
229e47ac508SThierry Reding			wakeup-event-action = <EV_ACT_ASSERTED>;
230e47ac508SThierry Reding			wakeup-source;
231e47ac508SThierry Reding		};
232e47ac508SThierry Reding	};
233e47ac508SThierry Reding
234cfe3af19SThierry Reding	thermal-zones {
235cfe3af19SThierry Reding		cpu {
236cfe3af19SThierry Reding			polling-delay = <0>;
237cfe3af19SThierry Reding			polling-delay-passive = <500>;
238cfe3af19SThierry Reding			status = "okay";
239cfe3af19SThierry Reding
240cfe3af19SThierry Reding			trips {
241cfe3af19SThierry Reding				cpu_trip_critical: critical {
242cfe3af19SThierry Reding					temperature = <96500>;
243cfe3af19SThierry Reding					hysteresis = <0>;
244cfe3af19SThierry Reding					type = "critical";
245cfe3af19SThierry Reding				};
246cfe3af19SThierry Reding
247cfe3af19SThierry Reding				cpu_trip_hot: hot {
248cfe3af19SThierry Reding					temperature = <70000>;
249cfe3af19SThierry Reding					hysteresis = <2000>;
250cfe3af19SThierry Reding					type = "hot";
251cfe3af19SThierry Reding				};
252cfe3af19SThierry Reding
253cfe3af19SThierry Reding				cpu_trip_active: active {
254cfe3af19SThierry Reding					temperature = <50000>;
255cfe3af19SThierry Reding					hysteresis = <2000>;
256cfe3af19SThierry Reding					type = "active";
257cfe3af19SThierry Reding				};
258cfe3af19SThierry Reding
259cfe3af19SThierry Reding				cpu_trip_passive: passive {
260cfe3af19SThierry Reding					temperature = <30000>;
261cfe3af19SThierry Reding					hysteresis = <2000>;
262cfe3af19SThierry Reding					type = "passive";
263cfe3af19SThierry Reding				};
264cfe3af19SThierry Reding			};
265cfe3af19SThierry Reding
266cfe3af19SThierry Reding			cooling-maps {
267cfe3af19SThierry Reding				cpu-critical {
268cfe3af19SThierry Reding					cooling-device = <&fan 3 3>;
269cfe3af19SThierry Reding					trip = <&cpu_trip_critical>;
270cfe3af19SThierry Reding				};
271cfe3af19SThierry Reding
272cfe3af19SThierry Reding				cpu-hot {
273cfe3af19SThierry Reding					cooling-device = <&fan 2 2>;
274cfe3af19SThierry Reding					trip = <&cpu_trip_hot>;
275cfe3af19SThierry Reding				};
276cfe3af19SThierry Reding
277cfe3af19SThierry Reding				cpu-active {
278cfe3af19SThierry Reding					cooling-device = <&fan 1 1>;
279cfe3af19SThierry Reding					trip = <&cpu_trip_active>;
280cfe3af19SThierry Reding				};
281cfe3af19SThierry Reding
282cfe3af19SThierry Reding				cpu-passive {
283cfe3af19SThierry Reding					cooling-device = <&fan 0 0>;
284cfe3af19SThierry Reding					trip = <&cpu_trip_passive>;
285cfe3af19SThierry Reding				};
286cfe3af19SThierry Reding			};
287cfe3af19SThierry Reding		};
288cfe3af19SThierry Reding
289cfe3af19SThierry Reding		gpu {
290cfe3af19SThierry Reding			polling-delay = <0>;
291cfe3af19SThierry Reding			polling-delay-passive = <500>;
292cfe3af19SThierry Reding			status = "okay";
293cfe3af19SThierry Reding
294cfe3af19SThierry Reding			trips {
295cfe3af19SThierry Reding				gpu_alert0: critical {
296cfe3af19SThierry Reding					temperature = <99000>;
297cfe3af19SThierry Reding					hysteresis = <0>;
298cfe3af19SThierry Reding					type = "critical";
299cfe3af19SThierry Reding				};
300cfe3af19SThierry Reding			};
301cfe3af19SThierry Reding		};
302cfe3af19SThierry Reding
303cfe3af19SThierry Reding		aux {
304cfe3af19SThierry Reding			polling-delay = <0>;
305cfe3af19SThierry Reding			polling-delay-passive = <500>;
306cfe3af19SThierry Reding			status = "okay";
307cfe3af19SThierry Reding
308cfe3af19SThierry Reding			trips {
309cfe3af19SThierry Reding				aux_alert0: critical {
310cfe3af19SThierry Reding					temperature = <90000>;
311cfe3af19SThierry Reding					hysteresis = <0>;
312cfe3af19SThierry Reding					type = "critical";
313cfe3af19SThierry Reding				};
314cfe3af19SThierry Reding			};
315cfe3af19SThierry Reding		};
316b8656c67SMikko Perttunen	};
317b8656c67SMikko Perttunen};
318