1// SPDX-License-Identifier: GPL-2.0 2#include "tegra30.dtsi" 3 4/* 5 * Toradex Colibri T30 Module Device Tree 6 * Compatible for Revisions V1.1B, V1.1C, V1.1D, V1.1E, V1.1F; IT: V1.1A, V1.1B 7 */ 8/ { 9 memory@80000000 { 10 reg = <0x80000000 0x40000000>; 11 }; 12 13 host1x@50000000 { 14 hdmi@54280000 { 15 nvidia,ddc-i2c-bus = <&hdmi_ddc>; 16 nvidia,hpd-gpio = 17 <&gpio TEGRA_GPIO(N, 7) GPIO_ACTIVE_HIGH>; 18 pll-supply = <®_1v8_avdd_hdmi_pll>; 19 vdd-supply = <®_3v3_avdd_hdmi>; 20 }; 21 }; 22 23 pinmux@70000868 { 24 pinctrl-names = "default"; 25 pinctrl-0 = <&state_default>; 26 27 state_default: pinmux { 28 /* Analogue Audio (On-module) */ 29 clk1-out-pw4 { 30 nvidia,pins = "clk1_out_pw4"; 31 nvidia,function = "extperiph1"; 32 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 33 nvidia,tristate = <TEGRA_PIN_DISABLE>; 34 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 35 }; 36 dap3-fs-pp0 { 37 nvidia,pins = "dap3_fs_pp0", 38 "dap3_sclk_pp3", 39 "dap3_din_pp1", 40 "dap3_dout_pp2"; 41 nvidia,function = "i2s2"; 42 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 43 nvidia,tristate = <TEGRA_PIN_DISABLE>; 44 }; 45 46 /* Colibri Address/Data Bus (GMI) */ 47 gmi-ad0-pg0 { 48 nvidia,pins = "gmi_ad0_pg0", 49 "gmi_ad2_pg2", 50 "gmi_ad3_pg3", 51 "gmi_ad4_pg4", 52 "gmi_ad5_pg5", 53 "gmi_ad6_pg6", 54 "gmi_ad7_pg7", 55 "gmi_ad8_ph0", 56 "gmi_ad9_ph1", 57 "gmi_ad10_ph2", 58 "gmi_ad11_ph3", 59 "gmi_ad12_ph4", 60 "gmi_ad13_ph5", 61 "gmi_ad14_ph6", 62 "gmi_ad15_ph7", 63 "gmi_adv_n_pk0", 64 "gmi_clk_pk1", 65 "gmi_cs4_n_pk2", 66 "gmi_cs2_n_pk3", 67 "gmi_iordy_pi5", 68 "gmi_oe_n_pi1", 69 "gmi_wait_pi7", 70 "gmi_wr_n_pi0", 71 "dap1_fs_pn0", 72 "dap1_din_pn1", 73 "dap1_dout_pn2", 74 "dap1_sclk_pn3", 75 "dap2_fs_pa2", 76 "dap2_sclk_pa3", 77 "dap2_din_pa4", 78 "dap2_dout_pa5", 79 "spi1_sck_px5", 80 "spi1_mosi_px4", 81 "spi1_cs0_n_px6", 82 "spi2_cs0_n_px3", 83 "spi2_miso_px1", 84 "spi2_mosi_px0", 85 "spi2_sck_px2", 86 "uart2_cts_n_pj5", 87 "uart2_rts_n_pj6"; 88 nvidia,function = "gmi"; 89 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 90 nvidia,tristate = <TEGRA_PIN_DISABLE>; 91 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 92 }; 93 /* Further pins may be used as GPIOs */ 94 dap4-din-pp5 { 95 nvidia,pins = "dap4_din_pp5", 96 "dap4_dout_pp6", 97 "dap4_fs_pp4", 98 "dap4_sclk_pp7", 99 "pbb7", 100 "sdmmc1_clk_pz0", 101 "sdmmc1_cmd_pz1", 102 "sdmmc1_dat0_py7", 103 "sdmmc1_dat1_py6", 104 "sdmmc1_dat3_py4", 105 "uart3_cts_n_pa1", 106 "uart3_txd_pw6", 107 "uart3_rxd_pw7"; 108 nvidia,function = "rsvd2"; 109 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 110 nvidia,tristate = <TEGRA_PIN_DISABLE>; 111 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 112 }; 113 lcd-d18-pm2 { 114 nvidia,pins = "lcd_d18_pm2", 115 "lcd_d19_pm3", 116 "lcd_d20_pm4", 117 "lcd_d21_pm5", 118 "lcd_d22_pm6", 119 "lcd_d23_pm7", 120 "lcd_dc0_pn6", 121 "pex_l2_clkreq_n_pcc7"; 122 nvidia,function = "rsvd3"; 123 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 124 nvidia,tristate = <TEGRA_PIN_DISABLE>; 125 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 126 }; 127 lcd-cs0-n-pn4 { 128 nvidia,pins = "lcd_cs0_n_pn4", 129 "lcd_sdin_pz2", 130 "pu0", 131 "pu1", 132 "pu2", 133 "pu3", 134 "pu4", 135 "pu5", 136 "pu6", 137 "spi1_miso_px7", 138 "uart3_rts_n_pc0"; 139 nvidia,function = "rsvd4"; 140 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 141 nvidia,tristate = <TEGRA_PIN_DISABLE>; 142 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 143 }; 144 lcd-pwr0-pb2 { 145 nvidia,pins = "lcd_pwr0_pb2", 146 "lcd_sck_pz4", 147 "lcd_sdout_pn5", 148 "lcd_wr_n_pz3"; 149 nvidia,function = "hdcp"; 150 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 151 nvidia,tristate = <TEGRA_PIN_DISABLE>; 152 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 153 }; 154 pbb4 { 155 nvidia,pins = "pbb4", 156 "pbb5", 157 "pbb6"; 158 nvidia,function = "displayb"; 159 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 160 nvidia,tristate = <TEGRA_PIN_DISABLE>; 161 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 162 }; 163 /* Multiplexed RDnWR and therefore disabled */ 164 lcd-cs1-n-pw0 { 165 nvidia,pins = "lcd_cs1_n_pw0"; 166 nvidia,function = "rsvd4"; 167 nvidia,pull = <TEGRA_PIN_PULL_DOWN>; 168 nvidia,tristate = <TEGRA_PIN_ENABLE>; 169 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 170 }; 171 /* Multiplexed GMI_CLK and therefore disabled */ 172 owr { 173 nvidia,pins = "owr"; 174 nvidia,function = "rsvd3"; 175 nvidia,pull = <TEGRA_PIN_PULL_DOWN>; 176 nvidia,tristate = <TEGRA_PIN_ENABLE>; 177 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 178 }; 179 /* Tri-stating GMI_WR_N on nPWE SODIMM pin 99 */ 180 sdmmc3-dat4-pd1 { 181 nvidia,pins = "sdmmc3_dat4_pd1"; 182 nvidia,function = "sdmmc3"; 183 nvidia,pull = <TEGRA_PIN_PULL_UP>; 184 nvidia,tristate = <TEGRA_PIN_ENABLE>; 185 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 186 }; 187 /* Not tri-stating GMI_WR_N on RDnWR SODIMM pin 93 */ 188 sdmmc3-dat5-pd0 { 189 nvidia,pins = "sdmmc3_dat5_pd0"; 190 nvidia,function = "sdmmc3"; 191 nvidia,pull = <TEGRA_PIN_PULL_DOWN>; 192 nvidia,tristate = <TEGRA_PIN_ENABLE>; 193 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 194 }; 195 196 /* Colibri BL_ON */ 197 pv2 { 198 nvidia,pins = "pv2"; 199 nvidia,function = "rsvd4"; 200 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 201 nvidia,tristate = <TEGRA_PIN_DISABLE>; 202 }; 203 204 /* Colibri Backlight PWM<A> */ 205 sdmmc3-dat3-pb4 { 206 nvidia,pins = "sdmmc3_dat3_pb4"; 207 nvidia,function = "pwm0"; 208 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 209 nvidia,tristate = <TEGRA_PIN_DISABLE>; 210 }; 211 212 /* Colibri CAN_INT */ 213 kb-row8-ps0 { 214 nvidia,pins = "kb_row8_ps0"; 215 nvidia,function = "kbc"; 216 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 217 nvidia,tristate = <TEGRA_PIN_DISABLE>; 218 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 219 }; 220 221 /* Colibri DDC */ 222 ddc-scl-pv4 { 223 nvidia,pins = "ddc_scl_pv4", 224 "ddc_sda_pv5"; 225 nvidia,function = "i2c4"; 226 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 227 nvidia,tristate = <TEGRA_PIN_DISABLE>; 228 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 229 }; 230 231 /* Colibri EXT_IO* */ 232 gen2-i2c-scl-pt5 { 233 nvidia,pins = "gen2_i2c_scl_pt5", 234 "gen2_i2c_sda_pt6"; 235 nvidia,function = "rsvd4"; 236 nvidia,open-drain = <TEGRA_PIN_DISABLE>; 237 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 238 nvidia,tristate = <TEGRA_PIN_DISABLE>; 239 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 240 }; 241 spdif-in-pk6 { 242 nvidia,pins = "spdif_in_pk6"; 243 nvidia,function = "hda"; 244 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 245 nvidia,tristate = <TEGRA_PIN_DISABLE>; 246 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 247 }; 248 249 /* Colibri GPIO */ 250 clk2-out-pw5 { 251 nvidia,pins = "clk2_out_pw5", 252 "pcc2", 253 "pv3", 254 "sdmmc1_dat2_py5"; 255 nvidia,function = "rsvd2"; 256 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 257 nvidia,tristate = <TEGRA_PIN_DISABLE>; 258 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 259 }; 260 lcd-pwr1-pc1 { 261 nvidia,pins = "lcd_pwr1_pc1", 262 "pex_l1_clkreq_n_pdd6", 263 "pex_l1_rst_n_pdd5"; 264 nvidia,function = "rsvd3"; 265 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 266 nvidia,tristate = <TEGRA_PIN_DISABLE>; 267 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 268 }; 269 pv1 { 270 nvidia,pins = "pv1", 271 "sdmmc3_dat0_pb7", 272 "sdmmc3_dat1_pb6"; 273 nvidia,function = "rsvd1"; 274 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 275 nvidia,tristate = <TEGRA_PIN_DISABLE>; 276 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 277 }; 278 279 /* Colibri HOTPLUG_DETECT (HDMI) */ 280 hdmi-int-pn7 { 281 nvidia,pins = "hdmi_int_pn7"; 282 nvidia,function = "hdmi"; 283 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 284 nvidia,tristate = <TEGRA_PIN_ENABLE>; 285 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 286 }; 287 288 /* Colibri I2C */ 289 gen1-i2c-scl-pc4 { 290 nvidia,pins = "gen1_i2c_scl_pc4", 291 "gen1_i2c_sda_pc5"; 292 nvidia,function = "i2c1"; 293 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 294 nvidia,tristate = <TEGRA_PIN_DISABLE>; 295 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 296 nvidia,open-drain = <TEGRA_PIN_ENABLE>; 297 }; 298 299 /* Colibri LCD (L_* resp. LDD<*>) */ 300 lcd-d0-pe0 { 301 nvidia,pins = "lcd_d0_pe0", 302 "lcd_d1_pe1", 303 "lcd_d2_pe2", 304 "lcd_d3_pe3", 305 "lcd_d4_pe4", 306 "lcd_d5_pe5", 307 "lcd_d6_pe6", 308 "lcd_d7_pe7", 309 "lcd_d8_pf0", 310 "lcd_d9_pf1", 311 "lcd_d10_pf2", 312 "lcd_d11_pf3", 313 "lcd_d12_pf4", 314 "lcd_d13_pf5", 315 "lcd_d14_pf6", 316 "lcd_d15_pf7", 317 "lcd_d16_pm0", 318 "lcd_d17_pm1", 319 "lcd_de_pj1", 320 "lcd_hsync_pj3", 321 "lcd_pclk_pb3", 322 "lcd_vsync_pj4"; 323 nvidia,function = "displaya"; 324 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 325 nvidia,tristate = <TEGRA_PIN_DISABLE>; 326 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 327 }; 328 /* 329 * Colibri L_BIAS, LCD_M1 is muxed with LCD_DE 330 * today's display need DE, disable LCD_M1 331 */ 332 lcd-m1-pw1 { 333 nvidia,pins = "lcd_m1_pw1"; 334 nvidia,function = "rsvd3"; 335 nvidia,pull = <TEGRA_PIN_PULL_DOWN>; 336 nvidia,tristate = <TEGRA_PIN_ENABLE>; 337 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 338 }; 339 340 /* Colibri MMC */ 341 kb-row10-ps2 { 342 nvidia,pins = "kb_row10_ps2"; 343 nvidia,function = "sdmmc2"; 344 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 345 nvidia,tristate = <TEGRA_PIN_DISABLE>; 346 }; 347 kb-row11-ps3 { 348 nvidia,pins = "kb_row11_ps3", 349 "kb_row12_ps4", 350 "kb_row13_ps5", 351 "kb_row14_ps6", 352 "kb_row15_ps7"; 353 nvidia,function = "sdmmc2"; 354 nvidia,pull = <TEGRA_PIN_PULL_UP>; 355 nvidia,tristate = <TEGRA_PIN_DISABLE>; 356 }; 357 /* Colibri MMC_CD */ 358 gmi-wp-n-pc7 { 359 nvidia,pins = "gmi_wp_n_pc7"; 360 nvidia,function = "rsvd1"; 361 nvidia,pull = <TEGRA_PIN_PULL_UP>; 362 nvidia,tristate = <TEGRA_PIN_DISABLE>; 363 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 364 }; 365 /* Multiplexed and therefore disabled */ 366 cam-mclk-pcc0 { 367 nvidia,pins = "cam_mclk_pcc0"; 368 nvidia,function = "vi_alt3"; 369 nvidia,pull = <TEGRA_PIN_PULL_DOWN>; 370 nvidia,tristate = <TEGRA_PIN_ENABLE>; 371 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 372 }; 373 cam-i2c-scl-pbb1 { 374 nvidia,pins = "cam_i2c_scl_pbb1", 375 "cam_i2c_sda_pbb2"; 376 nvidia,function = "rsvd3"; 377 nvidia,pull = <TEGRA_PIN_PULL_DOWN>; 378 nvidia,tristate = <TEGRA_PIN_ENABLE>; 379 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 380 nvidia,open-drain = <TEGRA_PIN_DISABLE>; 381 }; 382 pbb0 { 383 nvidia,pins = "pbb0", 384 "pcc1"; 385 nvidia,function = "rsvd2"; 386 nvidia,pull = <TEGRA_PIN_PULL_DOWN>; 387 nvidia,tristate = <TEGRA_PIN_ENABLE>; 388 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 389 }; 390 pbb3 { 391 nvidia,pins = "pbb3"; 392 nvidia,function = "displayb"; 393 nvidia,pull = <TEGRA_PIN_PULL_DOWN>; 394 nvidia,tristate = <TEGRA_PIN_ENABLE>; 395 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 396 }; 397 398 /* Colibri nRESET_OUT */ 399 gmi-rst-n-pi4 { 400 nvidia,pins = "gmi_rst_n_pi4"; 401 nvidia,function = "gmi"; 402 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 403 nvidia,tristate = <TEGRA_PIN_DISABLE>; 404 }; 405 406 /* 407 * Colibri Parallel Camera (Optional) 408 * pins multiplexed with others and therefore disabled 409 */ 410 vi-vsync-pd6 { 411 nvidia,pins = "vi_d0_pt4", 412 "vi_d1_pd5", 413 "vi_d2_pl0", 414 "vi_d3_pl1", 415 "vi_d4_pl2", 416 "vi_d5_pl3", 417 "vi_d6_pl4", 418 "vi_d7_pl5", 419 "vi_d8_pl6", 420 "vi_d9_pl7", 421 "vi_d10_pt2", 422 "vi_d11_pt3", 423 "vi_hsync_pd7", 424 "vi_mclk_pt1", 425 "vi_pclk_pt0", 426 "vi_vsync_pd6"; 427 nvidia,function = "vi"; 428 nvidia,pull = <TEGRA_PIN_PULL_DOWN>; 429 nvidia,tristate = <TEGRA_PIN_ENABLE>; 430 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 431 }; 432 433 /* Colibri PWM<B> */ 434 sdmmc3-dat2-pb5 { 435 nvidia,pins = "sdmmc3_dat2_pb5"; 436 nvidia,function = "pwm1"; 437 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 438 nvidia,tristate = <TEGRA_PIN_DISABLE>; 439 }; 440 441 /* Colibri PWM<C> */ 442 sdmmc3-clk-pa6 { 443 nvidia,pins = "sdmmc3_clk_pa6"; 444 nvidia,function = "pwm2"; 445 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 446 nvidia,tristate = <TEGRA_PIN_DISABLE>; 447 }; 448 449 /* Colibri PWM<D> */ 450 sdmmc3-cmd-pa7 { 451 nvidia,pins = "sdmmc3_cmd_pa7"; 452 nvidia,function = "pwm3"; 453 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 454 nvidia,tristate = <TEGRA_PIN_DISABLE>; 455 }; 456 457 /* Colibri SSP */ 458 ulpi-clk-py0 { 459 nvidia,pins = "ulpi_clk_py0", 460 "ulpi_dir_py1", 461 "ulpi_nxt_py2", 462 "ulpi_stp_py3"; 463 nvidia,function = "spi1"; 464 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 465 nvidia,tristate = <TEGRA_PIN_DISABLE>; 466 }; 467 /* Multiplexed SSPFRM, SSPTXD and therefore disabled */ 468 sdmmc3-dat6-pd3 { 469 nvidia,pins = "sdmmc3_dat6_pd3", 470 "sdmmc3_dat7_pd4"; 471 nvidia,function = "spdif"; 472 nvidia,pull = <TEGRA_PIN_PULL_DOWN>; 473 nvidia,tristate = <TEGRA_PIN_ENABLE>; 474 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 475 }; 476 477 /* Colibri UART-A */ 478 ulpi-data0 { 479 nvidia,pins = "ulpi_data0_po1", 480 "ulpi_data1_po2", 481 "ulpi_data2_po3", 482 "ulpi_data3_po4", 483 "ulpi_data4_po5", 484 "ulpi_data5_po6", 485 "ulpi_data6_po7", 486 "ulpi_data7_po0"; 487 nvidia,function = "uarta"; 488 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 489 nvidia,tristate = <TEGRA_PIN_DISABLE>; 490 }; 491 492 /* Colibri UART-B */ 493 gmi-a16-pj7 { 494 nvidia,pins = "gmi_a16_pj7", 495 "gmi_a17_pb0", 496 "gmi_a18_pb1", 497 "gmi_a19_pk7"; 498 nvidia,function = "uartd"; 499 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 500 nvidia,tristate = <TEGRA_PIN_DISABLE>; 501 }; 502 503 /* Colibri UART-C */ 504 uart2-rxd { 505 nvidia,pins = "uart2_rxd_pc3", 506 "uart2_txd_pc2"; 507 nvidia,function = "uartb"; 508 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 509 nvidia,tristate = <TEGRA_PIN_DISABLE>; 510 }; 511 512 /* Colibri USBC_DET */ 513 spdif-out-pk5 { 514 nvidia,pins = "spdif_out_pk5"; 515 nvidia,function = "rsvd2"; 516 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 517 nvidia,tristate = <TEGRA_PIN_DISABLE>; 518 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 519 }; 520 521 /* Colibri USBH_PEN */ 522 spi2-cs1-n-pw2 { 523 nvidia,pins = "spi2_cs1_n_pw2"; 524 nvidia,function = "spi2_alt"; 525 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 526 nvidia,tristate = <TEGRA_PIN_DISABLE>; 527 }; 528 529 /* Colibri USBH_OC */ 530 spi2-cs2-n-pw3 { 531 nvidia,pins = "spi2_cs2_n_pw3"; 532 nvidia,function = "spi2_alt"; 533 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 534 nvidia,tristate = <TEGRA_PIN_DISABLE>; 535 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 536 }; 537 538 /* Colibri VGA not supported and therefore disabled */ 539 crt-hsync-pv6 { 540 nvidia,pins = "crt_hsync_pv6", 541 "crt_vsync_pv7"; 542 nvidia,function = "rsvd2"; 543 nvidia,pull = <TEGRA_PIN_PULL_DOWN>; 544 nvidia,tristate = <TEGRA_PIN_ENABLE>; 545 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 546 }; 547 548 /* eMMC (On-module) */ 549 sdmmc4-clk-pcc4 { 550 nvidia,pins = "sdmmc4_clk_pcc4", 551 "sdmmc4_cmd_pt7", 552 "sdmmc4_rst_n_pcc3"; 553 nvidia,function = "sdmmc4"; 554 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 555 nvidia,tristate = <TEGRA_PIN_DISABLE>; 556 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 557 }; 558 sdmmc4-dat0-paa0 { 559 nvidia,pins = "sdmmc4_dat0_paa0", 560 "sdmmc4_dat1_paa1", 561 "sdmmc4_dat2_paa2", 562 "sdmmc4_dat3_paa3", 563 "sdmmc4_dat4_paa4", 564 "sdmmc4_dat5_paa5", 565 "sdmmc4_dat6_paa6", 566 "sdmmc4_dat7_paa7"; 567 nvidia,function = "sdmmc4"; 568 nvidia,pull = <TEGRA_PIN_PULL_UP>; 569 nvidia,tristate = <TEGRA_PIN_DISABLE>; 570 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 571 }; 572 573 /* LAN_EXT_WAKEUP#, LAN_PME (On-module) */ 574 pex-l0-rst-n-pdd1 { 575 nvidia,pins = "pex_l0_rst_n_pdd1", 576 "pex_wake_n_pdd3"; 577 nvidia,function = "rsvd3"; 578 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 579 nvidia,tristate = <TEGRA_PIN_DISABLE>; 580 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 581 }; 582 /* LAN_V_BUS, LAN_RESET# (On-module) */ 583 pex-l0-clkreq-n-pdd2 { 584 nvidia,pins = "pex_l0_clkreq_n_pdd2", 585 "pex_l0_prsnt_n_pdd0"; 586 nvidia,function = "rsvd3"; 587 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 588 nvidia,tristate = <TEGRA_PIN_DISABLE>; 589 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 590 }; 591 592 /* nBATT_FAULT(SENSE), nVDD_FAULT(SENSE) */ 593 pex-l2-rst-n-pcc6 { 594 nvidia,pins = "pex_l2_rst_n_pcc6", 595 "pex_l2_prsnt_n_pdd7"; 596 nvidia,function = "rsvd3"; 597 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 598 nvidia,tristate = <TEGRA_PIN_DISABLE>; 599 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 600 }; 601 602 /* Not connected and therefore disabled */ 603 clk1-req-pee2 { 604 nvidia,pins = "clk1_req_pee2", 605 "pex_l1_prsnt_n_pdd4"; 606 nvidia,function = "rsvd3"; 607 nvidia,pull = <TEGRA_PIN_PULL_DOWN>; 608 nvidia,tristate = <TEGRA_PIN_ENABLE>; 609 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 610 }; 611 clk2-req-pcc5 { 612 nvidia,pins = "clk2_req_pcc5", 613 "clk3_out_pee0", 614 "clk3_req_pee1", 615 "clk_32k_out_pa0", 616 "hdmi_cec_pee3", 617 "sys_clk_req_pz5"; 618 nvidia,function = "rsvd2"; 619 nvidia,pull = <TEGRA_PIN_PULL_DOWN>; 620 nvidia,tristate = <TEGRA_PIN_ENABLE>; 621 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 622 }; 623 gmi-dqs-pi2 { 624 nvidia,pins = "gmi_dqs_pi2", 625 "kb_col2_pq2", 626 "kb_col3_pq3", 627 "kb_col4_pq4", 628 "kb_col5_pq5", 629 "kb_row4_pr4"; 630 nvidia,function = "rsvd4"; 631 nvidia,pull = <TEGRA_PIN_PULL_DOWN>; 632 nvidia,tristate = <TEGRA_PIN_ENABLE>; 633 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 634 }; 635 kb-col0-pq0 { 636 nvidia,pins = "kb_col0_pq0", 637 "kb_col1_pq1", 638 "kb_col6_pq6", 639 "kb_col7_pq7", 640 "kb_row5_pr5", 641 "kb_row6_pr6", 642 "kb_row7_pr7", 643 "kb_row9_ps1"; 644 nvidia,function = "kbc"; 645 nvidia,pull = <TEGRA_PIN_PULL_DOWN>; 646 nvidia,tristate = <TEGRA_PIN_ENABLE>; 647 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 648 }; 649 kb-row0-pr0 { 650 nvidia,pins = "kb_row0_pr0", 651 "kb_row1_pr1", 652 "kb_row2_pr2", 653 "kb_row3_pr3"; 654 nvidia,function = "rsvd3"; 655 nvidia,pull = <TEGRA_PIN_PULL_DOWN>; 656 nvidia,tristate = <TEGRA_PIN_ENABLE>; 657 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 658 }; 659 lcd-pwr2-pc6 { 660 nvidia,pins = "lcd_pwr2_pc6"; 661 nvidia,function = "hdcp"; 662 nvidia,pull = <TEGRA_PIN_PULL_DOWN>; 663 nvidia,tristate = <TEGRA_PIN_ENABLE>; 664 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 665 }; 666 667 /* Power I2C (On-module) */ 668 pwr-i2c-scl-pz6 { 669 nvidia,pins = "pwr_i2c_scl_pz6", 670 "pwr_i2c_sda_pz7"; 671 nvidia,function = "i2cpwr"; 672 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 673 nvidia,tristate = <TEGRA_PIN_DISABLE>; 674 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 675 nvidia,open-drain = <TEGRA_PIN_ENABLE>; 676 }; 677 678 /* 679 * THERMD_ALERT#, unlatched I2C address pin of LM95245 680 * temperature sensor therefore requires disabling for 681 * now 682 */ 683 lcd-dc1-pd2 { 684 nvidia,pins = "lcd_dc1_pd2"; 685 nvidia,function = "rsvd3"; 686 nvidia,pull = <TEGRA_PIN_PULL_DOWN>; 687 nvidia,tristate = <TEGRA_PIN_ENABLE>; 688 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 689 }; 690 691 /* TOUCH_PEN_INT# (On-module) */ 692 pv0 { 693 nvidia,pins = "pv0"; 694 nvidia,function = "rsvd1"; 695 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 696 nvidia,tristate = <TEGRA_PIN_DISABLE>; 697 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 698 }; 699 }; 700 }; 701 702 serial@70006040 { 703 compatible = "nvidia,tegra30-hsuart"; 704 }; 705 706 serial@70006300 { 707 compatible = "nvidia,tegra30-hsuart"; 708 }; 709 710 hdmi_ddc: i2c@7000c700 { 711 clock-frequency = <10000>; 712 }; 713 714 /* 715 * PWR_I2C: power I2C to audio codec, PMIC, temperature sensor and 716 * touch screen controller (On-module) 717 */ 718 i2c@7000d000 { 719 status = "okay"; 720 clock-frequency = <100000>; 721 722 /* SGTL5000 audio codec */ 723 sgtl5000: codec@a { 724 compatible = "fsl,sgtl5000"; 725 reg = <0x0a>; 726 #sound-dai-cells = <0>; 727 VDDA-supply = <®_module_3v3_audio>; 728 VDDD-supply = <®_1v8_vio>; 729 VDDIO-supply = <®_module_3v3>; 730 clocks = <&tegra_car TEGRA30_CLK_EXTERN1>; 731 }; 732 733 pmic: pmic@2d { 734 compatible = "ti,tps65911"; 735 reg = <0x2d>; 736 737 interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>; 738 #interrupt-cells = <2>; 739 interrupt-controller; 740 741 ti,system-power-controller; 742 743 #gpio-cells = <2>; 744 gpio-controller; 745 746 vcc1-supply = <®_module_3v3>; 747 vcc2-supply = <®_module_3v3>; 748 vcc3-supply = <®_1v8_vio>; 749 vcc4-supply = <®_module_3v3>; 750 vcc5-supply = <®_module_3v3>; 751 vcc6-supply = <®_1v8_vio>; 752 vcc7-supply = <®_5v0_charge_pump>; 753 vccio-supply = <®_module_3v3>; 754 755 regulators { 756 vdd1_reg: vdd1 { 757 regulator-name = "+V1.35_VDDIO_DDR"; 758 regulator-min-microvolt = <1350000>; 759 regulator-max-microvolt = <1350000>; 760 regulator-always-on; 761 }; 762 763 /* SW2: unused */ 764 765 vddctrl_reg: vddctrl { 766 regulator-name = "+V1.0_VDD_CPU"; 767 regulator-min-microvolt = <1150000>; 768 regulator-max-microvolt = <1150000>; 769 regulator-always-on; 770 }; 771 772 reg_1v8_vio: vio { 773 regulator-name = "+V1.8"; 774 regulator-min-microvolt = <1800000>; 775 regulator-max-microvolt = <1800000>; 776 regulator-always-on; 777 }; 778 779 /* LDO1: unused */ 780 781 /* 782 * EN_+V3.3 switching via FET: 783 * +V3.3_AUDIO_AVDD_S, +V3.3 and +V1.8_VDD_LAN 784 * see also +V3.3 fixed supply 785 */ 786 ldo2_reg: ldo2 { 787 regulator-name = "EN_+V3.3"; 788 regulator-min-microvolt = <3300000>; 789 regulator-max-microvolt = <3300000>; 790 regulator-always-on; 791 }; 792 793 /* LDO3: unused */ 794 795 ldo4_reg: ldo4 { 796 regulator-name = "+V1.2_VDD_RTC"; 797 regulator-min-microvolt = <1200000>; 798 regulator-max-microvolt = <1200000>; 799 regulator-always-on; 800 }; 801 802 /* 803 * +V2.8_AVDD_VDAC: 804 * only required for (unsupported) analog RGB 805 */ 806 ldo5_reg: ldo5 { 807 regulator-name = "+V2.8_AVDD_VDAC"; 808 regulator-min-microvolt = <2800000>; 809 regulator-max-microvolt = <2800000>; 810 regulator-always-on; 811 }; 812 813 /* 814 * +V1.05_AVDD_PLLE: avdd_plle should be 1.05V 815 * but LDO6 can't set voltage in 50mV 816 * granularity 817 */ 818 ldo6_reg: ldo6 { 819 regulator-name = "+V1.05_AVDD_PLLE"; 820 regulator-min-microvolt = <1100000>; 821 regulator-max-microvolt = <1100000>; 822 }; 823 824 ldo7_reg: ldo7 { 825 regulator-name = "+V1.2_AVDD_PLL"; 826 regulator-min-microvolt = <1200000>; 827 regulator-max-microvolt = <1200000>; 828 regulator-always-on; 829 }; 830 831 ldo8_reg: ldo8 { 832 regulator-name = "+V1.0_VDD_DDR_HS"; 833 regulator-min-microvolt = <1000000>; 834 regulator-max-microvolt = <1000000>; 835 regulator-always-on; 836 }; 837 }; 838 }; 839 840 /* STMPE811 touch screen controller */ 841 touchscreen@41 { 842 compatible = "st,stmpe811"; 843 reg = <0x41>; 844 irq-gpio = <&gpio TEGRA_GPIO(V, 0) IRQ_TYPE_LEVEL_LOW>; 845 interrupt-controller; 846 id = <0>; 847 blocks = <0x5>; 848 irq-trigger = <0x1>; 849 /* 3.25 MHz ADC clock speed */ 850 st,adc-freq = <1>; 851 /* 12-bit ADC */ 852 st,mod-12b = <1>; 853 /* internal ADC reference */ 854 st,ref-sel = <0>; 855 /* ADC converstion time: 80 clocks */ 856 st,sample-time = <4>; 857 /* forbid to use ADC channels 3-0 (touch) */ 858 859 stmpe_touchscreen { 860 compatible = "st,stmpe-ts"; 861 /* 8 sample average control */ 862 st,ave-ctrl = <3>; 863 /* 7 length fractional part in z */ 864 st,fraction-z = <7>; 865 /* 866 * 50 mA typical 80 mA max touchscreen drivers 867 * current limit value 868 */ 869 st,i-drive = <1>; 870 /* 1 ms panel driver settling time */ 871 st,settling = <3>; 872 /* 5 ms touch detect interrupt delay */ 873 st,touch-det-delay = <5>; 874 }; 875 876 stmpe_adc { 877 compatible = "st,stmpe-adc"; 878 st,norequest-mask = <0x0F>; 879 }; 880 }; 881 882 /* 883 * LM95245 temperature sensor 884 * Note: OVERT1# directly connected to TPS65911 PMIC PWRDN 885 */ 886 temp-sensor@4c { 887 compatible = "national,lm95245"; 888 reg = <0x4c>; 889 }; 890 891 /* SW: +V1.2_VDD_CORE */ 892 regulator@60 { 893 compatible = "ti,tps62362"; 894 reg = <0x60>; 895 896 regulator-name = "tps62362-vout"; 897 regulator-min-microvolt = <900000>; 898 regulator-max-microvolt = <1400000>; 899 regulator-boot-on; 900 regulator-always-on; 901 ti,vsel0-state-low; 902 /* VSEL1: EN_CORE_DVFS_N low for DVFS */ 903 ti,vsel1-state-low; 904 }; 905 }; 906 907 pmc@7000e400 { 908 nvidia,invert-interrupt; 909 nvidia,suspend-mode = <1>; 910 nvidia,cpu-pwr-good-time = <5000>; 911 nvidia,cpu-pwr-off-time = <5000>; 912 nvidia,core-pwr-good-time = <3845 3845>; 913 nvidia,core-pwr-off-time = <0>; 914 nvidia,core-power-req-active-high; 915 nvidia,sys-clock-req-active-high; 916 917 /* Set DEV_OFF bit in DCDC control register of TPS65911 PMIC */ 918 i2c-thermtrip { 919 nvidia,i2c-controller-id = <4>; 920 nvidia,bus-addr = <0x2d>; 921 nvidia,reg-addr = <0x3f>; 922 nvidia,reg-data = <0x1>; 923 }; 924 }; 925 926 hda@70030000 { 927 status = "okay"; 928 }; 929 930 ahub@70080000 { 931 i2s@70080500 { 932 status = "okay"; 933 }; 934 }; 935 936 /* eMMC */ 937 mmc@78000600 { 938 status = "okay"; 939 bus-width = <8>; 940 non-removable; 941 vmmc-supply = <®_module_3v3>; /* VCC */ 942 vqmmc-supply = <®_1v8_vio>; /* VCCQ */ 943 mmc-ddr-1_8v; 944 }; 945 946 /* EHCI instance 1: USB2_DP/N -> AX88772B (On-module) */ 947 usb@7d004000 { 948 status = "okay"; 949 #address-cells = <1>; 950 #size-cells = <0>; 951 952 asix@1 { 953 reg = <1>; 954 local-mac-address = [00 00 00 00 00 00]; 955 }; 956 }; 957 958 usb-phy@7d004000 { 959 status = "okay"; 960 vbus-supply = <®_lan_v_bus>; 961 }; 962 963 clk32k_in: xtal1 { 964 compatible = "fixed-clock"; 965 #clock-cells = <0>; 966 clock-frequency = <32768>; 967 }; 968 969 reg_1v8_avdd_hdmi_pll: regulator-1v8-avdd-hdmi-pll { 970 compatible = "regulator-fixed"; 971 regulator-name = "+V1.8_AVDD_HDMI_PLL"; 972 regulator-min-microvolt = <1800000>; 973 regulator-max-microvolt = <1800000>; 974 enable-active-high; 975 gpio = <&pmic 6 GPIO_ACTIVE_HIGH>; 976 vin-supply = <®_1v8_vio>; 977 }; 978 979 reg_3v3_avdd_hdmi: regulator-3v3-avdd-hdmi { 980 compatible = "regulator-fixed"; 981 regulator-name = "+V3.3_AVDD_HDMI"; 982 regulator-min-microvolt = <3300000>; 983 regulator-max-microvolt = <3300000>; 984 enable-active-high; 985 gpio = <&pmic 6 GPIO_ACTIVE_HIGH>; 986 vin-supply = <®_module_3v3>; 987 }; 988 989 reg_5v0_charge_pump: regulator-5v0-charge-pump { 990 compatible = "regulator-fixed"; 991 regulator-name = "+V5.0"; 992 regulator-min-microvolt = <5000000>; 993 regulator-max-microvolt = <5000000>; 994 regulator-always-on; 995 }; 996 997 reg_lan_v_bus: regulator-lan-v-bus { 998 compatible = "regulator-fixed"; 999 regulator-name = "LAN_V_BUS"; 1000 regulator-min-microvolt = <5000000>; 1001 regulator-max-microvolt = <5000000>; 1002 enable-active-high; 1003 gpio = <&gpio TEGRA_GPIO(DD, 2) GPIO_ACTIVE_HIGH>; 1004 }; 1005 1006 reg_module_3v3: regulator-module-3v3 { 1007 compatible = "regulator-fixed"; 1008 regulator-name = "+V3.3"; 1009 regulator-min-microvolt = <3300000>; 1010 regulator-max-microvolt = <3300000>; 1011 regulator-always-on; 1012 }; 1013 1014 reg_module_3v3_audio: regulator-module-3v3-audio { 1015 compatible = "regulator-fixed"; 1016 regulator-name = "+V3.3_AUDIO_AVDD_S"; 1017 regulator-min-microvolt = <3300000>; 1018 regulator-max-microvolt = <3300000>; 1019 regulator-always-on; 1020 }; 1021 1022 sound { 1023 compatible = "toradex,tegra-audio-sgtl5000-colibri_t30", 1024 "nvidia,tegra-audio-sgtl5000"; 1025 nvidia,model = "Toradex Colibri T30"; 1026 nvidia,audio-routing = 1027 "Headphone Jack", "HP_OUT", 1028 "LINE_IN", "Line In Jack", 1029 "MIC_IN", "Mic Jack"; 1030 nvidia,i2s-controller = <&tegra_i2s2>; 1031 nvidia,audio-codec = <&sgtl5000>; 1032 clocks = <&tegra_car TEGRA30_CLK_PLL_A>, 1033 <&tegra_car TEGRA30_CLK_PLL_A_OUT0>, 1034 <&tegra_pmc TEGRA_PMC_CLK_OUT_1>; 1035 clock-names = "pll_a", "pll_a_out0", "mclk"; 1036 1037 assigned-clocks = <&tegra_car TEGRA30_CLK_EXTERN1>, 1038 <&tegra_pmc TEGRA_PMC_CLK_OUT_1>; 1039 1040 assigned-clock-parents = <&tegra_car TEGRA30_CLK_PLL_A_OUT0>, 1041 <&tegra_car TEGRA30_CLK_EXTERN1>; 1042 }; 1043}; 1044 1045&gpio { 1046 lan-reset-n { 1047 gpio-hog; 1048 gpios = <TEGRA_GPIO(DD, 0) GPIO_ACTIVE_HIGH>; 1049 output-high; 1050 line-name = "LAN_RESET#"; 1051 }; 1052}; 1053