1// SPDX-License-Identifier: GPL-2.0
2#include "tegra194.dtsi"
3
4#include <dt-bindings/mfd/max77620.h>
5
6/ {
7	model = "NVIDIA Tegra194 P2888 Processor Module";
8	compatible = "nvidia,p2888", "nvidia,tegra194";
9
10	aliases {
11		sdhci0 = "/cbb/sdhci@3460000";
12		sdhci1 = "/cbb/sdhci@3400000";
13		serial0 = &uartb;
14		i2c0 = "/bpmp/i2c";
15		i2c1 = "/cbb/i2c@3160000";
16		i2c2 = "/cbb/i2c@c240000";
17		i2c3 = "/cbb/i2c@3180000";
18		i2c4 = "/cbb/i2c@3190000";
19		i2c5 = "/cbb/i2c@31c0000";
20		i2c6 = "/cbb/i2c@c250000";
21		i2c7 = "/cbb/i2c@31e0000";
22	};
23
24	chosen {
25		bootargs = "console=ttyS0,115200n8";
26		stdout-path = "serial0:115200n8";
27	};
28
29	cbb {
30		ethernet@2490000 {
31			status = "okay";
32
33			phy-reset-gpios = <&gpio TEGRA194_MAIN_GPIO(G, 5) GPIO_ACTIVE_LOW>;
34			phy-handle = <&phy>;
35			phy-mode = "rgmii";
36
37			mdio {
38				#address-cells = <1>;
39				#size-cells = <0>;
40
41				phy: phy@0 {
42					compatible = "ethernet-phy-ieee802.3-c22";
43					reg = <0x0>;
44					interrupt-parent = <&gpio>;
45					interrupts = <TEGRA194_MAIN_GPIO(G, 4) IRQ_TYPE_LEVEL_LOW>;
46				};
47			};
48		};
49
50		serial@3110000 {
51			status = "okay";
52		};
53
54		/* SDMMC1 (SD/MMC) */
55		sdhci@3400000 {
56			cd-gpios = <&gpio TEGRA194_MAIN_GPIO(A, 0) GPIO_ACTIVE_LOW>;
57		};
58
59		/* SDMMC4 (eMMC) */
60		sdhci@3460000 {
61			status = "okay";
62			bus-width = <8>;
63			non-removable;
64
65			vqmmc-supply = <&vdd_1v8ls>;
66			vmmc-supply = <&vdd_emmc_3v3>;
67		};
68
69		pmc@c360000 {
70			nvidia,invert-interrupt;
71		};
72	};
73
74	bpmp {
75		i2c {
76			status = "okay";
77
78			pmic: pmic@3c {
79				compatible = "maxim,max20024";
80				reg = <0x3c>;
81
82				interrupts = <GIC_SPI 209 IRQ_TYPE_LEVEL_HIGH>;
83				#interrupt-cells = <2>;
84				interrupt-controller;
85
86				#gpio-cells = <2>;
87				gpio-controller;
88
89				pinctrl-names = "default";
90				pinctrl-0 = <&max20024_default>;
91
92				max20024_default: pinmux {
93					gpio0 {
94						pins = "gpio0";
95						function = "gpio";
96					};
97
98					gpio1 {
99						pins = "gpio1";
100						function = "fps-out";
101						maxim,active-fps-source = <MAX77620_FPS_SRC_DEF>;
102					};
103
104					gpio2 {
105						pins = "gpio2";
106						function = "fps-out";
107						maxim,active-fps-source = <MAX77620_FPS_SRC_DEF>;
108					};
109
110					gpio3 {
111						pins = "gpio3";
112						function = "fps-out";
113						maxim,active-fps-source = <MAX77620_FPS_SRC_DEF>;
114					};
115
116					gpio4 {
117						pins = "gpio4";
118						function = "32k-out1";
119						drive-push-pull = <1>;
120					};
121
122					gpio6 {
123						pins = "gpio6";
124						function = "gpio";
125						drive-push-pull = <1>;
126					};
127
128					gpio7 {
129						pins = "gpio7";
130						function = "gpio";
131						drive-push-pull = <0>;
132					};
133				};
134
135				fps {
136					fps0 {
137						maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN0>;
138						maxim,shutdown-fps-time-period-us = <640>;
139					};
140
141					fps1 {
142						maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN1>;
143						maxim,shutdown-fps-time-period-us = <640>;
144						maxim,device-state-on-disabled-event = <MAX77620_FPS_INACTIVE_STATE_SLEEP>;
145					};
146
147					fps2 {
148						maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN0>;
149						maxim,shutdown-fps-time-period-us = <640>;
150					};
151				};
152
153				regulators {
154					in-sd0-supply = <&vdd_5v0_sys>;
155					in-sd1-supply = <&vdd_5v0_sys>;
156					in-sd2-supply = <&vdd_5v0_sys>;
157					in-sd3-supply = <&vdd_5v0_sys>;
158					in-sd4-supply = <&vdd_5v0_sys>;
159
160					in-ldo0-1-supply = <&vdd_5v0_sys>;
161					in-ldo2-supply = <&vdd_5v0_sys>;
162					in-ldo3-5-supply = <&vdd_5v0_sys>;
163					in-ldo4-6-supply = <&vdd_5v0_sys>;
164					in-ldo7-8-supply = <&vdd_1v8ls>;
165
166					sd0 {
167						regulator-name = "VDD_1V0";
168						regulator-min-microvolt = <1000000>;
169						regulator-max-microvolt = <1000000>;
170						regulator-always-on;
171						regulator-boot-on;
172					};
173
174					sd1 {
175						regulator-name = "VDD_1V8HS";
176						regulator-min-microvolt = <1800000>;
177						regulator-max-microvolt = <1800000>;
178						regulator-always-on;
179						regulator-boot-on;
180					};
181
182					vdd_1v8ls: sd2 {
183						regulator-name = "VDD_1V8LS";
184						regulator-min-microvolt = <1800000>;
185						regulator-max-microvolt = <1800000>;
186						regulator-always-on;
187						regulator-boot-on;
188					};
189
190					sd3 {
191						regulator-name = "VDD_1V8AO";
192						regulator-min-microvolt = <1800000>;
193						regulator-max-microvolt = <1800000>;
194						regulator-always-on;
195						regulator-boot-on;
196					};
197
198					sd4 {
199						regulator-name = "VDD_DDR_1V1";
200						regulator-min-microvolt = <1100000>;
201						regulator-max-microvolt = <1100000>;
202						regulator-always-on;
203						regulator-boot-on;
204					};
205
206					ldo0 {
207						regulator-name = "VDD_RTC";
208						regulator-min-microvolt = <800000>;
209						regulator-max-microvolt = <800000>;
210						regulator-always-on;
211						regulator-boot-on;
212					};
213
214					ldo2 {
215						regulator-name = "VDD_AO_3V3";
216						regulator-min-microvolt = <3300000>;
217						regulator-max-microvolt = <3300000>;
218						regulator-always-on;
219						regulator-boot-on;
220					};
221
222					vdd_emmc_3v3: ldo3 {
223						regulator-name = "VDD_EMMC_3V3";
224						regulator-min-microvolt = <3300000>;
225						regulator-max-microvolt = <3300000>;
226					};
227
228					ldo5 {
229						regulator-name = "VDD_USB_3V3";
230						regulator-min-microvolt = <3300000>;
231						regulator-max-microvolt = <3300000>;
232					};
233
234					ldo6 {
235						regulator-name = "VDD_SDIO_3V3";
236						regulator-min-microvolt = <3300000>;
237						regulator-max-microvolt = <3300000>;
238					};
239
240					ldo7 {
241						regulator-name = "VDD_CSI_1V2";
242						regulator-min-microvolt = <1200000>;
243						regulator-max-microvolt = <1200000>;
244					};
245				};
246			};
247		};
248	};
249
250	regulators {
251		compatible = "simple-bus";
252		#address-cells = <1>;
253		#size-cells = <0>;
254
255		vdd_5v0_sys: regulator@0 {
256			compatible = "regulator-fixed";
257			reg = <0>;
258
259			regulator-name = "VIN_SYS_5V0";
260			regulator-min-microvolt = <5000000>;
261			regulator-max-microvolt = <5000000>;
262			regulator-always-on;
263			regulator-boot-on;
264		};
265	};
266};
267