1// SPDX-License-Identifier: BSD-3-Clause 2/* 3 * Copyright (c) 2021, AngeloGioacchino Del Regno 4 * <angelogioacchino.delregno@somainline.org> 5 * Copyright (c) 2021, Konrad Dybcio <konrad.dybcio@somainline.org> 6 */ 7 8#include "msm8996.dtsi" 9#include "pm8994.dtsi" 10#include "pmi8994.dtsi" 11#include <dt-bindings/input/input.h> 12#include <dt-bindings/gpio/gpio.h> 13#include <dt-bindings/pinctrl/qcom,pmic-gpio.h> 14#include <dt-bindings/pinctrl/qcom,pmic-mpp.h> 15 16/delete-node/ &adsp_mem; 17/delete-node/ &slpi_mem; 18/delete-node/ &venus_mem; 19/delete-node/ &gpu_mem; 20 21/ { 22 qcom,msm-id = <246 0x30001>; /* MSM8996 V3.1 (Final) */ 23 qcom,pmic-id = <0x20009 0x2000a 0 0>; /* PM8994 + PMI8994 */ 24 qcom,board-id = <8 0>; 25 26 chosen { 27 /* 28 * Due to an unknown-for-a-few-years regression, 29 * SDHCI only works on MSM8996 in PIO (lame) mode. 30 */ 31 bootargs = "sdhci.debug_quirks=0x40 sdhci.debug_quirks2=0x4 maxcpus=2"; 32 }; 33 34 reserved-memory { 35 ramoops@a7f00000 { 36 compatible = "ramoops"; 37 reg = <0 0xa7f00000 0 0x100000>; 38 record-size = <0x20000>; 39 console-size = <0x40000>; 40 ftrace-size = <0x20000>; 41 pmsg-size = <0x20000>; 42 ecc-size = <16>; 43 }; 44 45 cont_splash_mem: memory@83401000 { 46 reg = <0 0x83401000 0 0x23ff000>; 47 no-map; 48 }; 49 50 adsp_mem: adsp@8ea00000 { 51 reg = <0x0 0x8ea00000 0x0 0x1a00000>; 52 no-map; 53 }; 54 55 gpu_mem: gpu@90400000 { 56 compatible = "shared-dma-pool"; 57 reg = <0x0 0x90400000 0x0 0x2000>; 58 no-map; 59 }; 60 61 slpi_mem: memory@90500000 { 62 reg = <0 0x90500000 0 0xa00000>; 63 no-map; 64 }; 65 66 venus_mem: memory@90f00000 { 67 reg = <0 0x90f00000 0 0x500000>; 68 no-map; 69 }; 70 }; 71 72 panel_tvdd: tvdd-regulator { 73 compatible = "regulator-fixed"; 74 regulator-name = "panel_tvdd"; 75 gpio = <&tlmm 50 GPIO_ACTIVE_LOW>; 76 pinctrl-0 = <&tp_vddio_en>; 77 pinctrl-names = "default"; 78 }; 79 80 usb3_id: usb3-id { 81 compatible = "linux,extcon-usb-gpio"; 82 id-gpio = <&tlmm 25 GPIO_ACTIVE_LOW>; 83 pinctrl-names = "default"; 84 pinctrl-0 = <&usb_detect>; 85 }; 86 87 vph_pwr: vph-pwr-regulator { 88 compatible = "regulator-fixed"; 89 regulator-min-microvolt = <3700000>; 90 regulator-max-microvolt = <3700000>; 91 regulator-name = "vph_pwr"; 92 regulator-always-on; 93 regulator-boot-on; 94 }; 95 96 wlan_en: wlan-en-1-8v { 97 compatible = "regulator-fixed"; 98 regulator-name = "wlan-en-regulator"; 99 regulator-min-microvolt = <1800000>; 100 regulator-max-microvolt = <1800000>; 101 gpio = <&tlmm 84 GPIO_ACTIVE_HIGH>; 102 pinctrl-names = "default"; 103 pinctrl-0 = <&wl_reg_on>; 104 105 /* WLAN card specific delay */ 106 startup-delay-us = <70000>; 107 enable-active-high; 108 }; 109}; 110 111&blsp1_i2c3 { 112 status = "okay"; 113 clock-frequency = <355000>; 114 115 tof_sensor: vl53l0x@29 { 116 compatible = "st,vl53l0x"; 117 reg = <0x29>; 118 }; 119}; 120 121&blsp1_uart2 { 122 status = "okay"; 123}; 124 125&blsp2_i2c5 { 126 status = "okay"; 127 clock-frequency = <355000>; 128 129 /* FUSB301 USB-C controller */ 130}; 131 132&blsp2_i2c6 { 133 status = "okay"; 134 clock-frequency = <355000>; 135 136 synaptics@2c { 137 compatible = "syna,rmi4-i2c"; 138 reg = <0x2c>; 139 interrupt-parent = <&tlmm>; 140 interrupts = <125 IRQ_TYPE_EDGE_FALLING>; 141 vdd-supply = <&panel_tvdd>; 142 143 syna,reset-delay-ms = <220>; 144 syna,startup-delay-ms = <220>; 145 #address-cells = <1>; 146 #size-cells = <0>; 147 148 rmi4-f01@1 { 149 reg = <0x1>; 150 syna,nosleep-mode = <1>; 151 }; 152 153 rmi4-f11@11 { 154 reg = <0x11>; 155 syna,sensor-type = <1>; 156 }; 157 }; 158}; 159 160&blsp2_uart2 { 161 status = "okay"; 162}; 163 164&camera0_mclk { 165 drive-strength = <2>; 166 output-low; 167}; 168 169&camera0_pwdn { 170 drive-strength = <2>; 171 output-low; 172}; 173 174&camera0_rst { 175 pins = "gpio30"; 176 drive-strength = <2>; 177 output-low; 178}; 179 180&camera2_mclk { 181 drive-strength = <2>; 182 output-low; 183}; 184 185&camera2_rst { 186 drive-strength = <2>; 187 output-low; 188}; 189 190&hsusb_phy1 { 191 status = "okay"; 192 193 vdd-supply = <&pm8994_l28>; 194 vdda-pll-supply = <&pm8994_l12>; 195 vdda-phy-dpdm-supply = <&pm8994_l24>; 196}; 197 198&mmcc { 199 vdd-gfx-supply = <&vdd_gfx>; 200}; 201 202&pcie0 { 203 status = "okay"; 204 perst-gpio = <&tlmm 35 GPIO_ACTIVE_LOW>; 205 wake-gpio = <&tlmm 37 GPIO_ACTIVE_HIGH>; 206 vddpe-3v3-supply = <&wlan_en>; 207 vdda-supply = <&pm8994_l28>; 208}; 209 210&pcie_phy { 211 status = "okay"; 212 213 vdda-phy-supply = <&pm8994_l28>; 214 vdda-pll-supply = <&pm8994_l12>; 215}; 216 217&pm8994_gpios { 218 pinctrl-names = "default"; 219 pinctrl-0 = <&pm8994_gpios_defaults>; 220 gpio-line-names = 221 "NC", 222 "VOL_DOWN_N", 223 "VOL_UP_N", 224 "SNAPSHOT_N", 225 "FOCUS_N", 226 "NC", 227 "NFC_VEN", 228 "NC", 229 "NC", 230 "NC", 231 "NC", 232 "NC", 233 "EAR_EN", 234 "NC", 235 "PM_DIVCLK1", 236 "PMI_CLK", 237 "NC", 238 "WL_SLEEP_CLK", 239 "NC", 240 "PMIC_SPON", 241 "UIM_BATT_ALARM", 242 "PMK_SLEEP_CLK"; 243 244 /* 245 * We don't yet know for sure which GPIOs are of our interest, but what 246 * we do know is that if a vendor sets the pins to a non-default state, there's 247 * probably a reason for it, and just to be on the safe side, we follow suit. 248 */ 249 pm8994_gpios_defaults: pm8994-gpios-default-state { 250 pm8994-gpio1-nc { 251 pins = "gpio1"; 252 function = PMIC_GPIO_FUNC_NORMAL; 253 drive-push-pull; 254 bias-high-impedance; 255 }; 256 257 vol-down-n { 258 pins = "gpio2"; 259 function = PMIC_GPIO_FUNC_NORMAL; 260 drive-push-pull; 261 input-enable; 262 bias-pull-up; 263 qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>; 264 power-source = <PM8994_GPIO_S4>; 265 }; 266 267 vol-up-n { 268 pins = "gpio3"; 269 function = PMIC_GPIO_FUNC_NORMAL; 270 drive-push-pull; 271 input-enable; 272 bias-pull-up; 273 power-source = <PM8994_GPIO_S4>; 274 }; 275 276 camera-snapshot-n { 277 pins = "gpio4"; 278 function = PMIC_GPIO_FUNC_NORMAL; 279 drive-push-pull; 280 input-enable; 281 bias-pull-up; 282 qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>; 283 power-source = <PM8994_GPIO_S4>; 284 }; 285 286 camera-focus-n { 287 pins = "gpio5"; 288 function = PMIC_GPIO_FUNC_NORMAL; 289 drive-push-pull; 290 input-enable; 291 bias-pull-up; 292 qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>; 293 power-source = <PM8994_GPIO_S4>; 294 }; 295 296 pm8994-gpio6-nc { 297 pins = "gpio6"; 298 function = PMIC_GPIO_FUNC_NORMAL; 299 drive-push-pull; 300 bias-high-impedance; 301 power-source = <PM8994_GPIO_VPH>; 302 }; 303 304 nfc-download { 305 pins = "gpio7"; 306 function = PMIC_GPIO_FUNC_NORMAL; 307 output-low; 308 drive-push-pull; 309 bias-disable; 310 qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>; 311 power-source = <PM8994_GPIO_S4>; 312 }; 313 314 pm8994-gpio8-nc { 315 pins = "gpio8"; 316 function = PMIC_GPIO_FUNC_NORMAL; 317 output-low; 318 drive-push-pull; 319 bias-high-impedance; 320 qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>; 321 power-source = <PM8994_GPIO_VPH>; 322 }; 323 324 pm8994-gpio9-nc { 325 pins = "gpio9"; 326 function = PMIC_GPIO_FUNC_NORMAL; 327 output-high; 328 drive-push-pull; 329 bias-high-impedance; 330 qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>; 331 power-source = <PM8994_GPIO_VPH>; 332 }; 333 334 nfc-clock { 335 pins = "gpio10"; 336 function = PMIC_GPIO_FUNC_NORMAL; 337 input-enable; 338 drive-push-pull; 339 bias-pull-down; 340 qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>; 341 power-source = <PM8994_GPIO_S4>; 342 }; 343 344 pm8994-gpio11-nc { 345 pins = "gpio11"; 346 function = PMIC_GPIO_FUNC_NORMAL; 347 drive-push-pull; 348 bias-high-impedance; 349 power-source = <PM8994_GPIO_VPH>; 350 }; 351 352 pm8994-gpio12-nc { 353 pins = "gpio12"; 354 function = PMIC_GPIO_FUNC_NORMAL; 355 drive-push-pull; 356 bias-high-impedance; 357 power-source = <PM8994_GPIO_VPH>; 358 }; 359 360 ear-enable { 361 pins = "gpio13"; 362 function = PMIC_GPIO_FUNC_NORMAL; 363 output-high; 364 drive-push-pull; 365 bias-disable; 366 qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>; 367 power-source = <PM8994_GPIO_S4>; 368 }; 369 370 pm8994-gpio14-nc { 371 pins = "gpio14"; 372 function = PMIC_GPIO_FUNC_NORMAL; 373 drive-push-pull; 374 input-enable; 375 bias-high-impedance; 376 qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>; 377 power-source = <PM8994_GPIO_VPH>; 378 }; 379 380 pm-divclk1-gpio { 381 pins = "gpio15"; 382 function = "func1"; 383 output-high; 384 drive-push-pull; 385 bias-high-impedance; 386 qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>; 387 power-source = <PM8994_GPIO_VPH>; 388 }; 389 390 pmi-clk-gpio { 391 pins = "gpio16"; 392 function = PMIC_GPIO_FUNC_NORMAL; 393 drive-push-pull; 394 }; 395 396 pm8994-gpio17-nc { 397 pins = "gpio17"; 398 function = PMIC_GPIO_FUNC_NORMAL; 399 drive-push-pull; 400 bias-high-impedance; 401 power-source = <PM8994_GPIO_VPH>; 402 }; 403 404 rome-sleep { 405 pins = "gpio18"; 406 function = PMIC_GPIO_FUNC_FUNC2; 407 output-low; 408 drive-push-pull; 409 bias-disable; 410 qcom,drive-strength = <PMIC_GPIO_STRENGTH_MED>; 411 power-source = <PM8994_GPIO_S4>; 412 }; 413 414 pm8994-gpio19-nc { 415 pins = "gpio19"; 416 function = PMIC_GPIO_FUNC_NORMAL; 417 output-low; 418 drive-push-pull; 419 bias-high-impedance; 420 qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>; 421 power-source = <PM8994_GPIO_VPH>; 422 }; 423 424 pm8994-gpio22-nc { 425 pins = "gpio22"; 426 function = PMIC_GPIO_FUNC_NORMAL; 427 drive-push-pull; 428 bias-high-impedance; 429 power-source = <PM8994_GPIO_VPH>; 430 }; 431 }; 432}; 433 434&pm8994_mpps { 435 pinctrl-names = "default"; 436 pinctrl-0 = <&pm8994_mpps_defaults>; 437 438 gpio-line-names = 439 "SDC_UIM_VBIAS", 440 "LCD_ID_ADC", 441 "VREF_DACX", 442 "NC", 443 "FLASH_THERM", 444 "NC", 445 "NC", 446 "RF_ID"; 447 448 pm8994_mpps_defaults: pm8994-mpps-default-state { 449 lcd-id_adc-mpp { 450 pins = "mpp2"; 451 function = "analog"; 452 input-enable; 453 qcom,amux-route = <PMIC_MPP_AMUX_ROUTE_CH6>; 454 }; 455 456 pm-mpp4-nc { 457 pins = "mpp4"; 458 function = "digital"; 459 bias-high-impedance; 460 power-source = <PM8994_GPIO_VPH>; 461 }; 462 463 flash-therm-mpp { 464 pins = "mpp5"; 465 function = "analog"; 466 input-enable; 467 qcom,amux-route = <PMIC_MPP_AMUX_ROUTE_CH5>; 468 }; 469 470 mpp6-nc { 471 pins = "mpp6"; 472 function = "digital"; 473 bias-high-impedance; 474 }; 475 476 rf-id-mpp { 477 pins = "mpp8"; 478 function = "analog"; 479 input-enable; 480 qcom,amux-route = <PMIC_MPP_AMUX_ROUTE_CH8>; 481 }; 482 }; 483}; 484 485&pm8994_resin { 486 status = "okay"; 487 linux,code = <KEY_VOLUMEUP>; 488}; 489 490&pmi8994_gpios { 491 pinctrl-names = "default"; 492 pinctrl-0 = <&pmi8994_gpios_defaults>; 493 494 gpio-line-names = 495 "VIB_LDO_EN", 496 "NC", 497 "NC", 498 "NC", 499 "NC", 500 "NC", 501 "NC", 502 "NC", 503 "USB_SWITCH_SEL", 504 "NC"; 505 506 pmi8994_gpios_defaults: pmi8994-gpios-default-state { 507 vib-ldo-en-gpio { 508 pins = "gpio1"; 509 function = PMIC_GPIO_FUNC_NORMAL; 510 drive-push-pull; 511 output-low; 512 bias-disable; 513 power-source = <PM8994_GPIO_S4>; 514 }; 515 516 pmi-gpio2-nc { 517 pins = "gpio2"; 518 function = PMIC_GPIO_FUNC_NORMAL; 519 drive-push-pull; 520 input-enable; 521 bias-high-impedance; 522 qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>; 523 power-source = <PM8994_GPIO_VPH>; 524 }; 525 526 pmi-gpio3-nc { 527 pins = "gpio3"; 528 function = PMIC_GPIO_FUNC_NORMAL; 529 drive-push-pull; 530 input-enable; 531 bias-high-impedance; 532 qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>; 533 power-source = <PM8994_GPIO_VPH>; 534 }; 535 536 pmi-gpio4-nc { 537 pins = "gpio4"; 538 function = PMIC_GPIO_FUNC_NORMAL; 539 drive-push-pull; 540 output-high; 541 qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>; 542 power-source = <PM8994_GPIO_S4>; 543 }; 544 545 pmi-gpio5-nc { 546 pins = "gpio5"; 547 function = PMIC_GPIO_FUNC_NORMAL; 548 drive-push-pull; 549 output-high; 550 qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>; 551 power-source = <PM8994_GPIO_S4>; 552 }; 553 554 pmi-gpio6-nc { 555 pins = "gpio6"; 556 function = PMIC_GPIO_FUNC_NORMAL; 557 drive-push-pull; 558 output-high; 559 qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>; 560 power-source = <PM8994_GPIO_S4>; 561 }; 562 563 pmi-gpio7-nc { 564 pins = "gpio7"; 565 function = PMIC_GPIO_FUNC_NORMAL; 566 drive-push-pull; 567 output-high; 568 qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>; 569 power-source = <PM8994_GPIO_S4>; 570 }; 571 572 pmi-gpio8-nc { 573 pins = "gpio8"; 574 function = PMIC_GPIO_FUNC_NORMAL; 575 drive-push-pull; 576 output-high; 577 qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>; 578 power-source = <PM8994_GPIO_S4>; 579 }; 580 581 usb-switch-sel { 582 pins = "gpio9"; 583 function = PMIC_GPIO_FUNC_NORMAL; 584 drive-push-pull; 585 }; 586 587 pmi-gpio10-nc { 588 pins = "gpio10"; 589 function = PMIC_GPIO_FUNC_NORMAL; 590 output-low; 591 drive-push-pull; 592 bias-disable; 593 qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>; 594 power-source = <PM8994_GPIO_S4>; 595 }; 596 }; 597}; 598 599&pm8994_spmi_regulators { 600 qcom,saw-reg = <&saw3>; 601 602 pm8994_s9: s9 { 603 qcom,saw-slave; 604 }; 605 606 pm8994_s10: s10 { 607 qcom,saw-slave; 608 }; 609 610 pm8994_s11: s11 { 611 qcom,saw-leader; 612 regulator-name = "vdd_apcc"; 613 regulator-always-on; 614 regulator-min-microvolt = <470000>; 615 regulator-max-microvolt = <1140000>; 616 }; 617}; 618 619&pmi8994_spmi_regulators { 620 vdd_gfx: 621 pmi8994_s2: s2 { 622 /* Pinned to a high value for now to avoid random crashes. */ 623 regulator-min-microvolt = <1015000>; 624 regulator-max-microvolt = <1015000>; 625 regulator-name = "vdd_gfx"; 626 regulator-always-on; 627 }; 628}; 629 630&pmi8994_wled { 631 status = "okay"; 632 default-brightness = <512>; 633 qcom,num-strings = <3>; 634}; 635 636&rpm_requests { 637 pm8994-regulators { 638 compatible = "qcom,rpm-pm8994-regulators"; 639 640 vdd_s1-supply = <&vph_pwr>; 641 vdd_s2-supply = <&vph_pwr>; 642 vdd_s3-supply = <&vph_pwr>; 643 vdd_s4-supply = <&vph_pwr>; 644 vdd_s5-supply = <&vph_pwr>; 645 vdd_s6-supply = <&vph_pwr>; 646 vdd_s7-supply = <&vph_pwr>; 647 vdd_s8-supply = <&vph_pwr>; 648 vdd_s9-supply = <&vph_pwr>; 649 vdd_s10-supply = <&vph_pwr>; 650 vdd_s11-supply = <&vph_pwr>; 651 vdd_s12-supply = <&vph_pwr>; 652 vdd_l1-supply = <&pm8994_s3>; 653 vdd_l2_l26_l28-supply = <&pm8994_s3>; 654 vdd_l3_l11-supply = <&pm8994_s3>; 655 vdd_l4_l27_l31-supply = <&pm8994_s3>; 656 vdd_l5_l7-supply = <&pm8994_s5>; 657 vdd_l6_l12_l32-supply = <&pm8994_s5>; 658 vdd_l8_l16_l30-supply = <&vph_pwr>; 659 vdd_l14_l15-supply = <&pm8994_s5>; 660 vdd_l20_l21-supply = <&pm8994_s5>; 661 vdd_l25-supply = <&pm8994_s3>; 662 vdd_lvs1_2-supply = <&pm8994_s4>; 663 664 pm8994_s3: s3 { 665 regulator-min-microvolt = <1300000>; 666 regulator-max-microvolt = <1300000>; 667 }; 668 669 pm8994_s4: s4 { 670 regulator-min-microvolt = <1800000>; 671 regulator-max-microvolt = <1800000>; 672 regulator-system-load = <325000>; 673 regulator-always-on; 674 }; 675 676 pm8994_s5: s5 { 677 regulator-min-microvolt = <2150000>; 678 regulator-max-microvolt = <2150000>; 679 }; 680 681 pm8994_s7: s7 { 682 regulator-min-microvolt = <800000>; 683 regulator-max-microvolt = <800000>; 684 }; 685 686 pm8994_l1: l1 { 687 regulator-min-microvolt = <1000000>; 688 regulator-max-microvolt = <1000000>; 689 }; 690 691 pm8994_l2: l2 { 692 regulator-min-microvolt = <1250000>; 693 regulator-max-microvolt = <1250000>; 694 }; 695 696 pm8994_l3: l3 { 697 regulator-min-microvolt = <1100000>; 698 regulator-max-microvolt = <1100000>; 699 }; 700 701 pm8994_l4: l4 { 702 regulator-min-microvolt = <1225000>; 703 regulator-max-microvolt = <1225000>; 704 }; 705 706 /* L6 and L7 seem unused. */ 707 708 pm8994_l8: l8 { 709 regulator-min-microvolt = <1800000>; 710 regulator-max-microvolt = <1800000>; 711 }; 712 713 pm8994_l9: l9 { 714 regulator-min-microvolt = <1800000>; 715 regulator-max-microvolt = <1800000>; 716 }; 717 718 pm8994_l10: l10 { 719 regulator-min-microvolt = <1800000>; 720 regulator-max-microvolt = <1800000>; 721 }; 722 723 pm8994_l11: l11 { 724 regulator-min-microvolt = <1100000>; 725 regulator-max-microvolt = <1100000>; 726 }; 727 728 pm8994_l12: l12 { 729 regulator-min-microvolt = <1800000>; 730 regulator-max-microvolt = <1800000>; 731 regulator-allow-set-load; 732 }; 733 734 pm8994_l13: l13 { 735 regulator-min-microvolt = <1800000>; 736 regulator-max-microvolt = <2950000>; 737 regulator-system-load = <22000>; 738 regulator-allow-set-load; 739 }; 740 741 pm8994_l14: l14 { 742 regulator-min-microvolt = <1700000>; 743 regulator-max-microvolt = <1900000>; 744 }; 745 746 pm8994_l15: l15 { 747 regulator-min-microvolt = <1800000>; 748 regulator-max-microvolt = <1800000>; 749 }; 750 751 pm8994_l16: l16 { 752 regulator-min-microvolt = <2700000>; 753 regulator-max-microvolt = <2700000>; 754 }; 755 756 pm8994_l17: l17 { 757 regulator-min-microvolt = <2200000>; 758 regulator-max-microvolt = <2500000>; 759 }; 760 761 pm8994_l18: l18 { 762 regulator-min-microvolt = <1800000>; 763 regulator-max-microvolt = <1800000>; 764 }; 765 766 pm8994_l19: l19 { 767 regulator-min-microvolt = <3000000>; 768 regulator-max-microvolt = <3000000>; 769 }; 770 771 pm8994_l20: l20 { 772 regulator-min-microvolt = <2950000>; 773 regulator-max-microvolt = <2950000>; 774 regulator-system-load = <570000>; 775 regulator-allow-set-load; 776 }; 777 778 pm8994_l21: l21 { 779 regulator-min-microvolt = <2950000>; 780 regulator-max-microvolt = <2950000>; 781 regulator-system-load = <800000>; 782 regulator-allow-set-load; 783 }; 784 785 pm8994_l22: l22 { 786 regulator-min-microvolt = <3000000>; 787 regulator-max-microvolt = <3000000>; 788 }; 789 790 pm8994_l23: l23 { 791 regulator-min-microvolt = <2700000>; 792 regulator-max-microvolt = <2700000>; 793 }; 794 795 pm8994_l24: l24 { 796 regulator-min-microvolt = <3075000>; 797 regulator-max-microvolt = <3075000>; 798 regulator-allow-set-load; 799 }; 800 801 pm8994_l25: l25 { 802 regulator-min-microvolt = <1200000>; 803 regulator-max-microvolt = <1200000>; 804 regulator-allow-set-load; 805 }; 806 807 pm8994_l27: l27 { 808 regulator-min-microvolt = <1000000>; 809 regulator-max-microvolt = <1200000>; 810 }; 811 812 pm8994_l28: l28 { 813 regulator-min-microvolt = <925000>; 814 regulator-max-microvolt = <925000>; 815 regulator-allow-set-load; 816 }; 817 818 pm8994_l29: l29 { 819 regulator-min-microvolt = <2700000>; 820 regulator-max-microvolt = <2700000>; 821 }; 822 823 pm8994_l30: l30 { }; 824 825 pm8994_l32: l32 { 826 regulator-min-microvolt = <1800000>; 827 regulator-max-microvolt = <1800000>; 828 }; 829 }; 830}; 831 832&sdhc1 { 833 /* eMMC doesn't seem to cooperate even in PIO mode.. */ 834 status = "disabled"; 835 836 vmmc-supply = <&pm8994_l20>; 837 vqmmc-supply = <&pm8994_s4>; 838 mmc-hs400-1_8v; 839 mmc-hs200-1_8v; 840}; 841 842&sdhc2 { 843 status = "okay"; 844 845 cd-gpios = <&tlmm 40 GPIO_ACTIVE_HIGH>; 846 vmmc-supply = <&pm8994_l21>; 847 vqmmc-supply = <&pm8994_l13>; 848}; 849 850&tlmm { 851 gpio-reserved-ranges = <0 4>; 852 pinctrl-0 = <&sw_service_gpio>; 853 pinctrl-names = "default"; 854 855 disp_reset_n_gpio: disp-reset-n { 856 pins = "gpio8"; 857 function = "gpio"; 858 drive-strength = <2>; 859 bias-disable; 860 }; 861 862 mdp_vsync_p_gpio: mdp-vsync-p { 863 pins = "gpio10"; 864 function = "mdp_vsync"; 865 drive-strength = <2>; 866 bias-disable; 867 }; 868 869 sw_service_gpio: sw-service-gpio { 870 pins = "gpio16"; 871 function = "gpio"; 872 drive-strength = <2>; 873 bias-pull-up; 874 }; 875 876 usb_detect: usb-detect { 877 pins = "gpio25"; 878 function = "gpio"; 879 drive-strength = <2>; 880 bias-disable; 881 output-high; 882 }; 883 884 uim_detect_en: uim-detect-en { 885 pins = "gpio29"; 886 function = "gpio"; 887 drive-strength = <2>; 888 bias-disable; 889 output-high; 890 }; 891 892 tray_det_pin: tray-det { 893 pins = "gpio40"; 894 function = "gpio"; 895 drive-strength = <2>; 896 bias-disable; 897 }; 898 899 tp_vddio_en: tp-vddio-en { 900 pins = "gpio50"; 901 function = "gpio"; 902 drive-strength = <2>; 903 bias-disable; 904 output-high; 905 }; 906 907 lcd_vddio_en: lcd-vddio-en { 908 pins = "gpio51"; 909 function = "gpio"; 910 drive-strength = <2>; 911 bias-disable; 912 output-low; 913 }; 914 915 wl_host_wake: wl-host-wake { 916 pins = "gpio79"; 917 function = "gpio"; 918 drive-strength = <2>; 919 bias-pull-down; 920 input-high; 921 }; 922 923 wl_reg_on: wl-reg-on { 924 pins = "gpio84"; 925 function = "gpio"; 926 drive-strength = <2>; 927 bias-disable; 928 output-low; 929 }; 930 931 ts_reset_n: ts-rst-n { 932 pins = "gpio89"; 933 function = "gpio"; 934 drive-strength = <2>; 935 }; 936 937 touch_int_n: touch-int-n { 938 pins = "gpio125"; 939 function = "gpio"; 940 drive-strength = <2>; 941 bias-pull-up; 942 }; 943 944 touch_int_sleep: touch-int-sleep { 945 pins = "gpio125"; 946 function = "gpio"; 947 drive-strength = <2>; 948 bias-pull-down; 949 }; 950}; 951 952/* 953 * For reasons that are currently unknown (but probably related to fusb301), USB takes about 954 * 6 minutes to wake up (nothing interesting in kernel logs), but then it works as it should. 955 */ 956&usb3 { 957 status = "okay"; 958 qcom,select-utmi-as-pipe-clk; 959}; 960 961&usb3_dwc3 { 962 extcon = <&usb3_id>; 963 dr_mode = "peripheral"; 964 phys = <&hsusb_phy1>; 965 phy-names = "usb2-phy"; 966 snps,hird-threshold = /bits/ 8 <0>; 967}; 968