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