1b8656c67SMikko Perttunen// SPDX-License-Identifier: GPL-2.0
2b8656c67SMikko Perttunen#include "tegra194.dtsi"
3b8656c67SMikko Perttunen
4b8656c67SMikko Perttunen#include <dt-bindings/mfd/max77620.h>
5b8656c67SMikko Perttunen
6b8656c67SMikko Perttunen/ {
7f85d82e5SThierry Reding	model = "NVIDIA Jetson AGX Xavier";
8b8656c67SMikko Perttunen	compatible = "nvidia,p2888", "nvidia,tegra194";
9b8656c67SMikko Perttunen
10b8656c67SMikko Perttunen	aliases {
118b3aee8fSThierry Reding		ethernet0 = "/bus@0/ethernet@2490000";
12b8656c67SMikko Perttunen		i2c0 = "/bpmp/i2c";
138b3aee8fSThierry Reding		i2c1 = "/bus@0/i2c@3160000";
148b3aee8fSThierry Reding		i2c2 = "/bus@0/i2c@c240000";
158b3aee8fSThierry Reding		i2c3 = "/bus@0/i2c@3180000";
168b3aee8fSThierry Reding		i2c4 = "/bus@0/i2c@3190000";
178b3aee8fSThierry Reding		i2c5 = "/bus@0/i2c@31c0000";
188b3aee8fSThierry Reding		i2c6 = "/bus@0/i2c@c250000";
198b3aee8fSThierry Reding		i2c7 = "/bus@0/i2c@31e0000";
207d6dbb7bSThierry Reding		mmc0 = "/bus@0/mmc@3460000";
217d6dbb7bSThierry Reding		mmc1 = "/bus@0/mmc@3400000";
227d6dbb7bSThierry Reding		serial0 = &tcu;
23b8656c67SMikko Perttunen	};
24b8656c67SMikko Perttunen
25b8656c67SMikko Perttunen	chosen {
26b8656c67SMikko Perttunen		bootargs = "console=ttyS0,115200n8";
27b8656c67SMikko Perttunen		stdout-path = "serial0:115200n8";
28b8656c67SMikko Perttunen	};
29b8656c67SMikko Perttunen
308b3aee8fSThierry Reding	bus@0 {
31f89b58ceSMikko Perttunen		ethernet@2490000 {
32f89b58ceSMikko Perttunen			status = "okay";
33f89b58ceSMikko Perttunen
34f89b58ceSMikko Perttunen			phy-reset-gpios = <&gpio TEGRA194_MAIN_GPIO(G, 5) GPIO_ACTIVE_LOW>;
35f89b58ceSMikko Perttunen			phy-handle = <&phy>;
36bba25915SJon Hunter			phy-mode = "rgmii-id";
37f89b58ceSMikko Perttunen
38f89b58ceSMikko Perttunen			mdio {
39f89b58ceSMikko Perttunen				#address-cells = <1>;
40f89b58ceSMikko Perttunen				#size-cells = <0>;
41f89b58ceSMikko Perttunen
42f89b58ceSMikko Perttunen				phy: phy@0 {
43f89b58ceSMikko Perttunen					compatible = "ethernet-phy-ieee802.3-c22";
44f89b58ceSMikko Perttunen					reg = <0x0>;
45f89b58ceSMikko Perttunen					interrupt-parent = <&gpio>;
46f89b58ceSMikko Perttunen					interrupts = <TEGRA194_MAIN_GPIO(G, 4) IRQ_TYPE_LEVEL_LOW>;
47a10b9a20SThierry Reding					#phy-cells = <0>;
48f89b58ceSMikko Perttunen				};
49f89b58ceSMikko Perttunen			};
50f89b58ceSMikko Perttunen		};
51f89b58ceSMikko Perttunen
52be9b887fSThierry Reding		memory-controller@2c00000 {
53be9b887fSThierry Reding			status = "okay";
54be9b887fSThierry Reding		};
55be9b887fSThierry Reding
56b8656c67SMikko Perttunen		serial@3110000 {
57b8656c67SMikko Perttunen			status = "okay";
58b8656c67SMikko Perttunen		};
59b8656c67SMikko Perttunen
60228f1e6aSThierry Reding		i2c@3160000 {
61228f1e6aSThierry Reding			status = "okay";
62228f1e6aSThierry Reding
63228f1e6aSThierry Reding			eeprom@50 {
64228f1e6aSThierry Reding				compatible = "atmel,24c02";
65228f1e6aSThierry Reding				reg = <0x50>;
66228f1e6aSThierry Reding
67a4387f29SJon Hunter				label = "module";
68228f1e6aSThierry Reding				vcc-supply = <&vdd_1v8ls>;
69228f1e6aSThierry Reding				address-width = <8>;
70228f1e6aSThierry Reding				pagesize = <8>;
71228f1e6aSThierry Reding				size = <256>;
72228f1e6aSThierry Reding				read-only;
73228f1e6aSThierry Reding			};
74228f1e6aSThierry Reding		};
75228f1e6aSThierry Reding
76b8656c67SMikko Perttunen		/* SDMMC1 (SD/MMC) */
7767bb17f6SThierry Reding		mmc@3400000 {
78b8656c67SMikko Perttunen			cd-gpios = <&gpio TEGRA194_MAIN_GPIO(A, 0) GPIO_ACTIVE_LOW>;
79b8656c67SMikko Perttunen		};
80b8656c67SMikko Perttunen
81b8656c67SMikko Perttunen		/* SDMMC4 (eMMC) */
8267bb17f6SThierry Reding		mmc@3460000 {
83b8656c67SMikko Perttunen			status = "okay";
84b8656c67SMikko Perttunen			bus-width = <8>;
85b8656c67SMikko Perttunen			non-removable;
86b8656c67SMikko Perttunen
87b8656c67SMikko Perttunen			vqmmc-supply = <&vdd_1v8ls>;
88b8656c67SMikko Perttunen			vmmc-supply = <&vdd_emmc_3v3>;
89b8656c67SMikko Perttunen		};
90b8656c67SMikko Perttunen
9192f37c0aSJC Kuo		padctl@3520000 {
9292f37c0aSJC Kuo			avdd-usb-supply = <&vdd_usb_3v3>;
9392f37c0aSJC Kuo			vclamp-usb-supply = <&vdd_1v8ao>;
9492f37c0aSJC Kuo
9592f37c0aSJC Kuo			ports {
9640b4d824SJC Kuo				usb2-0 {
9740b4d824SJC Kuo					vbus-supply = <&vdd_5v0_sys>;
9840b4d824SJC Kuo				};
9940b4d824SJC Kuo
10092f37c0aSJC Kuo				usb2-1 {
10192f37c0aSJC Kuo					vbus-supply = <&vdd_5v0_sys>;
10292f37c0aSJC Kuo				};
10392f37c0aSJC Kuo
10492f37c0aSJC Kuo				usb2-3 {
10592f37c0aSJC Kuo					vbus-supply = <&vdd_5v_sata>;
10692f37c0aSJC Kuo				};
10792f37c0aSJC Kuo
10892f37c0aSJC Kuo				usb3-0 {
10992f37c0aSJC Kuo					vbus-supply = <&vdd_5v0_sys>;
11092f37c0aSJC Kuo				};
11192f37c0aSJC Kuo
11240b4d824SJC Kuo				usb3-2 {
11340b4d824SJC Kuo					vbus-supply = <&vdd_5v0_sys>;
11440b4d824SJC Kuo				};
11540b4d824SJC Kuo
11692f37c0aSJC Kuo				usb3-3 {
11792f37c0aSJC Kuo					vbus-supply = <&vdd_5v0_sys>;
11892f37c0aSJC Kuo				};
11992f37c0aSJC Kuo			};
12092f37c0aSJC Kuo		};
12192f37c0aSJC Kuo
1223ae50e83SThierry Reding		rtc@c2a0000 {
1233ae50e83SThierry Reding			status = "okay";
1243ae50e83SThierry Reding		};
1253ae50e83SThierry Reding
126b8656c67SMikko Perttunen		pmc@c360000 {
127b8656c67SMikko Perttunen			nvidia,invert-interrupt;
128b8656c67SMikko Perttunen		};
129b8656c67SMikko Perttunen	};
130b8656c67SMikko Perttunen
131b8656c67SMikko Perttunen	bpmp {
132b8656c67SMikko Perttunen		i2c {
133b8656c67SMikko Perttunen			status = "okay";
134b8656c67SMikko Perttunen
135b8656c67SMikko Perttunen			pmic: pmic@3c {
136b8656c67SMikko Perttunen				compatible = "maxim,max20024";
137b8656c67SMikko Perttunen				reg = <0x3c>;
138b8656c67SMikko Perttunen
1394012ab12SJon Hunter				interrupt-parent = <&pmc>;
1404012ab12SJon Hunter				interrupts = <24 IRQ_TYPE_LEVEL_LOW>;
141b8656c67SMikko Perttunen				#interrupt-cells = <2>;
142b8656c67SMikko Perttunen				interrupt-controller;
143b8656c67SMikko Perttunen
144b8656c67SMikko Perttunen				#gpio-cells = <2>;
145b8656c67SMikko Perttunen				gpio-controller;
146b8656c67SMikko Perttunen
147b8656c67SMikko Perttunen				pinctrl-names = "default";
148b8656c67SMikko Perttunen				pinctrl-0 = <&max20024_default>;
149b8656c67SMikko Perttunen
150b8656c67SMikko Perttunen				max20024_default: pinmux {
151b8656c67SMikko Perttunen					gpio0 {
152b8656c67SMikko Perttunen						pins = "gpio0";
153b8656c67SMikko Perttunen						function = "gpio";
154b8656c67SMikko Perttunen					};
155b8656c67SMikko Perttunen
156b8656c67SMikko Perttunen					gpio1 {
157b8656c67SMikko Perttunen						pins = "gpio1";
158b8656c67SMikko Perttunen						function = "fps-out";
159b8656c67SMikko Perttunen						maxim,active-fps-source = <MAX77620_FPS_SRC_DEF>;
160b8656c67SMikko Perttunen					};
161b8656c67SMikko Perttunen
162b8656c67SMikko Perttunen					gpio2 {
163b8656c67SMikko Perttunen						pins = "gpio2";
164b8656c67SMikko Perttunen						function = "fps-out";
165b8656c67SMikko Perttunen						maxim,active-fps-source = <MAX77620_FPS_SRC_DEF>;
166b8656c67SMikko Perttunen					};
167b8656c67SMikko Perttunen
168b8656c67SMikko Perttunen					gpio3 {
169b8656c67SMikko Perttunen						pins = "gpio3";
170b8656c67SMikko Perttunen						function = "fps-out";
171b8656c67SMikko Perttunen						maxim,active-fps-source = <MAX77620_FPS_SRC_DEF>;
172b8656c67SMikko Perttunen					};
173b8656c67SMikko Perttunen
174b8656c67SMikko Perttunen					gpio4 {
175b8656c67SMikko Perttunen						pins = "gpio4";
176b8656c67SMikko Perttunen						function = "32k-out1";
177b8656c67SMikko Perttunen						drive-push-pull = <1>;
178b8656c67SMikko Perttunen					};
179b8656c67SMikko Perttunen
180b8656c67SMikko Perttunen					gpio6 {
181b8656c67SMikko Perttunen						pins = "gpio6";
182b8656c67SMikko Perttunen						function = "gpio";
183b8656c67SMikko Perttunen						drive-push-pull = <1>;
184b8656c67SMikko Perttunen					};
185b8656c67SMikko Perttunen
186b8656c67SMikko Perttunen					gpio7 {
187b8656c67SMikko Perttunen						pins = "gpio7";
188b8656c67SMikko Perttunen						function = "gpio";
189b8656c67SMikko Perttunen						drive-push-pull = <0>;
190b8656c67SMikko Perttunen					};
191b8656c67SMikko Perttunen				};
192b8656c67SMikko Perttunen
193b8656c67SMikko Perttunen				fps {
194b8656c67SMikko Perttunen					fps0 {
195b8656c67SMikko Perttunen						maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN0>;
196b8656c67SMikko Perttunen						maxim,shutdown-fps-time-period-us = <640>;
197b8656c67SMikko Perttunen					};
198b8656c67SMikko Perttunen
199b8656c67SMikko Perttunen					fps1 {
200b8656c67SMikko Perttunen						maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN1>;
201b8656c67SMikko Perttunen						maxim,shutdown-fps-time-period-us = <640>;
202b8656c67SMikko Perttunen						maxim,device-state-on-disabled-event = <MAX77620_FPS_INACTIVE_STATE_SLEEP>;
203b8656c67SMikko Perttunen					};
204b8656c67SMikko Perttunen
205b8656c67SMikko Perttunen					fps2 {
206b8656c67SMikko Perttunen						maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN0>;
207b8656c67SMikko Perttunen						maxim,shutdown-fps-time-period-us = <640>;
208b8656c67SMikko Perttunen					};
209b8656c67SMikko Perttunen				};
210b8656c67SMikko Perttunen
211b8656c67SMikko Perttunen				regulators {
212b8656c67SMikko Perttunen					in-sd0-supply = <&vdd_5v0_sys>;
213b8656c67SMikko Perttunen					in-sd1-supply = <&vdd_5v0_sys>;
214b8656c67SMikko Perttunen					in-sd2-supply = <&vdd_5v0_sys>;
215b8656c67SMikko Perttunen					in-sd3-supply = <&vdd_5v0_sys>;
216b8656c67SMikko Perttunen					in-sd4-supply = <&vdd_5v0_sys>;
217b8656c67SMikko Perttunen
218b8656c67SMikko Perttunen					in-ldo0-1-supply = <&vdd_5v0_sys>;
219b8656c67SMikko Perttunen					in-ldo2-supply = <&vdd_5v0_sys>;
220b8656c67SMikko Perttunen					in-ldo3-5-supply = <&vdd_5v0_sys>;
221b8656c67SMikko Perttunen					in-ldo4-6-supply = <&vdd_5v0_sys>;
222b8656c67SMikko Perttunen					in-ldo7-8-supply = <&vdd_1v8ls>;
223b8656c67SMikko Perttunen
22433c038e4SThierry Reding					vdd_1v0: sd0 {
225c90b8f15SThierry Reding						regulator-name = "VDDIO_SYS_1V0";
226b8656c67SMikko Perttunen						regulator-min-microvolt = <1000000>;
227b8656c67SMikko Perttunen						regulator-max-microvolt = <1000000>;
228b8656c67SMikko Perttunen						regulator-always-on;
229b8656c67SMikko Perttunen						regulator-boot-on;
230b8656c67SMikko Perttunen					};
231b8656c67SMikko Perttunen
23233c038e4SThierry Reding					vdd_1v8hs: sd1 {
233c90b8f15SThierry Reding						regulator-name = "VDDIO_SYS_1V8HS";
234b8656c67SMikko Perttunen						regulator-min-microvolt = <1800000>;
235b8656c67SMikko Perttunen						regulator-max-microvolt = <1800000>;
236b8656c67SMikko Perttunen						regulator-always-on;
237b8656c67SMikko Perttunen						regulator-boot-on;
238b8656c67SMikko Perttunen					};
239b8656c67SMikko Perttunen
240b8656c67SMikko Perttunen					vdd_1v8ls: sd2 {
241c90b8f15SThierry Reding						regulator-name = "VDDIO_SYS_1V8LS";
242b8656c67SMikko Perttunen						regulator-min-microvolt = <1800000>;
243b8656c67SMikko Perttunen						regulator-max-microvolt = <1800000>;
244b8656c67SMikko Perttunen						regulator-always-on;
245b8656c67SMikko Perttunen						regulator-boot-on;
246b8656c67SMikko Perttunen					};
247b8656c67SMikko Perttunen
248a586c88eSVidya Sagar					vdd_1v8ao: sd3 {
249c90b8f15SThierry Reding						regulator-name = "VDDIO_AO_1V8";
250b8656c67SMikko Perttunen						regulator-min-microvolt = <1800000>;
251b8656c67SMikko Perttunen						regulator-max-microvolt = <1800000>;
252b8656c67SMikko Perttunen						regulator-always-on;
253b8656c67SMikko Perttunen						regulator-boot-on;
254b8656c67SMikko Perttunen					};
255b8656c67SMikko Perttunen
256b8656c67SMikko Perttunen					sd4 {
257b8656c67SMikko Perttunen						regulator-name = "VDD_DDR_1V1";
258b8656c67SMikko Perttunen						regulator-min-microvolt = <1100000>;
259b8656c67SMikko Perttunen						regulator-max-microvolt = <1100000>;
260b8656c67SMikko Perttunen						regulator-always-on;
261b8656c67SMikko Perttunen						regulator-boot-on;
262b8656c67SMikko Perttunen					};
263b8656c67SMikko Perttunen
264b8656c67SMikko Perttunen					ldo0 {
265b8656c67SMikko Perttunen						regulator-name = "VDD_RTC";
266b8656c67SMikko Perttunen						regulator-min-microvolt = <800000>;
267b8656c67SMikko Perttunen						regulator-max-microvolt = <800000>;
268b8656c67SMikko Perttunen						regulator-always-on;
269b8656c67SMikko Perttunen						regulator-boot-on;
270b8656c67SMikko Perttunen					};
271b8656c67SMikko Perttunen
272b8656c67SMikko Perttunen					ldo2 {
273c90b8f15SThierry Reding						regulator-name = "VDDIO_AO_3V3";
274b8656c67SMikko Perttunen						regulator-min-microvolt = <3300000>;
275b8656c67SMikko Perttunen						regulator-max-microvolt = <3300000>;
276b8656c67SMikko Perttunen						regulator-always-on;
277b8656c67SMikko Perttunen						regulator-boot-on;
278b8656c67SMikko Perttunen					};
279b8656c67SMikko Perttunen
280b8656c67SMikko Perttunen					vdd_emmc_3v3: ldo3 {
281b8656c67SMikko Perttunen						regulator-name = "VDD_EMMC_3V3";
282b8656c67SMikko Perttunen						regulator-min-microvolt = <3300000>;
283b8656c67SMikko Perttunen						regulator-max-microvolt = <3300000>;
284b8656c67SMikko Perttunen					};
285b8656c67SMikko Perttunen
28692f37c0aSJC Kuo					vdd_usb_3v3: ldo5 {
287b8656c67SMikko Perttunen						regulator-name = "VDD_USB_3V3";
288b8656c67SMikko Perttunen						regulator-min-microvolt = <3300000>;
289b8656c67SMikko Perttunen						regulator-max-microvolt = <3300000>;
290b8656c67SMikko Perttunen					};
291b8656c67SMikko Perttunen
292b8656c67SMikko Perttunen					ldo6 {
293b8656c67SMikko Perttunen						regulator-name = "VDD_SDIO_3V3";
294b8656c67SMikko Perttunen						regulator-min-microvolt = <3300000>;
295b8656c67SMikko Perttunen						regulator-max-microvolt = <3300000>;
296b8656c67SMikko Perttunen					};
297b8656c67SMikko Perttunen
298b8656c67SMikko Perttunen					ldo7 {
299c90b8f15SThierry Reding						regulator-name = "AVDD_CSI_1V2";
300b8656c67SMikko Perttunen						regulator-min-microvolt = <1200000>;
301b8656c67SMikko Perttunen						regulator-max-microvolt = <1200000>;
302b8656c67SMikko Perttunen					};
303b8656c67SMikko Perttunen				};
304b8656c67SMikko Perttunen			};
3058b457812SThierry Reding
3068b457812SThierry Reding			temperature-sensor@4c {
3078b457812SThierry Reding				compatible = "ti,tmp451";
3088b457812SThierry Reding				reg = <0x4c>;
3098b457812SThierry Reding
3108b457812SThierry Reding				interrupt-parent = <&gpio>;
3118b457812SThierry Reding				interrupts = <TEGRA194_MAIN_GPIO(H, 2)
312dbb096d3SDmitry Osipenko					      IRQ_TYPE_EDGE_FALLING>;
31373207330SJon Hunter				vcc-supply = <&vdd_1v8ls>;
3148b457812SThierry Reding
3158b457812SThierry Reding				#thermal-sensor-cells = <1>;
3168b457812SThierry Reding			};
317b8656c67SMikko Perttunen		};
318b8656c67SMikko Perttunen	};
319b8656c67SMikko Perttunen
320*097e01c6SThierry Reding	vdd_5v0_sys: regulator-vdd-5v0-sys {
321b8656c67SMikko Perttunen		compatible = "regulator-fixed";
322b8656c67SMikko Perttunen		regulator-name = "VIN_SYS_5V0";
323b8656c67SMikko Perttunen		regulator-min-microvolt = <5000000>;
324b8656c67SMikko Perttunen		regulator-max-microvolt = <5000000>;
325b8656c67SMikko Perttunen		regulator-always-on;
326b8656c67SMikko Perttunen		regulator-boot-on;
327b8656c67SMikko Perttunen	};
32833c038e4SThierry Reding
329*097e01c6SThierry Reding	vdd_hdmi: regulator-vdd-hdmi {
33033c038e4SThierry Reding		compatible = "regulator-fixed";
33133c038e4SThierry Reding		regulator-name = "VDD_5V0_HDMI_CON";
33233c038e4SThierry Reding		regulator-min-microvolt = <5000000>;
33333c038e4SThierry Reding		regulator-max-microvolt = <5000000>;
33433c038e4SThierry Reding		gpio = <&gpio TEGRA194_MAIN_GPIO(A, 3) GPIO_ACTIVE_HIGH>;
33533c038e4SThierry Reding		enable-active-high;
33633c038e4SThierry Reding	};
33709a0774aSVidya Sagar
338*097e01c6SThierry Reding	vdd_3v3_pcie: regulator-vdd-3v3-pcie {
33909a0774aSVidya Sagar		compatible = "regulator-fixed";
34009a0774aSVidya Sagar		regulator-name = "PEX_3V3";
34109a0774aSVidya Sagar		regulator-min-microvolt = <3300000>;
34209a0774aSVidya Sagar		regulator-max-microvolt = <3300000>;
34309a0774aSVidya Sagar		gpio = <&gpio TEGRA194_MAIN_GPIO(Z, 2) GPIO_ACTIVE_HIGH>;
34409a0774aSVidya Sagar		regulator-boot-on;
34509a0774aSVidya Sagar		enable-active-high;
34609a0774aSVidya Sagar	};
34709a0774aSVidya Sagar
348*097e01c6SThierry Reding	vdd_12v_pcie: regulator-vdd-12v-pcie {
34909a0774aSVidya Sagar		compatible = "regulator-fixed";
35009a0774aSVidya Sagar		regulator-name = "VDD_12V";
35109a0774aSVidya Sagar		regulator-min-microvolt = <1200000>;
35209a0774aSVidya Sagar		regulator-max-microvolt = <1200000>;
353d440538eSJon Hunter		gpio = <&gpio TEGRA194_MAIN_GPIO(A, 1) GPIO_ACTIVE_HIGH>;
35409a0774aSVidya Sagar		regulator-boot-on;
35509a0774aSVidya Sagar	};
35692f37c0aSJC Kuo
357*097e01c6SThierry Reding	vdd_5v_sata: regulator-vdd-5v0-sata {
35892f37c0aSJC Kuo		compatible = "regulator-fixed";
35992f37c0aSJC Kuo		regulator-name = "VDD_5V_SATA";
36092f37c0aSJC Kuo		regulator-min-microvolt = <5000000>;
36192f37c0aSJC Kuo		regulator-max-microvolt = <5000000>;
36292f37c0aSJC Kuo		gpio = <&gpio TEGRA194_MAIN_GPIO(Z, 1) GPIO_ACTIVE_HIGH>;
36392f37c0aSJC Kuo		enable-active-high;
36492f37c0aSJC Kuo	};
365b8656c67SMikko Perttunen};
366