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