1df205de6SJoseph Lo#include "tegra186.dtsi"
2df205de6SJoseph Lo
302df3f03SThierry Reding#include <dt-bindings/mfd/max77620.h>
402df3f03SThierry Reding
5df205de6SJoseph Lo/ {
6df205de6SJoseph Lo	model = "NVIDIA Tegra186 P3310 Processor Module";
7df205de6SJoseph Lo	compatible = "nvidia,p3310", "nvidia,tegra186";
8df205de6SJoseph Lo
9df205de6SJoseph Lo	aliases {
10df205de6SJoseph Lo		serial0 = &uarta;
11a4c7aab2SThierry Reding		i2c0 = "/bpmp/i2c";
12a4c7aab2SThierry Reding		i2c1 = "/i2c@3160000";
13a4c7aab2SThierry Reding		i2c2 = "/i2c@c240000";
14a4c7aab2SThierry Reding		i2c3 = "/i2c@3180000";
15a4c7aab2SThierry Reding		i2c4 = "/i2c@3190000";
16a4c7aab2SThierry Reding		i2c5 = "/i2c@31c0000";
17a4c7aab2SThierry Reding		i2c6 = "/i2c@c250000";
18a4c7aab2SThierry Reding		i2c7 = "/i2c@31e0000";
19df205de6SJoseph Lo	};
20df205de6SJoseph Lo
21df205de6SJoseph Lo	chosen {
22df205de6SJoseph Lo		bootargs = "earlycon console=ttyS0,115200n8";
23df205de6SJoseph Lo		stdout-path = "serial0:115200n8";
24df205de6SJoseph Lo	};
25df205de6SJoseph Lo
26df205de6SJoseph Lo	memory {
27df205de6SJoseph Lo		device_type = "memory";
28df205de6SJoseph Lo		reg = <0x0 0x80000000 0x2 0x00000000>;
29df205de6SJoseph Lo	};
30df205de6SJoseph Lo
3124975b8cSThierry Reding	ethernet@2490000 {
3224975b8cSThierry Reding		status = "okay";
3324975b8cSThierry Reding
3424975b8cSThierry Reding		phy-reset-gpios = <&gpio TEGRA_MAIN_GPIO(M, 4) GPIO_ACTIVE_LOW>;
3524975b8cSThierry Reding		phy-handle = <&phy>;
3624975b8cSThierry Reding		phy-mode = "rgmii";
3724975b8cSThierry Reding
3824975b8cSThierry Reding		mdio {
3924975b8cSThierry Reding			#address-cells = <1>;
4024975b8cSThierry Reding			#size-cells = <0>;
4124975b8cSThierry Reding
4224975b8cSThierry Reding			phy: phy@0 {
4324975b8cSThierry Reding				compatible = "ethernet-phy-ieee802.3-c22";
4424975b8cSThierry Reding				reg = <0x0>;
4524975b8cSThierry Reding				interrupt-parent = <&gpio>;
4624975b8cSThierry Reding				interrupts = <TEGRA_MAIN_GPIO(M, 5) IRQ_TYPE_LEVEL_HIGH>;
4724975b8cSThierry Reding			};
4824975b8cSThierry Reding		};
4924975b8cSThierry Reding	};
5024975b8cSThierry Reding
51df205de6SJoseph Lo	serial@3100000 {
52df205de6SJoseph Lo		status = "okay";
53df205de6SJoseph Lo	};
54df205de6SJoseph Lo
55a4c7aab2SThierry Reding	i2c@3160000 {
56a4c7aab2SThierry Reding		status = "okay";
57a4c7aab2SThierry Reding	};
58a4c7aab2SThierry Reding
59a4c7aab2SThierry Reding	i2c@3180000 {
60a4c7aab2SThierry Reding		status = "okay";
61a4c7aab2SThierry Reding	};
62a4c7aab2SThierry Reding
63a4c7aab2SThierry Reding	i2c@3190000 {
64a4c7aab2SThierry Reding		status = "okay";
65a4c7aab2SThierry Reding	};
66a4c7aab2SThierry Reding
67a4c7aab2SThierry Reding	i2c@31c0000 {
68a4c7aab2SThierry Reding		status = "okay";
69a4c7aab2SThierry Reding	};
70a4c7aab2SThierry Reding
71a4c7aab2SThierry Reding	i2c@31e0000 {
72a4c7aab2SThierry Reding		status = "okay";
73a4c7aab2SThierry Reding	};
74a4c7aab2SThierry Reding
75df205de6SJoseph Lo	hsp@3c00000 {
76df205de6SJoseph Lo		status = "okay";
77df205de6SJoseph Lo	};
78df205de6SJoseph Lo
79a4c7aab2SThierry Reding	i2c@c240000 {
80a4c7aab2SThierry Reding		status = "okay";
81a4c7aab2SThierry Reding	};
82a4c7aab2SThierry Reding
83a4c7aab2SThierry Reding	i2c@c250000 {
84a4c7aab2SThierry Reding		status = "okay";
85a4c7aab2SThierry Reding	};
86a4c7aab2SThierry Reding
8793dbb44cSThierry Reding	pmc@c360000 {
8893dbb44cSThierry Reding		nvidia,invert-interrupt;
8993dbb44cSThierry Reding	};
9093dbb44cSThierry Reding
910dfde133SThierry Reding	cpus {
920dfde133SThierry Reding		cpu@0 {
930dfde133SThierry Reding			enable-method = "psci";
940dfde133SThierry Reding		};
950dfde133SThierry Reding
960dfde133SThierry Reding		cpu@1 {
970dfde133SThierry Reding			enable-method = "psci";
980dfde133SThierry Reding		};
990dfde133SThierry Reding
1000dfde133SThierry Reding		cpu@2 {
1010dfde133SThierry Reding			enable-method = "psci";
1020dfde133SThierry Reding		};
1030dfde133SThierry Reding
1040dfde133SThierry Reding		cpu@3 {
1050dfde133SThierry Reding			enable-method = "psci";
1060dfde133SThierry Reding		};
1070dfde133SThierry Reding
1080dfde133SThierry Reding		cpu@4 {
1090dfde133SThierry Reding			enable-method = "psci";
1100dfde133SThierry Reding		};
1110dfde133SThierry Reding
1120dfde133SThierry Reding		cpu@5 {
1130dfde133SThierry Reding			enable-method = "psci";
1140dfde133SThierry Reding		};
1150dfde133SThierry Reding	};
1160dfde133SThierry Reding
117df205de6SJoseph Lo	bpmp {
118a4c7aab2SThierry Reding		i2c {
119df205de6SJoseph Lo			status = "okay";
12002df3f03SThierry Reding
12102df3f03SThierry Reding			pmic: pmic@3c {
12202df3f03SThierry Reding				compatible = "maxim,max77620";
12302df3f03SThierry Reding				reg = <0x3c>;
12402df3f03SThierry Reding
12502df3f03SThierry Reding				interrupts = <GIC_SPI 209 IRQ_TYPE_LEVEL_HIGH>;
12602df3f03SThierry Reding				#interrupt-cells = <2>;
12702df3f03SThierry Reding				interrupt-controller;
12802df3f03SThierry Reding
12902df3f03SThierry Reding				#gpio-cells = <2>;
13002df3f03SThierry Reding				gpio-controller;
13102df3f03SThierry Reding
13202df3f03SThierry Reding				pinctrl-names = "default";
13302df3f03SThierry Reding				pinctrl-0 = <&max77620_default>;
13402df3f03SThierry Reding
13502df3f03SThierry Reding				max77620_default: pinmux {
13602df3f03SThierry Reding					gpio0 {
13702df3f03SThierry Reding						pins = "gpio0";
13802df3f03SThierry Reding						function = "gpio";
13902df3f03SThierry Reding					};
14002df3f03SThierry Reding
14102df3f03SThierry Reding					gpio1 {
14202df3f03SThierry Reding						pins = "gpio1";
14302df3f03SThierry Reding						function = "fps-out";
14402df3f03SThierry Reding						maxim,active-fps-source = <MAX77620_FPS_SRC_0>;
14502df3f03SThierry Reding					};
14602df3f03SThierry Reding
14702df3f03SThierry Reding					gpio2 {
14802df3f03SThierry Reding						pins = "gpio2";
14902df3f03SThierry Reding						function = "fps-out";
15002df3f03SThierry Reding						maxim,active-fps-source = <MAX77620_FPS_SRC_1>;
15102df3f03SThierry Reding					};
15202df3f03SThierry Reding
15302df3f03SThierry Reding					gpio3 {
15402df3f03SThierry Reding						pins = "gpio3";
15502df3f03SThierry Reding						function = "fps-out";
15602df3f03SThierry Reding						maxim,active-fps-source = <MAX77620_FPS_SRC_1>;
15702df3f03SThierry Reding					};
15802df3f03SThierry Reding
15902df3f03SThierry Reding					gpio4 {
16002df3f03SThierry Reding						pins = "gpio4";
16102df3f03SThierry Reding						function = "32k-out1";
16202df3f03SThierry Reding						drive-push-pull = <1>;
16302df3f03SThierry Reding					};
16402df3f03SThierry Reding
16502df3f03SThierry Reding					gpio5 {
16602df3f03SThierry Reding						pins = "gpio5";
16702df3f03SThierry Reding						function = "gpio";
16802df3f03SThierry Reding						drive-push-pull = <0>;
16902df3f03SThierry Reding					};
17002df3f03SThierry Reding
17102df3f03SThierry Reding					gpio6 {
17202df3f03SThierry Reding						pins = "gpio6";
17302df3f03SThierry Reding						function = "gpio";
17402df3f03SThierry Reding						drive-push-pull = <1>;
17502df3f03SThierry Reding					};
17602df3f03SThierry Reding
17702df3f03SThierry Reding					gpio7 {
17802df3f03SThierry Reding						pins = "gpio7";
17902df3f03SThierry Reding						function = "gpio";
18002df3f03SThierry Reding						drive-push-pull = <0>;
18102df3f03SThierry Reding					};
18202df3f03SThierry Reding				};
18302df3f03SThierry Reding
18402df3f03SThierry Reding				fps {
18502df3f03SThierry Reding					fps0 {
18602df3f03SThierry Reding						maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN0>;
18702df3f03SThierry Reding						maxim,shutdown-fps-time-period-us = <640>;
18802df3f03SThierry Reding					};
18902df3f03SThierry Reding
19002df3f03SThierry Reding					fps1 {
19102df3f03SThierry Reding						maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN1>;
19202df3f03SThierry Reding						maxim,shutdown-fps-time-period-us = <640>;
19302df3f03SThierry Reding					};
19402df3f03SThierry Reding
19502df3f03SThierry Reding					fps2 {
19602df3f03SThierry Reding						maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN0>;
19702df3f03SThierry Reding						maxim,shutdown-fps-time-period-us = <640>;
19802df3f03SThierry Reding					};
19902df3f03SThierry Reding				};
20002df3f03SThierry Reding
20102df3f03SThierry Reding				regulators {
20202df3f03SThierry Reding					in-sd0-supply = <&vdd_5v0_sys>;
20302df3f03SThierry Reding					in-sd1-supply = <&vdd_5v0_sys>;
20402df3f03SThierry Reding					in-sd2-supply = <&vdd_5v0_sys>;
20502df3f03SThierry Reding					in-sd3-supply = <&vdd_5v0_sys>;
20602df3f03SThierry Reding
20702df3f03SThierry Reding					in-ldo0-1-supply = <&vdd_5v0_sys>;
20802df3f03SThierry Reding					in-ldo2-supply = <&vdd_5v0_sys>;
20902df3f03SThierry Reding					in-ldo3-5-supply = <&vdd_5v0_sys>;
21002df3f03SThierry Reding					in-ldo4-6-supply = <&vdd_1v8>;
21102df3f03SThierry Reding					in-ldo7-8-supply = <&avdd_dsi_csi>;
21202df3f03SThierry Reding
21302df3f03SThierry Reding					sd0 {
21402df3f03SThierry Reding						regulator-name = "VDD_DDR_1V1_PMIC";
21502df3f03SThierry Reding						regulator-min-microvolt = <1100000>;
21602df3f03SThierry Reding						regulator-max-microvolt = <1100000>;
21702df3f03SThierry Reding						regulator-always-on;
21802df3f03SThierry Reding						regulator-boot-on;
21902df3f03SThierry Reding					};
22002df3f03SThierry Reding
22102df3f03SThierry Reding					avdd_dsi_csi: sd1 {
22202df3f03SThierry Reding						regulator-name = "AVDD_DSI_CSI_1V2";
22302df3f03SThierry Reding						regulator-min-microvolt = <1200000>;
22402df3f03SThierry Reding						regulator-max-microvolt = <1200000>;
22502df3f03SThierry Reding						/* XXX */
22602df3f03SThierry Reding						regulator-always-on;
22702df3f03SThierry Reding						regulator-boot-on;
22802df3f03SThierry Reding					};
22902df3f03SThierry Reding
23002df3f03SThierry Reding					vdd_1v8: sd2 {
23102df3f03SThierry Reding						regulator-name = "VDD_1V8";
23202df3f03SThierry Reding						regulator-min-microvolt = <1800000>;
23302df3f03SThierry Reding						regulator-max-microvolt = <1800000>;
23402df3f03SThierry Reding						/* XXX */
23502df3f03SThierry Reding						regulator-always-on;
23602df3f03SThierry Reding						regulator-boot-on;
23702df3f03SThierry Reding					};
23802df3f03SThierry Reding
23902df3f03SThierry Reding					vdd_3v3_sys: sd3 {
24002df3f03SThierry Reding						regulator-name = "VDD_3V3_SYS";
24102df3f03SThierry Reding						regulator-min-microvolt = <3300000>;
24202df3f03SThierry Reding						regulator-max-microvolt = <3300000>;
24302df3f03SThierry Reding						/* XXX */
24402df3f03SThierry Reding						regulator-always-on;
24502df3f03SThierry Reding						regulator-boot-on;
24602df3f03SThierry Reding					};
24702df3f03SThierry Reding
24802df3f03SThierry Reding					ldo0 {
24902df3f03SThierry Reding						regulator-name = "VDD_1V8_AP_PLL";
25002df3f03SThierry Reding						regulator-min-microvolt = <1800000>;
25102df3f03SThierry Reding						regulator-max-microvolt = <1800000>;
25202df3f03SThierry Reding						/* XXX */
25302df3f03SThierry Reding						regulator-always-on;
25402df3f03SThierry Reding						regulator-boot-on;
25502df3f03SThierry Reding					};
25602df3f03SThierry Reding
25702df3f03SThierry Reding					ldo2 {
25802df3f03SThierry Reding						regulator-name = "VDDIO_3V3_AOHV";
25902df3f03SThierry Reding						regulator-min-microvolt = <3300000>;
26002df3f03SThierry Reding						regulator-max-microvolt = <3300000>;
26102df3f03SThierry Reding						/* XXX */
26202df3f03SThierry Reding						regulator-always-on;
26302df3f03SThierry Reding						regulator-boot-on;
26402df3f03SThierry Reding					};
26502df3f03SThierry Reding
26602df3f03SThierry Reding					vddio_sdmmc1: ldo3 {
26702df3f03SThierry Reding						regulator-name = "VDDIO_SDMMC1_AP";
26802df3f03SThierry Reding						regulator-min-microvolt = <1800000>;
26902df3f03SThierry Reding						regulator-max-microvolt = <3300000>;
27002df3f03SThierry Reding					};
27102df3f03SThierry Reding
27202df3f03SThierry Reding					ldo4 {
27302df3f03SThierry Reding						regulator-name = "VDD_RTC";
27402df3f03SThierry Reding						regulator-min-microvolt = <1000000>;
27502df3f03SThierry Reding						regulator-max-microvolt = <1000000>;
27602df3f03SThierry Reding					};
27702df3f03SThierry Reding
27802df3f03SThierry Reding					vddio_sdmmc3: ldo5 {
27902df3f03SThierry Reding						regulator-name = "VDDIO_SDMMC3_AP";
28002df3f03SThierry Reding						regulator-min-microvolt = <2800000>;
28102df3f03SThierry Reding						regulator-max-microvolt = <2800000>;
28202df3f03SThierry Reding					};
28302df3f03SThierry Reding
28402df3f03SThierry Reding					avdd_1v05: ldo7 {
28502df3f03SThierry Reding						regulator-name = "VDD_HDMI_1V05";
28602df3f03SThierry Reding						regulator-min-microvolt = <1050000>;
28702df3f03SThierry Reding						regulator-max-microvolt = <1050000>;
28802df3f03SThierry Reding						/* XXX */
28902df3f03SThierry Reding						regulator-always-on;
29002df3f03SThierry Reding						regulator-boot-on;
29102df3f03SThierry Reding					};
29202df3f03SThierry Reding
29302df3f03SThierry Reding					vdd_pex: ldo8 {
29402df3f03SThierry Reding						regulator-name = "VDD_PEX_1V05";
29502df3f03SThierry Reding						regulator-min-microvolt = <1050000>;
29602df3f03SThierry Reding						regulator-max-microvolt = <1050000>;
29702df3f03SThierry Reding						/* XXX */
29802df3f03SThierry Reding						regulator-always-on;
29902df3f03SThierry Reding						regulator-boot-on;
30002df3f03SThierry Reding					};
30102df3f03SThierry Reding				};
30202df3f03SThierry Reding			};
303df205de6SJoseph Lo		};
304a4c7aab2SThierry Reding	};
3050dfde133SThierry Reding
3060dfde133SThierry Reding	psci {
3070dfde133SThierry Reding		compatible = "arm,psci-1.0";
3080dfde133SThierry Reding		status = "okay";
3090dfde133SThierry Reding		method = "smc";
3100dfde133SThierry Reding	};
31102df3f03SThierry Reding
31202df3f03SThierry Reding	regulators {
31302df3f03SThierry Reding		compatible = "simple-bus";
31402df3f03SThierry Reding		#address-cells = <1>;
31502df3f03SThierry Reding		#size-cells = <0>;
31602df3f03SThierry Reding
31702df3f03SThierry Reding		vdd_5v0_sys: regulator@0 {
31802df3f03SThierry Reding			compatible = "regulator-fixed";
31902df3f03SThierry Reding			reg = <0>;
32002df3f03SThierry Reding
32102df3f03SThierry Reding			regulator-name = "VDD_5V0_SYS";
32202df3f03SThierry Reding			regulator-min-microvolt = <5000000>;
32302df3f03SThierry Reding			regulator-max-microvolt = <5000000>;
32402df3f03SThierry Reding			regulator-always-on;
32502df3f03SThierry Reding			regulator-boot-on;
32602df3f03SThierry Reding		};
32702df3f03SThierry Reding
32802df3f03SThierry Reding		vdd_1v8_ap: regulator@1 {
32902df3f03SThierry Reding			compatible = "regulator-fixed";
33002df3f03SThierry Reding			reg = <1>;
33102df3f03SThierry Reding
33202df3f03SThierry Reding			regulator-name = "VDD_1V8_AP";
33302df3f03SThierry Reding			regulator-min-microvolt = <1800000>;
33402df3f03SThierry Reding			regulator-max-microvolt = <1800000>;
33502df3f03SThierry Reding
33602df3f03SThierry Reding			/* XXX */
33702df3f03SThierry Reding			regulator-always-on;
33802df3f03SThierry Reding			regulator-boot-on;
33902df3f03SThierry Reding
34002df3f03SThierry Reding			gpio = <&pmic 1 GPIO_ACTIVE_HIGH>;
34102df3f03SThierry Reding			enable-active-high;
34202df3f03SThierry Reding
34302df3f03SThierry Reding			vin-supply = <&vdd_1v8>;
34402df3f03SThierry Reding		};
34502df3f03SThierry Reding	};
346df205de6SJoseph Lo};
347