Commit | Line | Data |
---|---|---|
b2441318 | 1 | // SPDX-License-Identifier: GPL-2.0 |
1bd0bd49 | 2 | #include "tegra20.dtsi" |
fc9c713a | 3 | |
6a4a865d MZ |
4 | /* |
5 | * Toradex Colibri T20 Module Device Tree | |
6 | * Compatible for Revisions Colibri T20 256MB V1.1B, V1.2A; | |
7 | * Colibri T20 256MB IT V1.2A; Colibri T20 512MB V1.1C, V1.2A; | |
8 | * Colibri T20 512MB IT V1.2A | |
9 | */ | |
fc9c713a | 10 | / { |
48299769 | 11 | memory@0 { |
8ab11f80 KK |
12 | /* |
13 | * Set memory to 256 MB to be safe as this could be used on | |
14 | * 256 or 512 MB module. It is expected from bootloader | |
15 | * to fix this up for 512 MB version. | |
16 | */ | |
17 | reg = <0x00000000 0x10000000>; | |
fc9c713a LS |
18 | }; |
19 | ||
58ecb23f SW |
20 | host1x@50000000 { |
21 | hdmi@54280000 { | |
fc9c713a | 22 | nvidia,ddc-i2c-bus = <&i2c_ddc>; |
e6800c21 MZ |
23 | nvidia,hpd-gpio = |
24 | <&gpio TEGRA_GPIO(N, 7) GPIO_ACTIVE_HIGH>; | |
3647c7b8 MZ |
25 | pll-supply = <®_1v8_avdd_hdmi_pll>; |
26 | vdd-supply = <®_3v3_avdd_hdmi>; | |
fc9c713a LS |
27 | }; |
28 | }; | |
29 | ||
58ecb23f | 30 | pinmux@70000014 { |
fc9c713a LS |
31 | pinctrl-names = "default"; |
32 | pinctrl-0 = <&state_default>; | |
33 | ||
34 | state_default: pinmux { | |
a2cb59be MZ |
35 | /* Analogue Audio AC97 to WM9712 (On-module) */ |
36 | audio-refclk { | |
fc9c713a LS |
37 | nvidia,pins = "cdev1"; |
38 | nvidia,function = "plla_out"; | |
ba4104e7 LD |
39 | nvidia,pull = <TEGRA_PIN_PULL_NONE>; |
40 | nvidia,tristate = <TEGRA_PIN_DISABLE>; | |
fc9c713a | 41 | }; |
fc9c713a LS |
42 | dap3 { |
43 | nvidia,pins = "dap3"; | |
44 | nvidia,function = "dap3"; | |
ba4104e7 LD |
45 | nvidia,pull = <TEGRA_PIN_PULL_NONE>; |
46 | nvidia,tristate = <TEGRA_PIN_DISABLE>; | |
fc9c713a | 47 | }; |
a2cb59be MZ |
48 | |
49 | /* | |
50 | * AC97_RESET, ULPI_RESET, AC97_INT aka WM9712 GENIRQ | |
51 | * (All on-module), SODIMM Pin 45 Wakeup | |
52 | */ | |
53 | gpio-uac { | |
54 | nvidia,pins = "uac"; | |
55 | nvidia,function = "rsvd2"; | |
ba4104e7 LD |
56 | nvidia,pull = <TEGRA_PIN_PULL_NONE>; |
57 | nvidia,tristate = <TEGRA_PIN_DISABLE>; | |
fc9c713a | 58 | }; |
a2cb59be MZ |
59 | |
60 | /* | |
61 | * Buffer Enables for nPWE and RDnWR (On-module, | |
62 | * see GPIO hogging further down below) | |
63 | */ | |
64 | gpio-pta { | |
fc9c713a LS |
65 | nvidia,pins = "pta"; |
66 | nvidia,function = "rsvd4"; | |
ba4104e7 LD |
67 | nvidia,pull = <TEGRA_PIN_PULL_NONE>; |
68 | nvidia,tristate = <TEGRA_PIN_DISABLE>; | |
fc9c713a | 69 | }; |
a2cb59be MZ |
70 | |
71 | /* | |
72 | * CLK_32K_OUT, CORE_PWR_REQ, CPU_PWR_REQ, PWR_INT_N, | |
73 | * SYS_CLK_REQ (All on-module) | |
74 | */ | |
75 | pmc { | |
76 | nvidia,pins = "pmc"; | |
77 | nvidia,function = "pwr_on"; | |
ba4104e7 | 78 | nvidia,tristate = <TEGRA_PIN_DISABLE>; |
fc9c713a | 79 | }; |
a2cb59be | 80 | |
992cf09b MZ |
81 | /* |
82 | * Colibri Address/Data Bus (GMI) | |
83 | * Note: spid and spie optionally used for SPI1 | |
84 | */ | |
85 | gmi { | |
86 | nvidia,pins = "atc", "atd", "ate", "dap1", | |
87 | "dap2", "dap4", "gmd", "gpu", | |
88 | "irrx", "irtx", "spia", "spib", | |
89 | "spic", "spid", "spie", "uca", | |
90 | "ucb"; | |
a2cb59be MZ |
91 | nvidia,function = "gmi"; |
92 | nvidia,pull = <TEGRA_PIN_PULL_NONE>; | |
992cf09b MZ |
93 | nvidia,tristate = <TEGRA_PIN_ENABLE>; |
94 | }; | |
95 | /* Further pins may be used as GPIOs */ | |
96 | gmi-gpio1 { | |
97 | nvidia,pins = "lpw0", "lsc1", "lsck", "lsda"; | |
98 | nvidia,function = "hdmi"; | |
99 | nvidia,tristate = <TEGRA_PIN_ENABLE>; | |
100 | }; | |
101 | gmi-gpio2 { | |
102 | nvidia,pins = "lcsn", "ldc", "lm0", "lsdi"; | |
103 | nvidia,function = "rsvd4"; | |
104 | nvidia,tristate = <TEGRA_PIN_ENABLE>; | |
fc9c713a | 105 | }; |
a2cb59be MZ |
106 | |
107 | /* Colibri BL_ON */ | |
108 | bl-on { | |
109 | nvidia,pins = "dta"; | |
992cf09b | 110 | nvidia,function = "rsvd1"; |
ba4104e7 LD |
111 | nvidia,pull = <TEGRA_PIN_PULL_NONE>; |
112 | nvidia,tristate = <TEGRA_PIN_ENABLE>; | |
fc9c713a | 113 | }; |
a2cb59be MZ |
114 | |
115 | /* Colibri Backlight PWM<A>, PWM<B> */ | |
116 | pwm-a-b { | |
117 | nvidia,pins = "sdc"; | |
118 | nvidia,function = "pwm"; | |
ba4104e7 | 119 | nvidia,tristate = <TEGRA_PIN_ENABLE>; |
fc9c713a | 120 | }; |
a2cb59be MZ |
121 | |
122 | /* Colibri DDC */ | |
123 | ddc { | |
fc9c713a LS |
124 | nvidia,pins = "ddc"; |
125 | nvidia,function = "i2c2"; | |
ba4104e7 LD |
126 | nvidia,pull = <TEGRA_PIN_PULL_UP>; |
127 | nvidia,tristate = <TEGRA_PIN_ENABLE>; | |
fc9c713a | 128 | }; |
a2cb59be MZ |
129 | |
130 | /* | |
131 | * Colibri EXT_IO* | |
132 | * Note: dtf optionally used for I2C3 | |
133 | */ | |
134 | ext-io { | |
992cf09b MZ |
135 | nvidia,pins = "dtf", "spdi"; |
136 | nvidia,function = "rsvd2"; | |
ba4104e7 | 137 | nvidia,pull = <TEGRA_PIN_PULL_NONE>; |
a2cb59be | 138 | nvidia,tristate = <TEGRA_PIN_ENABLE>; |
fc9c713a | 139 | }; |
a2cb59be MZ |
140 | |
141 | /* | |
142 | * Colibri Ethernet (On-module) | |
143 | * ULPI EHCI instance 1 USB2_DP/N -> AX88772B | |
144 | */ | |
145 | ulpi { | |
146 | nvidia,pins = "uaa", "uab", "uda"; | |
147 | nvidia,function = "ulpi"; | |
ba4104e7 | 148 | nvidia,pull = <TEGRA_PIN_PULL_NONE>; |
a2cb59be | 149 | nvidia,tristate = <TEGRA_PIN_DISABLE>; |
fc9c713a | 150 | }; |
a2cb59be MZ |
151 | ulpi-refclk { |
152 | nvidia,pins = "cdev2"; | |
153 | nvidia,function = "pllp_out4"; | |
ba4104e7 LD |
154 | nvidia,pull = <TEGRA_PIN_PULL_NONE>; |
155 | nvidia,tristate = <TEGRA_PIN_DISABLE>; | |
fc9c713a | 156 | }; |
a2cb59be MZ |
157 | |
158 | /* Colibri HOTPLUG_DETECT (HDMI) */ | |
159 | hotplug-detect { | |
160 | nvidia,pins = "hdint"; | |
161 | nvidia,function = "hdmi"; | |
162 | nvidia,tristate = <TEGRA_PIN_ENABLE>; | |
163 | }; | |
164 | ||
165 | /* Colibri I2C */ | |
166 | i2c { | |
167 | nvidia,pins = "rm"; | |
168 | nvidia,function = "i2c1"; | |
ba4104e7 LD |
169 | nvidia,pull = <TEGRA_PIN_PULL_NONE>; |
170 | nvidia,tristate = <TEGRA_PIN_ENABLE>; | |
fc9c713a | 171 | }; |
a2cb59be | 172 | |
992cf09b MZ |
173 | /* |
174 | * Colibri L_BIAS, LCD_M1 is muxed with LCD_DE | |
175 | * today's display need DE, disable LCD_M1 | |
176 | */ | |
177 | lm1 { | |
178 | nvidia,pins = "lm1"; | |
179 | nvidia,function = "rsvd3"; | |
180 | nvidia,tristate = <TEGRA_PIN_ENABLE>; | |
181 | }; | |
182 | ||
a2cb59be MZ |
183 | /* Colibri LCD (L_* resp. LDD<*>) */ |
184 | lcd { | |
185 | nvidia,pins = "ld0", "ld1", "ld2", "ld3", | |
186 | "ld4", "ld5", "ld6", "ld7", | |
187 | "ld8", "ld9", "ld10", "ld11", | |
188 | "ld12", "ld13", "ld14", "ld15", | |
992cf09b MZ |
189 | "ld16", "ld17", "lhs", "lsc0", |
190 | "lspi", "lvs"; | |
191 | nvidia,function = "displaya"; | |
192 | nvidia,tristate = <TEGRA_PIN_ENABLE>; | |
193 | }; | |
194 | /* Colibri LCD (Optional 24 BPP Support) */ | |
195 | lcd-24 { | |
196 | nvidia,pins = "ldi", "lhp0", "lhp1", "lhp2", | |
197 | "lpp", "lvp1"; | |
a2cb59be MZ |
198 | nvidia,function = "displaya"; |
199 | nvidia,tristate = <TEGRA_PIN_ENABLE>; | |
fc9c713a | 200 | }; |
a2cb59be MZ |
201 | |
202 | /* Colibri MMC */ | |
203 | mmc { | |
204 | nvidia,pins = "atb", "gma"; | |
205 | nvidia,function = "sdio4"; | |
206 | nvidia,pull = <TEGRA_PIN_PULL_NONE>; | |
ba4104e7 | 207 | nvidia,tristate = <TEGRA_PIN_ENABLE>; |
fc9c713a | 208 | }; |
a2cb59be | 209 | |
992cf09b MZ |
210 | /* Colibri MMCCD */ |
211 | mmccd { | |
212 | nvidia,pins = "gmb"; | |
213 | nvidia,function = "gmi_int"; | |
214 | nvidia,pull = <TEGRA_PIN_PULL_NONE>; | |
215 | nvidia,tristate = <TEGRA_PIN_ENABLE>; | |
216 | }; | |
217 | ||
a2cb59be MZ |
218 | /* Colibri MMC (Optional 8-bit) */ |
219 | mmc-8bit { | |
220 | nvidia,pins = "gme"; | |
fc9c713a | 221 | nvidia,function = "sdio4"; |
ba4104e7 LD |
222 | nvidia,pull = <TEGRA_PIN_PULL_NONE>; |
223 | nvidia,tristate = <TEGRA_PIN_ENABLE>; | |
fc9c713a | 224 | }; |
a2cb59be MZ |
225 | |
226 | /* | |
227 | * Colibri Parallel Camera (Optional) | |
228 | * pins multiplexed with others and therefore disabled | |
229 | * Note: dta used for BL_ON by default | |
230 | */ | |
231 | cif-mclk { | |
232 | nvidia,pins = "csus"; | |
233 | nvidia,function = "vi_sensor_clk"; | |
234 | nvidia,pull = <TEGRA_PIN_PULL_NONE>; | |
235 | nvidia,tristate = <TEGRA_PIN_ENABLE>; | |
236 | }; | |
237 | cif { | |
238 | nvidia,pins = "dtb", "dtc", "dtd"; | |
239 | nvidia,function = "vi"; | |
ba4104e7 LD |
240 | nvidia,pull = <TEGRA_PIN_PULL_NONE>; |
241 | nvidia,tristate = <TEGRA_PIN_ENABLE>; | |
fc9c713a | 242 | }; |
a2cb59be MZ |
243 | |
244 | /* Colibri PWM<C>, PWM<D> */ | |
245 | pwm-c-d { | |
246 | nvidia,pins = "sdb", "sdd"; | |
247 | nvidia,function = "pwm"; | |
248 | nvidia,tristate = <TEGRA_PIN_ENABLE>; | |
249 | }; | |
250 | ||
251 | /* Colibri SSP */ | |
252 | ssp { | |
fc9c713a LS |
253 | nvidia,pins = "slxa", "slxc", "slxd", "slxk"; |
254 | nvidia,function = "spi4"; | |
ba4104e7 LD |
255 | nvidia,pull = <TEGRA_PIN_PULL_NONE>; |
256 | nvidia,tristate = <TEGRA_PIN_ENABLE>; | |
fc9c713a | 257 | }; |
a2cb59be MZ |
258 | |
259 | /* Colibri UART-A */ | |
260 | uart-a { | |
fc9c713a LS |
261 | nvidia,pins = "sdio1"; |
262 | nvidia,function = "uarta"; | |
ba4104e7 LD |
263 | nvidia,pull = <TEGRA_PIN_PULL_NONE>; |
264 | nvidia,tristate = <TEGRA_PIN_ENABLE>; | |
fc9c713a | 265 | }; |
992cf09b MZ |
266 | uart-a-dsr { |
267 | nvidia,pins = "lpw1"; | |
268 | nvidia,function = "rsvd3"; | |
269 | nvidia,tristate = <TEGRA_PIN_ENABLE>; | |
270 | }; | |
271 | uart-a-dcd { | |
272 | nvidia,pins = "lpw2"; | |
273 | nvidia,function = "hdmi"; | |
274 | nvidia,tristate = <TEGRA_PIN_ENABLE>; | |
275 | }; | |
a2cb59be MZ |
276 | |
277 | /* Colibri UART-B */ | |
278 | uart-b { | |
fc9c713a LS |
279 | nvidia,pins = "gmc"; |
280 | nvidia,function = "uartd"; | |
ba4104e7 LD |
281 | nvidia,pull = <TEGRA_PIN_PULL_NONE>; |
282 | nvidia,tristate = <TEGRA_PIN_ENABLE>; | |
fc9c713a | 283 | }; |
a2cb59be MZ |
284 | |
285 | /* Colibri UART-C */ | |
286 | uart-c { | |
287 | nvidia,pins = "uad"; | |
288 | nvidia,function = "irda"; | |
ba4104e7 | 289 | nvidia,pull = <TEGRA_PIN_PULL_NONE>; |
a2cb59be | 290 | nvidia,tristate = <TEGRA_PIN_ENABLE>; |
fc9c713a | 291 | }; |
a2cb59be | 292 | |
992cf09b MZ |
293 | /* Colibri USB_CDET */ |
294 | usb-cdet { | |
295 | nvidia,pins = "spdo"; | |
296 | nvidia,function = "rsvd2"; | |
297 | nvidia,pull = <TEGRA_PIN_PULL_NONE>; | |
298 | nvidia,tristate = <TEGRA_PIN_ENABLE>; | |
299 | }; | |
300 | ||
a2cb59be MZ |
301 | /* Colibri USBH_OC */ |
302 | usbh-oc { | |
303 | nvidia,pins = "spih"; | |
304 | nvidia,function = "spi2_alt"; | |
ba4104e7 | 305 | nvidia,pull = <TEGRA_PIN_PULL_NONE>; |
992cf09b | 306 | nvidia,tristate = <TEGRA_PIN_ENABLE>; |
fc9c713a | 307 | }; |
a2cb59be MZ |
308 | |
309 | /* Colibri USBH_PEN */ | |
310 | usbh-pen { | |
311 | nvidia,pins = "spig"; | |
fc9c713a | 312 | nvidia,function = "spi2_alt"; |
ba4104e7 | 313 | nvidia,pull = <TEGRA_PIN_PULL_NONE>; |
992cf09b | 314 | nvidia,tristate = <TEGRA_PIN_ENABLE>; |
fc9c713a | 315 | }; |
a2cb59be MZ |
316 | |
317 | /* Colibri VGA not supported */ | |
318 | vga { | |
319 | nvidia,pins = "crtp"; | |
320 | nvidia,function = "crt"; | |
ba4104e7 LD |
321 | nvidia,pull = <TEGRA_PIN_PULL_NONE>; |
322 | nvidia,tristate = <TEGRA_PIN_ENABLE>; | |
fc9c713a | 323 | }; |
a2cb59be | 324 | |
992cf09b MZ |
325 | /* I2C3 (Optional) */ |
326 | i2c3 { | |
327 | nvidia,pins = "dtf"; | |
328 | nvidia,function = "i2c3"; | |
329 | nvidia,pull = <TEGRA_PIN_PULL_NONE>; | |
330 | nvidia,tristate = <TEGRA_PIN_ENABLE>; | |
331 | }; | |
332 | ||
333 | /* JTAG_RTCK */ | |
334 | jtag-rtck { | |
335 | nvidia,pins = "gpu7"; | |
336 | nvidia,function = "rtck"; | |
337 | nvidia,pull = <TEGRA_PIN_PULL_NONE>; | |
338 | nvidia,tristate = <TEGRA_PIN_ENABLE>; | |
339 | }; | |
340 | ||
341 | /* | |
342 | * LAN_RESET, LAN_EXT_WAKEUP and LAN_PME | |
343 | * (All On-module) | |
344 | */ | |
345 | gpio-gpv { | |
346 | nvidia,pins = "gpv"; | |
347 | nvidia,function = "rsvd2"; | |
348 | nvidia,pull = <TEGRA_PIN_PULL_NONE>; | |
349 | nvidia,tristate = <TEGRA_PIN_DISABLE>; | |
350 | }; | |
351 | ||
a2cb59be MZ |
352 | /* |
353 | * LAN_V_BUS, VDD_FAULT, BATT_FAULT, WM9712 PENDOWN | |
354 | * (All On-module); Colibri CAN_INT | |
355 | */ | |
356 | gpio-dte { | |
357 | nvidia,pins = "dte"; | |
358 | nvidia,function = "rsvd1"; | |
359 | nvidia,pull = <TEGRA_PIN_PULL_NONE>; | |
360 | nvidia,tristate = <TEGRA_PIN_DISABLE>; | |
361 | }; | |
362 | ||
363 | /* NAND (On-module) */ | |
364 | nand { | |
992cf09b | 365 | nvidia,pins = "kbca", "kbcb", "kbcc", "kbcd", |
a2cb59be MZ |
366 | "kbce", "kbcf"; |
367 | nvidia,function = "nand"; | |
368 | nvidia,pull = <TEGRA_PIN_PULL_NONE>; | |
369 | nvidia,tristate = <TEGRA_PIN_DISABLE>; | |
370 | }; | |
371 | ||
372 | /* Onewire (Optional) */ | |
373 | owr { | |
374 | nvidia,pins = "owc"; | |
375 | nvidia,function = "owr"; | |
376 | nvidia,pull = <TEGRA_PIN_PULL_NONE>; | |
377 | nvidia,tristate = <TEGRA_PIN_ENABLE>; | |
378 | }; | |
379 | ||
380 | /* Power I2C (On-module) */ | |
381 | i2cp { | |
382 | nvidia,pins = "i2cp"; | |
383 | nvidia,function = "i2cp"; | |
384 | nvidia,pull = <TEGRA_PIN_PULL_NONE>; | |
385 | nvidia,tristate = <TEGRA_PIN_DISABLE>; | |
386 | }; | |
387 | ||
992cf09b MZ |
388 | /* RESET_OUT */ |
389 | reset-out { | |
390 | nvidia,pins = "ata"; | |
391 | nvidia,function = "gmi"; | |
392 | nvidia,pull = <TEGRA_PIN_PULL_NONE>; | |
393 | nvidia,tristate = <TEGRA_PIN_DISABLE>; | |
394 | }; | |
395 | ||
a2cb59be MZ |
396 | /* |
397 | * SPI1 (Optional) | |
398 | * Note: spid and spie used for Colibri Address/Data | |
399 | * Bus (GMI) | |
400 | */ | |
401 | spi1 { | |
402 | nvidia,pins = "spid", "spie", "spif"; | |
403 | nvidia,function = "spi1"; | |
ba4104e7 LD |
404 | nvidia,pull = <TEGRA_PIN_PULL_NONE>; |
405 | nvidia,tristate = <TEGRA_PIN_ENABLE>; | |
fc9c713a | 406 | }; |
992cf09b MZ |
407 | |
408 | /* | |
409 | * THERMD_ALERT# (On-module), unlatched I2C address pin | |
410 | * of LM95245 temperature sensor therefore requires | |
411 | * disabling for now | |
412 | */ | |
413 | lvp0 { | |
414 | nvidia,pins = "lvp0"; | |
415 | nvidia,function = "rsvd3"; | |
416 | nvidia,tristate = <TEGRA_PIN_ENABLE>; | |
417 | }; | |
fc9c713a LS |
418 | }; |
419 | }; | |
420 | ||
57899053 SW |
421 | ac97: ac97@70002000 { |
422 | status = "okay"; | |
035ae62d MZ |
423 | nvidia,codec-reset-gpio = |
424 | <&gpio TEGRA_GPIO(V, 0) GPIO_ACTIVE_HIGH>; | |
425 | nvidia,codec-sync-gpio = | |
426 | <&gpio TEGRA_GPIO(P, 0) GPIO_ACTIVE_HIGH>; | |
57899053 SW |
427 | }; |
428 | ||
9ad510b3 MZ |
429 | serial@70006040 { |
430 | compatible = "nvidia,tegra20-hsuart"; | |
431 | }; | |
432 | ||
433 | serial@70006300 { | |
434 | compatible = "nvidia,tegra20-hsuart"; | |
435 | }; | |
436 | ||
5def854e SA |
437 | nand-controller@70008000 { |
438 | status = "okay"; | |
439 | ||
440 | nand@0 { | |
441 | reg = <0>; | |
442 | #address-cells = <1>; | |
443 | #size-cells = <1>; | |
444 | nand-bus-width = <8>; | |
445 | nand-on-flash-bbt; | |
446 | nand-ecc-algo = "bch"; | |
447 | nand-is-boot-medium; | |
448 | nand-ecc-maximize; | |
449 | wp-gpios = <&gpio TEGRA_GPIO(S, 0) GPIO_ACTIVE_LOW>; | |
450 | }; | |
451 | }; | |
452 | ||
1c3389e6 MZ |
453 | /* |
454 | * GEN1_I2C: I2C_SDA/SCL on SODIMM pin 194/196 (e.g. RTC on carrier | |
455 | * board) | |
456 | */ | |
fc9c713a LS |
457 | i2c@7000c000 { |
458 | clock-frequency = <400000>; | |
459 | }; | |
460 | ||
1c3389e6 | 461 | /* DDC_SCL/SDA on X3 pin 15/16 (e.g. display EDID) */ |
fc9c713a | 462 | i2c_ddc: i2c@7000c400 { |
1c3389e6 | 463 | clock-frequency = <10000>; |
fc9c713a LS |
464 | }; |
465 | ||
1c3389e6 | 466 | /* GEN2_I2C: unused */ |
fc9c713a | 467 | |
1c3389e6 MZ |
468 | /* CAM/GEN3_I2C: used as EXT_IO1/2 GPIOs on SODIMM pin 133/127 */ |
469 | ||
470 | /* PWR_I2C: power I2C to PMIC and temperature sensor (On-module) */ | |
fc9c713a LS |
471 | i2c@7000d000 { |
472 | status = "okay"; | |
1c3389e6 | 473 | clock-frequency = <100000>; |
fc9c713a LS |
474 | |
475 | pmic: tps6586x@34 { | |
476 | compatible = "ti,tps6586x"; | |
477 | reg = <0x34>; | |
6cecf916 | 478 | interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>; |
fc9c713a | 479 | ti,system-power-controller; |
fc9c713a LS |
480 | #gpio-cells = <2>; |
481 | gpio-controller; | |
3647c7b8 MZ |
482 | sys-supply = <®_module_3v3>; |
483 | vin-sm0-supply = <®_3v3_vsys>; | |
484 | vin-sm1-supply = <®_3v3_vsys>; | |
485 | vin-sm2-supply = <®_3v3_vsys>; | |
486 | vinldo01-supply = <®_1v8_vdd_ddr2>; | |
487 | vinldo23-supply = <®_module_3v3>; | |
488 | vinldo4-supply = <®_module_3v3>; | |
489 | vinldo678-supply = <®_module_3v3>; | |
490 | vinldo9-supply = <®_module_3v3>; | |
fc9c713a LS |
491 | |
492 | regulators { | |
3647c7b8 MZ |
493 | reg_3v3_vsys: sys { |
494 | regulator-name = "VSYS_3.3V"; | |
fc9c713a LS |
495 | regulator-always-on; |
496 | }; | |
497 | ||
3647c7b8 MZ |
498 | sm0 { |
499 | regulator-name = "VDD_CORE_1.2V"; | |
c7ac2b7b SA |
500 | regulator-min-microvolt = <1200000>; |
501 | regulator-max-microvolt = <1200000>; | |
fc9c713a LS |
502 | regulator-always-on; |
503 | }; | |
504 | ||
3647c7b8 MZ |
505 | sm1 { |
506 | regulator-name = "VDD_CPU_1.0V"; | |
c7ac2b7b SA |
507 | regulator-min-microvolt = <1000000>; |
508 | regulator-max-microvolt = <1000000>; | |
fc9c713a LS |
509 | regulator-always-on; |
510 | }; | |
511 | ||
3647c7b8 MZ |
512 | reg_1v8_vdd_ddr2: sm2 { |
513 | regulator-name = "VDD_DDR2_1.8V"; | |
844a4f0d SA |
514 | regulator-min-microvolt = <1800000>; |
515 | regulator-max-microvolt = <1800000>; | |
fc9c713a LS |
516 | regulator-always-on; |
517 | }; | |
518 | ||
519 | /* LDO0 is not connected to anything */ | |
520 | ||
3647c7b8 MZ |
521 | /* |
522 | * +3.3V_ENABLE_N switching via FET: | |
523 | * AVDD_AUDIO_S and +3.3V | |
524 | * see also +3.3V fixed supply | |
525 | */ | |
526 | ldo1 { | |
527 | regulator-name = "AVDD_PLL_1.1V"; | |
fc9c713a LS |
528 | regulator-min-microvolt = <1100000>; |
529 | regulator-max-microvolt = <1100000>; | |
530 | regulator-always-on; | |
531 | }; | |
532 | ||
3647c7b8 MZ |
533 | ldo2 { |
534 | regulator-name = "VDD_RTC_1.2V"; | |
fc9c713a LS |
535 | regulator-min-microvolt = <1200000>; |
536 | regulator-max-microvolt = <1200000>; | |
537 | }; | |
538 | ||
539 | /* LDO3 is not connected to anything */ | |
540 | ||
3647c7b8 MZ |
541 | ldo4 { |
542 | regulator-name = "VDDIO_SYS_1.8V"; | |
fc9c713a LS |
543 | regulator-min-microvolt = <1800000>; |
544 | regulator-max-microvolt = <1800000>; | |
545 | regulator-always-on; | |
546 | }; | |
547 | ||
3647c7b8 MZ |
548 | /* Switched via FET from regular +3.3V */ |
549 | ldo5 { | |
550 | regulator-name = "+3.3V_USB"; | |
fc9c713a LS |
551 | regulator-min-microvolt = <3300000>; |
552 | regulator-max-microvolt = <3300000>; | |
553 | regulator-always-on; | |
554 | }; | |
555 | ||
3647c7b8 MZ |
556 | ldo6 { |
557 | regulator-name = "AVDD_VDAC_2.85V"; | |
c7ac2b7b SA |
558 | regulator-min-microvolt = <2850000>; |
559 | regulator-max-microvolt = <2850000>; | |
fc9c713a LS |
560 | }; |
561 | ||
3647c7b8 MZ |
562 | reg_3v3_avdd_hdmi: ldo7 { |
563 | regulator-name = "AVDD_HDMI_3.3V"; | |
fc9c713a LS |
564 | regulator-min-microvolt = <3300000>; |
565 | regulator-max-microvolt = <3300000>; | |
566 | }; | |
567 | ||
3647c7b8 MZ |
568 | reg_1v8_avdd_hdmi_pll: ldo8 { |
569 | regulator-name = "AVDD_HDMI_PLL_1.8V"; | |
fc9c713a LS |
570 | regulator-min-microvolt = <1800000>; |
571 | regulator-max-microvolt = <1800000>; | |
572 | }; | |
573 | ||
3647c7b8 MZ |
574 | ldo9 { |
575 | regulator-name = "VDDIO_RX_DDR_2.85V"; | |
fc9c713a LS |
576 | regulator-min-microvolt = <2850000>; |
577 | regulator-max-microvolt = <2850000>; | |
578 | regulator-always-on; | |
579 | }; | |
580 | ||
3647c7b8 MZ |
581 | ldo_rtc { |
582 | regulator-name = "VCC_BATT"; | |
fc9c713a LS |
583 | regulator-min-microvolt = <3300000>; |
584 | regulator-max-microvolt = <3300000>; | |
585 | regulator-always-on; | |
586 | }; | |
587 | }; | |
588 | }; | |
589 | ||
df2be1ae MZ |
590 | /* LM95245 temperature sensor */ |
591 | temp-sensor@4c { | |
fc9c713a LS |
592 | compatible = "national,lm95245"; |
593 | reg = <0x4c>; | |
594 | }; | |
595 | }; | |
596 | ||
58ecb23f | 597 | pmc@7000e400 { |
47d2d63b | 598 | nvidia,suspend-mode = <1>; |
a44a019d JL |
599 | nvidia,cpu-pwr-good-time = <5000>; |
600 | nvidia,cpu-pwr-off-time = <5000>; | |
601 | nvidia,core-pwr-good-time = <3845 3845>; | |
602 | nvidia,core-pwr-off-time = <3875>; | |
603 | nvidia,sys-clock-req-active-high; | |
d5178bb6 MZ |
604 | |
605 | /* Set SLEEP MODE bit in SUPPLYENE register of TPS658643 PMIC */ | |
606 | i2c-thermtrip { | |
607 | nvidia,i2c-controller-id = <3>; | |
608 | nvidia,bus-addr = <0x34>; | |
609 | nvidia,reg-addr = <0x14>; | |
610 | nvidia,reg-data = <0x8>; | |
611 | }; | |
a44a019d JL |
612 | }; |
613 | ||
fc9c713a LS |
614 | memory-controller@7000f400 { |
615 | emc-table@83250 { | |
616 | reg = <83250>; | |
617 | compatible = "nvidia,tegra20-emc-table"; | |
618 | clock-frequency = <83250>; | |
619 | nvidia,emc-registers = <0x00000005 0x00000011 | |
620 | 0x00000004 0x00000002 0x00000004 0x00000004 | |
621 | 0x00000001 0x0000000a 0x00000002 0x00000002 | |
622 | 0x00000001 0x00000001 0x00000003 0x00000004 | |
623 | 0x00000003 0x00000009 0x0000000c 0x0000025f | |
624 | 0x00000000 0x00000003 0x00000003 0x00000002 | |
625 | 0x00000002 0x00000001 0x00000008 0x000000c8 | |
626 | 0x00000003 0x00000005 0x00000003 0x0000000c | |
627 | 0x00000002 0x00000000 0x00000000 0x00000002 | |
628 | 0x00000000 0x00000000 0x00000083 0x00520006 | |
629 | 0x00000010 0x00000008 0x00000000 0x00000000 | |
630 | 0x00000000 0x00000000 0x00000000 0x00000000>; | |
631 | }; | |
632 | emc-table@133200 { | |
633 | reg = <133200>; | |
634 | compatible = "nvidia,tegra20-emc-table"; | |
635 | clock-frequency = <133200>; | |
636 | nvidia,emc-registers = <0x00000008 0x00000019 | |
637 | 0x00000006 0x00000002 0x00000004 0x00000004 | |
638 | 0x00000001 0x0000000a 0x00000002 0x00000002 | |
639 | 0x00000002 0x00000001 0x00000003 0x00000004 | |
640 | 0x00000003 0x00000009 0x0000000c 0x0000039f | |
641 | 0x00000000 0x00000003 0x00000003 0x00000002 | |
642 | 0x00000002 0x00000001 0x00000008 0x000000c8 | |
643 | 0x00000003 0x00000007 0x00000003 0x0000000c | |
644 | 0x00000002 0x00000000 0x00000000 0x00000002 | |
645 | 0x00000000 0x00000000 0x00000083 0x00510006 | |
646 | 0x00000010 0x00000008 0x00000000 0x00000000 | |
647 | 0x00000000 0x00000000 0x00000000 0x00000000>; | |
648 | }; | |
649 | emc-table@166500 { | |
650 | reg = <166500>; | |
651 | compatible = "nvidia,tegra20-emc-table"; | |
652 | clock-frequency = <166500>; | |
653 | nvidia,emc-registers = <0x0000000a 0x00000021 | |
654 | 0x00000008 0x00000003 0x00000004 0x00000004 | |
655 | 0x00000002 0x0000000a 0x00000003 0x00000003 | |
656 | 0x00000002 0x00000001 0x00000003 0x00000004 | |
657 | 0x00000003 0x00000009 0x0000000c 0x000004df | |
658 | 0x00000000 0x00000003 0x00000003 0x00000003 | |
659 | 0x00000003 0x00000001 0x00000009 0x000000c8 | |
660 | 0x00000003 0x00000009 0x00000004 0x0000000c | |
661 | 0x00000002 0x00000000 0x00000000 0x00000002 | |
662 | 0x00000000 0x00000000 0x00000083 0x004f0006 | |
663 | 0x00000010 0x00000008 0x00000000 0x00000000 | |
664 | 0x00000000 0x00000000 0x00000000 0x00000000>; | |
665 | }; | |
666 | emc-table@333000 { | |
667 | reg = <333000>; | |
668 | compatible = "nvidia,tegra20-emc-table"; | |
669 | clock-frequency = <333000>; | |
670 | nvidia,emc-registers = <0x00000014 0x00000041 | |
671 | 0x0000000f 0x00000005 0x00000004 0x00000005 | |
672 | 0x00000003 0x0000000a 0x00000005 0x00000005 | |
673 | 0x00000004 0x00000001 0x00000003 0x00000004 | |
674 | 0x00000003 0x00000009 0x0000000c 0x000009ff | |
675 | 0x00000000 0x00000003 0x00000003 0x00000005 | |
676 | 0x00000005 0x00000001 0x0000000e 0x000000c8 | |
677 | 0x00000003 0x00000011 0x00000006 0x0000000c | |
678 | 0x00000002 0x00000000 0x00000000 0x00000002 | |
679 | 0x00000000 0x00000000 0x00000083 0x00380006 | |
680 | 0x00000010 0x00000008 0x00000000 0x00000000 | |
681 | 0x00000000 0x00000000 0x00000000 0x00000000>; | |
682 | }; | |
683 | }; | |
684 | ||
2287ef76 | 685 | /* EHCI instance 1: ULPI PHY -> AX88772B (On-module) */ |
fc9c713a LS |
686 | usb@c5004000 { |
687 | status = "okay"; | |
364ba104 MZ |
688 | #address-cells = <1>; |
689 | #size-cells = <0>; | |
690 | ||
691 | asix@1 { | |
692 | reg = <1>; | |
693 | local-mac-address = [00 00 00 00 00 00]; | |
694 | }; | |
9dffe3be VB |
695 | }; |
696 | ||
697 | usb-phy@c5004000 { | |
a1632ad3 | 698 | status = "okay"; |
035ae62d MZ |
699 | nvidia,phy-reset-gpio = |
700 | <&gpio TEGRA_GPIO(V, 1) GPIO_ACTIVE_LOW>; | |
18e6ccef | 701 | vbus-supply = <®_lan_v_bus>; |
fc9c713a LS |
702 | }; |
703 | ||
7021d122 JL |
704 | clocks { |
705 | compatible = "simple-bus"; | |
706 | #address-cells = <1>; | |
707 | #size-cells = <0>; | |
708 | ||
58ecb23f | 709 | clk32k_in: clock@0 { |
7021d122 | 710 | compatible = "fixed-clock"; |
4ec2e601 | 711 | reg = <0>; |
7021d122 JL |
712 | #clock-cells = <0>; |
713 | clock-frequency = <32768>; | |
714 | }; | |
715 | }; | |
716 | ||
3647c7b8 MZ |
717 | reg_lan_v_bus: regulator-lan-v-bus { |
718 | compatible = "regulator-fixed"; | |
719 | regulator-name = "LAN_V_BUS"; | |
720 | regulator-min-microvolt = <5000000>; | |
721 | regulator-max-microvolt = <5000000>; | |
722 | enable-active-high; | |
723 | gpio = <&gpio TEGRA_GPIO(BB, 1) GPIO_ACTIVE_HIGH>; | |
724 | }; | |
fc9c713a | 725 | |
3647c7b8 MZ |
726 | reg_module_3v3: regulator-module-3v3 { |
727 | compatible = "regulator-fixed"; | |
728 | regulator-name = "+V3.3"; | |
729 | regulator-min-microvolt = <3300000>; | |
730 | regulator-max-microvolt = <3300000>; | |
731 | regulator-always-on; | |
fc9c713a | 732 | }; |
57899053 SW |
733 | |
734 | sound { | |
735 | compatible = "nvidia,tegra-audio-wm9712-colibri_t20", | |
035ae62d | 736 | "nvidia,tegra-audio-wm9712"; |
ea60afb8 | 737 | nvidia,model = "Toradex Colibri T20"; |
57899053 SW |
738 | nvidia,audio-routing = |
739 | "Headphone", "HPOUTL", | |
740 | "Headphone", "HPOUTR", | |
741 | "LineIn", "LINEINL", | |
742 | "LineIn", "LINEINR", | |
743 | "Mic", "MIC1"; | |
57899053 | 744 | nvidia,ac97-controller = <&ac97>; |
57899053 SW |
745 | clocks = <&tegra_car TEGRA20_CLK_PLL_A>, |
746 | <&tegra_car TEGRA20_CLK_PLL_A_OUT0>, | |
747 | <&tegra_car TEGRA20_CLK_CDEV1>; | |
748 | clock-names = "pll_a", "pll_a_out0", "mclk"; | |
749 | }; | |
fc9c713a | 750 | }; |
0b51e73b MZ |
751 | |
752 | &gpio { | |
753 | lan-reset-n { | |
754 | gpio-hog; | |
755 | gpios = <TEGRA_GPIO(V, 4) GPIO_ACTIVE_HIGH>; | |
756 | output-high; | |
757 | line-name = "LAN_RESET#"; | |
758 | }; | |
351c72c8 MZ |
759 | |
760 | /* Tri-stating GMI_WR_N on SODIMM pin 99 nPWE */ | |
761 | npwe { | |
762 | gpio-hog; | |
763 | gpios = <TEGRA_GPIO(T, 5) GPIO_ACTIVE_HIGH>; | |
764 | output-high; | |
765 | line-name = "Tri-state nPWE"; | |
766 | }; | |
767 | ||
768 | /* Not tri-stating GMI_WR_N on SODIMM pin 93 RDnWR */ | |
769 | rdnwr { | |
770 | gpio-hog; | |
771 | gpios = <TEGRA_GPIO(T, 6) GPIO_ACTIVE_HIGH>; | |
772 | output-low; | |
773 | line-name = "Not tri-state RDnWR"; | |
774 | }; | |
0b51e73b | 775 | }; |