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