177934269SThierry Reding#include <dt-bindings/mfd/max77620.h>
277934269SThierry Reding
39e71045fSThierry Reding#include "tegra210.dtsi"
49e71045fSThierry Reding
59e71045fSThierry Reding/ {
69e71045fSThierry Reding	model = "NVIDIA Jetson TX1";
79e71045fSThierry Reding	compatible = "nvidia,p2180", "nvidia,tegra210";
89e71045fSThierry Reding
99e71045fSThierry Reding	aliases {
1077934269SThierry Reding		rtc0 = "/i2c@7000d000/pmic@3c";
11be70771dSThierry Reding		rtc1 = "/rtc@7000e000";
129e71045fSThierry Reding		serial0 = &uarta;
139e71045fSThierry Reding	};
149e71045fSThierry Reding
155593eb76SThierry Reding	chosen {
165593eb76SThierry Reding		stdout-path = "serial0:115200n8";
175593eb76SThierry Reding	};
185593eb76SThierry Reding
199e71045fSThierry Reding	memory {
209e71045fSThierry Reding		device_type = "memory";
219e71045fSThierry Reding		reg = <0x0 0x80000000 0x1 0x0>;
229e71045fSThierry Reding	};
239e71045fSThierry Reding
245e6b9a89SAlexandre Courbot	gpu@57000000 {
255e6b9a89SAlexandre Courbot		vdd-supply = <&vdd_gpu>;
265e6b9a89SAlexandre Courbot	};
275e6b9a89SAlexandre Courbot
289e71045fSThierry Reding	/* debug port */
29be70771dSThierry Reding	serial@70006000 {
309e71045fSThierry Reding		status = "okay";
319e71045fSThierry Reding	};
329e71045fSThierry Reding
3377934269SThierry Reding	i2c@7000d000 {
3477934269SThierry Reding		status = "okay";
3577934269SThierry Reding		clock-frequency = <400000>;
3677934269SThierry Reding
3777934269SThierry Reding		pmic: pmic@3c {
3877934269SThierry Reding			compatible = "maxim,max77620";
3977934269SThierry Reding			reg = <0x3c>;
4077934269SThierry Reding			interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
4177934269SThierry Reding
4277934269SThierry Reding			#interrupt-cells = <2>;
4377934269SThierry Reding			interrupt-controller;
4477934269SThierry Reding
4577934269SThierry Reding			#gpio-cells = <2>;
4677934269SThierry Reding			gpio-controller;
4777934269SThierry Reding
4877934269SThierry Reding			pinctrl-names = "default";
4977934269SThierry Reding			pinctrl-0 = <&max77620_default>;
5077934269SThierry Reding
5177934269SThierry Reding			max77620_default: pinmux {
5277934269SThierry Reding				gpio0 {
5377934269SThierry Reding					pins = "gpio0";
5477934269SThierry Reding					function = "gpio";
5577934269SThierry Reding				};
5677934269SThierry Reding
5777934269SThierry Reding				gpio1 {
5877934269SThierry Reding					pins = "gpio1";
5977934269SThierry Reding					function = "fps-out";
6077934269SThierry Reding					drive-push-pull = <1>;
6177934269SThierry Reding					maxim,active-fps-source = <MAX77620_FPS_SRC_0>;
6277934269SThierry Reding					maxim,active-fps-power-up-slot = <7>;
6377934269SThierry Reding					maxim,active-fps-power-down-slot = <0>;
6477934269SThierry Reding				};
6577934269SThierry Reding
6677934269SThierry Reding				gpio2_3 {
6777934269SThierry Reding					pins = "gpio2", "gpio3";
6877934269SThierry Reding					function = "fps-out";
6977934269SThierry Reding					drive-open-drain = <1>;
7077934269SThierry Reding					maxim,active-fps-source = <MAX77620_FPS_SRC_0>;
7177934269SThierry Reding				};
7277934269SThierry Reding
7377934269SThierry Reding				gpio4 {
7477934269SThierry Reding					pins = "gpio4";
7577934269SThierry Reding					function = "32k-out1";
7677934269SThierry Reding				};
7777934269SThierry Reding
7877934269SThierry Reding				gpio5_6_7 {
7977934269SThierry Reding					pins = "gpio5", "gpio6", "gpio7";
8077934269SThierry Reding					function = "gpio";
8177934269SThierry Reding					drive-push-pull = <1>;
8277934269SThierry Reding				};
8377934269SThierry Reding			};
8477934269SThierry Reding
8577934269SThierry Reding			fps {
8677934269SThierry Reding				fps0 {
8777934269SThierry Reding					maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN0>;
8877934269SThierry Reding					maxim,suspend-fps-time-period-us = <1280>;
8977934269SThierry Reding				};
9077934269SThierry Reding
9177934269SThierry Reding				fps1 {
9277934269SThierry Reding					maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN1>;
9377934269SThierry Reding					maxim,suspend-fps-time-period-us = <1280>;
9477934269SThierry Reding				};
9577934269SThierry Reding
9677934269SThierry Reding				fps2 {
9777934269SThierry Reding					maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN0>;
9877934269SThierry Reding				};
9977934269SThierry Reding			};
10077934269SThierry Reding
10177934269SThierry Reding			regulators {
10277934269SThierry Reding				in-ldo0-1-supply = <&vdd_pre>;
10377934269SThierry Reding				in-ldo7-8-supply = <&vdd_pre>;
10477934269SThierry Reding				in-sd3-supply = <&vdd_5v0_sys>;
10577934269SThierry Reding
10677934269SThierry Reding				vdd_soc: sd0 {
10777934269SThierry Reding					regulator-name = "VDD_SOC";
10877934269SThierry Reding					regulator-min-microvolt = <600000>;
10977934269SThierry Reding					regulator-max-microvolt = <1400000>;
11077934269SThierry Reding					regulator-always-on;
11177934269SThierry Reding					regulator-boot-on;
11277934269SThierry Reding
11377934269SThierry Reding					regulator-enable-ramp-delay = <146>;
11477934269SThierry Reding					regulator-ramp-delay = <27500>;
11577934269SThierry Reding
11677934269SThierry Reding					maxim,active-fps-source = <MAX77620_FPS_SRC_1>;
11777934269SThierry Reding				};
11877934269SThierry Reding
11977934269SThierry Reding				vdd_ddr: sd1 {
12077934269SThierry Reding					regulator-name = "VDD_DDR_1V1_PMIC";
12177934269SThierry Reding					regulator-always-on;
12277934269SThierry Reding					regulator-boot-on;
12377934269SThierry Reding
12477934269SThierry Reding					regulator-enable-ramp-delay = <130>;
12577934269SThierry Reding					regulator-ramp-delay = <27500>;
12677934269SThierry Reding
12777934269SThierry Reding					maxim,active-fps-source = <MAX77620_FPS_SRC_0>;
12877934269SThierry Reding				};
12977934269SThierry Reding
13077934269SThierry Reding				vdd_pre: sd2 {
13177934269SThierry Reding					regulator-name = "VDD_PRE_REG_1V35";
13277934269SThierry Reding					regulator-min-microvolt = <1350000>;
13377934269SThierry Reding					regulator-max-microvolt = <1350000>;
13477934269SThierry Reding
13577934269SThierry Reding					regulator-enable-ramp-delay = <176>;
13677934269SThierry Reding					regulator-ramp-delay = <27500>;
13777934269SThierry Reding
13877934269SThierry Reding					maxim,active-fps-source = <MAX77620_FPS_SRC_1>;
13977934269SThierry Reding				};
14077934269SThierry Reding
14177934269SThierry Reding				vdd_1v8: sd3 {
14277934269SThierry Reding					regulator-name = "VDD_1V8";
14377934269SThierry Reding					regulator-min-microvolt = <1800000>;
14477934269SThierry Reding					regulator-max-microvolt = <1800000>;
14577934269SThierry Reding					regulator-always-on;
14677934269SThierry Reding					regulator-boot-on;
14777934269SThierry Reding
14877934269SThierry Reding					regulator-enable-ramp-delay = <242>;
14977934269SThierry Reding					regulator-ramp-delay = <27500>;
15077934269SThierry Reding
15177934269SThierry Reding					maxim,active-fps-source = <MAX77620_FPS_SRC_0>;
15277934269SThierry Reding				};
15377934269SThierry Reding
15477934269SThierry Reding				vdd_sys_1v2: ldo0 {
15577934269SThierry Reding					regulator-name = "AVDD_SYS_1V2";
15677934269SThierry Reding					regulator-min-microvolt = <1200000>;
15777934269SThierry Reding					regulator-max-microvolt = <1200000>;
15877934269SThierry Reding					regulator-always-on;
15977934269SThierry Reding					regulator-boot-on;
16077934269SThierry Reding
16177934269SThierry Reding					regulator-enable-ramp-delay = <26>;
16277934269SThierry Reding					regulator-ramp-delay = <100000>;
16377934269SThierry Reding
16477934269SThierry Reding					maxim,active-fps-source = <MAX77620_FPS_SRC_NONE>;
16577934269SThierry Reding				};
16677934269SThierry Reding
16777934269SThierry Reding				vdd_pex_1v05: ldo1 {
16877934269SThierry Reding					regulator-name = "VDD_PEX_1V05";
16977934269SThierry Reding					regulator-min-microvolt = <1050000>;
17077934269SThierry Reding					regulator-max-microvolt = <1050000>;
17177934269SThierry Reding
17277934269SThierry Reding					regulator-enable-ramp-delay = <22>;
17377934269SThierry Reding					regulator-ramp-delay = <100000>;
17477934269SThierry Reding
17577934269SThierry Reding					maxim,active-fps-source = <MAX77620_FPS_SRC_1>;
17677934269SThierry Reding				};
17777934269SThierry Reding
17877934269SThierry Reding				vddio_sdmmc: ldo2 {
17977934269SThierry Reding					regulator-name = "VDDIO_SDMMC";
18077934269SThierry Reding					/*
18177934269SThierry Reding					 * Technically this supply should have
18277934269SThierry Reding					 * a supported range from 1.8 - 3.3 V.
18377934269SThierry Reding					 * However, that would cause the SDHCI
18477934269SThierry Reding					 * driver to request 2.7 V upon access
18577934269SThierry Reding					 * and that in turn will cause traffic
18677934269SThierry Reding					 * to be broken. Leave it at 3.3 V for
18777934269SThierry Reding					 * now.
18877934269SThierry Reding					 */
18977934269SThierry Reding					regulator-min-microvolt = <3300000>;
19077934269SThierry Reding					regulator-max-microvolt = <3300000>;
19177934269SThierry Reding					regulator-always-on;
19277934269SThierry Reding					regulator-boot-on;
19377934269SThierry Reding
19477934269SThierry Reding					regulator-enable-ramp-delay = <62>;
19577934269SThierry Reding					regulator-ramp-delay = <100000>;
19677934269SThierry Reding
19777934269SThierry Reding					maxim,active-fps-source = <MAX77620_FPS_SRC_NONE>;
19877934269SThierry Reding				};
19977934269SThierry Reding
20077934269SThierry Reding				vdd_cam_hv: ldo3 {
20177934269SThierry Reding					regulator-name = "VDD_CAM_HV";
20277934269SThierry Reding					regulator-min-microvolt = <2800000>;
20377934269SThierry Reding					regulator-max-microvolt = <2800000>;
20477934269SThierry Reding
20577934269SThierry Reding					regulator-enable-ramp-delay = <50>;
20677934269SThierry Reding					regulator-ramp-delay = <100000>;
20777934269SThierry Reding
20877934269SThierry Reding					maxim,active-fps-source = <MAX77620_FPS_SRC_NONE>;
20977934269SThierry Reding				};
21077934269SThierry Reding
21177934269SThierry Reding				vdd_rtc: ldo4 {
21277934269SThierry Reding					regulator-name = "VDD_RTC";
21377934269SThierry Reding					regulator-min-microvolt = <850000>;
21477934269SThierry Reding					regulator-max-microvolt = <850000>;
21577934269SThierry Reding					regulator-always-on;
21677934269SThierry Reding					regulator-boot-on;
21777934269SThierry Reding
21877934269SThierry Reding					regulator-enable-ramp-delay = <22>;
21977934269SThierry Reding					regulator-ramp-delay = <100000>;
22077934269SThierry Reding
22177934269SThierry Reding					maxim,active-fps-source = <MAX77620_FPS_SRC_0>;
22277934269SThierry Reding				};
22377934269SThierry Reding
22477934269SThierry Reding				vdd_ts_hv: ldo5 {
22577934269SThierry Reding					regulator-name = "VDD_TS_HV";
22677934269SThierry Reding					regulator-min-microvolt = <3300000>;
22777934269SThierry Reding					regulator-max-microvolt = <3300000>;
22877934269SThierry Reding
22977934269SThierry Reding					regulator-enable-ramp-delay = <62>;
23077934269SThierry Reding					regulator-ramp-delay = <100000>;
23177934269SThierry Reding
23277934269SThierry Reding					maxim,active-fps-source = <MAX77620_FPS_SRC_NONE>;
23377934269SThierry Reding				};
23477934269SThierry Reding
23577934269SThierry Reding				vdd_ts: ldo6 {
23677934269SThierry Reding					regulator-name = "VDD_TS_1V8";
23777934269SThierry Reding					regulator-min-microvolt = <1800000>;
23877934269SThierry Reding					regulator-max-microvolt = <1800000>;
23977934269SThierry Reding
24077934269SThierry Reding					regulator-enable-ramp-delay = <36>;
24177934269SThierry Reding					regulator-ramp-delay = <100000>;
24277934269SThierry Reding
24377934269SThierry Reding					maxim,active-fps-source = <MAX77620_FPS_SRC_0>;
24477934269SThierry Reding					maxim,active-fps-power-up-slot = <7>;
24577934269SThierry Reding					maxim,active-fps-power-down-slot = <0>;
24677934269SThierry Reding				};
24777934269SThierry Reding
24877934269SThierry Reding				avdd_1v05_pll: ldo7 {
24977934269SThierry Reding					regulator-name = "AVDD_1V05_PLL";
25077934269SThierry Reding					regulator-min-microvolt = <1050000>;
25177934269SThierry Reding					regulator-max-microvolt = <1050000>;
25277934269SThierry Reding					regulator-always-on;
25377934269SThierry Reding					regulator-boot-on;
25477934269SThierry Reding
25577934269SThierry Reding					regulator-enable-ramp-delay = <24>;
25677934269SThierry Reding					regulator-ramp-delay = <100000>;
25777934269SThierry Reding
25877934269SThierry Reding					maxim,active-fps-source = <MAX77620_FPS_SRC_1>;
25977934269SThierry Reding				};
26077934269SThierry Reding
26177934269SThierry Reding				avdd_1v05: ldo8 {
26277934269SThierry Reding					regulator-name = "AVDD_SATA_HDMI_DP_1V05";
26377934269SThierry Reding					regulator-min-microvolt = <1050000>;
26477934269SThierry Reding					regulator-max-microvolt = <1050000>;
26577934269SThierry Reding
26677934269SThierry Reding					regulator-enable-ramp-delay = <22>;
26777934269SThierry Reding					regulator-ramp-delay = <100000>;
26877934269SThierry Reding
26977934269SThierry Reding					maxim,active-fps-source = <MAX77620_FPS_SRC_1>;
27077934269SThierry Reding				};
27177934269SThierry Reding			};
27277934269SThierry Reding		};
27377934269SThierry Reding	};
27477934269SThierry Reding
275be70771dSThierry Reding	pmc@7000e400 {
2769e71045fSThierry Reding		nvidia,invert-interrupt;
2779e71045fSThierry Reding	};
2789e71045fSThierry Reding
2799e71045fSThierry Reding	/* eMMC */
280be70771dSThierry Reding	sdhci@700b0600 {
2819e71045fSThierry Reding		status = "okay";
2829e71045fSThierry Reding		bus-width = <8>;
2839e71045fSThierry Reding		non-removable;
2849e71045fSThierry Reding	};
2859e71045fSThierry Reding
2869e71045fSThierry Reding	clocks {
2879e71045fSThierry Reding		compatible = "simple-bus";
2889e71045fSThierry Reding		#address-cells = <1>;
2899e71045fSThierry Reding		#size-cells = <0>;
2909e71045fSThierry Reding
2919e71045fSThierry Reding		clk32k_in: clock@0 {
2929e71045fSThierry Reding			compatible = "fixed-clock";
2939e71045fSThierry Reding			reg = <0>;
2949e71045fSThierry Reding			#clock-cells = <0>;
2959e71045fSThierry Reding			clock-frequency = <32768>;
2969e71045fSThierry Reding		};
2979e71045fSThierry Reding	};
2985e6b9a89SAlexandre Courbot
2995e6b9a89SAlexandre Courbot	regulators {
3005e6b9a89SAlexandre Courbot		vdd_gpu: regulator@100 {
3015e6b9a89SAlexandre Courbot			compatible = "pwm-regulator";
3025e6b9a89SAlexandre Courbot			reg = <100>;
3035e6b9a89SAlexandre Courbot			pwms = <&pwm 1 4880>;
3045e6b9a89SAlexandre Courbot			regulator-name = "VDD_GPU";
3055e6b9a89SAlexandre Courbot			regulator-min-microvolt = <710000>;
3065e6b9a89SAlexandre Courbot			regulator-max-microvolt = <1320000>;
3075e6b9a89SAlexandre Courbot			enable-gpios = <&pmic 6 GPIO_ACTIVE_HIGH>;
3085e6b9a89SAlexandre Courbot			regulator-ramp-delay = <80>;
3095e6b9a89SAlexandre Courbot			regulator-enable-ramp-delay = <1000>;
3105e6b9a89SAlexandre Courbot		};
3115e6b9a89SAlexandre Courbot	};
3129e71045fSThierry Reding};
313