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		serial@3110000 {
31			status = "okay";
32		};
33
34		/* SDMMC1 (SD/MMC) */
35		sdhci@3400000 {
36/*
37			cd-gpios = <&gpio TEGRA194_MAIN_GPIO(A, 0) GPIO_ACTIVE_LOW>;
38*/
39		};
40
41		/* SDMMC4 (eMMC) */
42		sdhci@3460000 {
43			status = "okay";
44			bus-width = <8>;
45			non-removable;
46
47			vqmmc-supply = <&vdd_1v8ls>;
48			vmmc-supply = <&vdd_emmc_3v3>;
49		};
50
51		pmc@c360000 {
52			nvidia,invert-interrupt;
53		};
54	};
55
56	bpmp {
57		i2c {
58			status = "okay";
59
60			pmic: pmic@3c {
61				compatible = "maxim,max20024";
62				reg = <0x3c>;
63
64				interrupts = <GIC_SPI 209 IRQ_TYPE_LEVEL_HIGH>;
65				#interrupt-cells = <2>;
66				interrupt-controller;
67
68				#gpio-cells = <2>;
69				gpio-controller;
70
71				pinctrl-names = "default";
72				pinctrl-0 = <&max20024_default>;
73
74				max20024_default: pinmux {
75					gpio0 {
76						pins = "gpio0";
77						function = "gpio";
78					};
79
80					gpio1 {
81						pins = "gpio1";
82						function = "fps-out";
83						maxim,active-fps-source = <MAX77620_FPS_SRC_DEF>;
84					};
85
86					gpio2 {
87						pins = "gpio2";
88						function = "fps-out";
89						maxim,active-fps-source = <MAX77620_FPS_SRC_DEF>;
90					};
91
92					gpio3 {
93						pins = "gpio3";
94						function = "fps-out";
95						maxim,active-fps-source = <MAX77620_FPS_SRC_DEF>;
96					};
97
98					gpio4 {
99						pins = "gpio4";
100						function = "32k-out1";
101						drive-push-pull = <1>;
102					};
103
104					gpio6 {
105						pins = "gpio6";
106						function = "gpio";
107						drive-push-pull = <1>;
108					};
109
110					gpio7 {
111						pins = "gpio7";
112						function = "gpio";
113						drive-push-pull = <0>;
114					};
115				};
116
117				fps {
118					fps0 {
119						maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN0>;
120						maxim,shutdown-fps-time-period-us = <640>;
121					};
122
123					fps1 {
124						maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN1>;
125						maxim,shutdown-fps-time-period-us = <640>;
126						maxim,device-state-on-disabled-event = <MAX77620_FPS_INACTIVE_STATE_SLEEP>;
127					};
128
129					fps2 {
130						maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN0>;
131						maxim,shutdown-fps-time-period-us = <640>;
132					};
133				};
134
135				regulators {
136					in-sd0-supply = <&vdd_5v0_sys>;
137					in-sd1-supply = <&vdd_5v0_sys>;
138					in-sd2-supply = <&vdd_5v0_sys>;
139					in-sd3-supply = <&vdd_5v0_sys>;
140					in-sd4-supply = <&vdd_5v0_sys>;
141
142					in-ldo0-1-supply = <&vdd_5v0_sys>;
143					in-ldo2-supply = <&vdd_5v0_sys>;
144					in-ldo3-5-supply = <&vdd_5v0_sys>;
145					in-ldo4-6-supply = <&vdd_5v0_sys>;
146					in-ldo7-8-supply = <&vdd_1v8ls>;
147
148					sd0 {
149						regulator-name = "VDD_1V0";
150						regulator-min-microvolt = <1000000>;
151						regulator-max-microvolt = <1000000>;
152						regulator-always-on;
153						regulator-boot-on;
154					};
155
156					sd1 {
157						regulator-name = "VDD_1V8HS";
158						regulator-min-microvolt = <1800000>;
159						regulator-max-microvolt = <1800000>;
160						regulator-always-on;
161						regulator-boot-on;
162					};
163
164					vdd_1v8ls: sd2 {
165						regulator-name = "VDD_1V8LS";
166						regulator-min-microvolt = <1800000>;
167						regulator-max-microvolt = <1800000>;
168						regulator-always-on;
169						regulator-boot-on;
170					};
171
172					sd3 {
173						regulator-name = "VDD_1V8AO";
174						regulator-min-microvolt = <1800000>;
175						regulator-max-microvolt = <1800000>;
176						regulator-always-on;
177						regulator-boot-on;
178					};
179
180					sd4 {
181						regulator-name = "VDD_DDR_1V1";
182						regulator-min-microvolt = <1100000>;
183						regulator-max-microvolt = <1100000>;
184						regulator-always-on;
185						regulator-boot-on;
186					};
187
188					ldo0 {
189						regulator-name = "VDD_RTC";
190						regulator-min-microvolt = <800000>;
191						regulator-max-microvolt = <800000>;
192						regulator-always-on;
193						regulator-boot-on;
194					};
195
196					ldo2 {
197						regulator-name = "VDD_AO_3V3";
198						regulator-min-microvolt = <3300000>;
199						regulator-max-microvolt = <3300000>;
200						regulator-always-on;
201						regulator-boot-on;
202					};
203
204					vdd_emmc_3v3: ldo3 {
205						regulator-name = "VDD_EMMC_3V3";
206						regulator-min-microvolt = <3300000>;
207						regulator-max-microvolt = <3300000>;
208					};
209
210					ldo5 {
211						regulator-name = "VDD_USB_3V3";
212						regulator-min-microvolt = <3300000>;
213						regulator-max-microvolt = <3300000>;
214					};
215
216					ldo6 {
217						regulator-name = "VDD_SDIO_3V3";
218						regulator-min-microvolt = <3300000>;
219						regulator-max-microvolt = <3300000>;
220					};
221
222					ldo7 {
223						regulator-name = "VDD_CSI_1V2";
224						regulator-min-microvolt = <1200000>;
225						regulator-max-microvolt = <1200000>;
226					};
227				};
228			};
229		};
230	};
231
232	regulators {
233		compatible = "simple-bus";
234		#address-cells = <1>;
235		#size-cells = <0>;
236
237		vdd_5v0_sys: regulator@0 {
238			compatible = "regulator-fixed";
239			reg = <0>;
240
241			regulator-name = "VIN_SYS_5V0";
242			regulator-min-microvolt = <5000000>;
243			regulator-max-microvolt = <5000000>;
244			regulator-always-on;
245			regulator-boot-on;
246		};
247	};
248};
249