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