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