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