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