1b2441318SGreg Kroah-Hartman// SPDX-License-Identifier: GPL-2.0
277934269SThierry Reding#include <dt-bindings/mfd/max77620.h>
377934269SThierry Reding
49e71045fSThierry Reding#include "tegra210.dtsi"
59e71045fSThierry Reding
69e71045fSThierry Reding/ {
79e71045fSThierry Reding	model = "NVIDIA Jetson TX1";
89e71045fSThierry Reding	compatible = "nvidia,p2180", "nvidia,tegra210";
99e71045fSThierry Reding
109e71045fSThierry Reding	aliases {
1177934269SThierry Reding		rtc0 = "/i2c@7000d000/pmic@3c";
12be70771dSThierry Reding		rtc1 = "/rtc@7000e000";
139e71045fSThierry Reding		serial0 = &uarta;
149e71045fSThierry Reding	};
159e71045fSThierry Reding
165593eb76SThierry Reding	chosen {
175593eb76SThierry Reding		stdout-path = "serial0:115200n8";
185593eb76SThierry Reding	};
195593eb76SThierry Reding
20772a6a7bSThierry Reding	memory@80000000 {
219e71045fSThierry Reding		device_type = "memory";
229e71045fSThierry Reding		reg = <0x0 0x80000000 0x1 0x0>;
239e71045fSThierry Reding	};
249e71045fSThierry Reding
255e6b9a89SAlexandre Courbot	gpu@57000000 {
265e6b9a89SAlexandre Courbot		vdd-supply = <&vdd_gpu>;
275e6b9a89SAlexandre Courbot	};
285e6b9a89SAlexandre Courbot
299e71045fSThierry Reding	/* debug port */
30be70771dSThierry Reding	serial@70006000 {
31*6b53039eSThierry Reding		/delete-property/ dmas;
32*6b53039eSThierry Reding		/delete-property/ dma-names;
339e71045fSThierry Reding		status = "okay";
349e71045fSThierry Reding	};
359e71045fSThierry Reding
3679ed18d9SThierry Reding	i2c@7000c500 {
3779ed18d9SThierry Reding		status = "okay";
3879ed18d9SThierry Reding
3979ed18d9SThierry Reding		/* module ID EEPROM */
4079ed18d9SThierry Reding		eeprom@50 {
4179ed18d9SThierry Reding			compatible = "atmel,24c02";
4279ed18d9SThierry Reding			reg = <0x50>;
4379ed18d9SThierry Reding
4479ed18d9SThierry Reding			label = "module";
4579ed18d9SThierry Reding			vcc-supply = <&vdd_1v8>;
4679ed18d9SThierry Reding			address-width = <8>;
4779ed18d9SThierry Reding			pagesize = <8>;
4879ed18d9SThierry Reding			size = <256>;
4979ed18d9SThierry Reding			read-only;
5079ed18d9SThierry Reding		};
5179ed18d9SThierry Reding	};
5279ed18d9SThierry Reding
5377934269SThierry Reding	i2c@7000d000 {
5477934269SThierry Reding		status = "okay";
5577934269SThierry Reding		clock-frequency = <400000>;
5677934269SThierry Reding
5777934269SThierry Reding		pmic: pmic@3c {
5877934269SThierry Reding			compatible = "maxim,max77620";
5977934269SThierry Reding			reg = <0x3c>;
60358a6777SJon Hunter			interrupt-parent = <&tegra_pmc>;
61358a6777SJon Hunter			interrupts = <51 IRQ_TYPE_LEVEL_LOW>;
6277934269SThierry Reding
6377934269SThierry Reding			#interrupt-cells = <2>;
6477934269SThierry Reding			interrupt-controller;
6577934269SThierry Reding
6677934269SThierry Reding			#gpio-cells = <2>;
6777934269SThierry Reding			gpio-controller;
6877934269SThierry Reding
6977934269SThierry Reding			pinctrl-names = "default";
7077934269SThierry Reding			pinctrl-0 = <&max77620_default>;
7177934269SThierry Reding
7279ed18d9SThierry Reding			fps {
7379ed18d9SThierry Reding				fps0 {
7479ed18d9SThierry Reding					maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN0>;
7579ed18d9SThierry Reding					maxim,suspend-fps-time-period-us = <1280>;
7679ed18d9SThierry Reding				};
7779ed18d9SThierry Reding
7879ed18d9SThierry Reding				fps1 {
7979ed18d9SThierry Reding					maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN1>;
8079ed18d9SThierry Reding					maxim,suspend-fps-time-period-us = <1280>;
8179ed18d9SThierry Reding				};
8279ed18d9SThierry Reding
8379ed18d9SThierry Reding				fps2 {
8479ed18d9SThierry Reding					maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN0>;
8579ed18d9SThierry Reding				};
8679ed18d9SThierry Reding			};
8779ed18d9SThierry Reding
8877934269SThierry Reding			max77620_default: pinmux {
8977934269SThierry Reding				gpio0 {
9077934269SThierry Reding					pins = "gpio0";
9177934269SThierry Reding					function = "gpio";
9277934269SThierry Reding				};
9377934269SThierry Reding
9477934269SThierry Reding				gpio1 {
9577934269SThierry Reding					pins = "gpio1";
9677934269SThierry Reding					function = "fps-out";
972f477ee3SArnd Bergmann					drive-push-pull = <1>;
9877934269SThierry Reding					maxim,active-fps-source = <MAX77620_FPS_SRC_0>;
9977934269SThierry Reding					maxim,active-fps-power-up-slot = <7>;
10077934269SThierry Reding					maxim,active-fps-power-down-slot = <0>;
10177934269SThierry Reding				};
10277934269SThierry Reding
10377934269SThierry Reding				gpio2_3 {
10477934269SThierry Reding					pins = "gpio2", "gpio3";
10577934269SThierry Reding					function = "fps-out";
1062f477ee3SArnd Bergmann					drive-open-drain = <1>;
10777934269SThierry Reding					maxim,active-fps-source = <MAX77620_FPS_SRC_0>;
10877934269SThierry Reding				};
10977934269SThierry Reding
11077934269SThierry Reding				gpio4 {
11177934269SThierry Reding					pins = "gpio4";
11277934269SThierry Reding					function = "32k-out1";
11377934269SThierry Reding				};
11477934269SThierry Reding
11577934269SThierry Reding				gpio5_6_7 {
11677934269SThierry Reding					pins = "gpio5", "gpio6", "gpio7";
11777934269SThierry Reding					function = "gpio";
1182f477ee3SArnd Bergmann					drive-push-pull = <1>;
11977934269SThierry Reding				};
12077934269SThierry Reding			};
12177934269SThierry Reding
12277934269SThierry Reding			regulators {
12377934269SThierry Reding				in-ldo0-1-supply = <&vdd_pre>;
12477934269SThierry Reding				in-ldo7-8-supply = <&vdd_pre>;
12577934269SThierry Reding				in-sd3-supply = <&vdd_5v0_sys>;
12677934269SThierry Reding
12777934269SThierry Reding				vdd_soc: sd0 {
12877934269SThierry Reding					regulator-name = "VDD_SOC";
12977934269SThierry Reding					regulator-min-microvolt = <600000>;
13077934269SThierry Reding					regulator-max-microvolt = <1400000>;
13177934269SThierry Reding					regulator-always-on;
13277934269SThierry Reding					regulator-boot-on;
13377934269SThierry Reding
13477934269SThierry Reding					regulator-enable-ramp-delay = <146>;
13577934269SThierry Reding					regulator-ramp-delay = <27500>;
13677934269SThierry Reding
13777934269SThierry Reding					maxim,active-fps-source = <MAX77620_FPS_SRC_1>;
13877934269SThierry Reding				};
13977934269SThierry Reding
14077934269SThierry Reding				vdd_ddr: sd1 {
14177934269SThierry Reding					regulator-name = "VDD_DDR_1V1_PMIC";
14277934269SThierry Reding					regulator-always-on;
14377934269SThierry Reding					regulator-boot-on;
14477934269SThierry Reding
14577934269SThierry Reding					regulator-enable-ramp-delay = <130>;
14677934269SThierry Reding					regulator-ramp-delay = <27500>;
14777934269SThierry Reding
14877934269SThierry Reding					maxim,active-fps-source = <MAX77620_FPS_SRC_0>;
14977934269SThierry Reding				};
15077934269SThierry Reding
15177934269SThierry Reding				vdd_pre: sd2 {
15277934269SThierry Reding					regulator-name = "VDD_PRE_REG_1V35";
15377934269SThierry Reding					regulator-min-microvolt = <1350000>;
15477934269SThierry Reding					regulator-max-microvolt = <1350000>;
15577934269SThierry Reding
15677934269SThierry Reding					regulator-enable-ramp-delay = <176>;
15777934269SThierry Reding					regulator-ramp-delay = <27500>;
15877934269SThierry Reding
15977934269SThierry Reding					maxim,active-fps-source = <MAX77620_FPS_SRC_1>;
16077934269SThierry Reding				};
16177934269SThierry Reding
16277934269SThierry Reding				vdd_1v8: sd3 {
16377934269SThierry Reding					regulator-name = "VDD_1V8";
16477934269SThierry Reding					regulator-min-microvolt = <1800000>;
16577934269SThierry Reding					regulator-max-microvolt = <1800000>;
16677934269SThierry Reding					regulator-always-on;
16777934269SThierry Reding					regulator-boot-on;
16877934269SThierry Reding
16977934269SThierry Reding					regulator-enable-ramp-delay = <242>;
17077934269SThierry Reding					regulator-ramp-delay = <27500>;
17177934269SThierry Reding
17277934269SThierry Reding					maxim,active-fps-source = <MAX77620_FPS_SRC_0>;
17377934269SThierry Reding				};
17477934269SThierry Reding
17577934269SThierry Reding				vdd_sys_1v2: ldo0 {
17677934269SThierry Reding					regulator-name = "AVDD_SYS_1V2";
17777934269SThierry Reding					regulator-min-microvolt = <1200000>;
17877934269SThierry Reding					regulator-max-microvolt = <1200000>;
17977934269SThierry Reding					regulator-always-on;
18077934269SThierry Reding					regulator-boot-on;
18177934269SThierry Reding
18277934269SThierry Reding					regulator-enable-ramp-delay = <26>;
18377934269SThierry Reding					regulator-ramp-delay = <100000>;
18477934269SThierry Reding
18577934269SThierry Reding					maxim,active-fps-source = <MAX77620_FPS_SRC_NONE>;
18677934269SThierry Reding				};
18777934269SThierry Reding
18877934269SThierry Reding				vdd_pex_1v05: ldo1 {
18977934269SThierry Reding					regulator-name = "VDD_PEX_1V05";
19077934269SThierry Reding					regulator-min-microvolt = <1050000>;
19177934269SThierry Reding					regulator-max-microvolt = <1050000>;
19277934269SThierry Reding
19377934269SThierry Reding					regulator-enable-ramp-delay = <22>;
19477934269SThierry Reding					regulator-ramp-delay = <100000>;
19577934269SThierry Reding
19677934269SThierry Reding					maxim,active-fps-source = <MAX77620_FPS_SRC_1>;
19777934269SThierry Reding				};
19877934269SThierry Reding
19977934269SThierry Reding				vddio_sdmmc: ldo2 {
20077934269SThierry Reding					regulator-name = "VDDIO_SDMMC";
20141cc3771SAapo Vienamo					regulator-min-microvolt = <1800000>;
20277934269SThierry Reding					regulator-max-microvolt = <3300000>;
20377934269SThierry Reding					regulator-always-on;
20477934269SThierry Reding					regulator-boot-on;
20577934269SThierry Reding
20677934269SThierry Reding					regulator-enable-ramp-delay = <62>;
20777934269SThierry Reding					regulator-ramp-delay = <100000>;
20877934269SThierry Reding
20977934269SThierry Reding					maxim,active-fps-source = <MAX77620_FPS_SRC_NONE>;
21077934269SThierry Reding				};
21177934269SThierry Reding
21277934269SThierry Reding				vdd_cam_hv: ldo3 {
21377934269SThierry Reding					regulator-name = "VDD_CAM_HV";
21477934269SThierry Reding					regulator-min-microvolt = <2800000>;
21577934269SThierry Reding					regulator-max-microvolt = <2800000>;
21677934269SThierry Reding
21777934269SThierry Reding					regulator-enable-ramp-delay = <50>;
21877934269SThierry Reding					regulator-ramp-delay = <100000>;
21977934269SThierry Reding
22077934269SThierry Reding					maxim,active-fps-source = <MAX77620_FPS_SRC_NONE>;
22177934269SThierry Reding				};
22277934269SThierry Reding
22377934269SThierry Reding				vdd_rtc: ldo4 {
22477934269SThierry Reding					regulator-name = "VDD_RTC";
22577934269SThierry Reding					regulator-min-microvolt = <850000>;
22677934269SThierry Reding					regulator-max-microvolt = <850000>;
22777934269SThierry Reding					regulator-always-on;
22877934269SThierry Reding					regulator-boot-on;
22977934269SThierry Reding
23077934269SThierry Reding					regulator-enable-ramp-delay = <22>;
23177934269SThierry Reding					regulator-ramp-delay = <100000>;
23277934269SThierry Reding
23377934269SThierry Reding					maxim,active-fps-source = <MAX77620_FPS_SRC_0>;
23477934269SThierry Reding				};
23577934269SThierry Reding
23677934269SThierry Reding				vdd_ts_hv: ldo5 {
23777934269SThierry Reding					regulator-name = "VDD_TS_HV";
23877934269SThierry Reding					regulator-min-microvolt = <3300000>;
23977934269SThierry Reding					regulator-max-microvolt = <3300000>;
24077934269SThierry Reding
24177934269SThierry Reding					regulator-enable-ramp-delay = <62>;
24277934269SThierry Reding					regulator-ramp-delay = <100000>;
24377934269SThierry Reding
24477934269SThierry Reding					maxim,active-fps-source = <MAX77620_FPS_SRC_NONE>;
24577934269SThierry Reding				};
24677934269SThierry Reding
24777934269SThierry Reding				vdd_ts: ldo6 {
24877934269SThierry Reding					regulator-name = "VDD_TS_1V8";
24977934269SThierry Reding					regulator-min-microvolt = <1800000>;
25077934269SThierry Reding					regulator-max-microvolt = <1800000>;
25177934269SThierry Reding
25277934269SThierry Reding					regulator-enable-ramp-delay = <36>;
25377934269SThierry Reding					regulator-ramp-delay = <100000>;
25477934269SThierry Reding
25577934269SThierry Reding					maxim,active-fps-source = <MAX77620_FPS_SRC_0>;
25677934269SThierry Reding					maxim,active-fps-power-up-slot = <7>;
25777934269SThierry Reding					maxim,active-fps-power-down-slot = <0>;
25877934269SThierry Reding				};
25977934269SThierry Reding
26077934269SThierry Reding				avdd_1v05_pll: ldo7 {
26177934269SThierry Reding					regulator-name = "AVDD_1V05_PLL";
26277934269SThierry Reding					regulator-min-microvolt = <1050000>;
26377934269SThierry Reding					regulator-max-microvolt = <1050000>;
26477934269SThierry Reding					regulator-always-on;
26577934269SThierry Reding					regulator-boot-on;
26677934269SThierry Reding
26777934269SThierry Reding					regulator-enable-ramp-delay = <24>;
26877934269SThierry Reding					regulator-ramp-delay = <100000>;
26977934269SThierry Reding
27077934269SThierry Reding					maxim,active-fps-source = <MAX77620_FPS_SRC_1>;
27177934269SThierry Reding				};
27277934269SThierry Reding
27377934269SThierry Reding				avdd_1v05: ldo8 {
27477934269SThierry Reding					regulator-name = "AVDD_SATA_HDMI_DP_1V05";
27577934269SThierry Reding					regulator-min-microvolt = <1050000>;
27677934269SThierry Reding					regulator-max-microvolt = <1050000>;
27777934269SThierry Reding
27877934269SThierry Reding					regulator-enable-ramp-delay = <22>;
27977934269SThierry Reding					regulator-ramp-delay = <100000>;
28077934269SThierry Reding
28177934269SThierry Reding					maxim,active-fps-source = <MAX77620_FPS_SRC_1>;
28277934269SThierry Reding				};
28377934269SThierry Reding			};
28477934269SThierry Reding		};
28577934269SThierry Reding	};
28677934269SThierry Reding
287be70771dSThierry Reding	pmc@7000e400 {
2889e71045fSThierry Reding		nvidia,invert-interrupt;
289106f7a06SSowjanya Komatineni		nvidia,suspend-mode = <0>;
290106f7a06SSowjanya Komatineni		nvidia,cpu-pwr-good-time = <0>;
291106f7a06SSowjanya Komatineni		nvidia,cpu-pwr-off-time = <0>;
292106f7a06SSowjanya Komatineni		nvidia,core-pwr-good-time = <4587 3876>;
293106f7a06SSowjanya Komatineni		nvidia,core-pwr-off-time = <39065>;
294106f7a06SSowjanya Komatineni		nvidia,core-power-req-active-high;
295106f7a06SSowjanya Komatineni		nvidia,sys-clock-req-active-high;
2969e71045fSThierry Reding	};
2979e71045fSThierry Reding
2989e71045fSThierry Reding	/* eMMC */
29967bb17f6SThierry Reding	mmc@700b0600 {
3009e71045fSThierry Reding		status = "okay";
3019e71045fSThierry Reding		bus-width = <8>;
3029e71045fSThierry Reding		non-removable;
3036ff7705dSAapo Vienamo		vqmmc-supply = <&vdd_1v8>;
3049e71045fSThierry Reding	};
3059e71045fSThierry Reding
3064cc3e3e1SThierry Reding	clk32k_in: clock-32k {
3079e71045fSThierry Reding		compatible = "fixed-clock";
3089e71045fSThierry Reding		clock-frequency = <32768>;
309393a403eSThierry Reding		#clock-cells = <0>;
3109e71045fSThierry Reding	};
3115e6b9a89SAlexandre Courbot
3122fdb74feSJon Hunter	cpus {
3132fdb74feSJon Hunter		cpu@0 {
3142fdb74feSJon Hunter			enable-method = "psci";
3152fdb74feSJon Hunter		};
3162fdb74feSJon Hunter
3172fdb74feSJon Hunter		cpu@1 {
3182fdb74feSJon Hunter			enable-method = "psci";
3192fdb74feSJon Hunter		};
3202fdb74feSJon Hunter
3212fdb74feSJon Hunter		cpu@2 {
3222fdb74feSJon Hunter			enable-method = "psci";
3232fdb74feSJon Hunter		};
3242fdb74feSJon Hunter
3252fdb74feSJon Hunter		cpu@3 {
3262fdb74feSJon Hunter			enable-method = "psci";
3272fdb74feSJon Hunter		};
328d2c19dd7SJoseph Lo
329d2c19dd7SJoseph Lo		idle-states {
330d2c19dd7SJoseph Lo			cpu-sleep {
331d2c19dd7SJoseph Lo				status = "okay";
332d2c19dd7SJoseph Lo			};
333d2c19dd7SJoseph Lo		};
3342fdb74feSJon Hunter	};
3352fdb74feSJon Hunter
3362fdb74feSJon Hunter	psci {
3372fdb74feSJon Hunter		compatible = "arm,psci-0.2";
3382fdb74feSJon Hunter		method = "smc";
3392fdb74feSJon Hunter	};
3402fdb74feSJon Hunter
341097e01c6SThierry Reding	vdd_gpu: regulator-vdd-gpu {
3425e6b9a89SAlexandre Courbot		compatible = "pwm-regulator";
343562da8b4SThierry Reding		pwms = <&pwm 1 8000>;
3445e6b9a89SAlexandre Courbot		regulator-name = "VDD_GPU";
3455e6b9a89SAlexandre Courbot		regulator-min-microvolt = <710000>;
3465e6b9a89SAlexandre Courbot		regulator-max-microvolt = <1320000>;
3475e6b9a89SAlexandre Courbot		enable-gpios = <&pmic 6 GPIO_ACTIVE_HIGH>;
3485e6b9a89SAlexandre Courbot		regulator-ramp-delay = <80>;
349ece6031eSJon Hunter		regulator-enable-ramp-delay = <2000>;
350ece6031eSJon Hunter		regulator-settling-time-us = <160>;
3515e6b9a89SAlexandre Courbot	};
3525e6b9a89SAlexandre Courbot};
353