1// SPDX-License-Identifier: GPL-2.0 2/dts-v1/; 3 4#include <dt-bindings/input/atmel-maxtouch.h> 5#include <dt-bindings/input/gpio-keys.h> 6#include <dt-bindings/input/input.h> 7#include <dt-bindings/thermal/thermal.h> 8 9#include "tegra20.dtsi" 10#include "tegra20-cpu-opp.dtsi" 11#include "tegra20-cpu-opp-microvolt.dtsi" 12 13/ { 14 model = "Acer Iconia Tab A500"; 15 compatible = "acer,picasso", "nvidia,tegra20"; 16 17 aliases { 18 mmc0 = &sdmmc4; /* eMMC */ 19 mmc1 = &sdmmc3; /* MicroSD */ 20 mmc2 = &sdmmc1; /* WiFi */ 21 22 rtc0 = &pmic; 23 rtc1 = "/rtc@7000e000"; 24 25 serial0 = &uartd; /* Docking station */ 26 serial1 = &uartc; /* Bluetooth */ 27 serial2 = &uartb; /* GPS */ 28 }; 29 30 /* 31 * The decompressor and also some bootloaders rely on a 32 * pre-existing /chosen node to be available to insert the 33 * command line and merge other ATAGS info. 34 */ 35 chosen {}; 36 37 memory@0 { 38 reg = <0x00000000 0x40000000>; 39 }; 40 41 reserved-memory { 42 #address-cells = <1>; 43 #size-cells = <1>; 44 ranges; 45 46 ramoops@2ffe0000 { 47 compatible = "ramoops"; 48 reg = <0x2ffe0000 0x10000>; /* 64kB */ 49 console-size = <0x8000>; /* 32kB */ 50 record-size = <0x400>; /* 1kB */ 51 ecc-size = <16>; 52 }; 53 54 linux,cma@30000000 { 55 compatible = "shared-dma-pool"; 56 alloc-ranges = <0x30000000 0x10000000>; 57 size = <0x10000000>; /* 256MiB */ 58 linux,cma-default; 59 reusable; 60 }; 61 }; 62 63 host1x@50000000 { 64 dc@54200000 { 65 rgb { 66 status = "okay"; 67 68 port@0 { 69 lcd_output: endpoint { 70 remote-endpoint = <&lvds_encoder_input>; 71 bus-width = <18>; 72 }; 73 }; 74 }; 75 }; 76 77 hdmi@54280000 { 78 status = "okay"; 79 80 vdd-supply = <&hdmi_vdd_reg>; 81 pll-supply = <&hdmi_pll_reg>; 82 hdmi-supply = <&vdd_5v0_sys>; 83 84 nvidia,ddc-i2c-bus = <&hdmi_ddc>; 85 nvidia,hpd-gpio = <&gpio TEGRA_GPIO(N, 7) 86 GPIO_ACTIVE_HIGH>; 87 }; 88 }; 89 90 pinmux@70000014 { 91 pinctrl-names = "default"; 92 pinctrl-0 = <&state_default>; 93 94 state_default: pinmux { 95 ata { 96 nvidia,pins = "ata"; 97 nvidia,function = "ide"; 98 }; 99 atb { 100 nvidia,pins = "atb", "gma", "gme"; 101 nvidia,function = "sdio4"; 102 }; 103 atc { 104 nvidia,pins = "atc"; 105 nvidia,function = "nand"; 106 }; 107 atd { 108 nvidia,pins = "atd", "ate", "gmb", "spia", 109 "spib", "spic"; 110 nvidia,function = "gmi"; 111 }; 112 cdev1 { 113 nvidia,pins = "cdev1"; 114 nvidia,function = "plla_out"; 115 }; 116 cdev2 { 117 nvidia,pins = "cdev2"; 118 nvidia,function = "pllp_out4"; 119 }; 120 crtp { 121 nvidia,pins = "crtp", "lm1"; 122 nvidia,function = "crt"; 123 }; 124 csus { 125 nvidia,pins = "csus"; 126 nvidia,function = "vi_sensor_clk"; 127 }; 128 dap1 { 129 nvidia,pins = "dap1"; 130 nvidia,function = "dap1"; 131 }; 132 dap2 { 133 nvidia,pins = "dap2"; 134 nvidia,function = "dap2"; 135 }; 136 dap3 { 137 nvidia,pins = "dap3"; 138 nvidia,function = "dap3"; 139 }; 140 dap4 { 141 nvidia,pins = "dap4"; 142 nvidia,function = "dap4"; 143 }; 144 dta { 145 nvidia,pins = "dta", "dtb", "dtc", "dtd", "dte"; 146 nvidia,function = "vi"; 147 }; 148 dtf { 149 nvidia,pins = "dtf"; 150 nvidia,function = "i2c3"; 151 }; 152 gmc { 153 nvidia,pins = "gmc"; 154 nvidia,function = "uartd"; 155 }; 156 gmd { 157 nvidia,pins = "gmd"; 158 nvidia,function = "sflash"; 159 }; 160 gpu { 161 nvidia,pins = "gpu"; 162 nvidia,function = "pwm"; 163 }; 164 gpu7 { 165 nvidia,pins = "gpu7"; 166 nvidia,function = "rtck"; 167 }; 168 gpv { 169 nvidia,pins = "gpv", "slxa"; 170 nvidia,function = "pcie"; 171 }; 172 hdint { 173 nvidia,pins = "hdint"; 174 nvidia,function = "hdmi"; 175 }; 176 i2cp { 177 nvidia,pins = "i2cp"; 178 nvidia,function = "i2cp"; 179 }; 180 irrx { 181 nvidia,pins = "irrx", "irtx"; 182 nvidia,function = "uartb"; 183 }; 184 kbca { 185 nvidia,pins = "kbca", "kbcb", "kbcc", "kbcd", 186 "kbce", "kbcf"; 187 nvidia,function = "kbc"; 188 }; 189 lcsn { 190 nvidia,pins = "lcsn", "ldc", "lm0", "lpw1", 191 "lsdi", "lvp0"; 192 nvidia,function = "rsvd4"; 193 }; 194 ld0 { 195 nvidia,pins = "ld0", "ld1", "ld2", "ld3", "ld4", 196 "ld5", "ld6", "ld7", "ld8", "ld9", 197 "ld10", "ld11", "ld12", "ld13", "ld14", 198 "ld15", "ld16", "ld17", "ldi", "lhp0", 199 "lhp1", "lhp2", "lhs", "lpp", "lsc0", 200 "lsc1", "lsck", "lsda", "lspi", "lvp1", 201 "lvs"; 202 nvidia,function = "displaya"; 203 }; 204 owc { 205 nvidia,pins = "owc", "spdi", "spdo", "uac"; 206 nvidia,function = "rsvd2"; 207 }; 208 pmc { 209 nvidia,pins = "pmc"; 210 nvidia,function = "pwr_on"; 211 }; 212 rm { 213 nvidia,pins = "rm"; 214 nvidia,function = "i2c1"; 215 }; 216 sdb { 217 nvidia,pins = "sdb", "sdc", "sdd", "slxc", "slxk"; 218 nvidia,function = "sdio3"; 219 }; 220 sdio1 { 221 nvidia,pins = "sdio1"; 222 nvidia,function = "sdio1"; 223 }; 224 slxd { 225 nvidia,pins = "slxd"; 226 nvidia,function = "spdif"; 227 }; 228 spid { 229 nvidia,pins = "spid", "spie", "spif"; 230 nvidia,function = "spi1"; 231 }; 232 spig { 233 nvidia,pins = "spig", "spih"; 234 nvidia,function = "spi2_alt"; 235 }; 236 uaa { 237 nvidia,pins = "uaa", "uab", "uda"; 238 nvidia,function = "ulpi"; 239 }; 240 uad { 241 nvidia,pins = "uad"; 242 nvidia,function = "irda"; 243 }; 244 uca { 245 nvidia,pins = "uca", "ucb"; 246 nvidia,function = "uartc"; 247 }; 248 conf_ata { 249 nvidia,pins = "ata", "atb", "atc", "atd", 250 "cdev1", "cdev2", "csus", "dap1", 251 "dap4", "dte", "dtf", "gma", "gmc", 252 "gme", "gpu", "gpu7", "gpv", "i2cp", 253 "irrx", "irtx", "pta", "rm", 254 "sdc", "sdd", "slxc", "slxd", "slxk", 255 "spdi", "spdo", "uac", "uad", "uda"; 256 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 257 nvidia,tristate = <TEGRA_PIN_DISABLE>; 258 }; 259 conf_ate { 260 nvidia,pins = "ate", "dap2", "dap3", 261 "gmd", "owc", "spia", "spib", "spic", 262 "spid", "spie"; 263 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 264 nvidia,tristate = <TEGRA_PIN_ENABLE>; 265 }; 266 conf_ck32 { 267 nvidia,pins = "ck32", "ddrc", "pmca", "pmcb", 268 "pmcc", "pmcd", "pmce", "xm2c", "xm2d"; 269 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 270 }; 271 conf_crtp { 272 nvidia,pins = "crtp", "gmb", "slxa", "spig", 273 "spih"; 274 nvidia,pull = <TEGRA_PIN_PULL_UP>; 275 nvidia,tristate = <TEGRA_PIN_ENABLE>; 276 }; 277 conf_dta { 278 nvidia,pins = "dta", "dtb", "dtc", "dtd", "kbcb"; 279 nvidia,pull = <TEGRA_PIN_PULL_DOWN>; 280 nvidia,tristate = <TEGRA_PIN_DISABLE>; 281 }; 282 conf_dte { 283 nvidia,pins = "spif"; 284 nvidia,pull = <TEGRA_PIN_PULL_DOWN>; 285 nvidia,tristate = <TEGRA_PIN_ENABLE>; 286 }; 287 conf_hdint { 288 nvidia,pins = "hdint", "lcsn", "ldc", "lm1", 289 "lpw1", "lsck", "lsda", "lsdi", 290 "lvp0"; 291 nvidia,tristate = <TEGRA_PIN_ENABLE>; 292 }; 293 conf_kbca { 294 nvidia,pins = "kbca", "kbcc", "kbcd", 295 "kbce", "kbcf", "sdio1", "uaa", 296 "uab", "uca", "ucb"; 297 nvidia,pull = <TEGRA_PIN_PULL_UP>; 298 nvidia,tristate = <TEGRA_PIN_DISABLE>; 299 }; 300 conf_lc { 301 nvidia,pins = "lc", "ls"; 302 nvidia,pull = <TEGRA_PIN_PULL_UP>; 303 }; 304 conf_ld0 { 305 nvidia,pins = "ld0", "ld1", "ld2", "ld3", "ld4", 306 "ld5", "ld6", "ld7", "ld8", "ld9", 307 "ld10", "ld11", "ld12", "ld13", "ld14", 308 "ld15", "ld16", "ld17", "ldi", "lhp0", 309 "lhp1", "lhp2", "lhs", "lm0", "lpp", 310 "lpw0", "lpw2", "lsc0", "lsc1", "lspi", 311 "lvp1", "lvs", "pmc", "sdb"; 312 nvidia,tristate = <TEGRA_PIN_DISABLE>; 313 }; 314 conf_ld17_0 { 315 nvidia,pins = "ld17_0"; 316 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 317 }; 318 drive_ddc { 319 nvidia,pins = "drive_ddc", 320 "drive_vi1", 321 "drive_sdio1"; 322 nvidia,pull-up-strength = <31>; 323 nvidia,pull-down-strength = <31>; 324 nvidia,schmitt = <TEGRA_PIN_ENABLE>; 325 nvidia,high-speed-mode = <TEGRA_PIN_DISABLE>; 326 nvidia,low-power-mode = <TEGRA_PIN_LP_DRIVE_DIV_1>; 327 nvidia,slew-rate-rising = <TEGRA_PIN_SLEW_RATE_SLOWEST>; 328 nvidia,slew-rate-falling = <TEGRA_PIN_SLEW_RATE_SLOWEST>; 329 }; 330 drive_dbg { 331 nvidia,pins = "drive_dbg", 332 "drive_vi2", 333 "drive_at1", 334 "drive_ao1"; 335 nvidia,pull-up-strength = <31>; 336 nvidia,pull-down-strength = <31>; 337 nvidia,schmitt = <TEGRA_PIN_ENABLE>; 338 nvidia,high-speed-mode = <TEGRA_PIN_DISABLE>; 339 nvidia,low-power-mode = <TEGRA_PIN_LP_DRIVE_DIV_1>; 340 nvidia,slew-rate-rising = <TEGRA_PIN_SLEW_RATE_FASTEST>; 341 nvidia,slew-rate-falling = <TEGRA_PIN_SLEW_RATE_FASTEST>; 342 }; 343 }; 344 345 state_i2cmux_ddc: pinmux-i2cmux-ddc { 346 ddc { 347 nvidia,pins = "ddc"; 348 nvidia,function = "i2c2"; 349 }; 350 351 pta { 352 nvidia,pins = "pta"; 353 nvidia,function = "rsvd4"; 354 }; 355 }; 356 357 state_i2cmux_idle: pinmux-i2cmux-idle { 358 ddc { 359 nvidia,pins = "ddc"; 360 nvidia,function = "rsvd4"; 361 }; 362 363 pta { 364 nvidia,pins = "pta"; 365 nvidia,function = "rsvd4"; 366 }; 367 }; 368 369 state_i2cmux_pta: pinmux-i2cmux-pta { 370 ddc { 371 nvidia,pins = "ddc"; 372 nvidia,function = "rsvd4"; 373 }; 374 375 pta { 376 nvidia,pins = "pta"; 377 nvidia,function = "i2c2"; 378 }; 379 }; 380 }; 381 382 tegra_spdif: spdif@70002400 { 383 status = "okay"; 384 385 nvidia,fixed-parent-rate; 386 }; 387 388 tegra_i2s1: i2s@70002800 { 389 status = "okay"; 390 391 nvidia,fixed-parent-rate; 392 }; 393 394 uartb: serial@70006040 { 395 compatible = "nvidia,tegra20-hsuart"; 396 reset-names = "serial"; 397 /delete-property/ reg-shift; 398 /* GPS BCM4751 */ 399 }; 400 401 uartc: serial@70006200 { 402 compatible = "nvidia,tegra20-hsuart"; 403 reset-names = "serial"; 404 /delete-property/ reg-shift; 405 status = "okay"; 406 407 /* Azurewave AW-NH665 BCM4329B1 */ 408 bluetooth { 409 compatible = "brcm,bcm4329-bt"; 410 411 interrupt-parent = <&gpio>; 412 interrupts = <TEGRA_GPIO(U, 6) IRQ_TYPE_EDGE_RISING>; 413 interrupt-names = "host-wakeup"; 414 415 /* PLLP 216MHz / 16 / 4 */ 416 max-speed = <3375000>; 417 418 clocks = <&rtc_32k_wifi>; 419 clock-names = "txco"; 420 421 vbat-supply = <&vdd_3v3_sys>; 422 vddio-supply = <&vdd_1v8_sys>; 423 424 device-wakeup-gpios = <&gpio TEGRA_GPIO(U, 1) GPIO_ACTIVE_HIGH>; 425 shutdown-gpios = <&gpio TEGRA_GPIO(U, 0) GPIO_ACTIVE_HIGH>; 426 }; 427 }; 428 429 uartd: serial@70006300 { 430 /* Docking station */ 431 }; 432 433 pwm: pwm@7000a000 { 434 status = "okay"; 435 }; 436 437 i2c@7000c000 { 438 clock-frequency = <400000>; 439 status = "okay"; 440 441 wm8903: audio-codec@1a { 442 compatible = "wlf,wm8903"; 443 reg = <0x1a>; 444 445 interrupt-parent = <&gpio>; 446 interrupts = <TEGRA_GPIO(X, 3) IRQ_TYPE_EDGE_BOTH>; 447 448 gpio-controller; 449 #gpio-cells = <2>; 450 451 micdet-cfg = <0>; 452 micdet-delay = <100>; 453 454 gpio-cfg = < 455 0x0000 /* MIC_LR_OUT# GPIO, output, low */ 456 0x0000 /* FM2018-enable GPIO, output, low */ 457 0x0000 /* Speaker-enable GPIO, output, low */ 458 0x0200 /* Interrupt, output */ 459 0x01a0 /* BCLK, input, active high */ 460 >; 461 462 AVDD-supply = <&vdd_1v8_sys>; 463 CPVDD-supply = <&vdd_1v8_sys>; 464 DBVDD-supply = <&vdd_1v8_sys>; 465 DCVDD-supply = <&vdd_1v8_sys>; 466 }; 467 468 touchscreen@4c { 469 compatible = "atmel,maxtouch"; 470 reg = <0x4c>; 471 472 interrupt-parent = <&gpio>; 473 interrupts = <TEGRA_GPIO(V, 6) IRQ_TYPE_LEVEL_LOW>; 474 475 reset-gpios = <&gpio TEGRA_GPIO(Q, 7) GPIO_ACTIVE_LOW>; 476 477 vdda-supply = <&vdd_3v3_sys>; 478 vdd-supply = <&vdd_3v3_sys>; 479 480 atmel,wakeup-method = <ATMEL_MXT_WAKEUP_I2C_SCL>; 481 }; 482 483 gyroscope@68 { 484 compatible = "invensense,mpu3050"; 485 reg = <0x68>; 486 487 interrupt-parent = <&gpio>; 488 interrupts = <TEGRA_GPIO(Z, 4) IRQ_TYPE_EDGE_RISING>; 489 490 vdd-supply = <&vdd_3v3_sys>; 491 vlogic-supply = <&vdd_1v8_sys>; 492 493 mount-matrix = "0", "1", "0", 494 "1", "0", "0", 495 "0", "0", "-1"; 496 497 i2c-gate { 498 #address-cells = <1>; 499 #size-cells = <0>; 500 501 accelerometer@f { 502 compatible = "kionix,kxtf9"; 503 reg = <0x0f>; 504 505 interrupt-parent = <&gpio>; 506 interrupts = <TEGRA_GPIO(S, 7) IRQ_TYPE_EDGE_RISING>; 507 508 vdd-supply = <&vdd_1v8_sys>; 509 vddio-supply = <&vdd_1v8_sys>; 510 511 mount-matrix = "0", "1", "0", 512 "1", "0", "0", 513 "0", "0", "-1"; 514 }; 515 }; 516 }; 517 }; 518 519 i2c@7000c400 { 520 clock-frequency = <10000>; 521 status = "okay"; 522 }; 523 524 i2c@7000d000 { 525 clock-frequency = <100000>; 526 status = "okay"; 527 528 magnetometer@c { 529 compatible = "asahi-kasei,ak8975"; 530 reg = <0x0c>; 531 532 interrupt-parent = <&gpio>; 533 interrupts = <TEGRA_GPIO(N, 5) IRQ_TYPE_EDGE_RISING>; 534 535 vdd-supply = <&vdd_3v3_sys>; 536 vid-supply = <&vdd_1v8_sys>; 537 538 mount-matrix = "1", "0", "0", 539 "0", "-1", "0", 540 "0", "0", "-1"; 541 }; 542 543 pmic: pmic@34 { 544 compatible = "ti,tps6586x"; 545 reg = <0x34>; 546 547 interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>; 548 549 #gpio-cells = <2>; 550 gpio-controller; 551 552 sys-supply = <&vdd_5v0_sys>; 553 vin-sm0-supply = <&sys_reg>; 554 vin-sm1-supply = <&sys_reg>; 555 vin-sm2-supply = <&sys_reg>; 556 vinldo01-supply = <&sm2_reg>; 557 vinldo23-supply = <&sm2_reg>; 558 vinldo4-supply = <&sm2_reg>; 559 vinldo678-supply = <&sm2_reg>; 560 vinldo9-supply = <&sm2_reg>; 561 562 regulators { 563 sys_reg: sys { 564 regulator-name = "vdd_sys"; 565 regulator-always-on; 566 }; 567 568 vdd_core: sm0 { 569 regulator-name = "vdd_sm0,vdd_core"; 570 regulator-min-microvolt = <950000>; 571 regulator-max-microvolt = <1300000>; 572 regulator-coupled-with = <&rtc_vdd &vdd_cpu>; 573 regulator-coupled-max-spread = <170000 550000>; 574 regulator-always-on; 575 regulator-boot-on; 576 577 nvidia,tegra-core-regulator; 578 }; 579 580 vdd_cpu: sm1 { 581 regulator-name = "vdd_sm1,vdd_cpu"; 582 regulator-min-microvolt = <750000>; 583 regulator-max-microvolt = <1125000>; 584 regulator-coupled-with = <&vdd_core &rtc_vdd>; 585 regulator-coupled-max-spread = <550000 550000>; 586 regulator-always-on; 587 regulator-boot-on; 588 589 nvidia,tegra-cpu-regulator; 590 }; 591 592 sm2_reg: sm2 { 593 regulator-name = "vdd_sm2,vin_ldo*"; 594 regulator-min-microvolt = <3700000>; 595 regulator-max-microvolt = <3700000>; 596 regulator-always-on; 597 }; 598 599 /* LDO0 is not connected to anything */ 600 601 ldo1 { 602 regulator-name = "vdd_ldo1,avdd_pll*"; 603 regulator-min-microvolt = <1100000>; 604 regulator-max-microvolt = <1100000>; 605 regulator-always-on; 606 regulator-boot-on; 607 }; 608 609 rtc_vdd: ldo2 { 610 regulator-name = "vdd_ldo2,vdd_rtc"; 611 regulator-min-microvolt = <950000>; 612 regulator-max-microvolt = <1300000>; 613 regulator-coupled-with = <&vdd_core &vdd_cpu>; 614 regulator-coupled-max-spread = <170000 550000>; 615 regulator-always-on; 616 regulator-boot-on; 617 618 nvidia,tegra-rtc-regulator; 619 }; 620 621 ldo3 { 622 regulator-name = "vdd_ldo3,avdd_usb*"; 623 regulator-min-microvolt = <3300000>; 624 regulator-max-microvolt = <3300000>; 625 regulator-always-on; 626 }; 627 628 ldo4 { 629 regulator-name = "vdd_ldo4,avdd_osc,vddio_sys"; 630 regulator-min-microvolt = <1800000>; 631 regulator-max-microvolt = <1800000>; 632 regulator-always-on; 633 regulator-boot-on; 634 }; 635 636 vcore_emmc: ldo5 { 637 regulator-name = "vdd_ldo5,vcore_mmc"; 638 regulator-min-microvolt = <2850000>; 639 regulator-max-microvolt = <2850000>; 640 regulator-always-on; 641 }; 642 643 avdd_vdac_reg: ldo6 { 644 regulator-name = "vdd_ldo6,avdd_vdac"; 645 regulator-min-microvolt = <2850000>; 646 regulator-max-microvolt = <2850000>; 647 }; 648 649 hdmi_vdd_reg: ldo7 { 650 regulator-name = "vdd_ldo7,avdd_hdmi"; 651 regulator-min-microvolt = <3300000>; 652 regulator-max-microvolt = <3300000>; 653 }; 654 655 hdmi_pll_reg: ldo8 { 656 regulator-name = "vdd_ldo8,avdd_hdmi_pll"; 657 regulator-min-microvolt = <1800000>; 658 regulator-max-microvolt = <1800000>; 659 }; 660 661 ldo9 { 662 regulator-name = "vdd_ldo9,avdd_2v85,vdd_ddr_rx"; 663 regulator-min-microvolt = <2850000>; 664 regulator-max-microvolt = <2850000>; 665 regulator-always-on; 666 regulator-boot-on; 667 }; 668 669 ldo_rtc { 670 regulator-name = "vdd_rtc_out,vdd_cell"; 671 regulator-min-microvolt = <3300000>; 672 regulator-max-microvolt = <3300000>; 673 regulator-always-on; 674 regulator-boot-on; 675 }; 676 }; 677 }; 678 679 nct1008: temperature-sensor@4c { 680 compatible = "onnn,nct1008"; 681 reg = <0x4c>; 682 vcc-supply = <&vdd_3v3_sys>; 683 684 interrupt-parent = <&gpio>; 685 interrupts = <TEGRA_GPIO(N, 6) IRQ_TYPE_EDGE_FALLING>; 686 687 #thermal-sensor-cells = <1>; 688 }; 689 }; 690 691 pmc@7000e400 { 692 nvidia,invert-interrupt; 693 nvidia,suspend-mode = <1>; 694 nvidia,cpu-pwr-good-time = <2000>; 695 nvidia,cpu-pwr-off-time = <100>; 696 nvidia,core-pwr-good-time = <3845 3845>; 697 nvidia,core-pwr-off-time = <458>; 698 nvidia,sys-clock-req-active-high; 699 core-supply = <&vdd_core>; 700 }; 701 702 memory-controller@7000f400 { 703 nvidia,use-ram-code; 704 705 emc-tables@0 { 706 nvidia,ram-code = <0>; /* elpida-8gb */ 707 reg = <0>; 708 709 #address-cells = <1>; 710 #size-cells = <0>; 711 712 emc-table@25000 { 713 reg = <25000>; 714 compatible = "nvidia,tegra20-emc-table"; 715 clock-frequency = <25000>; 716 nvidia,emc-registers = <0x00000002 0x00000006 717 0x00000003 0x00000003 0x00000006 0x00000004 718 0x00000002 0x00000009 0x00000003 0x00000003 719 0x00000002 0x00000002 0x00000002 0x00000004 720 0x00000003 0x00000008 0x0000000b 0x0000004d 721 0x00000000 0x00000003 0x00000003 0x00000003 722 0x00000008 0x00000001 0x0000000a 0x00000004 723 0x00000003 0x00000008 0x00000004 0x00000006 724 0x00000002 0x00000068 0x00000000 0x00000003 725 0x00000000 0x00000000 0x00000282 0xa0ae04ae 726 0x00070000 0x00000000 0x00000000 0x00000003 727 0x00000000 0x00000000 0x00000000 0x00000000>; 728 }; 729 730 emc-table@50000 { 731 reg = <50000>; 732 compatible = "nvidia,tegra20-emc-table"; 733 clock-frequency = <50000>; 734 nvidia,emc-registers = <0x00000003 0x00000007 735 0x00000003 0x00000003 0x00000006 0x00000004 736 0x00000002 0x00000009 0x00000003 0x00000003 737 0x00000002 0x00000002 0x00000002 0x00000005 738 0x00000003 0x00000008 0x0000000b 0x0000009f 739 0x00000000 0x00000003 0x00000003 0x00000003 740 0x00000008 0x00000001 0x0000000a 0x00000007 741 0x00000003 0x00000008 0x00000004 0x00000006 742 0x00000002 0x000000d0 0x00000000 0x00000000 743 0x00000000 0x00000000 0x00000282 0xa0ae04ae 744 0x00070000 0x00000000 0x00000000 0x00000005 745 0x00000000 0x00000000 0x00000000 0x00000000>; 746 }; 747 748 emc-table@75000 { 749 reg = <75000>; 750 compatible = "nvidia,tegra20-emc-table"; 751 clock-frequency = <75000>; 752 nvidia,emc-registers = <0x00000005 0x0000000a 753 0x00000004 0x00000003 0x00000006 0x00000004 754 0x00000002 0x00000009 0x00000003 0x00000003 755 0x00000002 0x00000002 0x00000002 0x00000005 756 0x00000003 0x00000008 0x0000000b 0x000000ff 757 0x00000000 0x00000003 0x00000003 0x00000003 758 0x00000008 0x00000001 0x0000000a 0x0000000b 759 0x00000003 0x00000008 0x00000004 0x00000006 760 0x00000002 0x00000138 0x00000000 0x00000000 761 0x00000000 0x00000000 0x00000282 0xa0ae04ae 762 0x00070000 0x00000000 0x00000000 0x00000007 763 0x00000000 0x00000000 0x00000000 0x00000000>; 764 }; 765 766 emc-table@150000 { 767 reg = <150000>; 768 compatible = "nvidia,tegra20-emc-table"; 769 clock-frequency = <150000>; 770 nvidia,emc-registers = <0x00000009 0x00000014 771 0x00000007 0x00000003 0x00000006 0x00000004 772 0x00000002 0x00000009 0x00000003 0x00000003 773 0x00000002 0x00000002 0x00000002 0x00000005 774 0x00000003 0x00000008 0x0000000b 0x0000021f 775 0x00000000 0x00000003 0x00000003 0x00000003 776 0x00000008 0x00000001 0x0000000a 0x00000015 777 0x00000003 0x00000008 0x00000004 0x00000006 778 0x00000002 0x00000270 0x00000000 0x00000001 779 0x00000000 0x00000000 0x00000282 0xa07c04ae 780 0x007dd510 0x00000000 0x00000000 0x0000000e 781 0x00000000 0x00000000 0x00000000 0x00000000>; 782 }; 783 784 emc-table@300000 { 785 reg = <300000>; 786 compatible = "nvidia,tegra20-emc-table"; 787 clock-frequency = <300000>; 788 nvidia,emc-registers = <0x00000012 0x00000027 789 0x0000000d 0x00000006 0x00000007 0x00000005 790 0x00000003 0x00000009 0x00000006 0x00000006 791 0x00000003 0x00000003 0x00000002 0x00000006 792 0x00000003 0x00000009 0x0000000c 0x0000045f 793 0x00000000 0x00000004 0x00000004 0x00000006 794 0x00000008 0x00000001 0x0000000e 0x0000002a 795 0x00000003 0x0000000f 0x00000007 0x00000005 796 0x00000002 0x000004e1 0x00000005 0x00000002 797 0x00000000 0x00000000 0x00000282 0xe059048b 798 0x007e1510 0x00000000 0x00000000 0x0000001b 799 0x00000000 0x00000000 0x00000000 0x00000000>; 800 }; 801 }; 802 803 emc-tables@1 { 804 nvidia,ram-code = <1>; /* elpida-4gb */ 805 reg = <1>; 806 807 #address-cells = <1>; 808 #size-cells = <0>; 809 810 emc-table@25000 { 811 reg = <25000>; 812 compatible = "nvidia,tegra20-emc-table"; 813 clock-frequency = <25000>; 814 nvidia,emc-registers = <0x00000002 0x00000006 815 0x00000003 0x00000003 0x00000006 0x00000004 816 0x00000002 0x00000009 0x00000003 0x00000003 817 0x00000002 0x00000002 0x00000002 0x00000004 818 0x00000003 0x00000008 0x0000000b 0x0000004d 819 0x00000000 0x00000003 0x00000003 0x00000003 820 0x00000008 0x00000001 0x0000000a 0x00000004 821 0x00000003 0x00000008 0x00000004 0x00000006 822 0x00000002 0x00000068 0x00000000 0x00000003 823 0x00000000 0x00000000 0x00000282 0xa0ae04ae 824 0x0007c000 0x00000000 0x00000000 0x00000003 825 0x00000000 0x00000000 0x00000000 0x00000000>; 826 }; 827 828 emc-table@50000 { 829 reg = <50000>; 830 compatible = "nvidia,tegra20-emc-table"; 831 clock-frequency = <50000>; 832 nvidia,emc-registers = <0x00000003 0x00000007 833 0x00000003 0x00000003 0x00000006 0x00000004 834 0x00000002 0x00000009 0x00000003 0x00000003 835 0x00000002 0x00000002 0x00000002 0x00000005 836 0x00000003 0x00000008 0x0000000b 0x0000009f 837 0x00000000 0x00000003 0x00000003 0x00000003 838 0x00000008 0x00000001 0x0000000a 0x00000007 839 0x00000003 0x00000008 0x00000004 0x00000006 840 0x00000002 0x000000d0 0x00000000 0x00000000 841 0x00000000 0x00000000 0x00000282 0xa0ae04ae 842 0x0007c000 0x00000000 0x00000000 0x00000005 843 0x00000000 0x00000000 0x00000000 0x00000000>; 844 }; 845 846 emc-table@75000 { 847 reg = <75000>; 848 compatible = "nvidia,tegra20-emc-table"; 849 clock-frequency = <75000>; 850 nvidia,emc-registers = <0x00000005 0x0000000a 851 0x00000004 0x00000003 0x00000006 0x00000004 852 0x00000002 0x00000009 0x00000003 0x00000003 853 0x00000002 0x00000002 0x00000002 0x00000005 854 0x00000003 0x00000008 0x0000000b 0x000000ff 855 0x00000000 0x00000003 0x00000003 0x00000003 856 0x00000008 0x00000001 0x0000000a 0x0000000b 857 0x00000003 0x00000008 0x00000004 0x00000006 858 0x00000002 0x00000138 0x00000000 0x00000000 859 0x00000000 0x00000000 0x00000282 0xa0ae04ae 860 0x0007c000 0x00000000 0x00000000 0x00000007 861 0x00000000 0x00000000 0x00000000 0x00000000>; 862 }; 863 864 emc-table@150000 { 865 reg = <150000>; 866 compatible = "nvidia,tegra20-emc-table"; 867 clock-frequency = <150000>; 868 nvidia,emc-registers = <0x00000009 0x00000014 869 0x00000007 0x00000003 0x00000006 0x00000004 870 0x00000002 0x00000009 0x00000003 0x00000003 871 0x00000002 0x00000002 0x00000002 0x00000005 872 0x00000003 0x00000008 0x0000000b 0x0000021f 873 0x00000000 0x00000003 0x00000003 0x00000003 874 0x00000008 0x00000001 0x0000000a 0x00000015 875 0x00000003 0x00000008 0x00000004 0x00000006 876 0x00000002 0x00000270 0x00000000 0x00000001 877 0x00000000 0x00000000 0x00000282 0xa07c04ae 878 0x007e4010 0x00000000 0x00000000 0x0000000e 879 0x00000000 0x00000000 0x00000000 0x00000000>; 880 }; 881 882 emc-table@300000 { 883 reg = <300000>; 884 compatible = "nvidia,tegra20-emc-table"; 885 clock-frequency = <300000>; 886 nvidia,emc-registers = <0x00000012 0x00000027 887 0x0000000d 0x00000006 0x00000007 0x00000005 888 0x00000003 0x00000009 0x00000006 0x00000006 889 0x00000003 0x00000003 0x00000002 0x00000006 890 0x00000003 0x00000009 0x0000000c 0x0000045f 891 0x00000000 0x00000004 0x00000004 0x00000006 892 0x00000008 0x00000001 0x0000000e 0x0000002a 893 0x00000003 0x0000000f 0x00000007 0x00000005 894 0x00000002 0x000004e1 0x00000005 0x00000002 895 0x00000000 0x00000000 0x00000282 0xe059048b 896 0x007e0010 0x00000000 0x00000000 0x0000001b 897 0x00000000 0x00000000 0x00000000 0x00000000>; 898 }; 899 }; 900 901 emc-tables@2 { 902 nvidia,ram-code = <2>; /* hynix-8gb */ 903 reg = <2>; 904 905 #address-cells = <1>; 906 #size-cells = <0>; 907 908 emc-table@25000 { 909 reg = <25000>; 910 compatible = "nvidia,tegra20-emc-table"; 911 clock-frequency = <25000>; 912 nvidia,emc-registers = <0x00000002 0x00000006 913 0x00000003 0x00000003 0x00000006 0x00000004 914 0x00000002 0x00000009 0x00000003 0x00000003 915 0x00000002 0x00000002 0x00000002 0x00000004 916 0x00000003 0x00000008 0x0000000b 0x0000004d 917 0x00000000 0x00000003 0x00000003 0x00000003 918 0x00000008 0x00000001 0x0000000a 0x00000004 919 0x00000003 0x00000008 0x00000004 0x00000006 920 0x00000002 0x00000068 0x00000000 0x00000003 921 0x00000000 0x00000000 0x00000282 0xa0ae04ae 922 0x00070000 0x00000000 0x00000000 0x00000003 923 0x00000000 0x00000000 0x00000000 0x00000000>; 924 }; 925 926 emc-table@50000 { 927 reg = <50000>; 928 compatible = "nvidia,tegra20-emc-table"; 929 clock-frequency = <50000>; 930 nvidia,emc-registers = <0x00000003 0x00000007 931 0x00000003 0x00000003 0x00000006 0x00000004 932 0x00000002 0x00000009 0x00000003 0x00000003 933 0x00000002 0x00000002 0x00000002 0x00000005 934 0x00000003 0x00000008 0x0000000b 0x0000009f 935 0x00000000 0x00000003 0x00000003 0x00000003 936 0x00000008 0x00000001 0x0000000a 0x00000007 937 0x00000003 0x00000008 0x00000004 0x00000006 938 0x00000002 0x000000d0 0x00000000 0x00000000 939 0x00000000 0x00000000 0x00000282 0xa0ae04ae 940 0x00070000 0x00000000 0x00000000 0x00000005 941 0x00000000 0x00000000 0x00000000 0x00000000>; 942 }; 943 944 emc-table@75000 { 945 reg = <75000>; 946 compatible = "nvidia,tegra20-emc-table"; 947 clock-frequency = <75000>; 948 nvidia,emc-registers = <0x00000005 0x0000000a 949 0x00000004 0x00000003 0x00000006 0x00000004 950 0x00000002 0x00000009 0x00000003 0x00000003 951 0x00000002 0x00000002 0x00000002 0x00000005 952 0x00000003 0x00000008 0x0000000b 0x000000ff 953 0x00000000 0x00000003 0x00000003 0x00000003 954 0x00000008 0x00000001 0x0000000a 0x0000000b 955 0x00000003 0x00000008 0x00000004 0x00000006 956 0x00000002 0x00000138 0x00000000 0x00000000 957 0x00000000 0x00000000 0x00000282 0xa0ae04ae 958 0x00070000 0x00000000 0x00000000 0x00000007 959 0x00000000 0x00000000 0x00000000 0x00000000>; 960 }; 961 962 emc-table@150000 { 963 reg = <150000>; 964 compatible = "nvidia,tegra20-emc-table"; 965 clock-frequency = <150000>; 966 nvidia,emc-registers = <0x00000009 0x00000014 967 0x00000007 0x00000003 0x00000006 0x00000004 968 0x00000002 0x00000009 0x00000003 0x00000003 969 0x00000002 0x00000002 0x00000002 0x00000005 970 0x00000003 0x00000008 0x0000000b 0x0000021f 971 0x00000000 0x00000003 0x00000003 0x00000003 972 0x00000008 0x00000001 0x0000000a 0x00000015 973 0x00000003 0x00000008 0x00000004 0x00000006 974 0x00000002 0x00000270 0x00000000 0x00000001 975 0x00000000 0x00000000 0x00000282 0xa07c04ae 976 0x007dd010 0x00000000 0x00000000 0x0000000e 977 0x00000000 0x00000000 0x00000000 0x00000000>; 978 }; 979 980 emc-table@300000 { 981 reg = <300000>; 982 compatible = "nvidia,tegra20-emc-table"; 983 clock-frequency = <300000>; 984 nvidia,emc-registers = <0x00000012 0x00000027 985 0x0000000d 0x00000006 0x00000007 0x00000005 986 0x00000003 0x00000009 0x00000006 0x00000006 987 0x00000003 0x00000003 0x00000002 0x00000006 988 0x00000003 0x00000009 0x0000000c 0x0000045f 989 0x00000000 0x00000004 0x00000004 0x00000006 990 0x00000008 0x00000001 0x0000000e 0x0000002a 991 0x00000003 0x0000000f 0x00000007 0x00000005 992 0x00000002 0x000004e1 0x00000005 0x00000002 993 0x00000000 0x00000000 0x00000282 0xe059048b 994 0x007e2010 0x00000000 0x00000000 0x0000001b 995 0x00000000 0x00000000 0x00000000 0x00000000>; 996 }; 997 }; 998 999 emc-tables@3 { 1000 nvidia,ram-code = <3>; /* hynix-4gb */ 1001 reg = <3>; 1002 1003 #address-cells = <1>; 1004 #size-cells = <0>; 1005 1006 emc-table@25000 { 1007 reg = <25000>; 1008 compatible = "nvidia,tegra20-emc-table"; 1009 clock-frequency = <25000>; 1010 nvidia,emc-registers = <0x00000002 0x00000006 1011 0x00000003 0x00000003 0x00000006 0x00000004 1012 0x00000002 0x00000009 0x00000003 0x00000003 1013 0x00000002 0x00000002 0x00000002 0x00000004 1014 0x00000003 0x00000008 0x0000000b 0x0000004d 1015 0x00000000 0x00000003 0x00000003 0x00000003 1016 0x00000008 0x00000001 0x0000000a 0x00000004 1017 0x00000003 0x00000008 0x00000004 0x00000006 1018 0x00000002 0x00000068 0x00000000 0x00000003 1019 0x00000000 0x00000000 0x00000282 0xa0ae04ae 1020 0x0007c000 0x00000000 0x00000000 0x00000003 1021 0x00000000 0x00000000 0x00000000 0x00000000>; 1022 }; 1023 1024 emc-table@50000 { 1025 reg = <50000>; 1026 compatible = "nvidia,tegra20-emc-table"; 1027 clock-frequency = <50000>; 1028 nvidia,emc-registers = <0x00000003 0x00000007 1029 0x00000003 0x00000003 0x00000006 0x00000004 1030 0x00000002 0x00000009 0x00000003 0x00000003 1031 0x00000002 0x00000002 0x00000002 0x00000005 1032 0x00000003 0x00000008 0x0000000b 0x0000009f 1033 0x00000000 0x00000003 0x00000003 0x00000003 1034 0x00000008 0x00000001 0x0000000a 0x00000007 1035 0x00000003 0x00000008 0x00000004 0x00000006 1036 0x00000002 0x000000d0 0x00000000 0x00000000 1037 0x00000000 0x00000000 0x00000282 0xa0ae04ae 1038 0x0007c000 0x00078000 0x00000000 0x00000005 1039 0x00000000 0x00000000 0x00000000 0x00000000>; 1040 }; 1041 1042 emc-table@75000 { 1043 reg = <75000>; 1044 compatible = "nvidia,tegra20-emc-table"; 1045 clock-frequency = <75000>; 1046 nvidia,emc-registers = <0x00000005 0x0000000a 1047 0x00000004 0x00000003 0x00000006 0x00000004 1048 0x00000002 0x00000009 0x00000003 0x00000003 1049 0x00000002 0x00000002 0x00000002 0x00000005 1050 0x00000003 0x00000008 0x0000000b 0x000000ff 1051 0x00000000 0x00000003 0x00000003 0x00000003 1052 0x00000008 0x00000001 0x0000000a 0x0000000b 1053 0x00000003 0x00000008 0x00000004 0x00000006 1054 0x00000002 0x00000138 0x00000000 0x00000000 1055 0x00000000 0x00000000 0x00000282 0xa0ae04ae 1056 0x0007c000 0x00000000 0x00000000 0x00000007 1057 0x00000000 0x00000000 0x00000000 0x00000000>; 1058 }; 1059 1060 emc-table@150000 { 1061 reg = <150000>; 1062 compatible = "nvidia,tegra20-emc-table"; 1063 clock-frequency = <150000>; 1064 nvidia,emc-registers = <0x00000009 0x00000014 1065 0x00000007 0x00000003 0x00000006 0x00000004 1066 0x00000002 0x00000009 0x00000003 0x00000003 1067 0x00000002 0x00000002 0x00000002 0x00000005 1068 0x00000003 0x00000008 0x0000000b 0x0000021f 1069 0x00000000 0x00000003 0x00000003 0x00000003 1070 0x00000008 0x00000001 0x0000000a 0x00000015 1071 0x00000003 0x00000008 0x00000004 0x00000006 1072 0x00000002 0x00000270 0x00000000 0x00000001 1073 0x00000000 0x00000000 0x00000282 0xa07c04ae 1074 0x007e4010 0x00000000 0x00000000 0x0000000e 1075 0x00000000 0x00000000 0x00000000 0x00000000>; 1076 }; 1077 1078 emc-table@300000 { 1079 reg = <300000>; 1080 compatible = "nvidia,tegra20-emc-table"; 1081 clock-frequency = <300000>; 1082 nvidia,emc-registers = <0x00000012 0x00000027 1083 0x0000000d 0x00000006 0x00000007 0x00000005 1084 0x00000003 0x00000009 0x00000006 0x00000006 1085 0x00000003 0x00000003 0x00000002 0x00000006 1086 0x00000003 0x00000009 0x0000000c 0x0000045f 1087 0x00000000 0x00000004 0x00000004 0x00000006 1088 0x00000008 0x00000001 0x0000000e 0x0000002a 1089 0x00000003 0x0000000f 0x00000007 0x00000005 1090 0x00000002 0x000004e1 0x00000005 0x00000002 1091 0x00000000 0x00000000 0x00000282 0xe059048b 1092 0x007e0010 0x00000000 0x00000000 0x0000001b 1093 0x00000000 0x00000000 0x00000000 0x00000000>; 1094 }; 1095 }; 1096 }; 1097 1098 usb@c5000000 { 1099 compatible = "nvidia,tegra20-udc"; 1100 status = "okay"; 1101 dr_mode = "peripheral"; 1102 }; 1103 1104 usb-phy@c5000000 { 1105 status = "okay"; 1106 dr_mode = "peripheral"; 1107 nvidia,xcvr-setup-use-fuses; 1108 nvidia,xcvr-lsfslew = <2>; 1109 nvidia,xcvr-lsrslew = <2>; 1110 }; 1111 1112 usb@c5008000 { 1113 status = "okay"; 1114 }; 1115 1116 usb-phy@c5008000 { 1117 status = "okay"; 1118 nvidia,xcvr-setup-use-fuses; 1119 nvidia,xcvr-lsfslew = <2>; 1120 nvidia,xcvr-lsrslew = <2>; 1121 vbus-supply = <&vdd_5v0_sys>; 1122 }; 1123 1124 sdmmc1: mmc@c8000000 { 1125 status = "okay"; 1126 1127 #address-cells = <1>; 1128 #size-cells = <0>; 1129 1130 assigned-clocks = <&tegra_car TEGRA20_CLK_SDMMC1>; 1131 assigned-clock-parents = <&tegra_car TEGRA20_CLK_PLL_C>; 1132 assigned-clock-rates = <50000000>; 1133 1134 max-frequency = <50000000>; 1135 keep-power-in-suspend; 1136 bus-width = <4>; 1137 non-removable; 1138 1139 mmc-pwrseq = <&brcm_wifi_pwrseq>; 1140 vmmc-supply = <&vdd_3v3_sys>; 1141 vqmmc-supply = <&vdd_1v8_sys>; 1142 1143 /* Azurewave AW-NH611 BCM4329 */ 1144 wifi@1 { 1145 reg = <1>; 1146 compatible = "brcm,bcm4329-fmac"; 1147 interrupt-parent = <&gpio>; 1148 interrupts = <TEGRA_GPIO(S, 0) IRQ_TYPE_LEVEL_HIGH>; 1149 interrupt-names = "host-wake"; 1150 }; 1151 }; 1152 1153 sdmmc3: mmc@c8000400 { 1154 status = "okay"; 1155 bus-width = <4>; 1156 cd-gpios = <&gpio TEGRA_GPIO(I, 5) GPIO_ACTIVE_LOW>; 1157 power-gpios = <&gpio TEGRA_GPIO(I, 6) GPIO_ACTIVE_HIGH>; 1158 vmmc-supply = <&vdd_3v3_sys>; 1159 vqmmc-supply = <&vdd_3v3_sys>; 1160 }; 1161 1162 sdmmc4: mmc@c8000600 { 1163 status = "okay"; 1164 bus-width = <8>; 1165 vmmc-supply = <&vcore_emmc>; 1166 vqmmc-supply = <&vdd_3v3_sys>; 1167 non-removable; 1168 }; 1169 1170 mains: ac-adapter-detect { 1171 compatible = "gpio-charger"; 1172 charger-type = "mains"; 1173 gpios = <&gpio TEGRA_GPIO(V, 3) GPIO_ACTIVE_LOW>; 1174 }; 1175 1176 backlight: backlight { 1177 compatible = "pwm-backlight"; 1178 1179 enable-gpios = <&gpio TEGRA_GPIO(D, 4) GPIO_ACTIVE_HIGH>; 1180 power-supply = <&vdd_3v3_sys>; 1181 pwms = <&pwm 2 41667>; 1182 1183 brightness-levels = <7 255>; 1184 num-interpolated-steps = <248>; 1185 default-brightness-level = <20>; 1186 }; 1187 1188 bat1010: battery-2s1p { 1189 compatible = "simple-battery"; 1190 charge-full-design-microamp-hours = <3260000>; 1191 energy-full-design-microwatt-hours = <24000000>; 1192 operating-range-celsius = <0 40>; 1193 }; 1194 1195 /* PMIC has a built-in 32KHz oscillator which is used by PMC */ 1196 clk32k_in: clock-32k-in { 1197 compatible = "fixed-clock"; 1198 #clock-cells = <0>; 1199 clock-frequency = <32768>; 1200 clock-output-names = "tps658621-out32k"; 1201 }; 1202 1203 /* 1204 * This standalone onboard fixed-clock always-ON 32KHz 1205 * oscillator is used as a reference clock-source by the 1206 * Azurewave WiFi/BT module. 1207 */ 1208 rtc_32k_wifi: clock-32k-wifi { 1209 compatible = "fixed-clock"; 1210 #clock-cells = <0>; 1211 clock-frequency = <32768>; 1212 clock-output-names = "kk3270032"; 1213 }; 1214 1215 cpus { 1216 cpu0: cpu@0 { 1217 cpu-supply = <&vdd_cpu>; 1218 operating-points-v2 = <&cpu0_opp_table>; 1219 #cooling-cells = <2>; 1220 }; 1221 1222 cpu1: cpu@1 { 1223 cpu-supply = <&vdd_cpu>; 1224 operating-points-v2 = <&cpu0_opp_table>; 1225 #cooling-cells = <2>; 1226 }; 1227 }; 1228 1229 display-panel { 1230 compatible = "auo,b101ew05", "panel-lvds"; 1231 1232 ddc-i2c-bus = <&panel_ddc>; 1233 power-supply = <&vdd_pnl>; 1234 backlight = <&backlight>; 1235 1236 width-mm = <218>; 1237 height-mm = <135>; 1238 1239 data-mapping = "jeida-18"; 1240 1241 panel-timing { 1242 clock-frequency = <71200000>; 1243 hactive = <1280>; 1244 vactive = <800>; 1245 hfront-porch = <8>; 1246 hback-porch = <18>; 1247 hsync-len = <184>; 1248 vsync-len = <3>; 1249 vfront-porch = <4>; 1250 vback-porch = <8>; 1251 }; 1252 1253 port { 1254 panel_input: endpoint { 1255 remote-endpoint = <&lvds_encoder_output>; 1256 }; 1257 }; 1258 }; 1259 1260 gpio-keys { 1261 compatible = "gpio-keys"; 1262 1263 key-power { 1264 label = "Power"; 1265 gpios = <&gpio TEGRA_GPIO(I, 3) GPIO_ACTIVE_HIGH>; 1266 linux,code = <KEY_POWER>; 1267 debounce-interval = <10>; 1268 wakeup-event-action = <EV_ACT_ASSERTED>; 1269 wakeup-source; 1270 }; 1271 1272 key-rotation-lock { 1273 label = "Rotate-lock"; 1274 gpios = <&gpio TEGRA_GPIO(Q, 2) GPIO_ACTIVE_HIGH>; 1275 linux,code = <SW_ROTATE_LOCK>; 1276 linux,input-type = <EV_SW>; 1277 debounce-interval = <10>; 1278 }; 1279 1280 key-volume-down { 1281 label = "Volume Down"; 1282 gpios = <&gpio TEGRA_GPIO(Q, 5) GPIO_ACTIVE_LOW>; 1283 linux,code = <KEY_VOLUMEDOWN>; 1284 debounce-interval = <10>; 1285 wakeup-event-action = <EV_ACT_ASSERTED>; 1286 wakeup-source; 1287 }; 1288 1289 key-volume-up { 1290 label = "Volume Up"; 1291 gpios = <&gpio TEGRA_GPIO(Q, 4) GPIO_ACTIVE_LOW>; 1292 linux,code = <KEY_VOLUMEUP>; 1293 debounce-interval = <10>; 1294 wakeup-event-action = <EV_ACT_ASSERTED>; 1295 wakeup-source; 1296 }; 1297 }; 1298 1299 haptic-feedback { 1300 compatible = "gpio-vibrator"; 1301 enable-gpios = <&gpio TEGRA_GPIO(V, 5) GPIO_ACTIVE_HIGH>; 1302 vcc-supply = <&vdd_3v3_sys>; 1303 }; 1304 1305 i2cmux { 1306 compatible = "i2c-mux-pinctrl"; 1307 #address-cells = <1>; 1308 #size-cells = <0>; 1309 1310 i2c-parent = <&{/i2c@7000c400}>; 1311 1312 pinctrl-names = "ddc", "pta", "idle"; 1313 pinctrl-0 = <&state_i2cmux_ddc>; 1314 pinctrl-1 = <&state_i2cmux_pta>; 1315 pinctrl-2 = <&state_i2cmux_idle>; 1316 1317 hdmi_ddc: i2c@0 { 1318 reg = <0>; 1319 #address-cells = <1>; 1320 #size-cells = <0>; 1321 }; 1322 1323 panel_ddc: i2c@1 { 1324 reg = <1>; 1325 #address-cells = <1>; 1326 #size-cells = <0>; 1327 1328 embedded-controller@58 { 1329 compatible = "acer,a500-iconia-ec", "ene,kb930"; 1330 reg = <0x58>; 1331 1332 system-power-controller; 1333 1334 monitored-battery = <&bat1010>; 1335 power-supplies = <&mains>; 1336 }; 1337 }; 1338 }; 1339 1340 lvds-encoder { 1341 compatible = "ti,sn75lvds83", "lvds-encoder"; 1342 1343 powerdown-gpios = <&gpio TEGRA_GPIO(B, 2) GPIO_ACTIVE_LOW>; 1344 power-supply = <&vdd_3v3_sys>; 1345 1346 ports { 1347 #address-cells = <1>; 1348 #size-cells = <0>; 1349 1350 port@0 { 1351 reg = <0>; 1352 1353 lvds_encoder_input: endpoint { 1354 remote-endpoint = <&lcd_output>; 1355 }; 1356 }; 1357 1358 port@1 { 1359 reg = <1>; 1360 1361 lvds_encoder_output: endpoint { 1362 remote-endpoint = <&panel_input>; 1363 }; 1364 }; 1365 }; 1366 }; 1367 1368 opp-table-emc { 1369 /delete-node/ opp-666000000; 1370 /delete-node/ opp-760000000; 1371 }; 1372 1373 vdd_5v0_sys: regulator-5v0 { 1374 compatible = "regulator-fixed"; 1375 regulator-name = "vdd_5v0"; 1376 regulator-min-microvolt = <5000000>; 1377 regulator-max-microvolt = <5000000>; 1378 regulator-always-on; 1379 }; 1380 1381 vdd_3v3_sys: regulator-3v3 { 1382 compatible = "regulator-fixed"; 1383 regulator-name = "vdd_3v3_vs"; 1384 regulator-min-microvolt = <3300000>; 1385 regulator-max-microvolt = <3300000>; 1386 regulator-always-on; 1387 vin-supply = <&vdd_5v0_sys>; 1388 }; 1389 1390 vdd_1v8_sys: regulator-1v8 { 1391 compatible = "regulator-fixed"; 1392 regulator-name = "vdd_1v8_vs"; 1393 regulator-min-microvolt = <1800000>; 1394 regulator-max-microvolt = <1800000>; 1395 regulator-always-on; 1396 vin-supply = <&vdd_5v0_sys>; 1397 }; 1398 1399 vdd_pnl: regulator-panel { 1400 compatible = "regulator-fixed"; 1401 regulator-name = "vdd_panel"; 1402 regulator-min-microvolt = <3300000>; 1403 regulator-max-microvolt = <3300000>; 1404 regulator-enable-ramp-delay = <300000>; 1405 gpio = <&gpio TEGRA_GPIO(C, 6) GPIO_ACTIVE_HIGH>; 1406 enable-active-high; 1407 vin-supply = <&vdd_5v0_sys>; 1408 }; 1409 1410 sound { 1411 compatible = "nvidia,tegra-audio-wm8903-picasso", 1412 "nvidia,tegra-audio-wm8903"; 1413 nvidia,model = "Acer Iconia Tab A500 WM8903"; 1414 1415 nvidia,audio-routing = 1416 "Headphone Jack", "HPOUTR", 1417 "Headphone Jack", "HPOUTL", 1418 "Int Spk", "LINEOUTL", 1419 "Int Spk", "LINEOUTR", 1420 "Mic Jack", "MICBIAS", 1421 "IN2L", "Mic Jack", 1422 "IN2R", "Mic Jack", 1423 "IN1L", "Int Mic", 1424 "IN1R", "Int Mic"; 1425 1426 nvidia,i2s-controller = <&tegra_i2s1>; 1427 nvidia,audio-codec = <&wm8903>; 1428 1429 nvidia,spkr-en-gpios = <&wm8903 2 GPIO_ACTIVE_HIGH>; 1430 nvidia,hp-det-gpios = <&gpio TEGRA_GPIO(W, 2) GPIO_ACTIVE_LOW>; 1431 nvidia,int-mic-en-gpios = <&wm8903 1 GPIO_ACTIVE_HIGH>; 1432 nvidia,headset; 1433 1434 clocks = <&tegra_car TEGRA20_CLK_PLL_A>, 1435 <&tegra_car TEGRA20_CLK_PLL_A_OUT0>, 1436 <&tegra_car TEGRA20_CLK_CDEV1>; 1437 clock-names = "pll_a", "pll_a_out0", "mclk"; 1438 }; 1439 1440 thermal-zones { 1441 /* 1442 * NCT1008 has two sensors: 1443 * 1444 * 0: internal that monitors ambient/skin temperature 1445 * 1: external that is connected to the CPU's diode 1446 * 1447 * Ideally we should use userspace thermal governor, 1448 * but it's a much more complex solution. The "skin" 1449 * zone is a simpler solution which prevents A500 from 1450 * getting too hot from a user's tactile perspective. 1451 * The CPU zone is intended to protect silicon from damage. 1452 */ 1453 1454 skin-thermal { 1455 polling-delay-passive = <1000>; /* milliseconds */ 1456 polling-delay = <5000>; /* milliseconds */ 1457 1458 thermal-sensors = <&nct1008 0>; 1459 1460 trips { 1461 trip0: skin-alert { 1462 /* start throttling at 60C */ 1463 temperature = <60000>; 1464 hysteresis = <200>; 1465 type = "passive"; 1466 }; 1467 1468 trip1: skin-crit { 1469 /* shut down at 70C */ 1470 temperature = <70000>; 1471 hysteresis = <2000>; 1472 type = "critical"; 1473 }; 1474 }; 1475 1476 cooling-maps { 1477 map0 { 1478 trip = <&trip0>; 1479 cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 1480 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 1481 }; 1482 }; 1483 }; 1484 1485 cpu-thermal { 1486 polling-delay-passive = <1000>; /* milliseconds */ 1487 polling-delay = <5000>; /* milliseconds */ 1488 1489 thermal-sensors = <&nct1008 1>; 1490 1491 trips { 1492 trip2: cpu-alert { 1493 /* throttle at 85C until temperature drops to 84.8C */ 1494 temperature = <85000>; 1495 hysteresis = <200>; 1496 type = "passive"; 1497 }; 1498 1499 trip3: cpu-crit { 1500 /* shut down at 90C */ 1501 temperature = <90000>; 1502 hysteresis = <2000>; 1503 type = "critical"; 1504 }; 1505 }; 1506 1507 cooling-maps { 1508 map1 { 1509 trip = <&trip2>; 1510 cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 1511 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 1512 }; 1513 }; 1514 }; 1515 }; 1516 1517 brcm_wifi_pwrseq: wifi-pwrseq { 1518 compatible = "mmc-pwrseq-simple"; 1519 1520 clocks = <&rtc_32k_wifi>; 1521 clock-names = "ext_clock"; 1522 1523 reset-gpios = <&gpio TEGRA_GPIO(K, 6) GPIO_ACTIVE_LOW>; 1524 post-power-on-delay-ms = <300>; 1525 power-off-delay-us = <300>; 1526 }; 1527}; 1528