1/* 2 * Google Peach Pit Rev 6+ board device tree source 3 * 4 * Copyright (c) 2014 Google, Inc 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License version 2 as 8 * published by the Free Software Foundation. 9 */ 10 11/dts-v1/; 12#include <dt-bindings/input/input.h> 13#include <dt-bindings/gpio/gpio.h> 14#include <dt-bindings/interrupt-controller/irq.h> 15#include <dt-bindings/clock/maxim,max77802.h> 16#include <dt-bindings/regulator/maxim,max77802.h> 17#include "exynos5420.dtsi" 18 19/ { 20 model = "Google Peach Pit Rev 6+"; 21 22 compatible = "google,pit-rev16", 23 "google,pit-rev15", "google,pit-rev14", 24 "google,pit-rev13", "google,pit-rev12", 25 "google,pit-rev11", "google,pit-rev10", 26 "google,pit-rev9", "google,pit-rev8", 27 "google,pit-rev7", "google,pit-rev6", 28 "google,pit", "google,peach","samsung,exynos5420", 29 "samsung,exynos5"; 30 31 aliases { 32 /* Assign 20 so we don't get confused w/ builtin ones */ 33 i2c20 = "/spi@12d40000/cros-ec@0/i2c-tunnel"; 34 }; 35 36 backlight: backlight { 37 compatible = "pwm-backlight"; 38 pwms = <&pwm 0 1000000 0>; 39 brightness-levels = <0 100 500 1000 1500 2000 2500 2800>; 40 default-brightness-level = <7>; 41 power-supply = <&tps65090_fet1>; 42 pinctrl-0 = <&pwm0_out>; 43 pinctrl-names = "default"; 44 }; 45 46 chosen { 47 stdout-path = "serial3:115200n8"; 48 }; 49 50 fixed-rate-clocks { 51 oscclk { 52 compatible = "samsung,exynos5420-oscclk"; 53 clock-frequency = <24000000>; 54 }; 55 }; 56 57 gpio-keys { 58 compatible = "gpio-keys"; 59 60 pinctrl-names = "default"; 61 pinctrl-0 = <&power_key_irq &lid_irq>; 62 63 power { 64 label = "Power"; 65 gpios = <&gpx1 2 GPIO_ACTIVE_LOW>; 66 linux,code = <KEY_POWER>; 67 gpio-key,wakeup; 68 }; 69 70 lid-switch { 71 label = "Lid"; 72 gpios = <&gpx3 4 GPIO_ACTIVE_LOW>; 73 linux,input-type = <5>; /* EV_SW */ 74 linux,code = <0>; /* SW_LID */ 75 debounce-interval = <1>; 76 gpio-key,wakeup; 77 }; 78 }; 79 80 memory { 81 reg = <0x20000000 0x80000000>; 82 }; 83 84 sound { 85 compatible = "google,snow-audio-max98090"; 86 87 samsung,model = "Peach-Pit-I2S-MAX98090"; 88 samsung,i2s-controller = <&i2s0>; 89 samsung,audio-codec = <&max98090>; 90 }; 91 92 usb300_vbus_reg: regulator-usb300 { 93 compatible = "regulator-fixed"; 94 regulator-name = "P5.0V_USB3CON0"; 95 regulator-min-microvolt = <5000000>; 96 regulator-max-microvolt = <5000000>; 97 gpio = <&gph0 0 0>; 98 pinctrl-names = "default"; 99 pinctrl-0 = <&usb300_vbus_en>; 100 enable-active-high; 101 }; 102 103 usb301_vbus_reg: regulator-usb301 { 104 compatible = "regulator-fixed"; 105 regulator-name = "P5.0V_USB3CON1"; 106 regulator-min-microvolt = <5000000>; 107 regulator-max-microvolt = <5000000>; 108 gpio = <&gph0 1 0>; 109 pinctrl-names = "default"; 110 pinctrl-0 = <&usb301_vbus_en>; 111 enable-active-high; 112 }; 113 114 vbat: fixed-regulator { 115 compatible = "regulator-fixed"; 116 regulator-name = "vbat-supply"; 117 regulator-boot-on; 118 regulator-always-on; 119 }; 120 121 panel: panel { 122 compatible = "auo,b116xw03"; 123 power-supply = <&tps65090_fet6>; 124 backlight = <&backlight>; 125 126 port { 127 panel_in: endpoint { 128 remote-endpoint = <&bridge_out>; 129 }; 130 }; 131 }; 132 133 mmc1_pwrseq: mmc1_pwrseq { 134 compatible = "mmc-pwrseq-simple"; 135 reset-gpios = <&gpx0 0 GPIO_ACTIVE_LOW>; /* WIFI_EN */ 136 clocks = <&max77802 MAX77802_CLK_32K_CP>; 137 clock-names = "ext_clock"; 138 }; 139}; 140 141&adc { 142 status = "okay"; 143 vdd-supply = <&ldo9_reg>; 144}; 145 146&dp { 147 status = "okay"; 148 pinctrl-names = "default"; 149 pinctrl-0 = <&dp_hpd_gpio>; 150 samsung,color-space = <0>; 151 samsung,dynamic-range = <0>; 152 samsung,ycbcr-coeff = <0>; 153 samsung,color-depth = <1>; 154 samsung,link-rate = <0x06>; 155 samsung,lane-count = <2>; 156 samsung,hpd-gpio = <&gpx2 6 0>; 157 158 ports { 159 port@0 { 160 dp_out: endpoint { 161 remote-endpoint = <&bridge_in>; 162 }; 163 }; 164 }; 165}; 166 167&fimd { 168 status = "okay"; 169 samsung,invert-vclk; 170}; 171 172&hdmi { 173 status = "okay"; 174 hpd-gpio = <&gpx3 7 GPIO_ACTIVE_HIGH>; 175 pinctrl-names = "default"; 176 pinctrl-0 = <&hdmi_hpd_irq>; 177 ddc = <&i2c_2>; 178 179 hdmi-en-supply = <&tps65090_fet7>; 180 vdd-supply = <&ldo8_reg>; 181 vdd_osc-supply = <&ldo10_reg>; 182 vdd_pll-supply = <&ldo8_reg>; 183}; 184 185&hsi2c_4 { 186 status = "okay"; 187 clock-frequency = <400000>; 188 189 max77802: max77802-pmic@9 { 190 compatible = "maxim,max77802"; 191 interrupt-parent = <&gpx3>; 192 interrupts = <1 IRQ_TYPE_NONE>; 193 pinctrl-names = "default"; 194 pinctrl-0 = <&max77802_irq>, <&pmic_selb>, 195 <&pmic_dvs_1>, <&pmic_dvs_2>, <&pmic_dvs_3>; 196 wakeup-source; 197 reg = <0x9>; 198 #clock-cells = <1>; 199 200 inb1-supply = <&tps65090_dcdc2>; 201 inb2-supply = <&tps65090_dcdc1>; 202 inb3-supply = <&tps65090_dcdc2>; 203 inb4-supply = <&tps65090_dcdc2>; 204 inb5-supply = <&tps65090_dcdc1>; 205 inb6-supply = <&tps65090_dcdc2>; 206 inb7-supply = <&tps65090_dcdc1>; 207 inb8-supply = <&tps65090_dcdc1>; 208 inb9-supply = <&tps65090_dcdc1>; 209 inb10-supply = <&tps65090_dcdc1>; 210 211 inl1-supply = <&buck5_reg>; 212 inl2-supply = <&buck7_reg>; 213 inl3-supply = <&buck9_reg>; 214 inl4-supply = <&buck9_reg>; 215 inl5-supply = <&buck9_reg>; 216 inl6-supply = <&tps65090_dcdc2>; 217 inl7-supply = <&buck9_reg>; 218 inl9-supply = <&tps65090_dcdc2>; 219 inl10-supply = <&buck7_reg>; 220 221 regulators { 222 buck1_reg: BUCK1 { 223 regulator-name = "vdd_mif"; 224 regulator-min-microvolt = <800000>; 225 regulator-max-microvolt = <1300000>; 226 regulator-always-on; 227 regulator-boot-on; 228 regulator-ramp-delay = <12500>; 229 regulator-state-mem { 230 regulator-off-in-suspend; 231 }; 232 }; 233 234 buck2_reg: BUCK2 { 235 regulator-name = "vdd_arm"; 236 regulator-min-microvolt = <800000>; 237 regulator-max-microvolt = <1500000>; 238 regulator-always-on; 239 regulator-boot-on; 240 regulator-ramp-delay = <12500>; 241 regulator-state-mem { 242 regulator-off-in-suspend; 243 }; 244 }; 245 246 buck3_reg: BUCK3 { 247 regulator-name = "vdd_int"; 248 regulator-min-microvolt = <800000>; 249 regulator-max-microvolt = <1400000>; 250 regulator-always-on; 251 regulator-boot-on; 252 regulator-ramp-delay = <12500>; 253 regulator-state-mem { 254 regulator-off-in-suspend; 255 }; 256 }; 257 258 buck4_reg: BUCK4 { 259 regulator-name = "vdd_g3d"; 260 regulator-min-microvolt = <700000>; 261 regulator-max-microvolt = <1400000>; 262 regulator-always-on; 263 regulator-boot-on; 264 regulator-ramp-delay = <12500>; 265 regulator-state-mem { 266 regulator-off-in-suspend; 267 }; 268 }; 269 270 buck5_reg: BUCK5 { 271 regulator-name = "vdd_1v2"; 272 regulator-min-microvolt = <1200000>; 273 regulator-max-microvolt = <1200000>; 274 regulator-always-on; 275 regulator-boot-on; 276 regulator-state-mem { 277 regulator-off-in-suspend; 278 }; 279 }; 280 281 buck6_reg: BUCK6 { 282 regulator-name = "vdd_kfc"; 283 regulator-min-microvolt = <800000>; 284 regulator-max-microvolt = <1500000>; 285 regulator-always-on; 286 regulator-boot-on; 287 regulator-ramp-delay = <12500>; 288 regulator-state-mem { 289 regulator-off-in-suspend; 290 }; 291 }; 292 293 buck7_reg: BUCK7 { 294 regulator-name = "vdd_1v35"; 295 regulator-min-microvolt = <1350000>; 296 regulator-max-microvolt = <1350000>; 297 regulator-always-on; 298 regulator-boot-on; 299 regulator-state-mem { 300 regulator-on-in-suspend; 301 }; 302 }; 303 304 buck8_reg: BUCK8 { 305 regulator-name = "vdd_emmc"; 306 regulator-min-microvolt = <2850000>; 307 regulator-max-microvolt = <2850000>; 308 regulator-always-on; 309 regulator-boot-on; 310 regulator-state-mem { 311 regulator-off-in-suspend; 312 }; 313 }; 314 315 buck9_reg: BUCK9 { 316 regulator-name = "vdd_2v"; 317 regulator-min-microvolt = <2000000>; 318 regulator-max-microvolt = <2000000>; 319 regulator-always-on; 320 regulator-boot-on; 321 regulator-state-mem { 322 regulator-on-in-suspend; 323 }; 324 }; 325 326 buck10_reg: BUCK10 { 327 regulator-name = "vdd_1v8"; 328 regulator-min-microvolt = <1800000>; 329 regulator-max-microvolt = <1800000>; 330 regulator-always-on; 331 regulator-boot-on; 332 regulator-state-mem { 333 regulator-on-in-suspend; 334 }; 335 }; 336 337 ldo1_reg: LDO1 { 338 regulator-name = "vdd_1v0"; 339 regulator-min-microvolt = <1000000>; 340 regulator-max-microvolt = <1000000>; 341 regulator-always-on; 342 regulator-state-mem { 343 regulator-on-in-suspend; 344 regulator-mode = <MAX77802_OPMODE_LP>; 345 }; 346 }; 347 348 ldo2_reg: LDO2 { 349 regulator-name = "vdd_1v2_2"; 350 regulator-min-microvolt = <1200000>; 351 regulator-max-microvolt = <1200000>; 352 }; 353 354 ldo3_reg: LDO3 { 355 regulator-name = "vdd_1v8_3"; 356 regulator-min-microvolt = <1800000>; 357 regulator-max-microvolt = <1800000>; 358 regulator-always-on; 359 regulator-state-mem { 360 regulator-on-in-suspend; 361 regulator-mode = <MAX77802_OPMODE_LP>; 362 }; 363 }; 364 365 vqmmc_sdcard: ldo4_reg: LDO4 { 366 regulator-name = "vdd_sd"; 367 regulator-min-microvolt = <1800000>; 368 regulator-max-microvolt = <2800000>; 369 regulator-always-on; 370 regulator-state-mem { 371 regulator-off-in-suspend; 372 }; 373 }; 374 375 ldo5_reg: LDO5 { 376 regulator-name = "vdd_1v8_5"; 377 regulator-min-microvolt = <1800000>; 378 regulator-max-microvolt = <1800000>; 379 regulator-always-on; 380 regulator-state-mem { 381 regulator-off-in-suspend; 382 }; 383 }; 384 385 ldo6_reg: LDO6 { 386 regulator-name = "vdd_1v8_6"; 387 regulator-min-microvolt = <1800000>; 388 regulator-max-microvolt = <1800000>; 389 regulator-always-on; 390 regulator-state-mem { 391 regulator-off-in-suspend; 392 }; 393 }; 394 395 ldo7_reg: LDO7 { 396 regulator-name = "vdd_1v8_7"; 397 regulator-min-microvolt = <1800000>; 398 regulator-max-microvolt = <1800000>; 399 }; 400 401 ldo8_reg: LDO8 { 402 regulator-name = "vdd_ldo8"; 403 regulator-min-microvolt = <1000000>; 404 regulator-max-microvolt = <1000000>; 405 regulator-always-on; 406 regulator-state-mem { 407 regulator-off-in-suspend; 408 }; 409 }; 410 411 ldo9_reg: LDO9 { 412 regulator-name = "vdd_ldo9"; 413 regulator-min-microvolt = <1800000>; 414 regulator-max-microvolt = <1800000>; 415 regulator-always-on; 416 regulator-state-mem { 417 regulator-on-in-suspend; 418 regulator-mode = <MAX77802_OPMODE_LP>; 419 }; 420 }; 421 422 ldo10_reg: LDO10 { 423 regulator-name = "vdd_ldo10"; 424 regulator-min-microvolt = <1800000>; 425 regulator-max-microvolt = <1800000>; 426 regulator-always-on; 427 regulator-state-mem { 428 regulator-off-in-suspend; 429 }; 430 }; 431 432 ldo11_reg: LDO11 { 433 regulator-name = "vdd_ldo11"; 434 regulator-min-microvolt = <1800000>; 435 regulator-max-microvolt = <1800000>; 436 regulator-always-on; 437 regulator-state-mem { 438 regulator-on-in-suspend; 439 regulator-mode = <MAX77802_OPMODE_LP>; 440 }; 441 }; 442 443 ldo12_reg: LDO12 { 444 regulator-name = "vdd_ldo12"; 445 regulator-min-microvolt = <3000000>; 446 regulator-max-microvolt = <3000000>; 447 regulator-always-on; 448 regulator-state-mem { 449 regulator-off-in-suspend; 450 }; 451 }; 452 453 ldo13_reg: LDO13 { 454 regulator-name = "vdd_ldo13"; 455 regulator-min-microvolt = <1800000>; 456 regulator-max-microvolt = <1800000>; 457 regulator-always-on; 458 regulator-state-mem { 459 regulator-on-in-suspend; 460 regulator-mode = <MAX77802_OPMODE_LP>; 461 }; 462 }; 463 464 ldo14_reg: LDO14 { 465 regulator-name = "vdd_ldo14"; 466 regulator-min-microvolt = <1800000>; 467 regulator-max-microvolt = <1800000>; 468 regulator-always-on; 469 regulator-state-mem { 470 regulator-off-in-suspend; 471 }; 472 }; 473 474 ldo15_reg: LDO15 { 475 regulator-name = "vdd_ldo15"; 476 regulator-min-microvolt = <1000000>; 477 regulator-max-microvolt = <1000000>; 478 regulator-always-on; 479 regulator-state-mem { 480 regulator-off-in-suspend; 481 }; 482 }; 483 484 ldo17_reg: LDO17 { 485 regulator-name = "vdd_g3ds"; 486 regulator-min-microvolt = <900000>; 487 regulator-max-microvolt = <1400000>; 488 regulator-always-on; 489 regulator-state-mem { 490 regulator-off-in-suspend; 491 }; 492 }; 493 494 ldo18_reg: LDO18 { 495 regulator-name = "ldo_18"; 496 regulator-min-microvolt = <1800000>; 497 regulator-max-microvolt = <1800000>; 498 }; 499 500 ldo19_reg: LDO19 { 501 regulator-name = "ldo_19"; 502 regulator-min-microvolt = <1800000>; 503 regulator-max-microvolt = <1800000>; 504 }; 505 506 ldo20_reg: LDO20 { 507 regulator-name = "ldo_20"; 508 regulator-min-microvolt = <1800000>; 509 regulator-max-microvolt = <1800000>; 510 regulator-always-on; 511 }; 512 513 ldo21_reg: LDO21 { 514 regulator-name = "ldo_21"; 515 regulator-min-microvolt = <2800000>; 516 regulator-max-microvolt = <2800000>; 517 }; 518 519 ldo23_reg: LDO23 { 520 regulator-name = "ldo_23"; 521 regulator-min-microvolt = <3300000>; 522 regulator-max-microvolt = <3300000>; 523 }; 524 ldo24_reg: LDO24 { 525 regulator-name = "ldo_24"; 526 regulator-min-microvolt = <2800000>; 527 regulator-max-microvolt = <2800000>; 528 }; 529 530 ldo25_reg: LDO25 { 531 regulator-name = "ldo_25"; 532 regulator-min-microvolt = <3300000>; 533 regulator-max-microvolt = <3300000>; 534 }; 535 536 ldo26_reg: LDO26 { 537 regulator-name = "ldo_26"; 538 regulator-min-microvolt = <1200000>; 539 regulator-max-microvolt = <1200000>; 540 }; 541 542 ldo27_reg: LDO27 { 543 regulator-name = "ldo_27"; 544 regulator-min-microvolt = <1200000>; 545 regulator-max-microvolt = <1200000>; 546 }; 547 548 ldo28_reg: LDO28 { 549 regulator-name = "ldo_28"; 550 regulator-min-microvolt = <1800000>; 551 regulator-max-microvolt = <1800000>; 552 }; 553 554 ldo29_reg: LDO29 { 555 regulator-name = "ldo_29"; 556 regulator-min-microvolt = <1800000>; 557 regulator-max-microvolt = <1800000>; 558 }; 559 560 ldo30_reg: LDO30 { 561 regulator-name = "vdd_mifs"; 562 regulator-min-microvolt = <1000000>; 563 regulator-max-microvolt = <1000000>; 564 regulator-always-on; 565 regulator-state-mem { 566 regulator-off-in-suspend; 567 }; 568 }; 569 570 ldo32_reg: LDO32 { 571 regulator-name = "ldo_32"; 572 regulator-min-microvolt = <3000000>; 573 regulator-max-microvolt = <3000000>; 574 }; 575 576 ldo33_reg: LDO33 { 577 regulator-name = "ldo_33"; 578 regulator-min-microvolt = <2800000>; 579 regulator-max-microvolt = <2800000>; 580 }; 581 582 ldo34_reg: LDO34 { 583 regulator-name = "ldo_34"; 584 regulator-min-microvolt = <3000000>; 585 regulator-max-microvolt = <3000000>; 586 }; 587 588 ldo35_reg: LDO35 { 589 regulator-name = "ldo_35"; 590 regulator-min-microvolt = <1200000>; 591 regulator-max-microvolt = <1200000>; 592 }; 593 }; 594 }; 595}; 596 597&hsi2c_7 { 598 status = "okay"; 599 clock-frequency = <400000>; 600 601 max98090: codec@10 { 602 compatible = "maxim,max98090"; 603 reg = <0x10>; 604 interrupts = <2 0>; 605 interrupt-parent = <&gpx0>; 606 pinctrl-names = "default"; 607 pinctrl-0 = <&max98090_irq>; 608 clocks = <&pmu_system_controller 0>; 609 clock-names = "mclk"; 610 }; 611 612 light-sensor@44 { 613 compatible = "isil,isl29018"; 614 reg = <0x44>; 615 vcc-supply = <&tps65090_fet5>; 616 }; 617 618 ps8625: lvds-bridge@48 { 619 compatible = "parade,ps8625"; 620 reg = <0x48>; 621 sleep-gpios = <&gpx3 5 GPIO_ACTIVE_HIGH>; 622 reset-gpios = <&gpy7 7 GPIO_ACTIVE_HIGH>; 623 lane-count = <2>; 624 use-external-pwm; 625 626 ports { 627 port@0 { 628 bridge_out: endpoint { 629 remote-endpoint = <&panel_in>; 630 }; 631 }; 632 633 port@1 { 634 bridge_in: endpoint { 635 remote-endpoint = <&dp_out>; 636 }; 637 }; 638 }; 639 640 }; 641}; 642 643&hsi2c_8 { 644 status = "okay"; 645 clock-frequency = <333000>; 646 647 /* Atmel mXT336S */ 648 trackpad@4b { 649 compatible = "atmel,maxtouch"; 650 reg = <0x4b>; 651 interrupt-parent = <&gpx1>; 652 interrupts = <1 IRQ_TYPE_EDGE_FALLING>; 653 wakeup-source; 654 pinctrl-names = "default"; 655 pinctrl-0 = <&trackpad_irq>; 656 linux,gpio-keymap = <KEY_RESERVED 657 KEY_RESERVED 658 KEY_RESERVED /* GPIO0 */ 659 KEY_RESERVED /* GPIO1 */ 660 KEY_RESERVED /* GPIO2 */ 661 BTN_LEFT>; /* GPIO3 */ 662 }; 663}; 664 665&hsi2c_9 { 666 status = "okay"; 667 clock-frequency = <400000>; 668 669 tpm@20 { 670 compatible = "infineon,slb9645tt"; 671 reg = <0x20>; 672 673 /* Unused irq; but still need to configure the pins */ 674 pinctrl-names = "default"; 675 pinctrl-0 = <&tpm_irq>; 676 }; 677}; 678 679&i2c_2 { 680 status = "okay"; 681 samsung,i2c-sda-delay = <100>; 682 samsung,i2c-max-bus-freq = <66000>; 683 samsung,i2c-slave-addr = <0x50>; 684}; 685 686&i2s0 { 687 status = "okay"; 688}; 689 690&mmc_0 { 691 status = "okay"; 692 num-slots = <1>; 693 broken-cd; 694 mmc-hs200-1_8v; 695 cap-mmc-highspeed; 696 non-removable; 697 card-detect-delay = <200>; 698 clock-frequency = <400000000>; 699 samsung,dw-mshc-ciu-div = <3>; 700 samsung,dw-mshc-sdr-timing = <0 4>; 701 samsung,dw-mshc-ddr-timing = <0 2>; 702 samsung,dw-mshc-hs400-timing = <0 2>; 703 samsung,read-strobe-delay = <90>; 704 pinctrl-names = "default"; 705 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8 &sd0_rclk>; 706 bus-width = <8>; 707}; 708 709&mmc_1 { 710 status = "okay"; 711 num-slots = <1>; 712 broken-cd; 713 cap-sdio-irq; 714 keep-power-in-suspend; 715 card-detect-delay = <200>; 716 clock-frequency = <400000000>; 717 samsung,dw-mshc-ciu-div = <1>; 718 samsung,dw-mshc-sdr-timing = <0 1>; 719 samsung,dw-mshc-ddr-timing = <0 2>; 720 pinctrl-names = "default"; 721 pinctrl-0 = <&sd1_clk>, <&sd1_cmd>, <&sd1_int>, <&sd1_bus1>, 722 <&sd1_bus4>, <&sd1_bus8>, <&wifi_en>; 723 bus-width = <4>; 724 cap-sd-highspeed; 725 mmc-pwrseq = <&mmc1_pwrseq>; 726 vqmmc-supply = <&buck10_reg>; 727}; 728 729&mmc_2 { 730 status = "okay"; 731 num-slots = <1>; 732 cap-sd-highspeed; 733 card-detect-delay = <200>; 734 clock-frequency = <400000000>; 735 samsung,dw-mshc-ciu-div = <3>; 736 samsung,dw-mshc-sdr-timing = <2 3>; 737 samsung,dw-mshc-ddr-timing = <1 2>; 738 pinctrl-names = "default"; 739 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus1 &sd2_bus4>; 740 bus-width = <4>; 741}; 742 743 744&pinctrl_0 { 745 pinctrl-names = "default"; 746 pinctrl-0 = <&mask_tpm_reset>; 747 748 wifi_en: wifi-en { 749 samsung,pins = "gpx0-0"; 750 samsung,pin-function = <1>; 751 samsung,pin-pud = <0>; 752 samsung,pin-drv = <0>; 753 }; 754 755 max98090_irq: max98090-irq { 756 samsung,pins = "gpx0-2"; 757 samsung,pin-function = <0>; 758 samsung,pin-pud = <0>; 759 samsung,pin-drv = <0>; 760 }; 761 762 /* We need GPX0_6 to be low at sleep time; just keep it low always */ 763 mask_tpm_reset: mask-tpm-reset { 764 samsung,pins = "gpx0-6"; 765 samsung,pin-function = <1>; 766 samsung,pin-pud = <0>; 767 samsung,pin-drv = <0>; 768 samsung,pin-val = <0>; 769 }; 770 771 tpm_irq: tpm-irq { 772 samsung,pins = "gpx1-0"; 773 samsung,pin-function = <0>; 774 samsung,pin-pud = <0>; 775 samsung,pin-drv = <0>; 776 }; 777 778 trackpad_irq: trackpad-irq { 779 samsung,pins = "gpx1-1"; 780 samsung,pin-function = <0xf>; 781 samsung,pin-pud = <0>; 782 samsung,pin-drv = <0>; 783 }; 784 785 power_key_irq: power-key-irq { 786 samsung,pins = "gpx1-2"; 787 samsung,pin-function = <0>; 788 samsung,pin-pud = <0>; 789 samsung,pin-drv = <0>; 790 }; 791 792 ec_irq: ec-irq { 793 samsung,pins = "gpx1-5"; 794 samsung,pin-function = <0>; 795 samsung,pin-pud = <0>; 796 samsung,pin-drv = <0>; 797 }; 798 799 tps65090_irq: tps65090-irq { 800 samsung,pins = "gpx2-5"; 801 samsung,pin-function = <0>; 802 samsung,pin-pud = <0>; 803 samsung,pin-drv = <0>; 804 }; 805 806 dp_hpd_gpio: dp_hpd_gpio { 807 samsung,pins = "gpx2-6"; 808 samsung,pin-function = <0>; 809 samsung,pin-pud = <3>; 810 samsung,pin-drv = <0>; 811 }; 812 813 max77802_irq: max77802-irq { 814 samsung,pins = "gpx3-1"; 815 samsung,pin-function = <0>; 816 samsung,pin-pud = <0>; 817 samsung,pin-drv = <0>; 818 }; 819 820 lid_irq: lid-irq { 821 samsung,pins = "gpx3-4"; 822 samsung,pin-function = <0xf>; 823 samsung,pin-pud = <0>; 824 samsung,pin-drv = <0>; 825 }; 826 827 hdmi_hpd_irq: hdmi-hpd-irq { 828 samsung,pins = "gpx3-7"; 829 samsung,pin-function = <0>; 830 samsung,pin-pud = <1>; 831 samsung,pin-drv = <0>; 832 }; 833 834 pmic_dvs_1: pmic-dvs-1 { 835 samsung,pins = "gpy7-6"; 836 samsung,pin-function = <1>; 837 samsung,pin-pud = <0>; 838 samsung,pin-drv = <0>; 839 }; 840}; 841 842&pinctrl_1 { 843 /* Adjust WiFi drive strengths lower for EMI */ 844 sd1_clk: sd1-clk { 845 samsung,pin-drv = <2>; 846 }; 847 848 sd1_cmd: sd1-cmd { 849 samsung,pin-drv = <2>; 850 }; 851 852 sd1_bus1: sd1-bus-width1 { 853 samsung,pin-drv = <2>; 854 }; 855 856 sd1_bus4: sd1-bus-width4 { 857 samsung,pin-drv = <2>; 858 }; 859 860 sd1_bus8: sd1-bus-width8 { 861 samsung,pin-drv = <2>; 862 }; 863}; 864 865&pinctrl_2 { 866 pmic_dvs_2: pmic-dvs-2 { 867 samsung,pins = "gpj4-2"; 868 samsung,pin-function = <1>; 869 samsung,pin-pud = <0>; 870 samsung,pin-drv = <0>; 871 }; 872 873 pmic_dvs_3: pmic-dvs-3 { 874 samsung,pins = "gpj4-3"; 875 samsung,pin-function = <1>; 876 samsung,pin-pud = <0>; 877 samsung,pin-drv = <0>; 878 }; 879}; 880 881&pinctrl_3 { 882 /* Drive SPI lines at x2 for better integrity */ 883 spi2-bus { 884 samsung,pin-drv = <2>; 885 }; 886 887 /* Drive SPI chip select at x2 for better integrity */ 888 ec_spi_cs: ec-spi-cs { 889 samsung,pins = "gpb1-2"; 890 samsung,pin-function = <1>; 891 samsung,pin-pud = <0>; 892 samsung,pin-drv = <2>; 893 }; 894 895 usb300_vbus_en: usb300-vbus-en { 896 samsung,pins = "gph0-0"; 897 samsung,pin-function = <1>; 898 samsung,pin-pud = <0>; 899 samsung,pin-drv = <0>; 900 }; 901 902 usb301_vbus_en: usb301-vbus-en { 903 samsung,pins = "gph0-1"; 904 samsung,pin-function = <1>; 905 samsung,pin-pud = <0>; 906 samsung,pin-drv = <0>; 907 }; 908 909 pmic_selb: pmic-selb { 910 samsung,pins = "gph0-2", "gph0-3", "gph0-4", "gph0-5", 911 "gph0-6"; 912 samsung,pin-function = <1>; 913 samsung,pin-pud = <0>; 914 samsung,pin-drv = <0>; 915 }; 916}; 917 918&pmu_system_controller { 919 assigned-clocks = <&pmu_system_controller 0>; 920 assigned-clock-parents = <&clock CLK_FIN_PLL>; 921}; 922 923&rtc { 924 status = "okay"; 925 clocks = <&clock CLK_RTC>, <&max77802 MAX77802_CLK_32K_AP>; 926 clock-names = "rtc", "rtc_src"; 927}; 928 929&spi_2 { 930 status = "okay"; 931 num-cs = <1>; 932 samsung,spi-src-clk = <0>; 933 cs-gpios = <&gpb1 2 0>; 934 935 cros_ec: cros-ec@0 { 936 compatible = "google,cros-ec-spi"; 937 interrupt-parent = <&gpx1>; 938 interrupts = <5 0>; 939 pinctrl-names = "default"; 940 pinctrl-0 = <&ec_spi_cs &ec_irq>; 941 reg = <0>; 942 spi-max-frequency = <3125000>; 943 944 controller-data { 945 samsung,spi-feedback-delay = <1>; 946 }; 947 948 i2c-tunnel { 949 compatible = "google,cros-ec-i2c-tunnel"; 950 #address-cells = <1>; 951 #size-cells = <0>; 952 google,remote-bus = <0>; 953 954 battery: sbs-battery@b { 955 compatible = "sbs,sbs-battery"; 956 reg = <0xb>; 957 sbs,poll-retry-count = <1>; 958 sbs,i2c-retry-count = <2>; 959 }; 960 961 power-regulator@48 { 962 compatible = "ti,tps65090"; 963 reg = <0x48>; 964 965 /* 966 * Config irq to disable internal pulls 967 * even though we run in polling mode. 968 */ 969 pinctrl-names = "default"; 970 pinctrl-0 = <&tps65090_irq>; 971 972 vsys1-supply = <&vbat>; 973 vsys2-supply = <&vbat>; 974 vsys3-supply = <&vbat>; 975 infet1-supply = <&vbat>; 976 infet2-supply = <&tps65090_dcdc1>; 977 infet3-supply = <&tps65090_dcdc2>; 978 infet4-supply = <&tps65090_dcdc2>; 979 infet5-supply = <&tps65090_dcdc2>; 980 infet6-supply = <&tps65090_dcdc2>; 981 infet7-supply = <&tps65090_dcdc1>; 982 vsys-l1-supply = <&vbat>; 983 vsys-l2-supply = <&vbat>; 984 985 regulators { 986 tps65090_dcdc1: dcdc1 { 987 ti,enable-ext-control; 988 }; 989 tps65090_dcdc2: dcdc2 { 990 ti,enable-ext-control; 991 }; 992 tps65090_dcdc3: dcdc3 { 993 ti,enable-ext-control; 994 }; 995 tps65090_fet1: fet1 { 996 regulator-name = "vcd_led"; 997 }; 998 tps65090_fet2: fet2 { 999 regulator-name = "video_mid"; 1000 regulator-always-on; 1001 }; 1002 tps65090_fet3: fet3 { 1003 regulator-name = "wwan_r"; 1004 regulator-always-on; 1005 }; 1006 tps65090_fet4: fet4 { 1007 regulator-name = "sdcard"; 1008 regulator-always-on; 1009 }; 1010 tps65090_fet5: fet5 { 1011 regulator-name = "camout"; 1012 regulator-always-on; 1013 }; 1014 tps65090_fet6: fet6 { 1015 regulator-name = "lcd_vdd"; 1016 }; 1017 tps65090_fet7: fet7 { 1018 regulator-name = "video_mid_1a"; 1019 regulator-always-on; 1020 }; 1021 tps65090_ldo1: ldo1 { 1022 }; 1023 tps65090_ldo2: ldo2 { 1024 }; 1025 }; 1026 1027 charger { 1028 compatible = "ti,tps65090-charger"; 1029 }; 1030 }; 1031 }; 1032 }; 1033}; 1034 1035&uart_3 { 1036 status = "okay"; 1037}; 1038 1039&usbdrd_dwc3_0 { 1040 dr_mode = "host"; 1041}; 1042 1043&usbdrd_dwc3_1 { 1044 dr_mode = "host"; 1045}; 1046 1047&usbdrd_phy0 { 1048 vbus-supply = <&usb300_vbus_reg>; 1049}; 1050 1051&usbdrd_phy1 { 1052 vbus-supply = <&usb301_vbus_reg>; 1053}; 1054 1055/* 1056 * Use longest HW watchdog in SoC (32 seconds) since the hardware 1057 * watchdog provides no debugging information (compared to soft/hard 1058 * lockup detectors) and so should be last resort. 1059 */ 1060&watchdog { 1061 timeout-sec = <32>; 1062}; 1063 1064#include "cros-ec-keyboard.dtsi" 1065#include "cros-adc-thermistors.dtsi" 1066