1#include <dt-bindings/input/input.h> 2#include "tegra124.dtsi" 3 4/ { 5 aliases { 6 rtc0 = "/i2c@0,7000d000/pmic@40"; 7 rtc1 = "/rtc@0,7000e000"; 8 serial0 = &uarta; 9 }; 10 11 memory { 12 reg = <0x80000000 0x80000000>; 13 }; 14 15 host1x@50000000 { 16 hdmi@54280000 { 17 status = "okay"; 18 19 vdd-supply = <&vdd_3v3_hdmi>; 20 pll-supply = <&vdd_hdmi_pll>; 21 hdmi-supply = <&vdd_5v0_hdmi>; 22 23 nvidia,ddc-i2c-bus = <&hdmi_ddc>; 24 nvidia,hpd-gpio = 25 <&gpio TEGRA_GPIO(N, 7) GPIO_ACTIVE_HIGH>; 26 }; 27 28 sor@54540000 { 29 status = "okay"; 30 31 nvidia,dpaux = <&dpaux>; 32 nvidia,panel = <&panel>; 33 }; 34 35 dpaux@545c0000 { 36 vdd-supply = <&vdd_3v3_panel>; 37 status = "okay"; 38 }; 39 }; 40 41 serial@70006000 { 42 /* Debug connector on the bottom of the board near SD card. */ 43 status = "okay"; 44 }; 45 46 pwm@7000a000 { 47 status = "okay"; 48 }; 49 50 i2c@7000c000 { 51 status = "okay"; 52 clock-frequency = <100000>; 53 54 acodec: audio-codec@10 { 55 compatible = "maxim,max98090"; 56 reg = <0x10>; 57 interrupt-parent = <&gpio>; 58 interrupts = <TEGRA_GPIO(H, 4) GPIO_ACTIVE_HIGH>; 59 }; 60 61 temperature-sensor@4c { 62 compatible = "ti,tmp451"; 63 reg = <0x4c>; 64 interrupt-parent = <&gpio>; 65 interrupts = <TEGRA_GPIO(I, 6) IRQ_TYPE_LEVEL_LOW>; 66 67 #thermal-sensor-cells = <1>; 68 }; 69 }; 70 71 i2c@7000c400 { 72 status = "okay"; 73 clock-frequency = <100000>; 74 75 trackpad@15 { 76 compatible = "elan,ekth3000"; 77 reg = <0x15>; 78 interrupt-parent = <&gpio>; 79 interrupts = <TEGRA_GPIO(W, 3) IRQ_TYPE_EDGE_FALLING>; 80 wakeup-source; 81 }; 82 }; 83 84 i2c@7000c500 { 85 status = "okay"; 86 clock-frequency = <400000>; 87 88 tpm@20 { 89 compatible = "infineon,slb9645tt"; 90 reg = <0x20>; 91 }; 92 }; 93 94 hdmi_ddc: i2c@7000c700 { 95 status = "okay"; 96 clock-frequency = <100000>; 97 }; 98 99 i2c@7000d000 { 100 status = "okay"; 101 clock-frequency = <400000>; 102 103 pmic: pmic@40 { 104 compatible = "ams,as3722"; 105 reg = <0x40>; 106 interrupts = <0 86 IRQ_TYPE_LEVEL_HIGH>; 107 108 ams,system-power-controller; 109 110 #interrupt-cells = <2>; 111 interrupt-controller; 112 113 gpio-controller; 114 #gpio-cells = <2>; 115 116 pinctrl-names = "default"; 117 pinctrl-0 = <&as3722_default>; 118 119 as3722_default: pinmux { 120 gpio0 { 121 pins = "gpio0"; 122 function = "gpio"; 123 bias-pull-down; 124 }; 125 126 gpio1 { 127 pins = "gpio1"; 128 function = "gpio"; 129 bias-pull-up; 130 }; 131 132 gpio2_4_7 { 133 pins = "gpio2", "gpio4", "gpio7"; 134 function = "gpio"; 135 bias-pull-up; 136 }; 137 138 gpio3_6 { 139 pins = "gpio3", "gpio6"; 140 bias-high-impedance; 141 }; 142 143 gpio5 { 144 pins = "gpio5"; 145 function = "clk32k-out"; 146 bias-pull-down; 147 }; 148 }; 149 150 regulators { 151 vsup-sd2-supply = <&vdd_5v0_sys>; 152 vsup-sd3-supply = <&vdd_5v0_sys>; 153 vsup-sd4-supply = <&vdd_5v0_sys>; 154 vsup-sd5-supply = <&vdd_5v0_sys>; 155 vin-ldo0-supply = <&vdd_1v35_lp0>; 156 vin-ldo1-6-supply = <&vdd_3v3_run>; 157 vin-ldo2-5-7-supply = <&vddio_1v8>; 158 vin-ldo3-4-supply = <&vdd_3v3_sys>; 159 vin-ldo9-10-supply = <&vdd_5v0_sys>; 160 vin-ldo11-supply = <&vdd_3v3_run>; 161 162 vdd_cpu: sd0 { 163 regulator-name = "+VDD_CPU_AP"; 164 regulator-min-microvolt = <700000>; 165 regulator-max-microvolt = <1350000>; 166 regulator-min-microamp = <3500000>; 167 regulator-max-microamp = <3500000>; 168 regulator-always-on; 169 regulator-boot-on; 170 ams,ext-control = <2>; 171 }; 172 173 sd1 { 174 regulator-name = "+VDD_CORE"; 175 regulator-min-microvolt = <700000>; 176 regulator-max-microvolt = <1350000>; 177 regulator-min-microamp = <2500000>; 178 regulator-max-microamp = <4000000>; 179 regulator-always-on; 180 regulator-boot-on; 181 ams,ext-control = <1>; 182 }; 183 184 vdd_1v35_lp0: sd2 { 185 regulator-name = "+1.35V_LP0(sd2)"; 186 regulator-min-microvolt = <1350000>; 187 regulator-max-microvolt = <1350000>; 188 regulator-always-on; 189 regulator-boot-on; 190 }; 191 192 sd3 { 193 regulator-name = "+1.35V_LP0(sd3)"; 194 regulator-min-microvolt = <1350000>; 195 regulator-max-microvolt = <1350000>; 196 regulator-always-on; 197 regulator-boot-on; 198 }; 199 200 vdd_1v05_run: sd4 { 201 regulator-name = "+1.05V_RUN"; 202 regulator-min-microvolt = <1050000>; 203 regulator-max-microvolt = <1050000>; 204 }; 205 206 vddio_1v8: sd5 { 207 regulator-name = "+1.8V_VDDIO"; 208 regulator-min-microvolt = <1800000>; 209 regulator-max-microvolt = <1800000>; 210 regulator-always-on; 211 }; 212 213 sd6 { 214 regulator-name = "+VDD_GPU_AP"; 215 regulator-min-microvolt = <650000>; 216 regulator-max-microvolt = <1200000>; 217 regulator-min-microamp = <3500000>; 218 regulator-max-microamp = <3500000>; 219 regulator-boot-on; 220 regulator-always-on; 221 }; 222 223 ldo0 { 224 regulator-name = "+1.05V_RUN_AVDD"; 225 regulator-min-microvolt = <1050000>; 226 regulator-max-microvolt = <1050000>; 227 regulator-boot-on; 228 regulator-always-on; 229 ams,ext-control = <1>; 230 }; 231 232 ldo1 { 233 regulator-name = "+1.8V_RUN_CAM"; 234 regulator-min-microvolt = <1800000>; 235 regulator-max-microvolt = <1800000>; 236 }; 237 238 ldo2 { 239 regulator-name = "+1.2V_GEN_AVDD"; 240 regulator-min-microvolt = <1200000>; 241 regulator-max-microvolt = <1200000>; 242 regulator-boot-on; 243 regulator-always-on; 244 }; 245 246 ldo3 { 247 regulator-name = "+1.00V_LP0_VDD_RTC"; 248 regulator-min-microvolt = <1000000>; 249 regulator-max-microvolt = <1000000>; 250 regulator-boot-on; 251 regulator-always-on; 252 ams,enable-tracking; 253 }; 254 255 vdd_run_cam: ldo4 { 256 regulator-name = "+3.3V_RUN_CAM"; 257 regulator-min-microvolt = <2800000>; 258 regulator-max-microvolt = <2800000>; 259 }; 260 261 ldo5 { 262 regulator-name = "+1.2V_RUN_CAM_FRONT"; 263 regulator-min-microvolt = <1200000>; 264 regulator-max-microvolt = <1200000>; 265 }; 266 267 vddio_sdmmc3: ldo6 { 268 regulator-name = "+VDDIO_SDMMC3"; 269 regulator-min-microvolt = <1800000>; 270 regulator-max-microvolt = <3300000>; 271 }; 272 273 ldo7 { 274 regulator-name = "+1.05V_RUN_CAM_REAR"; 275 regulator-min-microvolt = <1050000>; 276 regulator-max-microvolt = <1050000>; 277 }; 278 279 ldo9 { 280 regulator-name = "+2.8V_RUN_TOUCH"; 281 regulator-min-microvolt = <2800000>; 282 regulator-max-microvolt = <2800000>; 283 }; 284 285 ldo10 { 286 regulator-name = "+2.8V_RUN_CAM_AF"; 287 regulator-min-microvolt = <2800000>; 288 regulator-max-microvolt = <2800000>; 289 }; 290 291 ldo11 { 292 regulator-name = "+1.8V_RUN_VPP_FUSE"; 293 regulator-min-microvolt = <1800000>; 294 regulator-max-microvolt = <1800000>; 295 }; 296 }; 297 }; 298 }; 299 300 spi@7000d400 { 301 status = "okay"; 302 303 cros_ec: cros-ec@0 { 304 compatible = "google,cros-ec-spi"; 305 spi-max-frequency = <3000000>; 306 interrupt-parent = <&gpio>; 307 interrupts = <TEGRA_GPIO(C, 7) IRQ_TYPE_LEVEL_LOW>; 308 reg = <0>; 309 310 google,cros-ec-spi-msg-delay = <2000>; 311 312 i2c-tunnel { 313 compatible = "google,cros-ec-i2c-tunnel"; 314 #address-cells = <1>; 315 #size-cells = <0>; 316 317 google,remote-bus = <0>; 318 319 charger: bq24735@9 { 320 compatible = "ti,bq24735"; 321 reg = <0x9>; 322 interrupt-parent = <&gpio>; 323 interrupts = <TEGRA_GPIO(J, 0) 324 GPIO_ACTIVE_HIGH>; 325 ti,ac-detect-gpios = <&gpio 326 TEGRA_GPIO(J, 0) 327 GPIO_ACTIVE_HIGH>; 328 }; 329 330 battery: sbs-battery@b { 331 compatible = "sbs,sbs-battery"; 332 reg = <0xb>; 333 sbs,i2c-retry-count = <2>; 334 sbs,poll-retry-count = <10>; 335 power-supplies = <&charger>; 336 }; 337 }; 338 }; 339 }; 340 341 spi@7000da00 { 342 status = "okay"; 343 spi-max-frequency = <25000000>; 344 345 flash@0 { 346 compatible = "winbond,w25q32dw"; 347 spi-max-frequency = <25000000>; 348 reg = <0>; 349 }; 350 }; 351 352 pmc@7000e400 { 353 nvidia,invert-interrupt; 354 nvidia,suspend-mode = <0>; 355 nvidia,cpu-pwr-good-time = <500>; 356 nvidia,cpu-pwr-off-time = <300>; 357 nvidia,core-pwr-good-time = <641 3845>; 358 nvidia,core-pwr-off-time = <61036>; 359 nvidia,core-power-req-active-high; 360 nvidia,sys-clock-req-active-high; 361 }; 362 363 hda@70030000 { 364 status = "okay"; 365 }; 366 367 sdhci0_pwrseq: sdhci0_pwrseq { 368 compatible = "mmc-pwrseq-simple"; 369 370 reset-gpios = <&gpio TEGRA_GPIO(X, 7) GPIO_ACTIVE_LOW>; 371 }; 372 373 sdhci@700b0000 { /* WiFi/BT on this bus */ 374 status = "okay"; 375 power-gpios = <&gpio TEGRA_GPIO(X, 7) GPIO_ACTIVE_HIGH>; 376 bus-width = <4>; 377 no-1-8-v; 378 non-removable; 379 mmc-pwrseq = <&sdhci0_pwrseq>; 380 vmmc-supply = <&vdd_3v3_lp0>; 381 vqmmc-supply = <&vddio_1v8>; 382 keep-power-in-suspend; 383 }; 384 385 sdhci@700b0400 { /* SD Card on this bus */ 386 status = "okay"; 387 cd-gpios = <&gpio TEGRA_GPIO(V, 2) GPIO_ACTIVE_LOW>; 388 power-gpios = <&gpio TEGRA_GPIO(R, 0) GPIO_ACTIVE_HIGH>; 389 wp-gpios = <&gpio TEGRA_GPIO(Q, 4) GPIO_ACTIVE_LOW>; 390 bus-width = <4>; 391 no-1-8-v; 392 vqmmc-supply = <&vddio_sdmmc3>; 393 }; 394 395 sdhci@700b0600 { /* eMMC on this bus */ 396 status = "okay"; 397 bus-width = <8>; 398 no-1-8-v; 399 non-removable; 400 }; 401 402 /* CPU DFLL clock */ 403 clock@70110000 { 404 status = "disabled"; 405 vdd-cpu-supply = <&vdd_cpu>; 406 nvidia,i2c-fs-rate = <400000>; 407 }; 408 409 ahub@70300000 { 410 i2s@70301100 { 411 status = "okay"; 412 }; 413 }; 414 415 usb@7d000000 { /* Rear external USB port. */ 416 status = "okay"; 417 nvidia,vbus-gpio = <&gpio TEGRA_GPIO(N, 4) GPIO_ACTIVE_HIGH>; 418 }; 419 420 usb-phy@7d000000 { 421 status = "okay"; 422 vbus-supply = <&vdd_usb1_vbus>; 423 }; 424 425 usb@7d004000 { /* Internal webcam. */ 426 status = "okay"; 427 }; 428 429 usb-phy@7d004000 { 430 status = "okay"; 431 vbus-supply = <&vdd_run_cam>; 432 }; 433 434 usb@7d008000 { /* Left external USB port. */ 435 status = "okay"; 436 nvidia,vbus-gpio = <&gpio TEGRA_GPIO(N, 5) GPIO_ACTIVE_HIGH>; 437 }; 438 439 usb-phy@7d008000 { 440 status = "okay"; 441 vbus-supply = <&vdd_usb3_vbus>; 442 }; 443 444 backlight: backlight { 445 compatible = "pwm-backlight"; 446 447 enable-gpios = <&gpio TEGRA_GPIO(H, 2) GPIO_ACTIVE_HIGH>; 448 power-supply = <&vdd_led>; 449 pwms = <&pwm 1 1000000>; 450 451 default-brightness-level = <224>; 452 brightness-levels = 453 < 0 1 2 3 4 5 6 7 454 8 9 10 11 12 13 14 15 455 16 17 18 19 20 21 22 23 456 24 25 26 27 28 29 30 31 457 32 33 34 35 36 37 38 39 458 40 41 42 43 44 45 46 47 459 48 49 50 51 52 53 54 55 460 56 57 58 59 60 61 62 63 461 64 65 66 67 68 69 70 71 462 72 73 74 75 76 77 78 79 463 80 81 82 83 84 85 86 87 464 88 89 90 91 92 93 94 95 465 96 97 98 99 100 101 102 103 466 104 105 106 107 108 109 110 111 467 112 113 114 115 116 117 118 119 468 120 121 122 123 124 125 126 127 469 128 129 130 131 132 133 134 135 470 136 137 138 139 140 141 142 143 471 144 145 146 147 148 149 150 151 472 152 153 154 155 156 157 158 159 473 160 161 162 163 164 165 166 167 474 168 169 170 171 172 173 174 175 475 176 177 178 179 180 181 182 183 476 184 185 186 187 188 189 190 191 477 192 193 194 195 196 197 198 199 478 200 201 202 203 204 205 206 207 479 208 209 210 211 212 213 214 215 480 216 217 218 219 220 221 222 223 481 224 225 226 227 228 229 230 231 482 232 233 234 235 236 237 238 239 483 240 241 242 243 244 245 246 247 484 248 249 250 251 252 253 254 255 485 256>; 486 }; 487 488 clocks { 489 compatible = "simple-bus"; 490 #address-cells = <1>; 491 #size-cells = <0>; 492 493 clk32k_in: clock@0 { 494 compatible = "fixed-clock"; 495 reg = <0>; 496 #clock-cells = <0>; 497 clock-frequency = <32768>; 498 }; 499 }; 500 501 cpus { 502 cpu@0 { 503 vdd-cpu-supply = <&vdd_cpu>; 504 }; 505 }; 506 507 cpus { 508 cpu@0 { 509 vdd-cpu-supply = <&vdd_cpu>; 510 }; 511 }; 512 513 gpio-keys { 514 compatible = "gpio-keys"; 515 516 lid { 517 label = "Lid"; 518 gpios = <&gpio TEGRA_GPIO(R, 4) GPIO_ACTIVE_LOW>; 519 linux,input-type = <5>; 520 linux,code = <KEY_RESERVED>; 521 debounce-interval = <1>; 522 gpio-key,wakeup; 523 }; 524 525 power { 526 label = "Power"; 527 gpios = <&gpio TEGRA_GPIO(Q, 0) GPIO_ACTIVE_LOW>; 528 linux,code = <KEY_POWER>; 529 debounce-interval = <30>; 530 gpio-key,wakeup; 531 }; 532 }; 533 534 regulators { 535 compatible = "simple-bus"; 536 #address-cells = <1>; 537 #size-cells = <0>; 538 539 vdd_mux: regulator@0 { 540 compatible = "regulator-fixed"; 541 reg = <0>; 542 regulator-name = "+VDD_MUX"; 543 regulator-min-microvolt = <12000000>; 544 regulator-max-microvolt = <12000000>; 545 regulator-always-on; 546 regulator-boot-on; 547 }; 548 549 vdd_5v0_sys: regulator@1 { 550 compatible = "regulator-fixed"; 551 reg = <1>; 552 regulator-name = "+5V_SYS"; 553 regulator-min-microvolt = <5000000>; 554 regulator-max-microvolt = <5000000>; 555 regulator-always-on; 556 regulator-boot-on; 557 vin-supply = <&vdd_mux>; 558 }; 559 560 vdd_3v3_sys: regulator@2 { 561 compatible = "regulator-fixed"; 562 reg = <2>; 563 regulator-name = "+3.3V_SYS"; 564 regulator-min-microvolt = <3300000>; 565 regulator-max-microvolt = <3300000>; 566 regulator-always-on; 567 regulator-boot-on; 568 vin-supply = <&vdd_mux>; 569 }; 570 571 vdd_3v3_run: regulator@3 { 572 compatible = "regulator-fixed"; 573 reg = <3>; 574 regulator-name = "+3.3V_RUN"; 575 regulator-min-microvolt = <3300000>; 576 regulator-max-microvolt = <3300000>; 577 regulator-always-on; 578 regulator-boot-on; 579 gpio = <&pmic 1 GPIO_ACTIVE_HIGH>; 580 enable-active-high; 581 vin-supply = <&vdd_3v3_sys>; 582 }; 583 584 vdd_3v3_hdmi: regulator@4 { 585 compatible = "regulator-fixed"; 586 reg = <4>; 587 regulator-name = "+3.3V_AVDD_HDMI_AP_GATED"; 588 regulator-min-microvolt = <3300000>; 589 regulator-max-microvolt = <3300000>; 590 vin-supply = <&vdd_3v3_run>; 591 }; 592 593 vdd_led: regulator@5 { 594 compatible = "regulator-fixed"; 595 reg = <5>; 596 regulator-name = "+VDD_LED"; 597 gpio = <&gpio TEGRA_GPIO(P, 2) GPIO_ACTIVE_HIGH>; 598 enable-active-high; 599 vin-supply = <&vdd_mux>; 600 }; 601 602 vdd_5v0_ts: regulator@6 { 603 compatible = "regulator-fixed"; 604 reg = <6>; 605 regulator-name = "+5V_VDD_TS_SW"; 606 regulator-min-microvolt = <5000000>; 607 regulator-max-microvolt = <5000000>; 608 regulator-boot-on; 609 gpio = <&gpio TEGRA_GPIO(K, 1) GPIO_ACTIVE_HIGH>; 610 enable-active-high; 611 vin-supply = <&vdd_5v0_sys>; 612 }; 613 614 vdd_usb1_vbus: regulator@7 { 615 compatible = "regulator-fixed"; 616 reg = <7>; 617 regulator-name = "+5V_USB_HS"; 618 regulator-min-microvolt = <5000000>; 619 regulator-max-microvolt = <5000000>; 620 gpio = <&gpio TEGRA_GPIO(N, 4) GPIO_ACTIVE_HIGH>; 621 enable-active-high; 622 gpio-open-drain; 623 vin-supply = <&vdd_5v0_sys>; 624 }; 625 626 vdd_usb3_vbus: regulator@8 { 627 compatible = "regulator-fixed"; 628 reg = <8>; 629 regulator-name = "+5V_USB_SS"; 630 regulator-min-microvolt = <5000000>; 631 regulator-max-microvolt = <5000000>; 632 gpio = <&gpio TEGRA_GPIO(N, 5) GPIO_ACTIVE_HIGH>; 633 enable-active-high; 634 gpio-open-drain; 635 vin-supply = <&vdd_5v0_sys>; 636 }; 637 638 vdd_3v3_panel: regulator@9 { 639 compatible = "regulator-fixed"; 640 reg = <9>; 641 regulator-name = "+3.3V_PANEL"; 642 regulator-min-microvolt = <3300000>; 643 regulator-max-microvolt = <3300000>; 644 gpio = <&pmic 4 GPIO_ACTIVE_HIGH>; 645 enable-active-high; 646 vin-supply = <&vdd_3v3_run>; 647 }; 648 649 vdd_3v3_lp0: regulator@10 { 650 compatible = "regulator-fixed"; 651 reg = <10>; 652 regulator-name = "+3.3V_LP0"; 653 regulator-min-microvolt = <3300000>; 654 regulator-max-microvolt = <3300000>; 655 /* 656 * TODO: find a way to wire this up with the USB EHCI 657 * controllers so that it can be enabled on demand. 658 */ 659 regulator-always-on; 660 gpio = <&pmic 2 GPIO_ACTIVE_HIGH>; 661 enable-active-high; 662 vin-supply = <&vdd_3v3_sys>; 663 }; 664 665 vdd_hdmi_pll: regulator@11 { 666 compatible = "regulator-fixed"; 667 reg = <11>; 668 regulator-name = "+1.05V_RUN_AVDD_HDMI_PLL"; 669 regulator-min-microvolt = <1050000>; 670 regulator-max-microvolt = <1050000>; 671 gpio = <&gpio TEGRA_GPIO(H, 7) GPIO_ACTIVE_LOW>; 672 vin-supply = <&vdd_1v05_run>; 673 }; 674 675 vdd_5v0_hdmi: regulator@12 { 676 compatible = "regulator-fixed"; 677 reg = <12>; 678 regulator-name = "+5V_HDMI_CON"; 679 regulator-min-microvolt = <5000000>; 680 regulator-max-microvolt = <5000000>; 681 gpio = <&gpio TEGRA_GPIO(K, 6) GPIO_ACTIVE_HIGH>; 682 enable-active-high; 683 vin-supply = <&vdd_5v0_sys>; 684 }; 685 }; 686 687 sound { 688 nvidia,audio-routing = 689 "Headphones", "HPR", 690 "Headphones", "HPL", 691 "Speakers", "SPKR", 692 "Speakers", "SPKL", 693 "Mic Jack", "MICBIAS", 694 "DMICL", "Int Mic", 695 "DMICR", "Int Mic", 696 "IN34", "Mic Jack"; 697 698 nvidia,i2s-controller = <&tegra_i2s1>; 699 nvidia,audio-codec = <&acodec>; 700 701 clocks = <&tegra_car TEGRA124_CLK_PLL_A>, 702 <&tegra_car TEGRA124_CLK_PLL_A_OUT0>, 703 <&tegra_car TEGRA124_CLK_EXTERN1>; 704 clock-names = "pll_a", "pll_a_out0", "mclk"; 705 706 nvidia,hp-det-gpios = <&gpio TEGRA_GPIO(I, 7) GPIO_ACTIVE_HIGH>; 707 nvidia,mic-det-gpios = 708 <&gpio TEGRA_GPIO(R, 7) GPIO_ACTIVE_HIGH>; 709 }; 710 711 gpio-restart { 712 compatible = "gpio-restart"; 713 gpios = <&gpio TEGRA_GPIO(I, 5) GPIO_ACTIVE_LOW>; 714 priority = <200>; 715 }; 716}; 717 718#include "cros-ec-keyboard.dtsi" 719