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