1 // SPDX-License-Identifier: BSD-3-Clause 2 /* 3 * Copyright (c) 2021, Luca Weiss <luca@z3ntu.x 4 */ 5 6 /dts-v1/; 7 8 /* PM7250B is configured to use SID2/3 */ 9 #define PM7250B_SID 2 10 #define PM7250B_SID1 3 11 12 /* PMK8350 (in reality a PMK8003) is configure 13 #define PMK8350_SID 6 14 15 #include <dt-bindings/firmware/qcom,scm.h> 16 #include <dt-bindings/gpio/gpio.h> 17 #include <dt-bindings/iio/qcom,spmi-adc7-pmk83 18 #include <dt-bindings/input/input.h> 19 #include <dt-bindings/leds/common.h> 20 #include <dt-bindings/pinctrl/qcom,pmic-gpio.h 21 #include <dt-bindings/regulator/qcom,rpmh-regu 22 #include <dt-bindings/usb/pd.h> 23 #include "sm7225.dtsi" 24 #include "pm6150l.dtsi" 25 #include "pm6350.dtsi" 26 #include "pm7250b.dtsi" 27 #include "pmk8350.dtsi" 28 29 / { 30 model = "Fairphone 4"; 31 compatible = "fairphone,fp4", "qcom,sm 32 chassis-type = "handset"; 33 34 /* required for bootloader to select c 35 qcom,msm-id = <434 0x10000>, <459 0x10 36 qcom,board-id = <8 32>; 37 38 aliases { 39 serial0 = &uart9; 40 serial1 = &uart1; 41 }; 42 43 chosen { 44 #address-cells = <2>; 45 #size-cells = <2>; 46 ranges; 47 48 stdout-path = "serial0:115200n 49 50 framebuffer0: framebuffer@a000 51 compatible = "simple-f 52 reg = <0 0xa0000000 0 53 width = <1080>; 54 height = <2340>; 55 stride = <(1080 * 4)>; 56 format = "a8r8g8b8"; 57 }; 58 }; 59 60 gpio-keys { 61 compatible = "gpio-keys"; 62 pinctrl-names = "default"; 63 pinctrl-0 = <&gpio_keys_pin>; 64 65 key-volume-up { 66 label = "volume_up"; 67 linux,code = <KEY_VOLU 68 gpios = <&pm6350_gpios 69 }; 70 }; 71 72 /* Dummy regulator until PM6150L has L 73 lcdb_dummy: regulator-lcdb-dummy { 74 compatible = "regulator-fixed" 75 regulator-name = "lcdb_dummy"; 76 regulator-min-microvolt = <550 77 regulator-max-microvolt = <550 78 }; 79 80 reserved-memory { 81 /* 82 * The rmtfs memory region in 83 * but given the same address 84 * where the modem firmware ex 85 */ 86 memory@efe01000 { 87 compatible = "qcom,rmt 88 reg = <0 0xefe01000 0 89 no-map; 90 91 qcom,client-id = <1>; 92 qcom,vmid = <QCOM_SCM_ 93 }; 94 }; 95 96 msm_therm_sensor: thermal-sensor-msm { 97 compatible = "generic-adc-ther 98 #thermal-sensor-cells = <0>; 99 io-channels = <&pm6150l_adc AD 100 io-channel-names = "sensor-cha 101 }; 102 103 rear_cam_sensor: thermal-sensor-rear-c 104 compatible = "generic-adc-ther 105 #thermal-sensor-cells = <0>; 106 io-channels = <&pm6150l_adc AD 107 io-channel-names = "sensor-cha 108 }; 109 110 thermal-zones { 111 chg-skin-thermal { 112 thermal-sensors = <&pm 113 114 trips { 115 active-config0 116 temper 117 hyster 118 type = 119 }; 120 }; 121 }; 122 123 conn-thermal { 124 thermal-sensors = <&pm 125 126 trips { 127 active-config0 128 temper 129 hyster 130 type = 131 }; 132 }; 133 }; 134 135 pa0-thermal { 136 thermal-sensors = <&pm 137 138 trips { 139 active-config0 140 temper 141 hyster 142 type = 143 }; 144 }; 145 }; 146 147 pa1-thermal { 148 thermal-sensors = <&pm 149 150 trips { 151 active-config0 152 temper 153 hyster 154 type = 155 }; 156 }; 157 }; 158 159 pm8008-thermal { 160 polling-delay-passive 161 thermal-sensors = <&pm 162 163 trips { 164 trip0 { 165 temper 166 hyster 167 type = 168 }; 169 170 trip1 { 171 temper 172 hyster 173 type = 174 }; 175 }; 176 }; 177 178 quiet-thermal { 179 thermal-sensors = <&pm 180 181 trips { 182 active-config0 183 temper 184 hyster 185 type = 186 }; 187 }; 188 }; 189 190 rear-cam-thermal { 191 polling-delay-passive 192 polling-delay = <5000> 193 thermal-sensors = <&re 194 195 trips { 196 active-config0 197 temper 198 hyster 199 type = 200 }; 201 }; 202 }; 203 204 rfc-flash-thermal { 205 thermal-sensors = <&pm 206 207 trips { 208 active-config0 209 temper 210 hyster 211 type = 212 }; 213 }; 214 }; 215 216 sdm-skin-thermal { 217 polling-delay-passive 218 polling-delay = <5000> 219 thermal-sensors = <&ms 220 221 trips { 222 trip0 { 223 temper 224 hyster 225 type = 226 }; 227 228 trip1 { 229 temper 230 hyster 231 type = 232 }; 233 }; 234 }; 235 236 xo-thermal { 237 thermal-sensors = <&pm 238 239 trips { 240 active-config0 241 temper 242 hyster 243 type = 244 }; 245 }; 246 }; 247 }; 248 }; 249 250 &adsp { 251 firmware-name = "qcom/sm7225/fairphone 252 status = "okay"; 253 }; 254 255 &apps_rsc { 256 regulators-0 { 257 compatible = "qcom,pm6350-rpmh 258 qcom,pmic-id = "a"; 259 260 vreg_s1a: smps1 { 261 regulator-name = "vreg 262 regulator-min-microvol 263 regulator-max-microvol 264 }; 265 266 vreg_s2a: smps2 { 267 regulator-name = "vreg 268 regulator-min-microvol 269 regulator-max-microvol 270 }; 271 272 vreg_l2a: ldo2 { 273 regulator-name = "vreg 274 regulator-min-microvol 275 regulator-max-microvol 276 regulator-initial-mode 277 }; 278 279 vreg_l3a: ldo3 { 280 regulator-name = "vreg 281 regulator-min-microvol 282 regulator-max-microvol 283 regulator-initial-mode 284 }; 285 286 vreg_l4a: ldo4 { 287 regulator-name = "vreg 288 regulator-min-microvol 289 regulator-max-microvol 290 regulator-initial-mode 291 }; 292 293 vreg_l5a: ldo5 { 294 regulator-name = "vreg 295 regulator-min-microvol 296 regulator-max-microvol 297 regulator-initial-mode 298 }; 299 300 vreg_l6a: ldo6 { 301 regulator-name = "vreg 302 regulator-min-microvol 303 regulator-max-microvol 304 regulator-initial-mode 305 }; 306 307 vreg_l7a: ldo7 { 308 regulator-name = "vreg 309 regulator-min-microvol 310 regulator-max-microvol 311 regulator-initial-mode 312 }; 313 314 vreg_l8a: ldo8 { 315 regulator-name = "vreg 316 regulator-min-microvol 317 regulator-max-microvol 318 regulator-initial-mode 319 }; 320 321 vreg_l9a: ldo9 { 322 regulator-name = "vreg 323 regulator-min-microvol 324 regulator-max-microvol 325 regulator-initial-mode 326 }; 327 328 vreg_l11a: ldo11 { 329 regulator-name = "vreg 330 regulator-min-microvol 331 regulator-max-microvol 332 regulator-initial-mode 333 }; 334 335 vreg_l12a: ldo12 { 336 regulator-name = "vreg 337 regulator-min-microvol 338 regulator-max-microvol 339 regulator-initial-mode 340 }; 341 342 vreg_l13a: ldo13 { 343 regulator-name = "vreg 344 regulator-min-microvol 345 regulator-max-microvol 346 regulator-initial-mode 347 }; 348 349 vreg_l14a: ldo14 { 350 regulator-name = "vreg 351 regulator-min-microvol 352 regulator-max-microvol 353 regulator-initial-mode 354 }; 355 356 vreg_l15a: ldo15 { 357 regulator-name = "vreg 358 regulator-min-microvol 359 regulator-max-microvol 360 regulator-initial-mode 361 }; 362 363 vreg_l16a: ldo16 { 364 regulator-name = "vreg 365 regulator-min-microvol 366 regulator-max-microvol 367 regulator-initial-mode 368 }; 369 370 vreg_l18a: ldo18 { 371 regulator-name = "vreg 372 regulator-min-microvol 373 regulator-max-microvol 374 regulator-initial-mode 375 }; 376 377 vreg_l19a: ldo19 { 378 regulator-name = "vreg 379 regulator-min-microvol 380 regulator-max-microvol 381 regulator-initial-mode 382 }; 383 384 vreg_l20a: ldo20 { 385 regulator-name = "vreg 386 regulator-min-microvol 387 regulator-max-microvol 388 regulator-initial-mode 389 }; 390 391 vreg_l21a: ldo21 { 392 regulator-name = "vreg 393 regulator-min-microvol 394 regulator-max-microvol 395 regulator-initial-mode 396 }; 397 398 vreg_l22a: ldo22 { 399 regulator-name = "vreg 400 regulator-min-microvol 401 regulator-max-microvol 402 regulator-initial-mode 403 }; 404 }; 405 406 regulators-1 { 407 compatible = "qcom,pm6150l-rpm 408 qcom,pmic-id = "e"; 409 410 vreg_s8e: smps8 { 411 regulator-name = "vreg 412 regulator-min-microvol 413 regulator-max-microvol 414 }; 415 416 vreg_l1e: ldo1 { 417 regulator-name = "vreg 418 regulator-min-microvol 419 regulator-max-microvol 420 regulator-initial-mode 421 }; 422 423 vreg_l2e: ldo2 { 424 regulator-name = "vreg 425 regulator-min-microvol 426 regulator-max-microvol 427 regulator-initial-mode 428 }; 429 430 vreg_l3e: ldo3 { 431 regulator-name = "vreg 432 regulator-min-microvol 433 regulator-max-microvol 434 regulator-initial-mode 435 }; 436 437 vreg_l4e: ldo4 { 438 regulator-name = "vreg 439 regulator-min-microvol 440 regulator-max-microvol 441 regulator-initial-mode 442 }; 443 444 vreg_l5e: ldo5 { 445 regulator-name = "vreg 446 regulator-min-microvol 447 regulator-max-microvol 448 regulator-initial-mode 449 }; 450 451 vreg_l6e: ldo6 { 452 regulator-name = "vreg 453 regulator-min-microvol 454 regulator-max-microvol 455 regulator-initial-mode 456 regulator-allow-set-lo 457 regulator-allowed-mode 458 459 }; 460 461 vreg_l7e: ldo7 { 462 regulator-name = "vreg 463 regulator-min-microvol 464 regulator-max-microvol 465 regulator-initial-mode 466 }; 467 468 vreg_l8e: ldo8 { 469 regulator-name = "vreg 470 regulator-min-microvol 471 regulator-max-microvol 472 regulator-initial-mode 473 }; 474 475 vreg_l9e: ldo9 { 476 regulator-name = "vreg 477 regulator-min-microvol 478 regulator-max-microvol 479 regulator-initial-mode 480 regulator-allow-set-lo 481 regulator-allowed-mode 482 483 }; 484 485 vreg_l10e: ldo10 { 486 regulator-name = "vreg 487 regulator-min-microvol 488 regulator-max-microvol 489 regulator-initial-mode 490 }; 491 492 vreg_l11e: ldo11 { 493 regulator-name = "vreg 494 regulator-min-microvol 495 regulator-max-microvol 496 regulator-initial-mode 497 }; 498 499 vreg_bob: bob { 500 regulator-name = "vreg 501 regulator-min-microvol 502 regulator-max-microvol 503 regulator-initial-mode 504 regulator-allow-bypass 505 }; 506 }; 507 }; 508 509 &cci0 { 510 status = "okay"; 511 }; 512 513 &cci0_i2c0 { 514 /* IMX582 @ 0x1a */ 515 }; 516 517 &cci0_i2c1 { 518 /* IMX582 @ 0x1a */ 519 }; 520 521 &cci1 { 522 status = "okay"; 523 }; 524 525 &cci1_i2c0 { 526 /* IMX576 @ 0x10 */ 527 }; 528 529 &cdsp { 530 firmware-name = "qcom/sm7225/fairphone 531 status = "okay"; 532 }; 533 534 &gpi_dma0 { 535 status = "okay"; 536 }; 537 538 &gpi_dma1 { 539 status = "okay"; 540 }; 541 542 &gpu { 543 status = "okay"; 544 }; 545 546 &gpu_zap_shader { 547 firmware-name = "qcom/sm7225/fairphone 548 }; 549 550 &i2c0 { 551 clock-frequency = <400000>; 552 status = "okay"; 553 554 /* ST21NFCD NFC @ 8 */ 555 /* VL53L3 ToF @ 29 */ 556 /* AW88264A amplifier @ 34 */ 557 /* AW88264A amplifier @ 35 */ 558 }; 559 560 &i2c8 { 561 clock-frequency = <400000>; 562 status = "okay"; 563 564 /* HX83112A touchscreen @ 48 */ 565 }; 566 567 &i2c10 { 568 clock-frequency = <400000>; 569 status = "okay"; 570 571 pm8008: pmic@8 { 572 compatible = "qcom,pm8008"; 573 reg = <0x8>; 574 575 interrupts-extended = <&tlmm 5 576 reset-gpios = <&tlmm 58 GPIO_A 577 578 vdd-l1-l2-supply = <&vreg_s8e> 579 vdd-l3-l4-supply = <&vreg_bob> 580 vdd-l5-supply = <&vreg_bob>; 581 vdd-l6-supply = <&vreg_s2a>; 582 vdd-l7-supply = <&vreg_bob>; 583 584 pinctrl-names = "default"; 585 pinctrl-0 = <&pm8008_default>; 586 587 gpio-controller; 588 #gpio-cells = <2>; 589 gpio-ranges = <&pm8008 0 0 2>; 590 591 interrupt-controller; 592 #interrupt-cells = <2>; 593 594 #thermal-sensor-cells = <0>; 595 596 regulators { 597 vreg_l1p: ldo1 { 598 regulator-name 599 regulator-min- 600 regulator-max- 601 }; 602 603 vreg_l2p: ldo2 { 604 regulator-name 605 regulator-min- 606 regulator-max- 607 }; 608 609 vreg_l3p: ldo3 { 610 regulator-name 611 regulator-min- 612 regulator-max- 613 }; 614 615 vreg_l4p: ldo4 { 616 regulator-name 617 regulator-min- 618 regulator-max- 619 }; 620 621 vreg_l5p: ldo5 { 622 regulator-name 623 regulator-min- 624 regulator-max- 625 }; 626 627 vreg_l6p: ldo6 { 628 regulator-name 629 regulator-min- 630 regulator-max- 631 }; 632 633 vreg_l7p: ldo7 { 634 regulator-name 635 regulator-min- 636 regulator-max- 637 }; 638 }; 639 }; 640 641 /* PX8618 @ 26 */ 642 /* SMB1395 PMIC @ 34 */ 643 /* awinic,aw8695 @ 5a */ 644 }; 645 646 &ipa { 647 qcom,gsi-loader = "self"; 648 memory-region = <&pil_ipa_fw_mem>; 649 firmware-name = "qcom/sm7225/fairphone 650 status = "okay"; 651 }; 652 653 &mdss { 654 status = "okay"; 655 }; 656 657 &mdss_dsi0 { 658 vdda-supply = <&vreg_l22a>; 659 status = "okay"; 660 661 panel@0 { 662 compatible = "djn,9a-3r063-110 663 reg = <0>; 664 665 backlight = <&pm6150l_wled>; 666 reset-gpios = <&pm6150l_gpios 667 668 vdd1-supply = <&vreg_l1e>; 669 vsn-supply = <&lcdb_dummy>; 670 vsp-supply = <&lcdb_dummy>; 671 672 port { 673 panel_in: endpoint { 674 remote-endpoin 675 }; 676 }; 677 }; 678 }; 679 680 &mdss_dsi0_out { 681 data-lanes = <0 1 2 3>; 682 remote-endpoint = <&panel_in>; 683 }; 684 685 &mdss_dsi0_phy { 686 vdds-supply = <&vreg_l18a>; 687 status = "okay"; 688 }; 689 690 &mpss { 691 firmware-name = "qcom/sm7225/fairphone 692 status = "okay"; 693 }; 694 695 &pm6150l_adc { 696 pinctrl-0 = <&pm6150l_adc_default>; 697 pinctrl-names = "default"; 698 699 channel@4d { 700 reg = <ADC5_AMUX_THM1_100K_PU> 701 label = "pa_therm1"; 702 qcom,hw-settle-time = <200>; 703 qcom,pre-scaling = <1 1>; 704 qcom,ratiometric; 705 }; 706 707 channel@4e { 708 reg = <ADC5_AMUX_THM2_100K_PU> 709 label = "msm_therm"; 710 qcom,hw-settle-time = <200>; 711 qcom,pre-scaling = <1 1>; 712 qcom,ratiometric; 713 }; 714 715 channel@4f { 716 reg = <ADC5_AMUX_THM3_100K_PU> 717 label = "pa_therm0"; 718 qcom,hw-settle-time = <200>; 719 qcom,pre-scaling = <1 1>; 720 qcom,ratiometric; 721 }; 722 723 channel@53 { 724 reg = <ADC5_GPIO2_100K_PU>; 725 label = "rear_cam_therm"; 726 qcom,hw-settle-time = <200>; 727 qcom,pre-scaling = <1 1>; 728 qcom,ratiometric; 729 }; 730 731 channel@54 { 732 reg = <ADC5_GPIO3_100K_PU>; 733 label = "rear_cam_flash_therm" 734 qcom,hw-settle-time = <200>; 735 qcom,pre-scaling = <1 1>; 736 qcom,ratiometric; 737 }; 738 739 channel@55 { 740 reg = <ADC5_GPIO4_100K_PU>; 741 label = "quiet_therm"; 742 qcom,hw-settle-time = <200>; 743 qcom,pre-scaling = <1 1>; 744 qcom,ratiometric; 745 }; 746 }; 747 748 &pm6150l_adc_tm { 749 status = "okay"; 750 751 pa-therm1@0 { 752 reg = <0>; 753 io-channels = <&pm6150l_adc AD 754 qcom,hw-settle-time-us = <200> 755 qcom,ratiometric; 756 }; 757 758 pa-therm0@1 { 759 reg = <1>; 760 io-channels = <&pm6150l_adc AD 761 qcom,hw-settle-time-us = <200> 762 qcom,ratiometric; 763 }; 764 765 rear-cam-flash-therm@2 { 766 reg = <2>; 767 io-channels = <&pm6150l_adc AD 768 qcom,hw-settle-time-us = <200> 769 qcom,ratiometric; 770 }; 771 772 quiet-therm@3 { 773 reg = <3>; 774 io-channels = <&pm6150l_adc AD 775 qcom,hw-settle-time-us = <200> 776 qcom,ratiometric; 777 }; 778 }; 779 780 &pm6150l_flash { 781 status = "okay"; 782 783 led-0 { 784 function = LED_FUNCTION_FLASH; 785 color = <LED_COLOR_ID_YELLOW>; 786 led-sources = <1>; 787 led-max-microamp = <180000>; 788 flash-max-microamp = <1000000> 789 flash-max-timeout-us = <128000 790 }; 791 792 led-1 { 793 function = LED_FUNCTION_FLASH; 794 color = <LED_COLOR_ID_WHITE>; 795 led-sources = <2>; 796 led-max-microamp = <180000>; 797 flash-max-microamp = <1000000> 798 flash-max-timeout-us = <128000 799 }; 800 }; 801 802 &pm6150l_gpios { 803 pm6150l_adc_default: adc-default-state 804 pins = "gpio6", "gpio7", "gpio 805 function = PMIC_GPIO_FUNC_NORM 806 bias-high-impedance; 807 }; 808 }; 809 810 &pm6150l_wled { 811 qcom,switching-freq = <800>; 812 qcom,current-limit-microamp = <20000>; 813 qcom,num-strings = <2>; 814 815 status = "okay"; 816 }; 817 818 &pm6350_gpios { 819 gpio_keys_pin: gpio-keys-state { 820 pins = "gpio2"; 821 function = PMIC_GPIO_FUNC_NORM 822 bias-pull-up; 823 input-enable; 824 power-source = <0>; 825 }; 826 }; 827 828 &pm6350_resin { 829 linux,code = <KEY_VOLUMEDOWN>; 830 status = "okay"; 831 }; 832 833 &pm7250b_adc { 834 channel@4d { 835 reg = <ADC5_AMUX_THM1_100K_PU> 836 qcom,ratiometric; 837 qcom,hw-settle-time = <200>; 838 qcom,pre-scaling = <1 1>; 839 label = "charger_skin_therm"; 840 }; 841 842 channel@4f { 843 reg = <ADC5_AMUX_THM3_100K_PU> 844 qcom,ratiometric; 845 qcom,hw-settle-time = <200>; 846 qcom,pre-scaling = <1 1>; 847 label = "conn_therm"; 848 }; 849 }; 850 851 &pm7250b_adc_tm { 852 status = "okay"; 853 854 charger-skin-therm@0 { 855 reg = <0>; 856 io-channels = <&pm7250b_adc AD 857 qcom,ratiometric; 858 qcom,hw-settle-time-us = <200> 859 }; 860 861 conn-therm@1 { 862 reg = <1>; 863 io-channels = <&pm7250b_adc AD 864 qcom,ratiometric; 865 qcom,hw-settle-time-us = <200> 866 }; 867 }; 868 869 &pm7250b_typec { 870 vdd-pdphy-supply = <&vreg_l3a>; 871 872 status = "okay"; 873 874 connector { 875 compatible = "usb-c-connector" 876 877 power-role = "dual"; 878 data-role = "dual"; 879 self-powered; 880 881 /* 882 * Disable USB Power Delivery 883 * to support role switching w 884 * charge still - without char 885 */ 886 typec-power-opmode = "default" 887 pd-disable; 888 889 ports { 890 #address-cells = <1>; 891 #size-cells = <0>; 892 893 port@0 { 894 reg = <0>; 895 pm7250b_hs_in: 896 remote 897 }; 898 }; 899 900 port@1 { 901 reg = <1>; 902 pm7250b_ss_in: 903 remote 904 }; 905 }; 906 }; 907 }; 908 }; 909 910 &pm7250b_vbus { 911 regulator-min-microamp = <500000>; 912 regulator-max-microamp = <1500000>; 913 status = "okay"; 914 }; 915 916 &pmk8350_adc_tm { 917 status = "okay"; 918 919 xo-therm@0 { 920 reg = <0>; 921 io-channels = <&pmk8350_vadc P 922 qcom,hw-settle-time-us = <200> 923 qcom,ratiometric; 924 }; 925 }; 926 927 &pmk8350_rtc { 928 status = "okay"; 929 }; 930 931 &pmk8350_vadc { 932 channel@644 { 933 reg = <PMK8350_ADC7_AMUX_THM1_ 934 qcom,ratiometric; 935 qcom,hw-settle-time = <200>; 936 qcom,pre-scaling = <1 1>; 937 label = "xo_therm"; 938 }; 939 }; 940 941 &qup_uart1_cts { 942 /* 943 * Configure a bias-bus-hold on CTS to 944 * usage when Bluetooth is turned off. 945 * maintain a low power state regardle 946 * the Bluetooth module drives the pin 947 * direction or leaves the pin fully u 948 */ 949 bias-bus-hold; 950 }; 951 952 &qup_uart1_rts { 953 /* We'll drive RTS, so no pull */ 954 drive-strength = <2>; 955 bias-disable; 956 }; 957 958 &qup_uart1_rx { 959 /* 960 * Configure a pull-up on RX. This is 961 * garbage data when the TX pin of the 962 * in tri-state (module powered off or 963 * signal yet). 964 */ 965 bias-pull-up; 966 }; 967 968 &qup_uart1_tx { 969 /* We'll drive TX, so no pull */ 970 drive-strength = <2>; 971 bias-disable; 972 }; 973 974 &qupv3_id_0 { 975 status = "okay"; 976 }; 977 978 &qupv3_id_1 { 979 status = "okay"; 980 }; 981 982 &sdc2_off_state { 983 sd-cd-pins { 984 pins = "gpio94"; 985 function = "gpio"; 986 drive-strength = <2>; 987 bias-disable; 988 }; 989 }; 990 991 &sdc2_on_state { 992 sd-cd-pins { 993 pins = "gpio94"; 994 function = "gpio"; 995 drive-strength = <2>; 996 bias-pull-up; 997 }; 998 }; 999 1000 &sdhc_2 { 1001 vmmc-supply = <&vreg_l9e>; 1002 vqmmc-supply = <&vreg_l6e>; 1003 1004 cd-gpios = <&tlmm 94 GPIO_ACTIVE_LOW> 1005 1006 status = "okay"; 1007 }; 1008 1009 &tlmm { 1010 gpio-reserved-ranges = <13 4>, <56 2> 1011 1012 qup_uart1_sleep_cts: qup-uart1-sleep- 1013 pins = "gpio61"; 1014 function = "gpio"; 1015 /* 1016 * Configure a bias-bus-hold 1017 * usage when Bluetooth is tu 1018 * maintain a low power state 1019 * the Bluetooth module drive 1020 * direction or leaves the pi 1021 */ 1022 bias-bus-hold; 1023 }; 1024 1025 qup_uart1_sleep_rts: qup-uart1-sleep- 1026 pins = "gpio62"; 1027 function = "gpio"; 1028 /* 1029 * Configure pull-down on RTS 1030 * signal, pull it low to ind 1031 * can wakeup the system anyt 1032 * pulling RX low (by sending 1033 */ 1034 bias-pull-down; 1035 }; 1036 1037 qup_uart1_sleep_rx: qup-uart1-sleep-r 1038 pins = "gpio64"; 1039 function = "gpio"; 1040 /* 1041 * Configure a pull-up on RX. 1042 * garbage data when the TX p 1043 * is floating which may caus 1044 */ 1045 bias-pull-up; 1046 }; 1047 1048 qup_uart1_sleep_tx: qup-uart1-sleep-t 1049 pins = "gpio63"; 1050 function = "gpio"; 1051 /* 1052 * Configure pull-up on TX wh 1053 * to prevent BT SoC from rec 1054 */ 1055 bias-pull-up; 1056 }; 1057 1058 pm8008_default: pm8008-default-state 1059 int-pins { 1060 pins = "gpio59"; 1061 function = "gpio"; 1062 drive-strength = <2>; 1063 bias-pull-down; 1064 }; 1065 1066 reset-n-pins { 1067 pins = "gpio58"; 1068 function = "gpio"; 1069 drive-strength = <2>; 1070 bias-disable; 1071 }; 1072 }; 1073 }; 1074 1075 &uart1 { 1076 /delete-property/ interrupts; 1077 interrupts-extended = <&intc GIC_SPI 1078 <&tlmm 64 IRQ_T 1079 1080 pinctrl-names = "default", "sleep"; 1081 pinctrl-1 = <&qup_uart1_sleep_cts>, < 1082 1083 status = "okay"; 1084 1085 bluetooth { 1086 compatible = "qcom,wcn3988-bt 1087 1088 vddio-supply = <&vreg_l11a>; 1089 vddxo-supply = <&vreg_l7a>; 1090 vddrf-supply = <&vreg_l2e>; 1091 vddch0-supply = <&vreg_l10e>; 1092 swctrl-gpios = <&tlmm 69 GPIO 1093 1094 max-speed = <3200000>; 1095 }; 1096 }; 1097 1098 &uart9 { 1099 status = "okay"; 1100 }; 1101 1102 &ufs_mem_hc { 1103 reset-gpios = <&tlmm 156 GPIO_ACTIVE_ 1104 1105 vcc-supply = <&vreg_l7e>; 1106 vcc-max-microamp = <800000>; 1107 vccq2-supply = <&vreg_l12a>; 1108 vccq2-max-microamp = <800000>; 1109 1110 status = "okay"; 1111 }; 1112 1113 &ufs_mem_phy { 1114 vdda-phy-supply = <&vreg_l18a>; 1115 vdda-pll-supply = <&vreg_l22a>; 1116 1117 status = "okay"; 1118 }; 1119 1120 &usb_1 { 1121 status = "okay"; 1122 }; 1123 1124 &usb_1_dwc3 { 1125 maximum-speed = "super-speed"; 1126 dr_mode = "otg"; 1127 }; 1128 1129 &usb_1_dwc3_hs_out { 1130 remote-endpoint = <&pm7250b_hs_in>; 1131 }; 1132 1133 &usb_1_hsphy { 1134 vdd-supply = <&vreg_l18a>; 1135 vdda-pll-supply = <&vreg_l2a>; 1136 vdda-phy-dpdm-supply = <&vreg_l3a>; 1137 1138 status = "okay"; 1139 }; 1140 1141 &usb_1_qmpphy { 1142 vdda-phy-supply = <&vreg_l22a>; 1143 vdda-pll-supply = <&vreg_l16a>; 1144 1145 status = "okay"; 1146 }; 1147 1148 &usb_1_qmpphy_out { 1149 remote-endpoint = <&pm7250b_ss_in>; 1150 }; 1151 1152 &wifi { 1153 vdd-0.8-cx-mx-supply = <&vreg_l4a>; 1154 vdd-1.8-xo-supply = <&vreg_l7a>; 1155 vdd-1.3-rfa-supply = <&vreg_l2e>; 1156 vdd-3.3-ch0-supply = <&vreg_l10e>; 1157 vdd-3.3-ch1-supply = <&vreg_l11e>; 1158 1159 status = "okay"; 1160 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.