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