xref: /freebsd/sys/contrib/device-tree/src/arm64/nvidia/tegra194-p2888.dtsi (revision 9978553d0199e7ec0bdd1c44fc7f6c7b0c11e43b)
1// SPDX-License-Identifier: GPL-2.0
2#include "tegra194.dtsi"
3
4#include <dt-bindings/mfd/max77620.h>
5
6/ {
7	model = "NVIDIA Jetson AGX Xavier";
8	compatible = "nvidia,p2888", "nvidia,tegra194";
9
10	aliases {
11		ethernet0 = "/bus@0/ethernet@2490000";
12		i2c0 = "/bpmp/i2c";
13		i2c1 = "/bus@0/i2c@3160000";
14		i2c2 = "/bus@0/i2c@c240000";
15		i2c3 = "/bus@0/i2c@3180000";
16		i2c4 = "/bus@0/i2c@3190000";
17		i2c5 = "/bus@0/i2c@31c0000";
18		i2c6 = "/bus@0/i2c@c250000";
19		i2c7 = "/bus@0/i2c@31e0000";
20		mmc0 = "/bus@0/mmc@3460000";
21		mmc1 = "/bus@0/mmc@3400000";
22		serial0 = &tcu;
23	};
24
25	chosen {
26		bootargs = "console=ttyTCU0,115200n8";
27		stdout-path = "serial0:115200n8";
28	};
29
30	bus@0 {
31		ethernet@2490000 {
32			status = "okay";
33
34			phy-reset-gpios = <&gpio TEGRA194_MAIN_GPIO(G, 5) GPIO_ACTIVE_LOW>;
35			phy-handle = <&phy>;
36			phy-mode = "rgmii-id";
37
38			mdio {
39				#address-cells = <1>;
40				#size-cells = <0>;
41
42				phy: ethernet-phy@0 {
43					compatible = "ethernet-phy-ieee802.3-c22";
44					reg = <0x0>;
45					interrupt-parent = <&gpio>;
46					interrupts = <TEGRA194_MAIN_GPIO(G, 4) IRQ_TYPE_LEVEL_LOW>;
47					#phy-cells = <0>;
48				};
49			};
50		};
51
52		memory-controller@2c00000 {
53			status = "okay";
54		};
55
56		i2c@c240000 {
57			status = "okay";
58
59			power-sensor@40 {
60				compatible = "ti,ina3221";
61				reg = <0x40>;
62				#address-cells = <1>;
63				#size-cells = <0>;
64
65				input@0 {
66					reg = <0x0>;
67					label = "GPU";
68					shunt-resistor-micro-ohms = <5000>;
69				};
70				input@1 {
71					reg = <0x1>;
72					label = "CPU";
73					shunt-resistor-micro-ohms = <5000>;
74				};
75				input@2 {
76					reg = <0x2>;
77					label = "SOC";
78					shunt-resistor-micro-ohms = <5000>;
79				};
80			};
81
82			power-sensor@41 {
83				compatible = "ti,ina3221";
84				reg = <0x41>;
85				#address-cells = <1>;
86				#size-cells = <0>;
87
88				input@0 {
89					reg = <0x0>;
90					label = "CV";
91					shunt-resistor-micro-ohms = <5000>;
92				};
93				input@1 {
94					reg = <0x1>;
95					label = "VDDRQ";
96					shunt-resistor-micro-ohms = <5000>;
97				};
98				input@2 {
99					reg = <0x2>;
100					label = "SYS5V";
101					shunt-resistor-micro-ohms = <5000>;
102				};
103			};
104		};
105
106		serial@3110000 {
107			/delete-property/ dmas;
108			/delete-property/ dma-names;
109			status = "okay";
110		};
111
112		i2c@3160000 {
113			status = "okay";
114
115			eeprom@50 {
116				compatible = "atmel,24c02";
117				reg = <0x50>;
118
119				label = "module";
120				vcc-supply = <&vdd_1v8ls>;
121				address-width = <8>;
122				pagesize = <8>;
123				size = <256>;
124				read-only;
125			};
126		};
127
128		/* SDMMC1 (SD/MMC) */
129		mmc@3400000 {
130			cd-gpios = <&gpio TEGRA194_MAIN_GPIO(G, 7) GPIO_ACTIVE_LOW>;
131		};
132
133		/* SDMMC4 (eMMC) */
134		mmc@3460000 {
135			status = "okay";
136			bus-width = <8>;
137			non-removable;
138
139			vqmmc-supply = <&vdd_1v8ls>;
140			vmmc-supply = <&vdd_emmc_3v3>;
141		};
142
143		padctl@3520000 {
144			avdd-usb-supply = <&vdd_usb_3v3>;
145			vclamp-usb-supply = <&vdd_1v8ao>;
146
147			ports {
148				usb2-0 {
149					vbus-supply = <&vdd_5v0_sys>;
150				};
151
152				usb2-1 {
153					vbus-supply = <&vdd_5v0_sys>;
154				};
155
156				usb2-3 {
157					vbus-supply = <&vdd_5v_sata>;
158				};
159
160				usb3-0 {
161					vbus-supply = <&vdd_5v0_sys>;
162				};
163
164				usb3-2 {
165					vbus-supply = <&vdd_5v0_sys>;
166				};
167
168				usb3-3 {
169					vbus-supply = <&vdd_5v0_sys>;
170				};
171			};
172		};
173
174		rtc@c2a0000 {
175			status = "okay";
176		};
177
178		pmc@c360000 {
179			nvidia,invert-interrupt;
180		};
181	};
182
183	bpmp {
184		i2c {
185			status = "okay";
186
187			pmic: pmic@3c {
188				compatible = "maxim,max20024";
189				reg = <0x3c>;
190
191				interrupt-parent = <&pmc>;
192				interrupts = <24 IRQ_TYPE_LEVEL_LOW>;
193				#interrupt-cells = <2>;
194				interrupt-controller;
195
196				#gpio-cells = <2>;
197				gpio-controller;
198
199				pinctrl-names = "default";
200				pinctrl-0 = <&max20024_default>;
201
202				fps {
203					fps0 {
204						maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN0>;
205						maxim,shutdown-fps-time-period-us = <640>;
206					};
207
208					fps1 {
209						maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN1>;
210						maxim,shutdown-fps-time-period-us = <640>;
211						maxim,device-state-on-disabled-event = <MAX77620_FPS_INACTIVE_STATE_SLEEP>;
212					};
213
214					fps2 {
215						maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN0>;
216						maxim,shutdown-fps-time-period-us = <640>;
217					};
218				};
219
220				max20024_default: pinmux {
221					gpio0 {
222						pins = "gpio0";
223						function = "gpio";
224					};
225
226					gpio1 {
227						pins = "gpio1";
228						function = "fps-out";
229						maxim,active-fps-source = <MAX77620_FPS_SRC_DEF>;
230					};
231
232					gpio2 {
233						pins = "gpio2";
234						function = "fps-out";
235						maxim,active-fps-source = <MAX77620_FPS_SRC_DEF>;
236					};
237
238					gpio3 {
239						pins = "gpio3";
240						function = "fps-out";
241						maxim,active-fps-source = <MAX77620_FPS_SRC_DEF>;
242					};
243
244					gpio4 {
245						pins = "gpio4";
246						function = "32k-out1";
247						drive-push-pull = <1>;
248					};
249
250					gpio6 {
251						pins = "gpio6";
252						function = "gpio";
253						drive-push-pull = <1>;
254					};
255
256					gpio7 {
257						pins = "gpio7";
258						function = "gpio";
259						drive-push-pull = <0>;
260					};
261				};
262
263				regulators {
264					in-sd0-supply = <&vdd_5v0_sys>;
265					in-sd1-supply = <&vdd_5v0_sys>;
266					in-sd2-supply = <&vdd_5v0_sys>;
267					in-sd3-supply = <&vdd_5v0_sys>;
268					in-sd4-supply = <&vdd_5v0_sys>;
269
270					in-ldo0-1-supply = <&vdd_5v0_sys>;
271					in-ldo2-supply = <&vdd_5v0_sys>;
272					in-ldo3-5-supply = <&vdd_5v0_sys>;
273					in-ldo4-6-supply = <&vdd_5v0_sys>;
274					in-ldo7-8-supply = <&vdd_1v8ls>;
275
276					vdd_1v0: sd0 {
277						regulator-name = "VDDIO_SYS_1V0";
278						regulator-min-microvolt = <1000000>;
279						regulator-max-microvolt = <1000000>;
280						regulator-always-on;
281						regulator-boot-on;
282					};
283
284					vdd_1v8hs: sd1 {
285						regulator-name = "VDDIO_SYS_1V8HS";
286						regulator-min-microvolt = <1800000>;
287						regulator-max-microvolt = <1800000>;
288						regulator-always-on;
289						regulator-boot-on;
290					};
291
292					vdd_1v8ls: sd2 {
293						regulator-name = "VDDIO_SYS_1V8LS";
294						regulator-min-microvolt = <1800000>;
295						regulator-max-microvolt = <1800000>;
296						regulator-always-on;
297						regulator-boot-on;
298					};
299
300					vdd_1v8ao: sd3 {
301						regulator-name = "VDDIO_AO_1V8";
302						regulator-min-microvolt = <1800000>;
303						regulator-max-microvolt = <1800000>;
304						regulator-always-on;
305						regulator-boot-on;
306					};
307
308					sd4 {
309						regulator-name = "VDD_DDR_1V1";
310						regulator-min-microvolt = <1100000>;
311						regulator-max-microvolt = <1100000>;
312						regulator-always-on;
313						regulator-boot-on;
314					};
315
316					ldo0 {
317						regulator-name = "VDD_RTC";
318						regulator-min-microvolt = <800000>;
319						regulator-max-microvolt = <800000>;
320						regulator-always-on;
321						regulator-boot-on;
322					};
323
324					ldo2 {
325						regulator-name = "VDDIO_AO_3V3";
326						regulator-min-microvolt = <3300000>;
327						regulator-max-microvolt = <3300000>;
328						regulator-always-on;
329						regulator-boot-on;
330					};
331
332					vdd_emmc_3v3: ldo3 {
333						regulator-name = "VDD_EMMC_3V3";
334						regulator-min-microvolt = <3300000>;
335						regulator-max-microvolt = <3300000>;
336					};
337
338					vdd_usb_3v3: ldo5 {
339						regulator-name = "VDD_USB_3V3";
340						regulator-min-microvolt = <3300000>;
341						regulator-max-microvolt = <3300000>;
342					};
343
344					ldo6 {
345						regulator-name = "VDD_SDIO_3V3";
346						regulator-min-microvolt = <3300000>;
347						regulator-max-microvolt = <3300000>;
348					};
349
350					ldo7 {
351						regulator-name = "AVDD_CSI_1V2";
352						regulator-min-microvolt = <1200000>;
353						regulator-max-microvolt = <1200000>;
354					};
355				};
356			};
357
358			temperature-sensor@4c {
359				compatible = "ti,tmp451";
360				reg = <0x4c>;
361
362				interrupt-parent = <&gpio>;
363				interrupts = <TEGRA194_MAIN_GPIO(H, 2)
364					      IRQ_TYPE_EDGE_FALLING>;
365				vcc-supply = <&vdd_1v8ls>;
366
367				#thermal-sensor-cells = <1>;
368			};
369		};
370	};
371
372	vdd_5v0_sys: regulator-vdd-5v0-sys {
373		compatible = "regulator-fixed";
374		regulator-name = "VIN_SYS_5V0";
375		regulator-min-microvolt = <5000000>;
376		regulator-max-microvolt = <5000000>;
377		regulator-always-on;
378		regulator-boot-on;
379	};
380
381	vdd_hdmi: regulator-vdd-hdmi {
382		compatible = "regulator-fixed";
383		regulator-name = "VDD_5V0_HDMI_CON";
384		regulator-min-microvolt = <5000000>;
385		regulator-max-microvolt = <5000000>;
386		gpio = <&gpio TEGRA194_MAIN_GPIO(A, 3) GPIO_ACTIVE_HIGH>;
387		enable-active-high;
388	};
389
390	vdd_3v3_pcie: regulator-vdd-3v3-pcie {
391		compatible = "regulator-fixed";
392		regulator-name = "PEX_3V3";
393		regulator-min-microvolt = <3300000>;
394		regulator-max-microvolt = <3300000>;
395		gpio = <&gpio TEGRA194_MAIN_GPIO(Z, 2) GPIO_ACTIVE_HIGH>;
396		regulator-boot-on;
397		enable-active-high;
398	};
399
400	vdd_12v_pcie: regulator-vdd-12v-pcie {
401		compatible = "regulator-fixed";
402		regulator-name = "VDD_12V";
403		regulator-min-microvolt = <1200000>;
404		regulator-max-microvolt = <1200000>;
405		gpio = <&gpio TEGRA194_MAIN_GPIO(A, 1) GPIO_ACTIVE_HIGH>;
406		regulator-boot-on;
407	};
408
409	vdd_5v_sata: regulator-vdd-5v0-sata {
410		compatible = "regulator-fixed";
411		regulator-name = "VDD_5V_SATA";
412		regulator-min-microvolt = <5000000>;
413		regulator-max-microvolt = <5000000>;
414		gpio = <&gpio TEGRA194_MAIN_GPIO(Z, 1) GPIO_ACTIVE_HIGH>;
415		enable-active-high;
416	};
417};
418