]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - sys/gnu/dts/arm64/nvidia/tegra186-p3310.dtsi
MFC r358430, r359934-r359936, r359939, r359969, r360093
[FreeBSD/FreeBSD.git] / sys / gnu / dts / arm64 / nvidia / tegra186-p3310.dtsi
1 // SPDX-License-Identifier: GPL-2.0
2 #include "tegra186.dtsi"
3
4 #include <dt-bindings/mfd/max77620.h>
5
6 / {
7         model = "NVIDIA Jetson TX2";
8         compatible = "nvidia,p3310", "nvidia,tegra186";
9
10         aliases {
11                 ethernet0 = "/ethernet@2490000";
12                 sdhci0 = "/sdhci@3460000";
13                 sdhci1 = "/sdhci@3400000";
14                 serial0 = &uarta;
15                 i2c0 = "/bpmp/i2c";
16                 i2c1 = "/i2c@3160000";
17                 i2c2 = "/i2c@c240000";
18                 i2c3 = "/i2c@3180000";
19                 i2c4 = "/i2c@3190000";
20                 i2c5 = "/i2c@31c0000";
21                 i2c6 = "/i2c@c250000";
22                 i2c7 = "/i2c@31e0000";
23         };
24
25         chosen {
26                 bootargs = "earlycon console=ttyS0,115200n8";
27                 stdout-path = "serial0:115200n8";
28         };
29
30         memory {
31                 device_type = "memory";
32                 reg = <0x0 0x80000000 0x2 0x00000000>;
33         };
34
35         ethernet@2490000 {
36                 status = "okay";
37
38                 phy-reset-gpios = <&gpio TEGRA186_MAIN_GPIO(M, 4)
39                                          GPIO_ACTIVE_LOW>;
40                 phy-handle = <&phy>;
41                 phy-mode = "rgmii";
42
43                 mdio {
44                         #address-cells = <1>;
45                         #size-cells = <0>;
46
47                         phy: phy@0 {
48                                 compatible = "ethernet-phy-ieee802.3-c22";
49                                 reg = <0x0>;
50                                 interrupt-parent = <&gpio>;
51                                 interrupts = <TEGRA186_MAIN_GPIO(M, 5)
52                                               IRQ_TYPE_LEVEL_LOW>;
53                         };
54                 };
55         };
56
57         memory-controller@2c00000 {
58                 status = "okay";
59         };
60
61         serial@3100000 {
62                 status = "okay";
63         };
64
65         i2c@3160000 {
66                 status = "okay";
67
68                 power-monitor@40 {
69                         compatible = "ti,ina3221";
70                         reg = <0x40>;
71                         #address-cells = <1>;
72                         #size-cells = <0>;
73
74                         channel@0 {
75                                 reg = <0x0>;
76                                 label = "VDD_SYS_GPU";
77                                 shunt-resistor-micro-ohms = <10000>;
78                         };
79
80                         channel@1 {
81                                 reg = <0x1>;
82                                 label = "VDD_SYS_SOC";
83                                 shunt-resistor-micro-ohms = <10000>;
84                         };
85
86                         channel@2 {
87                                 reg = <0x2>;
88                                 label = "VDD_3V8_WIFI";
89                                 shunt-resistor-micro-ohms = <10000>;
90                         };
91                 };
92
93                 power-monitor@41 {
94                         compatible = "ti,ina3221";
95                         reg = <0x41>;
96                         #address-cells = <1>;
97                         #size-cells = <0>;
98
99                         channel@0 {
100                                 reg = <0x0>;
101                                 label = "VDD_IN";
102                                 shunt-resistor-micro-ohms = <5000>;
103                         };
104
105                         channel@1 {
106                                 reg = <0x1>;
107                                 label = "VDD_SYS_CPU";
108                                 shunt-resistor-micro-ohms = <10000>;
109                         };
110
111                         channel@2 {
112                                 reg = <0x2>;
113                                 label = "VDD_5V0_DDR";
114                                 shunt-resistor-micro-ohms = <10000>;
115                         };
116                 };
117         };
118
119         i2c@3180000 {
120                 status = "okay";
121         };
122
123         ddc: i2c@3190000 {
124                 status = "okay";
125         };
126
127         i2c@31c0000 {
128                 status = "okay";
129         };
130
131         i2c@31e0000 {
132                 status = "okay";
133         };
134
135         /* SDMMC1 (SD/MMC) */
136         sdhci@3400000 {
137                 cd-gpios = <&gpio TEGRA186_MAIN_GPIO(P, 5) GPIO_ACTIVE_LOW>;
138                 wp-gpios = <&gpio TEGRA186_MAIN_GPIO(P, 4) GPIO_ACTIVE_HIGH>;
139
140                 vqmmc-supply = <&vddio_sdmmc1>;
141         };
142
143         /* SDMMC3 (SDIO) */
144         sdhci@3440000 {
145                 status = "okay";
146         };
147
148         /* SDMMC4 (eMMC) */
149         sdhci@3460000 {
150                 status = "okay";
151                 bus-width = <8>;
152                 non-removable;
153
154                 vqmmc-supply = <&vdd_1v8_ap>;
155                 vmmc-supply = <&vdd_3v3_sys>;
156         };
157
158         hsp@3c00000 {
159                 status = "okay";
160         };
161
162         i2c@c240000 {
163                 status = "okay";
164         };
165
166         i2c@c250000 {
167                 status = "okay";
168
169                 /* module ID EEPROM */
170                 eeprom@50 {
171                         compatible = "atmel,24c02";
172                         reg = <0x50>;
173
174                         address-bits = <8>;
175                         page-size = <8>;
176                         size = <256>;
177                         read-only;
178                 };
179         };
180
181         rtc@c2a0000 {
182                 status = "okay";
183         };
184
185         pmc@c360000 {
186                 nvidia,invert-interrupt;
187         };
188
189         cpus {
190                 cpu@0 {
191                         enable-method = "psci";
192                 };
193
194                 cpu@1 {
195                         enable-method = "psci";
196                 };
197
198                 cpu@2 {
199                         enable-method = "psci";
200                 };
201
202                 cpu@3 {
203                         enable-method = "psci";
204                 };
205
206                 cpu@4 {
207                         enable-method = "psci";
208                 };
209
210                 cpu@5 {
211                         enable-method = "psci";
212                 };
213         };
214
215         bpmp {
216                 i2c {
217                         status = "okay";
218
219                         pmic: pmic@3c {
220                                 compatible = "maxim,max77620";
221                                 reg = <0x3c>;
222
223                                 interrupts = <GIC_SPI 209 IRQ_TYPE_LEVEL_HIGH>;
224                                 #interrupt-cells = <2>;
225                                 interrupt-controller;
226
227                                 #gpio-cells = <2>;
228                                 gpio-controller;
229
230                                 pinctrl-names = "default";
231                                 pinctrl-0 = <&max77620_default>;
232
233                                 max77620_default: pinmux {
234                                         gpio0 {
235                                                 pins = "gpio0";
236                                                 function = "gpio";
237                                         };
238
239                                         gpio1 {
240                                                 pins = "gpio1";
241                                                 function = "fps-out";
242                                                 maxim,active-fps-source = <MAX77620_FPS_SRC_0>;
243                                         };
244
245                                         gpio2 {
246                                                 pins = "gpio2";
247                                                 function = "fps-out";
248                                                 maxim,active-fps-source = <MAX77620_FPS_SRC_1>;
249                                         };
250
251                                         gpio3 {
252                                                 pins = "gpio3";
253                                                 function = "fps-out";
254                                                 maxim,active-fps-source = <MAX77620_FPS_SRC_1>;
255                                         };
256
257                                         gpio4 {
258                                                 pins = "gpio4";
259                                                 function = "32k-out1";
260                                                 drive-push-pull = <1>;
261                                         };
262
263                                         gpio5 {
264                                                 pins = "gpio5";
265                                                 function = "gpio";
266                                                 drive-push-pull = <0>;
267                                         };
268
269                                         gpio6 {
270                                                 pins = "gpio6";
271                                                 function = "gpio";
272                                                 drive-push-pull = <1>;
273                                         };
274
275                                         gpio7 {
276                                                 pins = "gpio7";
277                                                 function = "gpio";
278                                                 drive-push-pull = <0>;
279                                         };
280                                 };
281
282                                 fps {
283                                         fps0 {
284                                                 maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN0>;
285                                                 maxim,shutdown-fps-time-period-us = <640>;
286                                         };
287
288                                         fps1 {
289                                                 maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN1>;
290                                                 maxim,shutdown-fps-time-period-us = <640>;
291                                         };
292
293                                         fps2 {
294                                                 maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN0>;
295                                                 maxim,shutdown-fps-time-period-us = <640>;
296                                         };
297                                 };
298
299                                 regulators {
300                                         in-sd0-supply = <&vdd_5v0_sys>;
301                                         in-sd1-supply = <&vdd_5v0_sys>;
302                                         in-sd2-supply = <&vdd_5v0_sys>;
303                                         in-sd3-supply = <&vdd_5v0_sys>;
304
305                                         in-ldo0-1-supply = <&vdd_5v0_sys>;
306                                         in-ldo2-supply = <&vdd_5v0_sys>;
307                                         in-ldo3-5-supply = <&vdd_5v0_sys>;
308                                         in-ldo4-6-supply = <&vdd_1v8>;
309                                         in-ldo7-8-supply = <&avdd_dsi_csi>;
310
311                                         sd0 {
312                                                 regulator-name = "VDD_DDR_1V1_PMIC";
313                                                 regulator-min-microvolt = <1100000>;
314                                                 regulator-max-microvolt = <1100000>;
315                                                 regulator-always-on;
316                                                 regulator-boot-on;
317                                         };
318
319                                         avdd_dsi_csi: sd1 {
320                                                 regulator-name = "AVDD_DSI_CSI_1V2";
321                                                 regulator-min-microvolt = <1200000>;
322                                                 regulator-max-microvolt = <1200000>;
323                                         };
324
325                                         vdd_1v8: sd2 {
326                                                 regulator-name = "VDD_1V8";
327                                                 regulator-min-microvolt = <1800000>;
328                                                 regulator-max-microvolt = <1800000>;
329                                         };
330
331                                         vdd_3v3_sys: sd3 {
332                                                 regulator-name = "VDD_3V3_SYS";
333                                                 regulator-min-microvolt = <3300000>;
334                                                 regulator-max-microvolt = <3300000>;
335                                         };
336
337                                         vdd_1v8_pll: ldo0 {
338                                                 regulator-name = "VDD_1V8_AP_PLL";
339                                                 regulator-min-microvolt = <1800000>;
340                                                 regulator-max-microvolt = <1800000>;
341                                         };
342
343                                         ldo2 {
344                                                 regulator-name = "VDDIO_3V3_AOHV";
345                                                 regulator-min-microvolt = <3300000>;
346                                                 regulator-max-microvolt = <3300000>;
347                                                 regulator-always-on;
348                                                 regulator-boot-on;
349                                         };
350
351                                         vddio_sdmmc1: ldo3 {
352                                                 regulator-name = "VDDIO_SDMMC1_AP";
353                                                 regulator-min-microvolt = <1800000>;
354                                                 regulator-max-microvolt = <3300000>;
355                                         };
356
357                                         ldo4 {
358                                                 regulator-name = "VDD_RTC";
359                                                 regulator-min-microvolt = <1000000>;
360                                                 regulator-max-microvolt = <1000000>;
361                                         };
362
363                                         vddio_sdmmc3: ldo5 {
364                                                 regulator-name = "VDDIO_SDMMC3_AP";
365                                                 regulator-min-microvolt = <2800000>;
366                                                 regulator-max-microvolt = <2800000>;
367                                         };
368
369                                         vdd_hdmi_1v05: ldo7 {
370                                                 regulator-name = "VDD_HDMI_1V05";
371                                                 regulator-min-microvolt = <1050000>;
372                                                 regulator-max-microvolt = <1050000>;
373                                         };
374
375                                         vdd_pex: ldo8 {
376                                                 regulator-name = "VDD_PEX_1V05";
377                                                 regulator-min-microvolt = <1050000>;
378                                                 regulator-max-microvolt = <1050000>;
379                                         };
380                                 };
381                         };
382                 };
383         };
384
385         psci {
386                 compatible = "arm,psci-1.0";
387                 status = "okay";
388                 method = "smc";
389         };
390
391         regulators {
392                 compatible = "simple-bus";
393                 #address-cells = <1>;
394                 #size-cells = <0>;
395
396                 gnd: regulator@0 {
397                         compatible = "regulator-fixed";
398                         reg = <0>;
399
400                         regulator-name = "GND";
401                         regulator-min-microvolt = <0>;
402                         regulator-max-microvolt = <0>;
403                         regulator-always-on;
404                         regulator-boot-on;
405                 };
406
407                 vdd_5v0_sys: regulator@1 {
408                         compatible = "regulator-fixed";
409                         reg = <1>;
410
411                         regulator-name = "VDD_5V0_SYS";
412                         regulator-min-microvolt = <5000000>;
413                         regulator-max-microvolt = <5000000>;
414                         regulator-always-on;
415                         regulator-boot-on;
416                 };
417
418                 vdd_1v8_ap: regulator@2 {
419                         compatible = "regulator-fixed";
420                         reg = <2>;
421
422                         regulator-name = "VDD_1V8_AP";
423                         regulator-min-microvolt = <1800000>;
424                         regulator-max-microvolt = <1800000>;
425
426                         gpio = <&pmic 1 GPIO_ACTIVE_HIGH>;
427                         enable-active-high;
428
429                         vin-supply = <&vdd_1v8>;
430                 };
431         };
432 };