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