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