1/* 2 * Google Peach Pi Rev 10+ 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 "exynos5800.dtsi" 18#include "exynos5420-cpus.dtsi" 19 20/ { 21 model = "Google Peach Pi Rev 10+"; 22 23 compatible = "google,pi-rev16", 24 "google,pi-rev15", "google,pi-rev14", 25 "google,pi-rev13", "google,pi-rev12", 26 "google,pi-rev11", "google,pi-rev10", 27 "google,pi", "google,peach", "samsung,exynos5800", 28 "samsung,exynos5"; 29 30 aliases { 31 /* Assign 20 so we don't get confused w/ builtin ones */ 32 i2c20 = &i2c_tunnel; 33 }; 34 35 backlight: backlight { 36 compatible = "pwm-backlight"; 37 pwms = <&pwm 0 1000000 0>; 38 brightness-levels = <0 100 500 1000 1500 2000 2500 2800>; 39 default-brightness-level = <7>; 40 enable-gpios = <&gpx2 2 GPIO_ACTIVE_HIGH>; 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 81 memory@20000000 { 82 device_type = "memory"; 83 reg = <0x20000000 0x80000000>; 84 }; 85 86 sound { 87 compatible = "google,snow-audio-max98091"; 88 89 samsung,model = "Peach-Pi-I2S-MAX98091"; 90 samsung,i2s-controller = <&i2s0>; 91 samsung,audio-codec = <&max98091>; 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,b133htn01"; 125 power-supply = <&tps65090_fet6>; 126 backlight = <&backlight>; 127 128 port { 129 panel_in: endpoint { 130 remote-endpoint = <&dp_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 = <0x0a>; 163 samsung,lane-count = <2>; 164 samsung,hpd-gpio = <&gpx2 6 GPIO_ACTIVE_HIGH>; 165 166 ports { 167 port { 168 dp_out: endpoint { 169 remote-endpoint = <&panel_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 max98091: codec@10 { 608 compatible = "maxim,max98091"; 609 reg = <0x10>; 610 interrupts = <2 IRQ_TYPE_NONE>; 611 interrupt-parent = <&gpx0>; 612 pinctrl-names = "default"; 613 pinctrl-0 = <&max98091_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 625&hsi2c_8 { 626 status = "okay"; 627 clock-frequency = <333000>; 628 /* Atmel mXT540S */ 629 trackpad@4b { 630 compatible = "atmel,maxtouch"; 631 reg = <0x4b>; 632 interrupt-parent = <&gpx1>; 633 interrupts = <1 IRQ_TYPE_EDGE_FALLING>; 634 wakeup-source; 635 pinctrl-names = "default"; 636 pinctrl-0 = <&trackpad_irq>; 637 linux,gpio-keymap = <KEY_RESERVED 638 KEY_RESERVED 639 KEY_RESERVED /* GPIO 0 */ 640 KEY_RESERVED /* GPIO 1 */ 641 BTN_LEFT /* GPIO 2 */ 642 KEY_RESERVED>; /* GPIO 3 */ 643 }; 644}; 645 646&hsi2c_9 { 647 status = "okay"; 648 clock-frequency = <400000>; 649 650 tpm@20 { 651 compatible = "infineon,slb9645tt"; 652 reg = <0x20>; 653 654 /* Unused irq; but still need to configure the pins */ 655 pinctrl-names = "default"; 656 pinctrl-0 = <&tpm_irq>; 657 }; 658}; 659 660&i2c_2 { 661 status = "okay"; 662 samsung,i2c-sda-delay = <100>; 663 samsung,i2c-max-bus-freq = <66000>; 664 samsung,i2c-slave-addr = <0x50>; 665}; 666 667&i2s0 { 668 status = "okay"; 669}; 670 671/* eMMC flash */ 672&mmc_0 { 673 status = "okay"; 674 mmc-hs200-1_8v; 675 mmc-hs400-1_8v; 676 cap-mmc-highspeed; 677 non-removable; 678 clock-frequency = <800000000>; 679 samsung,dw-mshc-ciu-div = <3>; 680 samsung,dw-mshc-sdr-timing = <0 4>; 681 samsung,dw-mshc-ddr-timing = <0 2>; 682 samsung,dw-mshc-hs400-timing = <0 2>; 683 samsung,read-strobe-delay = <90>; 684 pinctrl-names = "default"; 685 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8 &sd0_rclk>; 686 bus-width = <8>; 687}; 688 689/* WiFi SDIO module */ 690&mmc_1 { 691 status = "okay"; 692 non-removable; 693 cap-sdio-irq; 694 keep-power-in-suspend; 695 clock-frequency = <400000000>; 696 samsung,dw-mshc-ciu-div = <1>; 697 samsung,dw-mshc-sdr-timing = <0 1>; 698 samsung,dw-mshc-ddr-timing = <0 2>; 699 pinctrl-names = "default"; 700 pinctrl-0 = <&sd1_clk>, <&sd1_cmd>, <&sd1_int>, <&sd1_bus1>, 701 <&sd1_bus4>, <&sd1_bus8>, <&wifi_en>; 702 bus-width = <4>; 703 cap-sd-highspeed; 704 mmc-pwrseq = <&mmc1_pwrseq>; 705 vqmmc-supply = <&buck10_reg>; 706}; 707 708/* uSD card */ 709&mmc_2 { 710 status = "okay"; 711 cap-sd-highspeed; 712 card-detect-delay = <200>; 713 clock-frequency = <400000000>; 714 samsung,dw-mshc-ciu-div = <3>; 715 samsung,dw-mshc-sdr-timing = <2 3>; 716 samsung,dw-mshc-ddr-timing = <1 2>; 717 pinctrl-names = "default"; 718 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus1 &sd2_bus4>; 719 bus-width = <4>; 720}; 721 722 723&pinctrl_0 { 724 pinctrl-names = "default"; 725 pinctrl-0 = <&mask_tpm_reset>; 726 727 wifi_en: wifi-en { 728 samsung,pins = "gpx0-0"; 729 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; 730 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 731 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>; 732 }; 733 734 max98091_irq: max98091-irq { 735 samsung,pins = "gpx0-2"; 736 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>; 737 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 738 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>; 739 }; 740 741 /* We need GPX0_6 to be low at sleep time; just keep it low always */ 742 mask_tpm_reset: mask-tpm-reset { 743 samsung,pins = "gpx0-6"; 744 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; 745 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 746 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>; 747 samsung,pin-val = <0>; 748 }; 749 750 tpm_irq: tpm-irq { 751 samsung,pins = "gpx1-0"; 752 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>; 753 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 754 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>; 755 }; 756 757 trackpad_irq: trackpad-irq { 758 samsung,pins = "gpx1-1"; 759 samsung,pin-function = <EXYNOS_PIN_FUNC_F>; 760 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 761 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>; 762 }; 763 764 power_key_irq: power-key-irq { 765 samsung,pins = "gpx1-2"; 766 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>; 767 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 768 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>; 769 }; 770 771 ec_irq: ec-irq { 772 samsung,pins = "gpx1-5"; 773 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>; 774 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 775 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>; 776 }; 777 778 tps65090_irq: tps65090-irq { 779 samsung,pins = "gpx2-5"; 780 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>; 781 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 782 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>; 783 }; 784 785 dp_hpd_gpio: dp_hpd_gpio { 786 samsung,pins = "gpx2-6"; 787 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>; 788 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; 789 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>; 790 }; 791 792 max77802_irq: max77802-irq { 793 samsung,pins = "gpx3-1"; 794 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>; 795 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 796 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>; 797 }; 798 799 lid_irq: lid-irq { 800 samsung,pins = "gpx3-4"; 801 samsung,pin-function = <EXYNOS_PIN_FUNC_F>; 802 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 803 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>; 804 }; 805 806 hdmi_hpd_irq: hdmi-hpd-irq { 807 samsung,pins = "gpx3-7"; 808 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>; 809 samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>; 810 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>; 811 }; 812 813 pmic_dvs_1: pmic-dvs-1 { 814 samsung,pins = "gpy7-6"; 815 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; 816 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 817 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>; 818 }; 819}; 820 821&pinctrl_1 { 822 /* Adjust WiFi drive strengths lower for EMI */ 823 sd1_clk: sd1-clk { 824 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV3>; 825 }; 826 827 sd1_cmd: sd1-cmd { 828 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV3>; 829 }; 830 831 sd1_bus1: sd1-bus-width1 { 832 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV3>; 833 }; 834 835 sd1_bus4: sd1-bus-width4 { 836 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV3>; 837 }; 838 839 sd1_bus8: sd1-bus-width8 { 840 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV3>; 841 }; 842}; 843 844&pinctrl_2 { 845 pmic_dvs_2: pmic-dvs-2 { 846 samsung,pins = "gpj4-2"; 847 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; 848 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 849 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>; 850 }; 851 852 pmic_dvs_3: pmic-dvs-3 { 853 samsung,pins = "gpj4-3"; 854 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; 855 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 856 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>; 857 }; 858}; 859 860&pinctrl_3 { 861 /* Drive SPI lines at x2 for better integrity */ 862 spi2-bus { 863 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV3>; 864 }; 865 866 /* Drive SPI chip select at x2 for better integrity */ 867 ec_spi_cs: ec-spi-cs { 868 samsung,pins = "gpb1-2"; 869 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; 870 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 871 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV3>; 872 }; 873 874 usb300_vbus_en: usb300-vbus-en { 875 samsung,pins = "gph0-0"; 876 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; 877 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 878 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>; 879 }; 880 881 usb301_vbus_en: usb301-vbus-en { 882 samsung,pins = "gph0-1"; 883 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; 884 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 885 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>; 886 }; 887 888 pmic_selb: pmic-selb { 889 samsung,pins = "gph0-2", "gph0-3", "gph0-4", "gph0-5", 890 "gph0-6"; 891 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; 892 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 893 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>; 894 }; 895}; 896 897&pmu_system_controller { 898 assigned-clocks = <&pmu_system_controller 0>; 899 assigned-clock-parents = <&clock CLK_FIN_PLL>; 900}; 901 902&rtc { 903 status = "okay"; 904 clocks = <&clock CLK_RTC>, <&max77802 MAX77802_CLK_32K_AP>; 905 clock-names = "rtc", "rtc_src"; 906}; 907 908&spi_2 { 909 status = "okay"; 910 num-cs = <1>; 911 samsung,spi-src-clk = <0>; 912 cs-gpios = <&gpb1 2 GPIO_ACTIVE_HIGH>; 913 914 cros_ec: cros-ec@0 { 915 compatible = "google,cros-ec-spi"; 916 interrupt-parent = <&gpx1>; 917 interrupts = <5 IRQ_TYPE_NONE>; 918 pinctrl-names = "default"; 919 pinctrl-0 = <&ec_spi_cs &ec_irq>; 920 reg = <0>; 921 spi-max-frequency = <3125000>; 922 google,has-vbc-nvram; 923 924 controller-data { 925 samsung,spi-feedback-delay = <1>; 926 }; 927 928 i2c_tunnel: i2c-tunnel { 929 compatible = "google,cros-ec-i2c-tunnel"; 930 #address-cells = <1>; 931 #size-cells = <0>; 932 google,remote-bus = <0>; 933 934 battery: sbs-battery@b { 935 compatible = "sbs,sbs-battery"; 936 reg = <0xb>; 937 sbs,poll-retry-count = <1>; 938 sbs,i2c-retry-count = <2>; 939 }; 940 941 power-regulator@48 { 942 compatible = "ti,tps65090"; 943 reg = <0x48>; 944 945 /* 946 * Config irq to disable internal pulls 947 * even though we run in polling mode. 948 */ 949 pinctrl-names = "default"; 950 pinctrl-0 = <&tps65090_irq>; 951 952 vsys1-supply = <&vbat>; 953 vsys2-supply = <&vbat>; 954 vsys3-supply = <&vbat>; 955 infet1-supply = <&vbat>; 956 infet2-supply = <&tps65090_dcdc1>; 957 infet3-supply = <&tps65090_dcdc2>; 958 infet4-supply = <&tps65090_dcdc2>; 959 infet5-supply = <&tps65090_dcdc2>; 960 infet6-supply = <&tps65090_dcdc2>; 961 infet7-supply = <&tps65090_dcdc1>; 962 vsys-l1-supply = <&vbat>; 963 vsys-l2-supply = <&vbat>; 964 965 regulators { 966 tps65090_dcdc1: dcdc1 { 967 ti,enable-ext-control; 968 }; 969 tps65090_dcdc2: dcdc2 { 970 ti,enable-ext-control; 971 }; 972 tps65090_dcdc3: dcdc3 { 973 ti,enable-ext-control; 974 }; 975 tps65090_fet1: fet1 { 976 regulator-name = "vcd_led"; 977 }; 978 tps65090_fet2: fet2 { 979 regulator-name = "video_mid"; 980 regulator-always-on; 981 }; 982 tps65090_fet3: fet3 { 983 regulator-name = "wwan_r"; 984 regulator-always-on; 985 }; 986 tps65090_fet4: fet4 { 987 regulator-name = "sdcard"; 988 regulator-always-on; 989 }; 990 tps65090_fet5: fet5 { 991 regulator-name = "camout"; 992 regulator-always-on; 993 }; 994 tps65090_fet6: fet6 { 995 regulator-name = "lcd_vdd"; 996 }; 997 tps65090_fet7: fet7 { 998 regulator-name = "video_mid_1a"; 999 regulator-always-on; 1000 }; 1001 tps65090_ldo1: ldo1 { 1002 }; 1003 tps65090_ldo2: ldo2 { 1004 }; 1005 }; 1006 1007 charger { 1008 compatible = "ti,tps65090-charger"; 1009 }; 1010 }; 1011 }; 1012 }; 1013}; 1014 1015&serial_3 { 1016 status = "okay"; 1017}; 1018 1019&tmu_cpu0 { 1020 vtmu-supply = <&ldo10_reg>; 1021}; 1022 1023&tmu_cpu1 { 1024 vtmu-supply = <&ldo10_reg>; 1025}; 1026 1027&tmu_cpu2 { 1028 vtmu-supply = <&ldo10_reg>; 1029}; 1030 1031&tmu_cpu3 { 1032 vtmu-supply = <&ldo10_reg>; 1033}; 1034 1035&tmu_gpu { 1036 vtmu-supply = <&ldo10_reg>; 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