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