1// SPDX-License-Identifier: GPL-2.0 2#include "tegra30.dtsi" 3 4/* 5 * Toradex Apalis T30 Module Device Tree 6 * Compatible for Revisions 1GB: V1.0A, V1.1A; 1GB IT: V1.1A; 7 * 2GB: V1.0B, V1.0C, V1.0E, V1.1A 8 */ 9/ { 10 model = "Toradex Apalis T30"; 11 compatible = "toradex,apalis_t30", "nvidia,tegra30"; 12 13 memory@80000000 { 14 reg = <0x80000000 0x40000000>; 15 }; 16 17 pcie@3000 { 18 avdd-pexa-supply = <&vdd2_reg>; 19 vdd-pexa-supply = <&vdd2_reg>; 20 avdd-pexb-supply = <&vdd2_reg>; 21 vdd-pexb-supply = <&vdd2_reg>; 22 avdd-pex-pll-supply = <&vdd2_reg>; 23 avdd-plle-supply = <&ldo6_reg>; 24 vddio-pex-ctl-supply = <&sys_3v3_reg>; 25 hvdd-pex-supply = <&sys_3v3_reg>; 26 27 pci@1,0 { 28 nvidia,num-lanes = <4>; 29 }; 30 31 pci@2,0 { 32 nvidia,num-lanes = <1>; 33 }; 34 35 pci@3,0 { 36 nvidia,num-lanes = <1>; 37 }; 38 }; 39 40 host1x@50000000 { 41 hdmi@54280000 { 42 vdd-supply = <&avdd_hdmi_3v3_reg>; 43 pll-supply = <&avdd_hdmi_pll_1v8_reg>; 44 45 nvidia,hpd-gpio = 46 <&gpio TEGRA_GPIO(N, 7) GPIO_ACTIVE_HIGH>; 47 nvidia,ddc-i2c-bus = <&hdmiddc>; 48 }; 49 }; 50 51 pinmux@70000868 { 52 pinctrl-names = "default"; 53 pinctrl-0 = <&state_default>; 54 55 state_default: pinmux { 56 /* Analogue Audio (On-module) */ 57 clk1_out_pw4 { 58 nvidia,pins = "clk1_out_pw4"; 59 nvidia,function = "extperiph1"; 60 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 61 nvidia,tristate = <TEGRA_PIN_DISABLE>; 62 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 63 }; 64 dap3_fs_pp0 { 65 nvidia,pins = "dap3_fs_pp0", 66 "dap3_sclk_pp3", 67 "dap3_din_pp1", 68 "dap3_dout_pp2"; 69 nvidia,function = "i2s2"; 70 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 71 nvidia,tristate = <TEGRA_PIN_DISABLE>; 72 }; 73 74 /* Apalis BKL1_ON */ 75 pv2 { 76 nvidia,pins = "pv2"; 77 nvidia,function = "rsvd4"; 78 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 79 nvidia,tristate = <TEGRA_PIN_DISABLE>; 80 }; 81 82 /* Apalis BKL1_PWM */ 83 uart3_rts_n_pc0 { 84 nvidia,pins = "uart3_rts_n_pc0"; 85 nvidia,function = "pwm0"; 86 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 87 nvidia,tristate = <TEGRA_PIN_DISABLE>; 88 }; 89 /* BKL1_PWM_EN#, disable TPS65911 PMIC PWM backlight */ 90 uart3_cts_n_pa1 { 91 nvidia,pins = "uart3_cts_n_pa1"; 92 nvidia,function = "rsvd2"; 93 nvidia,pull = <TEGRA_PIN_PULL_UP>; 94 nvidia,tristate = <TEGRA_PIN_DISABLE>; 95 }; 96 97 /* Apalis CAN1 on SPI6 */ 98 spi2_cs0_n_px3 { 99 nvidia,pins = "spi2_cs0_n_px3", 100 "spi2_miso_px1", 101 "spi2_mosi_px0", 102 "spi2_sck_px2"; 103 nvidia,function = "spi6"; 104 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 105 nvidia,tristate = <TEGRA_PIN_DISABLE>; 106 }; 107 /* CAN_INT1 */ 108 spi2_cs1_n_pw2 { 109 nvidia,pins = "spi2_cs1_n_pw2"; 110 nvidia,function = "spi3"; 111 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 112 nvidia,tristate = <TEGRA_PIN_DISABLE>; 113 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 114 }; 115 116 /* Apalis CAN2 on SPI4 */ 117 gmi_a16_pj7 { 118 nvidia,pins = "gmi_a16_pj7", 119 "gmi_a17_pb0", 120 "gmi_a18_pb1", 121 "gmi_a19_pk7"; 122 nvidia,function = "spi4"; 123 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 124 nvidia,tristate = <TEGRA_PIN_DISABLE>; 125 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 126 }; 127 /* CAN_INT2 */ 128 spi2_cs2_n_pw3 { 129 nvidia,pins = "spi2_cs2_n_pw3"; 130 nvidia,function = "spi3"; 131 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 132 nvidia,tristate = <TEGRA_PIN_DISABLE>; 133 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 134 }; 135 136 /* Apalis Digital Audio */ 137 clk1_req_pee2 { 138 nvidia,pins = "clk1_req_pee2"; 139 nvidia,function = "hda"; 140 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 141 nvidia,tristate = <TEGRA_PIN_DISABLE>; 142 }; 143 clk2_out_pw5 { 144 nvidia,pins = "clk2_out_pw5"; 145 nvidia,function = "extperiph2"; 146 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 147 nvidia,tristate = <TEGRA_PIN_DISABLE>; 148 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 149 }; 150 dap1_fs_pn0 { 151 nvidia,pins = "dap1_fs_pn0", 152 "dap1_din_pn1", 153 "dap1_dout_pn2", 154 "dap1_sclk_pn3"; 155 nvidia,function = "hda"; 156 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 157 nvidia,tristate = <TEGRA_PIN_DISABLE>; 158 }; 159 160 /* Apalis I2C3 */ 161 cam_i2c_scl_pbb1 { 162 nvidia,pins = "cam_i2c_scl_pbb1", 163 "cam_i2c_sda_pbb2"; 164 nvidia,function = "i2c3"; 165 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 166 nvidia,tristate = <TEGRA_PIN_DISABLE>; 167 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 168 nvidia,lock = <TEGRA_PIN_DISABLE>; 169 nvidia,open-drain = <TEGRA_PIN_ENABLE>; 170 }; 171 172 /* Apalis MMC1 */ 173 sdmmc3_clk_pa6 { 174 nvidia,pins = "sdmmc3_clk_pa6", 175 "sdmmc3_cmd_pa7"; 176 nvidia,function = "sdmmc3"; 177 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 178 nvidia,tristate = <TEGRA_PIN_DISABLE>; 179 }; 180 sdmmc3_dat0_pb7 { 181 nvidia,pins = "sdmmc3_dat0_pb7", 182 "sdmmc3_dat1_pb6", 183 "sdmmc3_dat2_pb5", 184 "sdmmc3_dat3_pb4", 185 "sdmmc3_dat4_pd1", 186 "sdmmc3_dat5_pd0", 187 "sdmmc3_dat6_pd3", 188 "sdmmc3_dat7_pd4"; 189 nvidia,function = "sdmmc3"; 190 nvidia,pull = <TEGRA_PIN_PULL_UP>; 191 nvidia,tristate = <TEGRA_PIN_DISABLE>; 192 }; 193 /* Apalis MMC1_CD# */ 194 pv3 { 195 nvidia,pins = "pv3"; 196 nvidia,function = "rsvd2"; 197 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 198 nvidia,tristate = <TEGRA_PIN_DISABLE>; 199 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 200 }; 201 202 /* Apalis PWM1 */ 203 pu6 { 204 nvidia,pins = "pu6"; 205 nvidia,function = "pwm3"; 206 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 207 nvidia,tristate = <TEGRA_PIN_DISABLE>; 208 }; 209 210 /* Apalis PWM2 */ 211 pu5 { 212 nvidia,pins = "pu5"; 213 nvidia,function = "pwm2"; 214 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 215 nvidia,tristate = <TEGRA_PIN_DISABLE>; 216 }; 217 218 /* Apalis PWM3 */ 219 pu4 { 220 nvidia,pins = "pu4"; 221 nvidia,function = "pwm1"; 222 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 223 nvidia,tristate = <TEGRA_PIN_DISABLE>; 224 }; 225 226 /* Apalis PWM4 */ 227 pu3 { 228 nvidia,pins = "pu3"; 229 nvidia,function = "pwm0"; 230 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 231 nvidia,tristate = <TEGRA_PIN_DISABLE>; 232 }; 233 234 /* Apalis RESET_MOCI# */ 235 gmi_rst_n_pi4 { 236 nvidia,pins = "gmi_rst_n_pi4"; 237 nvidia,function = "gmi"; 238 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 239 nvidia,tristate = <TEGRA_PIN_DISABLE>; 240 }; 241 242 /* Apalis SD1 */ 243 sdmmc1_clk_pz0 { 244 nvidia,pins = "sdmmc1_clk_pz0"; 245 nvidia,function = "sdmmc1"; 246 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 247 nvidia,tristate = <TEGRA_PIN_DISABLE>; 248 }; 249 sdmmc1_cmd_pz1 { 250 nvidia,pins = "sdmmc1_cmd_pz1", 251 "sdmmc1_dat0_py7", 252 "sdmmc1_dat1_py6", 253 "sdmmc1_dat2_py5", 254 "sdmmc1_dat3_py4"; 255 nvidia,function = "sdmmc1"; 256 nvidia,pull = <TEGRA_PIN_PULL_UP>; 257 nvidia,tristate = <TEGRA_PIN_DISABLE>; 258 }; 259 /* Apalis SD1_CD# */ 260 clk2_req_pcc5 { 261 nvidia,pins = "clk2_req_pcc5"; 262 nvidia,function = "rsvd2"; 263 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 264 nvidia,tristate = <TEGRA_PIN_DISABLE>; 265 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 266 }; 267 268 /* Apalis SPI1 */ 269 spi1_sck_px5 { 270 nvidia,pins = "spi1_sck_px5", 271 "spi1_mosi_px4", 272 "spi1_miso_px7", 273 "spi1_cs0_n_px6"; 274 nvidia,function = "spi1"; 275 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 276 nvidia,tristate = <TEGRA_PIN_DISABLE>; 277 }; 278 279 /* Apalis SPI2 */ 280 lcd_sck_pz4 { 281 nvidia,pins = "lcd_sck_pz4", 282 "lcd_sdout_pn5", 283 "lcd_sdin_pz2", 284 "lcd_cs0_n_pn4"; 285 nvidia,function = "spi5"; 286 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 287 nvidia,tristate = <TEGRA_PIN_DISABLE>; 288 }; 289 290 /* Apalis UART1 */ 291 ulpi_data0 { 292 nvidia,pins = "ulpi_data0_po1", 293 "ulpi_data1_po2", 294 "ulpi_data2_po3", 295 "ulpi_data3_po4", 296 "ulpi_data4_po5", 297 "ulpi_data5_po6", 298 "ulpi_data6_po7", 299 "ulpi_data7_po0"; 300 nvidia,function = "uarta"; 301 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 302 nvidia,tristate = <TEGRA_PIN_DISABLE>; 303 }; 304 305 /* Apalis UART2 */ 306 ulpi_clk_py0 { 307 nvidia,pins = "ulpi_clk_py0", 308 "ulpi_dir_py1", 309 "ulpi_nxt_py2", 310 "ulpi_stp_py3"; 311 nvidia,function = "uartd"; 312 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 313 nvidia,tristate = <TEGRA_PIN_DISABLE>; 314 }; 315 316 /* Apalis UART3 */ 317 uart2_rxd_pc3 { 318 nvidia,pins = "uart2_rxd_pc3", 319 "uart2_txd_pc2"; 320 nvidia,function = "uartb"; 321 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 322 nvidia,tristate = <TEGRA_PIN_DISABLE>; 323 }; 324 325 /* Apalis UART4 */ 326 uart3_rxd_pw7 { 327 nvidia,pins = "uart3_rxd_pw7", 328 "uart3_txd_pw6"; 329 nvidia,function = "uartc"; 330 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 331 nvidia,tristate = <TEGRA_PIN_DISABLE>; 332 }; 333 334 /* Apalis USBO1_EN */ 335 gen2_i2c_scl_pt5 { 336 nvidia,pins = "gen2_i2c_scl_pt5"; 337 nvidia,function = "rsvd4"; 338 nvidia,open-drain = <TEGRA_PIN_DISABLE>; 339 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 340 nvidia,tristate = <TEGRA_PIN_DISABLE>; 341 }; 342 343 /* Apalis USBO1_OC# */ 344 gen2_i2c_sda_pt6 { 345 nvidia,pins = "gen2_i2c_sda_pt6"; 346 nvidia,function = "rsvd4"; 347 nvidia,open-drain = <TEGRA_PIN_DISABLE>; 348 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 349 nvidia,tristate = <TEGRA_PIN_DISABLE>; 350 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 351 }; 352 353 /* Apalis WAKE1_MICO */ 354 pv1 { 355 nvidia,pins = "pv1"; 356 nvidia,function = "rsvd1"; 357 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 358 nvidia,tristate = <TEGRA_PIN_DISABLE>; 359 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 360 }; 361 362 /* eMMC (On-module) */ 363 sdmmc4_clk_pcc4 { 364 nvidia,pins = "sdmmc4_clk_pcc4", 365 "sdmmc4_rst_n_pcc3"; 366 nvidia,function = "sdmmc4"; 367 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 368 nvidia,tristate = <TEGRA_PIN_DISABLE>; 369 }; 370 sdmmc4_dat0_paa0 { 371 nvidia,pins = "sdmmc4_dat0_paa0", 372 "sdmmc4_dat1_paa1", 373 "sdmmc4_dat2_paa2", 374 "sdmmc4_dat3_paa3", 375 "sdmmc4_dat4_paa4", 376 "sdmmc4_dat5_paa5", 377 "sdmmc4_dat6_paa6", 378 "sdmmc4_dat7_paa7"; 379 nvidia,function = "sdmmc4"; 380 nvidia,pull = <TEGRA_PIN_PULL_UP>; 381 nvidia,tristate = <TEGRA_PIN_DISABLE>; 382 }; 383 384 /* LVDS Transceiver Configuration */ 385 pbb0 { 386 nvidia,pins = "pbb0", 387 "pbb7", 388 "pcc1", 389 "pcc2"; 390 nvidia,function = "rsvd2"; 391 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 392 nvidia,tristate = <TEGRA_PIN_DISABLE>; 393 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 394 nvidia,lock = <TEGRA_PIN_DISABLE>; 395 }; 396 pbb3 { 397 nvidia,pins = "pbb3", 398 "pbb4", 399 "pbb5", 400 "pbb6"; 401 nvidia,function = "displayb"; 402 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 403 nvidia,tristate = <TEGRA_PIN_DISABLE>; 404 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 405 nvidia,lock = <TEGRA_PIN_DISABLE>; 406 }; 407 408 /* Power I2C (On-module) */ 409 pwr_i2c_scl_pz6 { 410 nvidia,pins = "pwr_i2c_scl_pz6", 411 "pwr_i2c_sda_pz7"; 412 nvidia,function = "i2cpwr"; 413 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 414 nvidia,tristate = <TEGRA_PIN_DISABLE>; 415 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 416 nvidia,lock = <TEGRA_PIN_DISABLE>; 417 nvidia,open-drain = <TEGRA_PIN_ENABLE>; 418 }; 419 420 /* 421 * THERMD_ALERT#, unlatched I2C address pin of LM95245 422 * temperature sensor therefore requires disabling for 423 * now 424 */ 425 lcd_dc1_pd2 { 426 nvidia,pins = "lcd_dc1_pd2"; 427 nvidia,function = "rsvd3"; 428 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 429 nvidia,tristate = <TEGRA_PIN_DISABLE>; 430 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 431 }; 432 433 /* TOUCH_PEN_INT# */ 434 pv0 { 435 nvidia,pins = "pv0"; 436 nvidia,function = "rsvd1"; 437 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 438 nvidia,tristate = <TEGRA_PIN_DISABLE>; 439 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 440 }; 441 }; 442 }; 443 444 hdmiddc: i2c@7000c700 { 445 clock-frequency = <10000>; 446 }; 447 448 /* 449 * PWR_I2C: power I2C to audio codec, PMIC, temperature sensor and 450 * touch screen controller 451 */ 452 i2c@7000d000 { 453 status = "okay"; 454 clock-frequency = <100000>; 455 456 /* SGTL5000 audio codec */ 457 sgtl5000: codec@a { 458 compatible = "fsl,sgtl5000"; 459 reg = <0x0a>; 460 VDDA-supply = <&sys_3v3_reg>; 461 VDDIO-supply = <&sys_3v3_reg>; 462 clocks = <&tegra_car TEGRA30_CLK_EXTERN1>; 463 }; 464 465 pmic: tps65911@2d { 466 compatible = "ti,tps65911"; 467 reg = <0x2d>; 468 469 interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>; 470 #interrupt-cells = <2>; 471 interrupt-controller; 472 473 ti,system-power-controller; 474 475 #gpio-cells = <2>; 476 gpio-controller; 477 478 vcc1-supply = <&sys_3v3_reg>; 479 vcc2-supply = <&sys_3v3_reg>; 480 vcc3-supply = <&vio_reg>; 481 vcc4-supply = <&sys_3v3_reg>; 482 vcc5-supply = <&sys_3v3_reg>; 483 vcc6-supply = <&vio_reg>; 484 vcc7-supply = <&charge_pump_5v0_reg>; 485 vccio-supply = <&sys_3v3_reg>; 486 487 regulators { 488 /* SW1: +V1.35_VDDIO_DDR */ 489 vdd1_reg: vdd1 { 490 regulator-name = "vddio_ddr_1v35"; 491 regulator-min-microvolt = <1350000>; 492 regulator-max-microvolt = <1350000>; 493 regulator-always-on; 494 }; 495 496 /* SW2: +V1.05 */ 497 vdd2_reg: vdd2 { 498 regulator-name = 499 "vdd_pexa,vdd_pexb,vdd_sata"; 500 regulator-min-microvolt = <1050000>; 501 regulator-max-microvolt = <1050000>; 502 }; 503 504 /* SW CTRL: +V1.0_VDD_CPU */ 505 vddctrl_reg: vddctrl { 506 regulator-name = "vdd_cpu,vdd_sys"; 507 regulator-min-microvolt = <1150000>; 508 regulator-max-microvolt = <1150000>; 509 regulator-always-on; 510 }; 511 512 /* SWIO: +V1.8 */ 513 vio_reg: vio { 514 regulator-name = "vdd_1v8_gen"; 515 regulator-min-microvolt = <1800000>; 516 regulator-max-microvolt = <1800000>; 517 regulator-always-on; 518 }; 519 520 /* LDO1: unused */ 521 522 /* 523 * EN_+V3.3 switching via FET: 524 * +V3.3_AUDIO_AVDD_S, +V3.3 and +V1.8_VDD_LAN 525 * see also v3_3 fixed supply 526 */ 527 ldo2_reg: ldo2 { 528 regulator-name = "en_3v3"; 529 regulator-min-microvolt = <3300000>; 530 regulator-max-microvolt = <3300000>; 531 regulator-always-on; 532 }; 533 534 /* +V1.2_CSI */ 535 ldo3_reg: ldo3 { 536 regulator-name = 537 "avdd_dsi_csi,pwrdet_mipi"; 538 regulator-min-microvolt = <1200000>; 539 regulator-max-microvolt = <1200000>; 540 }; 541 542 /* +V1.2_VDD_RTC */ 543 ldo4_reg: ldo4 { 544 regulator-name = "vdd_rtc"; 545 regulator-min-microvolt = <1200000>; 546 regulator-max-microvolt = <1200000>; 547 regulator-always-on; 548 }; 549 550 /* 551 * +V2.8_AVDD_VDAC: 552 * only required for analog RGB 553 */ 554 ldo5_reg: ldo5 { 555 regulator-name = "avdd_vdac"; 556 regulator-min-microvolt = <2800000>; 557 regulator-max-microvolt = <2800000>; 558 regulator-always-on; 559 }; 560 561 /* 562 * +V1.05_AVDD_PLLE: avdd_plle should be 1.05V 563 * but LDO6 can't set voltage in 50mV 564 * granularity 565 */ 566 ldo6_reg: ldo6 { 567 regulator-name = "avdd_plle"; 568 regulator-min-microvolt = <1100000>; 569 regulator-max-microvolt = <1100000>; 570 }; 571 572 /* +V1.2_AVDD_PLL */ 573 ldo7_reg: ldo7 { 574 regulator-name = "avdd_pll"; 575 regulator-min-microvolt = <1200000>; 576 regulator-max-microvolt = <1200000>; 577 regulator-always-on; 578 }; 579 580 /* +V1.0_VDD_DDR_HS */ 581 ldo8_reg: ldo8 { 582 regulator-name = "vdd_ddr_hs"; 583 regulator-min-microvolt = <1000000>; 584 regulator-max-microvolt = <1000000>; 585 regulator-always-on; 586 }; 587 }; 588 }; 589 590 /* STMPE811 touch screen controller */ 591 stmpe811@41 { 592 compatible = "st,stmpe811"; 593 reg = <0x41>; 594 interrupts = <TEGRA_GPIO(V, 0) IRQ_TYPE_LEVEL_LOW>; 595 interrupt-parent = <&gpio>; 596 interrupt-controller; 597 id = <0>; 598 blocks = <0x5>; 599 irq-trigger = <0x1>; 600 601 stmpe_touchscreen { 602 compatible = "st,stmpe-ts"; 603 /* 3.25 MHz ADC clock speed */ 604 st,adc-freq = <1>; 605 /* 8 sample average control */ 606 st,ave-ctrl = <3>; 607 /* 7 length fractional part in z */ 608 st,fraction-z = <7>; 609 /* 610 * 50 mA typical 80 mA max touchscreen drivers 611 * current limit value 612 */ 613 st,i-drive = <1>; 614 /* 12-bit ADC */ 615 st,mod-12b = <1>; 616 /* internal ADC reference */ 617 st,ref-sel = <0>; 618 /* ADC converstion time: 80 clocks */ 619 st,sample-time = <4>; 620 /* 1 ms panel driver settling time */ 621 st,settling = <3>; 622 /* 5 ms touch detect interrupt delay */ 623 st,touch-det-delay = <5>; 624 }; 625 }; 626 627 /* 628 * LM95245 temperature sensor 629 * Note: OVERT_N directly connected to PMIC PWRDN 630 */ 631 temp-sensor@4c { 632 compatible = "national,lm95245"; 633 reg = <0x4c>; 634 }; 635 636 /* SW: +V1.2_VDD_CORE */ 637 tps62362@60 { 638 compatible = "ti,tps62362"; 639 reg = <0x60>; 640 641 regulator-name = "tps62362-vout"; 642 regulator-min-microvolt = <900000>; 643 regulator-max-microvolt = <1400000>; 644 regulator-boot-on; 645 regulator-always-on; 646 ti,vsel0-state-low; 647 /* VSEL1: EN_CORE_DVFS_N low for DVFS */ 648 ti,vsel1-state-low; 649 }; 650 }; 651 652 /* SPI4: CAN2 */ 653 spi@7000da00 { 654 status = "okay"; 655 spi-max-frequency = <10000000>; 656 657 can@1 { 658 compatible = "microchip,mcp2515"; 659 reg = <1>; 660 clocks = <&clk16m>; 661 interrupt-parent = <&gpio>; 662 interrupts = <TEGRA_GPIO(W, 3) IRQ_TYPE_EDGE_RISING>; 663 spi-max-frequency = <10000000>; 664 }; 665 }; 666 667 /* SPI6: CAN1 */ 668 spi@7000de00 { 669 status = "okay"; 670 spi-max-frequency = <10000000>; 671 672 can@0 { 673 compatible = "microchip,mcp2515"; 674 reg = <0>; 675 clocks = <&clk16m>; 676 interrupt-parent = <&gpio>; 677 interrupts = <TEGRA_GPIO(W, 2) IRQ_TYPE_EDGE_RISING>; 678 spi-max-frequency = <10000000>; 679 }; 680 }; 681 682 pmc@7000e400 { 683 nvidia,invert-interrupt; 684 nvidia,suspend-mode = <1>; 685 nvidia,cpu-pwr-good-time = <5000>; 686 nvidia,cpu-pwr-off-time = <5000>; 687 nvidia,core-pwr-good-time = <3845 3845>; 688 nvidia,core-pwr-off-time = <0>; 689 nvidia,core-power-req-active-high; 690 nvidia,sys-clock-req-active-high; 691 }; 692 693 ahub@70080000 { 694 i2s@70080500 { 695 status = "okay"; 696 }; 697 }; 698 699 /* eMMC */ 700 sdhci@78000600 { 701 status = "okay"; 702 bus-width = <8>; 703 non-removable; 704 }; 705 706 clocks { 707 compatible = "simple-bus"; 708 #address-cells = <1>; 709 #size-cells = <0>; 710 711 clk32k_in: clk@0 { 712 compatible = "fixed-clock"; 713 reg = <0>; 714 #clock-cells = <0>; 715 clock-frequency = <32768>; 716 }; 717 718 clk16m: clk@1 { 719 compatible = "fixed-clock"; 720 reg = <1>; 721 #clock-cells = <0>; 722 clock-frequency = <16000000>; 723 clock-output-names = "clk16m"; 724 }; 725 }; 726 727 regulators { 728 compatible = "simple-bus"; 729 #address-cells = <1>; 730 #size-cells = <0>; 731 732 avdd_hdmi_pll_1v8_reg: regulator@100 { 733 compatible = "regulator-fixed"; 734 reg = <100>; 735 regulator-name = "+V1.8_AVDD_HDMI_PLL"; 736 regulator-min-microvolt = <1800000>; 737 regulator-max-microvolt = <1800000>; 738 enable-active-high; 739 gpio = <&pmic 6 GPIO_ACTIVE_HIGH>; 740 vin-supply = <&vio_reg>; 741 }; 742 743 sys_3v3_reg: regulator@101 { 744 compatible = "regulator-fixed"; 745 reg = <101>; 746 regulator-name = "3v3"; 747 regulator-min-microvolt = <3300000>; 748 regulator-max-microvolt = <3300000>; 749 regulator-always-on; 750 }; 751 752 avdd_hdmi_3v3_reg: regulator@102 { 753 compatible = "regulator-fixed"; 754 reg = <102>; 755 regulator-name = "+V3.3_AVDD_HDMI"; 756 regulator-min-microvolt = <3300000>; 757 regulator-max-microvolt = <3300000>; 758 enable-active-high; 759 gpio = <&pmic 6 GPIO_ACTIVE_HIGH>; 760 vin-supply = <&sys_3v3_reg>; 761 }; 762 763 charge_pump_5v0_reg: regulator@103 { 764 compatible = "regulator-fixed"; 765 reg = <103>; 766 regulator-name = "5v0"; 767 regulator-min-microvolt = <5000000>; 768 regulator-max-microvolt = <5000000>; 769 regulator-always-on; 770 }; 771 }; 772 773 sound { 774 compatible = "toradex,tegra-audio-sgtl5000-apalis_t30", 775 "nvidia,tegra-audio-sgtl5000"; 776 nvidia,model = "Toradex Apalis T30"; 777 nvidia,audio-routing = 778 "Headphone Jack", "HP_OUT", 779 "LINE_IN", "Line In Jack", 780 "MIC_IN", "Mic Jack"; 781 nvidia,i2s-controller = <&tegra_i2s2>; 782 nvidia,audio-codec = <&sgtl5000>; 783 clocks = <&tegra_car TEGRA30_CLK_PLL_A>, 784 <&tegra_car TEGRA30_CLK_PLL_A_OUT0>, 785 <&tegra_car TEGRA30_CLK_EXTERN1>; 786 clock-names = "pll_a", "pll_a_out0", "mclk"; 787 }; 788}; 789