13f9efbbeSJon Hunter// SPDX-License-Identifier: GPL-2.0
23f9efbbeSJon Hunter#include "tegra194.dtsi"
33f9efbbeSJon Hunter
43f9efbbeSJon Hunter#include <dt-bindings/mfd/max77620.h>
53f9efbbeSJon Hunter
63f9efbbeSJon Hunter/ {
73f9efbbeSJon Hunter	model = "NVIDIA Jetson Xavier NX";
83f9efbbeSJon Hunter	compatible = "nvidia,p3668-0000", "nvidia,tegra194";
93f9efbbeSJon Hunter
103f9efbbeSJon Hunter	aliases {
113f9efbbeSJon Hunter		ethernet0 = "/bus@0/ethernet@2490000";
123f9efbbeSJon Hunter		i2c0 = "/bpmp/i2c";
133f9efbbeSJon Hunter		i2c1 = "/bus@0/i2c@3160000";
143f9efbbeSJon Hunter		i2c2 = "/bus@0/i2c@c240000";
153f9efbbeSJon Hunter		i2c3 = "/bus@0/i2c@3180000";
163f9efbbeSJon Hunter		i2c4 = "/bus@0/i2c@3190000";
173f9efbbeSJon Hunter		i2c5 = "/bus@0/i2c@31c0000";
183f9efbbeSJon Hunter		i2c6 = "/bus@0/i2c@c250000";
193f9efbbeSJon Hunter		i2c7 = "/bus@0/i2c@31e0000";
203f9efbbeSJon Hunter		mmc0 = "/bus@0/mmc@3460000";
213f9efbbeSJon Hunter		rtc0 = "/bpmp/i2c/pmic@3c";
223f9efbbeSJon Hunter		rtc1 = "/bus@0/rtc@c2a0000";
233f9efbbeSJon Hunter		serial0 = &tcu;
243f9efbbeSJon Hunter	};
253f9efbbeSJon Hunter
263f9efbbeSJon Hunter	chosen {
273f9efbbeSJon Hunter		bootargs = "console=ttyS0,115200n8";
283f9efbbeSJon Hunter		stdout-path = "serial0:115200n8";
293f9efbbeSJon Hunter	};
303f9efbbeSJon Hunter
313f9efbbeSJon Hunter	bus@0 {
323f9efbbeSJon Hunter		ethernet@2490000 {
333f9efbbeSJon Hunter			status = "okay";
343f9efbbeSJon Hunter
353f9efbbeSJon Hunter			phy-reset-gpios = <&gpio TEGRA194_MAIN_GPIO(R, 1) GPIO_ACTIVE_LOW>;
363f9efbbeSJon Hunter			phy-handle = <&phy>;
373f9efbbeSJon Hunter			phy-mode = "rgmii-id";
383f9efbbeSJon Hunter
393f9efbbeSJon Hunter			mdio {
403f9efbbeSJon Hunter				#address-cells = <1>;
413f9efbbeSJon Hunter				#size-cells = <0>;
423f9efbbeSJon Hunter
433f9efbbeSJon Hunter				phy: phy@0 {
443f9efbbeSJon Hunter					compatible = "ethernet-phy-ieee802.3-c22";
453f9efbbeSJon Hunter					reg = <0x0>;
463f9efbbeSJon Hunter					interrupt-parent = <&gpio>;
473f9efbbeSJon Hunter					interrupts = <TEGRA194_MAIN_GPIO(G, 4) IRQ_TYPE_LEVEL_LOW>;
483f9efbbeSJon Hunter					#phy-cells = <0>;
493f9efbbeSJon Hunter				};
503f9efbbeSJon Hunter			};
513f9efbbeSJon Hunter		};
523f9efbbeSJon Hunter
533f9efbbeSJon Hunter		memory-controller@2c00000 {
543f9efbbeSJon Hunter			status = "okay";
553f9efbbeSJon Hunter		};
563f9efbbeSJon Hunter
573f9efbbeSJon Hunter		serial@c280000 {
583f9efbbeSJon Hunter			status = "okay";
593f9efbbeSJon Hunter		};
603f9efbbeSJon Hunter
613f9efbbeSJon Hunter		/* SDMMC1 (SD/MMC) */
623f9efbbeSJon Hunter		mmc@3400000 {
633f9efbbeSJon Hunter			status = "okay";
643f9efbbeSJon Hunter			bus-width = <4>;
653f9efbbeSJon Hunter			cd-gpios = <&gpio TEGRA194_MAIN_GPIO(G, 7) GPIO_ACTIVE_LOW>;
663f9efbbeSJon Hunter			disable-wp;
673f9efbbeSJon Hunter			vmmc-supply = <&vdd_3v3_sd>;
683f9efbbeSJon Hunter		};
693f9efbbeSJon Hunter
703f9efbbeSJon Hunter		padctl@3520000 {
713f9efbbeSJon Hunter			avdd-usb-supply = <&vdd_usb_3v3>;
723f9efbbeSJon Hunter			vclamp-usb-supply = <&vdd_1v8ao>;
733f9efbbeSJon Hunter
743f9efbbeSJon Hunter			ports {
753f9efbbeSJon Hunter				usb2-1 {
763f9efbbeSJon Hunter					vbus-supply = <&vdd_5v0_sys>;
773f9efbbeSJon Hunter				};
783f9efbbeSJon Hunter
793f9efbbeSJon Hunter				usb2-3 {
803f9efbbeSJon Hunter					vbus-supply = <&vdd_5v0_sys>;
813f9efbbeSJon Hunter				};
823f9efbbeSJon Hunter
833f9efbbeSJon Hunter				usb3-0 {
843f9efbbeSJon Hunter					vbus-supply = <&vdd_5v0_sys>;
853f9efbbeSJon Hunter				};
863f9efbbeSJon Hunter
873f9efbbeSJon Hunter				usb3-3 {
883f9efbbeSJon Hunter					vbus-supply = <&vdd_5v0_sys>;
893f9efbbeSJon Hunter				};
903f9efbbeSJon Hunter			};
913f9efbbeSJon Hunter		};
923f9efbbeSJon Hunter
933f9efbbeSJon Hunter		rtc@c2a0000 {
943f9efbbeSJon Hunter			status = "okay";
953f9efbbeSJon Hunter		};
963f9efbbeSJon Hunter
973f9efbbeSJon Hunter		pmc@c360000 {
983f9efbbeSJon Hunter			nvidia,invert-interrupt;
993f9efbbeSJon Hunter		};
1003f9efbbeSJon Hunter	};
1013f9efbbeSJon Hunter
1023f9efbbeSJon Hunter	bpmp {
1033f9efbbeSJon Hunter		i2c {
1043f9efbbeSJon Hunter			status = "okay";
1053f9efbbeSJon Hunter
1063f9efbbeSJon Hunter			pmic: pmic@3c {
1073f9efbbeSJon Hunter				compatible = "maxim,max20024";
1083f9efbbeSJon Hunter				reg = <0x3c>;
1093f9efbbeSJon Hunter
1103f9efbbeSJon Hunter				interrupt-parent = <&pmc>;
1113f9efbbeSJon Hunter				interrupts = <24 IRQ_TYPE_LEVEL_LOW>;
1123f9efbbeSJon Hunter				#interrupt-cells = <2>;
1133f9efbbeSJon Hunter				interrupt-controller;
1143f9efbbeSJon Hunter
1153f9efbbeSJon Hunter				#gpio-cells = <2>;
1163f9efbbeSJon Hunter				gpio-controller;
1173f9efbbeSJon Hunter
1183f9efbbeSJon Hunter				pinctrl-names = "default";
1193f9efbbeSJon Hunter				pinctrl-0 = <&max20024_default>;
1203f9efbbeSJon Hunter
1213f9efbbeSJon Hunter				max20024_default: pinmux {
1223f9efbbeSJon Hunter					gpio0 {
1233f9efbbeSJon Hunter						pins = "gpio0";
1243f9efbbeSJon Hunter						function = "gpio";
1253f9efbbeSJon Hunter					};
1263f9efbbeSJon Hunter
1273f9efbbeSJon Hunter					gpio1 {
1283f9efbbeSJon Hunter						pins = "gpio1";
1293f9efbbeSJon Hunter						function = "fps-out";
1303f9efbbeSJon Hunter						maxim,active-fps-source = <MAX77620_FPS_SRC_DEF>;
1313f9efbbeSJon Hunter					};
1323f9efbbeSJon Hunter
1333f9efbbeSJon Hunter					gpio2 {
1343f9efbbeSJon Hunter						pins = "gpio2";
1353f9efbbeSJon Hunter						function = "fps-out";
1363f9efbbeSJon Hunter						maxim,active-fps-source = <MAX77620_FPS_SRC_DEF>;
1373f9efbbeSJon Hunter					};
1383f9efbbeSJon Hunter
1393f9efbbeSJon Hunter					gpio3 {
1403f9efbbeSJon Hunter						pins = "gpio3";
1413f9efbbeSJon Hunter						function = "fps-out";
1423f9efbbeSJon Hunter						maxim,active-fps-source = <MAX77620_FPS_SRC_DEF>;
1433f9efbbeSJon Hunter					};
1443f9efbbeSJon Hunter
1453f9efbbeSJon Hunter					gpio4 {
1463f9efbbeSJon Hunter						pins = "gpio4";
1473f9efbbeSJon Hunter						function = "32k-out1";
1483f9efbbeSJon Hunter						drive-push-pull = <1>;
1493f9efbbeSJon Hunter					};
1503f9efbbeSJon Hunter
1513f9efbbeSJon Hunter					gpio6 {
1523f9efbbeSJon Hunter						pins = "gpio6";
1533f9efbbeSJon Hunter						function = "gpio";
1543f9efbbeSJon Hunter						drive-push-pull = <1>;
1553f9efbbeSJon Hunter					};
1563f9efbbeSJon Hunter
1573f9efbbeSJon Hunter					gpio7 {
1583f9efbbeSJon Hunter						pins = "gpio7";
1593f9efbbeSJon Hunter						function = "gpio";
1603f9efbbeSJon Hunter						drive-push-pull = <0>;
1613f9efbbeSJon Hunter					};
1623f9efbbeSJon Hunter				};
1633f9efbbeSJon Hunter
1643f9efbbeSJon Hunter				fps {
1653f9efbbeSJon Hunter					fps0 {
1663f9efbbeSJon Hunter						maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN0>;
1673f9efbbeSJon Hunter						maxim,shutdown-fps-time-period-us = <640>;
1683f9efbbeSJon Hunter					};
1693f9efbbeSJon Hunter
1703f9efbbeSJon Hunter					fps1 {
1713f9efbbeSJon Hunter						maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN1>;
1723f9efbbeSJon Hunter						maxim,shutdown-fps-time-period-us = <640>;
1733f9efbbeSJon Hunter						maxim,device-state-on-disabled-event = <MAX77620_FPS_INACTIVE_STATE_SLEEP>;
1743f9efbbeSJon Hunter					};
1753f9efbbeSJon Hunter
1763f9efbbeSJon Hunter					fps2 {
1773f9efbbeSJon Hunter						maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN0>;
1783f9efbbeSJon Hunter						maxim,shutdown-fps-time-period-us = <640>;
1793f9efbbeSJon Hunter					};
1803f9efbbeSJon Hunter				};
1813f9efbbeSJon Hunter
1823f9efbbeSJon Hunter				regulators {
1833f9efbbeSJon Hunter					in-sd0-supply = <&vdd_5v0_sys>;
1843f9efbbeSJon Hunter					in-sd1-supply = <&vdd_5v0_sys>;
1853f9efbbeSJon Hunter					in-sd2-supply = <&vdd_5v0_sys>;
1863f9efbbeSJon Hunter					in-sd3-supply = <&vdd_5v0_sys>;
1873f9efbbeSJon Hunter					in-sd4-supply = <&vdd_5v0_sys>;
1883f9efbbeSJon Hunter
1893f9efbbeSJon Hunter					in-ldo0-1-supply = <&vdd_5v0_sys>;
1903f9efbbeSJon Hunter					in-ldo2-supply = <&vdd_5v0_sys>;
1913f9efbbeSJon Hunter					in-ldo3-5-supply = <&vdd_5v0_sys>;
1923f9efbbeSJon Hunter					in-ldo4-6-supply = <&vdd_5v0_sys>;
1933f9efbbeSJon Hunter					in-ldo7-8-supply = <&vdd_1v8ls>;
1943f9efbbeSJon Hunter
1953f9efbbeSJon Hunter					vdd_1v0: sd0 {
1963f9efbbeSJon Hunter						regulator-name = "VDDIO_SYS_1V0";
1973f9efbbeSJon Hunter						regulator-min-microvolt = <1000000>;
1983f9efbbeSJon Hunter						regulator-max-microvolt = <1000000>;
1993f9efbbeSJon Hunter						regulator-always-on;
2003f9efbbeSJon Hunter						regulator-boot-on;
2013f9efbbeSJon Hunter					};
2023f9efbbeSJon Hunter
2033f9efbbeSJon Hunter					vdd_1v8hs: sd1 {
2043f9efbbeSJon Hunter						regulator-name = "VDDIO_SYS_1V8HS";
2053f9efbbeSJon Hunter						regulator-min-microvolt = <1800000>;
2063f9efbbeSJon Hunter						regulator-max-microvolt = <1800000>;
2073f9efbbeSJon Hunter						regulator-always-on;
2083f9efbbeSJon Hunter						regulator-boot-on;
2093f9efbbeSJon Hunter					};
2103f9efbbeSJon Hunter
2113f9efbbeSJon Hunter					vdd_1v8ls: sd2 {
2123f9efbbeSJon Hunter						regulator-name = "VDDIO_SYS_1V8LS";
2133f9efbbeSJon Hunter						regulator-min-microvolt = <1800000>;
2143f9efbbeSJon Hunter						regulator-max-microvolt = <1800000>;
2153f9efbbeSJon Hunter						regulator-always-on;
2163f9efbbeSJon Hunter						regulator-boot-on;
2173f9efbbeSJon Hunter					};
2183f9efbbeSJon Hunter
2193f9efbbeSJon Hunter					vdd_1v8ao: sd3 {
2203f9efbbeSJon Hunter						regulator-name = "VDDIO_AO_1V8";
2213f9efbbeSJon Hunter						regulator-min-microvolt = <1800000>;
2223f9efbbeSJon Hunter						regulator-max-microvolt = <1800000>;
2233f9efbbeSJon Hunter						regulator-always-on;
2243f9efbbeSJon Hunter						regulator-boot-on;
2253f9efbbeSJon Hunter					};
2263f9efbbeSJon Hunter
2273f9efbbeSJon Hunter					sd4 {
2283f9efbbeSJon Hunter						regulator-name = "VDD_DDR_1V1";
2293f9efbbeSJon Hunter						regulator-min-microvolt = <1100000>;
2303f9efbbeSJon Hunter						regulator-max-microvolt = <1100000>;
2313f9efbbeSJon Hunter						regulator-always-on;
2323f9efbbeSJon Hunter						regulator-boot-on;
2333f9efbbeSJon Hunter					};
2343f9efbbeSJon Hunter
2353f9efbbeSJon Hunter					ldo0 {
2363f9efbbeSJon Hunter						regulator-name = "VDD_RTC";
2373f9efbbeSJon Hunter						regulator-min-microvolt = <800000>;
2383f9efbbeSJon Hunter						regulator-max-microvolt = <800000>;
2393f9efbbeSJon Hunter						regulator-always-on;
2403f9efbbeSJon Hunter						regulator-boot-on;
2413f9efbbeSJon Hunter					};
2423f9efbbeSJon Hunter
2433f9efbbeSJon Hunter					ldo2 {
2443f9efbbeSJon Hunter						regulator-name = "VDDIO_AO_3V3";
2453f9efbbeSJon Hunter						regulator-min-microvolt = <3300000>;
2463f9efbbeSJon Hunter						regulator-max-microvolt = <3300000>;
2473f9efbbeSJon Hunter						regulator-always-on;
2483f9efbbeSJon Hunter						regulator-boot-on;
2493f9efbbeSJon Hunter					};
2503f9efbbeSJon Hunter
2513f9efbbeSJon Hunter					ldo3 {
2523f9efbbeSJon Hunter						regulator-name = "VDD_EMMC_3V3";
2533f9efbbeSJon Hunter						regulator-min-microvolt = <3300000>;
2543f9efbbeSJon Hunter						regulator-max-microvolt = <3300000>;
2553f9efbbeSJon Hunter					};
2563f9efbbeSJon Hunter
2573f9efbbeSJon Hunter					vdd_usb_3v3: ldo5 {
2583f9efbbeSJon Hunter						regulator-name = "VDD_USB_3V3";
2593f9efbbeSJon Hunter						regulator-min-microvolt = <3300000>;
2603f9efbbeSJon Hunter						regulator-max-microvolt = <3300000>;
2613f9efbbeSJon Hunter						regulator-always-on;
2623f9efbbeSJon Hunter						regulator-boot-on;
2633f9efbbeSJon Hunter					};
2643f9efbbeSJon Hunter
2653f9efbbeSJon Hunter					ldo6 {
2663f9efbbeSJon Hunter						regulator-name = "VDD_SDIO_3V3";
2673f9efbbeSJon Hunter						regulator-min-microvolt = <3300000>;
2683f9efbbeSJon Hunter						regulator-max-microvolt = <3300000>;
2693f9efbbeSJon Hunter					};
2703f9efbbeSJon Hunter
2713f9efbbeSJon Hunter					ldo7 {
2723f9efbbeSJon Hunter						regulator-name = "AVDD_CSI_1V2";
2733f9efbbeSJon Hunter						regulator-min-microvolt = <1200000>;
2743f9efbbeSJon Hunter						regulator-max-microvolt = <1200000>;
2753f9efbbeSJon Hunter					};
2763f9efbbeSJon Hunter				};
2773f9efbbeSJon Hunter			};
2783f9efbbeSJon Hunter		};
2793f9efbbeSJon Hunter	};
2803f9efbbeSJon Hunter
2813f9efbbeSJon Hunter	vdd_3v3_sd: regulator@0 {
2823f9efbbeSJon Hunter		compatible = "regulator-fixed";
2833f9efbbeSJon Hunter		regulator-name = "VDD_3V3_SD";
2843f9efbbeSJon Hunter		regulator-min-microvolt = <3300000>;
2853f9efbbeSJon Hunter		regulator-max-microvolt = <3300000>;
2863f9efbbeSJon Hunter		gpio = <&gpio TEGRA194_MAIN_GPIO(G, 2) GPIO_ACTIVE_HIGH>;
2873f9efbbeSJon Hunter		regulator-boot-on;
2883f9efbbeSJon Hunter		enable-active-high;
2893f9efbbeSJon Hunter	};
2903f9efbbeSJon Hunter};
291