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 {
112b6b3940SThierry Reding		ethernet0 = "/cbb@0/ethernet@2490000";
12eef97c2aSThierry Reding		sdhci0 = "/cbb@0/sdhci@3460000";
13eef97c2aSThierry Reding		sdhci1 = "/cbb@0/sdhci@3400000";
146ab6a4d2SMikko Perttunen		serial0 = &tcu;
15b8656c67SMikko Perttunen		i2c0 = "/bpmp/i2c";
16eef97c2aSThierry Reding		i2c1 = "/cbb@0/i2c@3160000";
17eef97c2aSThierry Reding		i2c2 = "/cbb@0/i2c@c240000";
18eef97c2aSThierry Reding		i2c3 = "/cbb@0/i2c@3180000";
19eef97c2aSThierry Reding		i2c4 = "/cbb@0/i2c@3190000";
20eef97c2aSThierry Reding		i2c5 = "/cbb@0/i2c@31c0000";
21eef97c2aSThierry Reding		i2c6 = "/cbb@0/i2c@c250000";
22eef97c2aSThierry Reding		i2c7 = "/cbb@0/i2c@31e0000";
23b8656c67SMikko Perttunen	};
24b8656c67SMikko Perttunen
25b8656c67SMikko Perttunen	chosen {
26b8656c67SMikko Perttunen		bootargs = "console=ttyS0,115200n8";
27b8656c67SMikko Perttunen		stdout-path = "serial0:115200n8";
28b8656c67SMikko Perttunen	};
29b8656c67SMikko Perttunen
30eef97c2aSThierry Reding	cbb@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>;
47f89b58ceSMikko Perttunen				};
48f89b58ceSMikko Perttunen			};
49f89b58ceSMikko Perttunen		};
50f89b58ceSMikko Perttunen
51be9b887fSThierry Reding		memory-controller@2c00000 {
52be9b887fSThierry Reding			status = "okay";
53be9b887fSThierry Reding		};
54be9b887fSThierry Reding
55b8656c67SMikko Perttunen		serial@3110000 {
56b8656c67SMikko Perttunen			status = "okay";
57b8656c67SMikko Perttunen		};
58b8656c67SMikko Perttunen
59b8656c67SMikko Perttunen		/* SDMMC1 (SD/MMC) */
60b8656c67SMikko Perttunen		sdhci@3400000 {
61b8656c67SMikko Perttunen			cd-gpios = <&gpio TEGRA194_MAIN_GPIO(A, 0) GPIO_ACTIVE_LOW>;
62b8656c67SMikko Perttunen		};
63b8656c67SMikko Perttunen
64b8656c67SMikko Perttunen		/* SDMMC4 (eMMC) */
65b8656c67SMikko Perttunen		sdhci@3460000 {
66b8656c67SMikko Perttunen			status = "okay";
67b8656c67SMikko Perttunen			bus-width = <8>;
68b8656c67SMikko Perttunen			non-removable;
69b8656c67SMikko Perttunen
70b8656c67SMikko Perttunen			vqmmc-supply = <&vdd_1v8ls>;
71b8656c67SMikko Perttunen			vmmc-supply = <&vdd_emmc_3v3>;
72b8656c67SMikko Perttunen		};
73b8656c67SMikko Perttunen
7492f37c0aSJC Kuo		padctl@3520000 {
7592f37c0aSJC Kuo			avdd-usb-supply = <&vdd_usb_3v3>;
7692f37c0aSJC Kuo			vclamp-usb-supply = <&vdd_1v8ao>;
7792f37c0aSJC Kuo
7892f37c0aSJC Kuo			ports {
7992f37c0aSJC Kuo				usb2-1 {
8092f37c0aSJC Kuo					vbus-supply = <&vdd_5v0_sys>;
8192f37c0aSJC Kuo				};
8292f37c0aSJC Kuo
8392f37c0aSJC Kuo				usb2-3 {
8492f37c0aSJC Kuo					vbus-supply = <&vdd_5v_sata>;
8592f37c0aSJC Kuo				};
8692f37c0aSJC Kuo
8792f37c0aSJC Kuo				usb3-0 {
8892f37c0aSJC Kuo					vbus-supply = <&vdd_5v0_sys>;
8992f37c0aSJC Kuo				};
9092f37c0aSJC Kuo
9192f37c0aSJC Kuo				usb3-3 {
9292f37c0aSJC Kuo					vbus-supply = <&vdd_5v0_sys>;
9392f37c0aSJC Kuo				};
9492f37c0aSJC Kuo			};
9592f37c0aSJC Kuo		};
9692f37c0aSJC Kuo
973ae50e83SThierry Reding		rtc@c2a0000 {
983ae50e83SThierry Reding			status = "okay";
993ae50e83SThierry Reding		};
1003ae50e83SThierry Reding
101b8656c67SMikko Perttunen		pmc@c360000 {
102b8656c67SMikko Perttunen			nvidia,invert-interrupt;
103b8656c67SMikko Perttunen		};
104b8656c67SMikko Perttunen	};
105b8656c67SMikko Perttunen
106b8656c67SMikko Perttunen	bpmp {
107b8656c67SMikko Perttunen		i2c {
108b8656c67SMikko Perttunen			status = "okay";
109b8656c67SMikko Perttunen
110b8656c67SMikko Perttunen			pmic: pmic@3c {
111b8656c67SMikko Perttunen				compatible = "maxim,max20024";
112b8656c67SMikko Perttunen				reg = <0x3c>;
113b8656c67SMikko Perttunen
114b8656c67SMikko Perttunen				interrupts = <GIC_SPI 209 IRQ_TYPE_LEVEL_HIGH>;
115b8656c67SMikko Perttunen				#interrupt-cells = <2>;
116b8656c67SMikko Perttunen				interrupt-controller;
117b8656c67SMikko Perttunen
118b8656c67SMikko Perttunen				#gpio-cells = <2>;
119b8656c67SMikko Perttunen				gpio-controller;
120b8656c67SMikko Perttunen
121b8656c67SMikko Perttunen				pinctrl-names = "default";
122b8656c67SMikko Perttunen				pinctrl-0 = <&max20024_default>;
123b8656c67SMikko Perttunen
124b8656c67SMikko Perttunen				max20024_default: pinmux {
125b8656c67SMikko Perttunen					gpio0 {
126b8656c67SMikko Perttunen						pins = "gpio0";
127b8656c67SMikko Perttunen						function = "gpio";
128b8656c67SMikko Perttunen					};
129b8656c67SMikko Perttunen
130b8656c67SMikko Perttunen					gpio1 {
131b8656c67SMikko Perttunen						pins = "gpio1";
132b8656c67SMikko Perttunen						function = "fps-out";
133b8656c67SMikko Perttunen						maxim,active-fps-source = <MAX77620_FPS_SRC_DEF>;
134b8656c67SMikko Perttunen					};
135b8656c67SMikko Perttunen
136b8656c67SMikko Perttunen					gpio2 {
137b8656c67SMikko Perttunen						pins = "gpio2";
138b8656c67SMikko Perttunen						function = "fps-out";
139b8656c67SMikko Perttunen						maxim,active-fps-source = <MAX77620_FPS_SRC_DEF>;
140b8656c67SMikko Perttunen					};
141b8656c67SMikko Perttunen
142b8656c67SMikko Perttunen					gpio3 {
143b8656c67SMikko Perttunen						pins = "gpio3";
144b8656c67SMikko Perttunen						function = "fps-out";
145b8656c67SMikko Perttunen						maxim,active-fps-source = <MAX77620_FPS_SRC_DEF>;
146b8656c67SMikko Perttunen					};
147b8656c67SMikko Perttunen
148b8656c67SMikko Perttunen					gpio4 {
149b8656c67SMikko Perttunen						pins = "gpio4";
150b8656c67SMikko Perttunen						function = "32k-out1";
151b8656c67SMikko Perttunen						drive-push-pull = <1>;
152b8656c67SMikko Perttunen					};
153b8656c67SMikko Perttunen
154b8656c67SMikko Perttunen					gpio6 {
155b8656c67SMikko Perttunen						pins = "gpio6";
156b8656c67SMikko Perttunen						function = "gpio";
157b8656c67SMikko Perttunen						drive-push-pull = <1>;
158b8656c67SMikko Perttunen					};
159b8656c67SMikko Perttunen
160b8656c67SMikko Perttunen					gpio7 {
161b8656c67SMikko Perttunen						pins = "gpio7";
162b8656c67SMikko Perttunen						function = "gpio";
163b8656c67SMikko Perttunen						drive-push-pull = <0>;
164b8656c67SMikko Perttunen					};
165b8656c67SMikko Perttunen				};
166b8656c67SMikko Perttunen
167b8656c67SMikko Perttunen				fps {
168b8656c67SMikko Perttunen					fps0 {
169b8656c67SMikko Perttunen						maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN0>;
170b8656c67SMikko Perttunen						maxim,shutdown-fps-time-period-us = <640>;
171b8656c67SMikko Perttunen					};
172b8656c67SMikko Perttunen
173b8656c67SMikko Perttunen					fps1 {
174b8656c67SMikko Perttunen						maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN1>;
175b8656c67SMikko Perttunen						maxim,shutdown-fps-time-period-us = <640>;
176b8656c67SMikko Perttunen						maxim,device-state-on-disabled-event = <MAX77620_FPS_INACTIVE_STATE_SLEEP>;
177b8656c67SMikko Perttunen					};
178b8656c67SMikko Perttunen
179b8656c67SMikko Perttunen					fps2 {
180b8656c67SMikko Perttunen						maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN0>;
181b8656c67SMikko Perttunen						maxim,shutdown-fps-time-period-us = <640>;
182b8656c67SMikko Perttunen					};
183b8656c67SMikko Perttunen				};
184b8656c67SMikko Perttunen
185b8656c67SMikko Perttunen				regulators {
186b8656c67SMikko Perttunen					in-sd0-supply = <&vdd_5v0_sys>;
187b8656c67SMikko Perttunen					in-sd1-supply = <&vdd_5v0_sys>;
188b8656c67SMikko Perttunen					in-sd2-supply = <&vdd_5v0_sys>;
189b8656c67SMikko Perttunen					in-sd3-supply = <&vdd_5v0_sys>;
190b8656c67SMikko Perttunen					in-sd4-supply = <&vdd_5v0_sys>;
191b8656c67SMikko Perttunen
192b8656c67SMikko Perttunen					in-ldo0-1-supply = <&vdd_5v0_sys>;
193b8656c67SMikko Perttunen					in-ldo2-supply = <&vdd_5v0_sys>;
194b8656c67SMikko Perttunen					in-ldo3-5-supply = <&vdd_5v0_sys>;
195b8656c67SMikko Perttunen					in-ldo4-6-supply = <&vdd_5v0_sys>;
196b8656c67SMikko Perttunen					in-ldo7-8-supply = <&vdd_1v8ls>;
197b8656c67SMikko Perttunen
19833c038e4SThierry Reding					vdd_1v0: sd0 {
199c90b8f15SThierry Reding						regulator-name = "VDDIO_SYS_1V0";
200b8656c67SMikko Perttunen						regulator-min-microvolt = <1000000>;
201b8656c67SMikko Perttunen						regulator-max-microvolt = <1000000>;
202b8656c67SMikko Perttunen						regulator-always-on;
203b8656c67SMikko Perttunen						regulator-boot-on;
204b8656c67SMikko Perttunen					};
205b8656c67SMikko Perttunen
20633c038e4SThierry Reding					vdd_1v8hs: sd1 {
207c90b8f15SThierry Reding						regulator-name = "VDDIO_SYS_1V8HS";
208b8656c67SMikko Perttunen						regulator-min-microvolt = <1800000>;
209b8656c67SMikko Perttunen						regulator-max-microvolt = <1800000>;
210b8656c67SMikko Perttunen						regulator-always-on;
211b8656c67SMikko Perttunen						regulator-boot-on;
212b8656c67SMikko Perttunen					};
213b8656c67SMikko Perttunen
214b8656c67SMikko Perttunen					vdd_1v8ls: sd2 {
215c90b8f15SThierry Reding						regulator-name = "VDDIO_SYS_1V8LS";
216b8656c67SMikko Perttunen						regulator-min-microvolt = <1800000>;
217b8656c67SMikko Perttunen						regulator-max-microvolt = <1800000>;
218b8656c67SMikko Perttunen						regulator-always-on;
219b8656c67SMikko Perttunen						regulator-boot-on;
220b8656c67SMikko Perttunen					};
221b8656c67SMikko Perttunen
222a586c88eSVidya Sagar					vdd_1v8ao: sd3 {
223c90b8f15SThierry Reding						regulator-name = "VDDIO_AO_1V8";
224b8656c67SMikko Perttunen						regulator-min-microvolt = <1800000>;
225b8656c67SMikko Perttunen						regulator-max-microvolt = <1800000>;
226b8656c67SMikko Perttunen						regulator-always-on;
227b8656c67SMikko Perttunen						regulator-boot-on;
228b8656c67SMikko Perttunen					};
229b8656c67SMikko Perttunen
230b8656c67SMikko Perttunen					sd4 {
231b8656c67SMikko Perttunen						regulator-name = "VDD_DDR_1V1";
232b8656c67SMikko Perttunen						regulator-min-microvolt = <1100000>;
233b8656c67SMikko Perttunen						regulator-max-microvolt = <1100000>;
234b8656c67SMikko Perttunen						regulator-always-on;
235b8656c67SMikko Perttunen						regulator-boot-on;
236b8656c67SMikko Perttunen					};
237b8656c67SMikko Perttunen
238b8656c67SMikko Perttunen					ldo0 {
239b8656c67SMikko Perttunen						regulator-name = "VDD_RTC";
240b8656c67SMikko Perttunen						regulator-min-microvolt = <800000>;
241b8656c67SMikko Perttunen						regulator-max-microvolt = <800000>;
242b8656c67SMikko Perttunen						regulator-always-on;
243b8656c67SMikko Perttunen						regulator-boot-on;
244b8656c67SMikko Perttunen					};
245b8656c67SMikko Perttunen
246b8656c67SMikko Perttunen					ldo2 {
247c90b8f15SThierry Reding						regulator-name = "VDDIO_AO_3V3";
248b8656c67SMikko Perttunen						regulator-min-microvolt = <3300000>;
249b8656c67SMikko Perttunen						regulator-max-microvolt = <3300000>;
250b8656c67SMikko Perttunen						regulator-always-on;
251b8656c67SMikko Perttunen						regulator-boot-on;
252b8656c67SMikko Perttunen					};
253b8656c67SMikko Perttunen
254b8656c67SMikko Perttunen					vdd_emmc_3v3: ldo3 {
255b8656c67SMikko Perttunen						regulator-name = "VDD_EMMC_3V3";
256b8656c67SMikko Perttunen						regulator-min-microvolt = <3300000>;
257b8656c67SMikko Perttunen						regulator-max-microvolt = <3300000>;
258b8656c67SMikko Perttunen					};
259b8656c67SMikko Perttunen
26092f37c0aSJC Kuo					vdd_usb_3v3: ldo5 {
261b8656c67SMikko Perttunen						regulator-name = "VDD_USB_3V3";
262b8656c67SMikko Perttunen						regulator-min-microvolt = <3300000>;
263b8656c67SMikko Perttunen						regulator-max-microvolt = <3300000>;
264b8656c67SMikko Perttunen					};
265b8656c67SMikko Perttunen
266b8656c67SMikko Perttunen					ldo6 {
267b8656c67SMikko Perttunen						regulator-name = "VDD_SDIO_3V3";
268b8656c67SMikko Perttunen						regulator-min-microvolt = <3300000>;
269b8656c67SMikko Perttunen						regulator-max-microvolt = <3300000>;
270b8656c67SMikko Perttunen					};
271b8656c67SMikko Perttunen
272b8656c67SMikko Perttunen					ldo7 {
273c90b8f15SThierry Reding						regulator-name = "AVDD_CSI_1V2";
274b8656c67SMikko Perttunen						regulator-min-microvolt = <1200000>;
275b8656c67SMikko Perttunen						regulator-max-microvolt = <1200000>;
276b8656c67SMikko Perttunen					};
277b8656c67SMikko Perttunen				};
278b8656c67SMikko Perttunen			};
2798b457812SThierry Reding
2808b457812SThierry Reding			temperature-sensor@4c {
2818b457812SThierry Reding				compatible = "ti,tmp451";
2828b457812SThierry Reding				reg = <0x4c>;
2838b457812SThierry Reding
2848b457812SThierry Reding				interrupt-parent = <&gpio>;
2858b457812SThierry Reding				interrupts = <TEGRA194_MAIN_GPIO(H, 2)
2868b457812SThierry Reding					      IRQ_TYPE_LEVEL_LOW>;
28773207330SJon Hunter				vcc-supply = <&vdd_1v8ls>;
2888b457812SThierry Reding
2898b457812SThierry Reding				#thermal-sensor-cells = <1>;
2908b457812SThierry Reding			};
291b8656c67SMikko Perttunen		};
292b8656c67SMikko Perttunen	};
293b8656c67SMikko Perttunen
294b8656c67SMikko Perttunen	regulators {
295b8656c67SMikko Perttunen		compatible = "simple-bus";
296b8656c67SMikko Perttunen		#address-cells = <1>;
297b8656c67SMikko Perttunen		#size-cells = <0>;
298b8656c67SMikko Perttunen
299b8656c67SMikko Perttunen		vdd_5v0_sys: regulator@0 {
300b8656c67SMikko Perttunen			compatible = "regulator-fixed";
301b8656c67SMikko Perttunen			reg = <0>;
302b8656c67SMikko Perttunen
303b8656c67SMikko Perttunen			regulator-name = "VIN_SYS_5V0";
304b8656c67SMikko Perttunen			regulator-min-microvolt = <5000000>;
305b8656c67SMikko Perttunen			regulator-max-microvolt = <5000000>;
306b8656c67SMikko Perttunen			regulator-always-on;
307b8656c67SMikko Perttunen			regulator-boot-on;
308b8656c67SMikko Perttunen		};
30933c038e4SThierry Reding
31033c038e4SThierry Reding		vdd_hdmi: regulator@1 {
31133c038e4SThierry Reding			compatible = "regulator-fixed";
31233c038e4SThierry Reding			reg = <1>;
31333c038e4SThierry Reding
31433c038e4SThierry Reding			regulator-name = "VDD_5V0_HDMI_CON";
31533c038e4SThierry Reding			regulator-min-microvolt = <5000000>;
31633c038e4SThierry Reding			regulator-max-microvolt = <5000000>;
31733c038e4SThierry Reding			gpio = <&gpio TEGRA194_MAIN_GPIO(A, 3) GPIO_ACTIVE_HIGH>;
31833c038e4SThierry Reding			enable-active-high;
31933c038e4SThierry Reding		};
32009a0774aSVidya Sagar
32109a0774aSVidya Sagar		vdd_3v3_pcie: regulator@2 {
32209a0774aSVidya Sagar			compatible = "regulator-fixed";
32309a0774aSVidya Sagar			reg = <2>;
32409a0774aSVidya Sagar
32509a0774aSVidya Sagar			regulator-name = "PEX_3V3";
32609a0774aSVidya Sagar			regulator-min-microvolt = <3300000>;
32709a0774aSVidya Sagar			regulator-max-microvolt = <3300000>;
32809a0774aSVidya Sagar			gpio = <&gpio TEGRA194_MAIN_GPIO(Z, 2) GPIO_ACTIVE_HIGH>;
32909a0774aSVidya Sagar			regulator-boot-on;
33009a0774aSVidya Sagar			enable-active-high;
33109a0774aSVidya Sagar		};
33209a0774aSVidya Sagar
33309a0774aSVidya Sagar		vdd_12v_pcie: regulator@3 {
33409a0774aSVidya Sagar			compatible = "regulator-fixed";
33509a0774aSVidya Sagar			reg = <3>;
33609a0774aSVidya Sagar
33709a0774aSVidya Sagar			regulator-name = "VDD_12V";
33809a0774aSVidya Sagar			regulator-min-microvolt = <1200000>;
33909a0774aSVidya Sagar			regulator-max-microvolt = <1200000>;
340d440538eSJon Hunter			gpio = <&gpio TEGRA194_MAIN_GPIO(A, 1) GPIO_ACTIVE_HIGH>;
34109a0774aSVidya Sagar			regulator-boot-on;
34209a0774aSVidya Sagar		};
34392f37c0aSJC Kuo
34492f37c0aSJC Kuo		vdd_5v_sata: regulator@4 {
34592f37c0aSJC Kuo			compatible = "regulator-fixed";
34692f37c0aSJC Kuo			reg = <4>;
34792f37c0aSJC Kuo
34892f37c0aSJC Kuo			regulator-name = "VDD_5V_SATA";
34992f37c0aSJC Kuo			regulator-min-microvolt = <5000000>;
35092f37c0aSJC Kuo			regulator-max-microvolt = <5000000>;
35192f37c0aSJC Kuo			gpio = <&gpio TEGRA194_MAIN_GPIO(Z, 1) GPIO_ACTIVE_HIGH>;
35292f37c0aSJC Kuo			enable-active-high;
35392f37c0aSJC Kuo		};
354b8656c67SMikko Perttunen	};
355b8656c67SMikko Perttunen};
356