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