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