1// SPDX-License-Identifier: BSD-3-Clause 2/* 3 * Copyright (c) 2023, Luca Weiss <luca.weiss@fairphone.com> 4 */ 5 6/dts-v1/; 7 8/* PM7250B is configured to use SID8/9 */ 9#define PM7250B_SID 8 10#define PM7250B_SID1 9 11 12#include <dt-bindings/iio/qcom,spmi-adc7-pm7325.h> 13#include <dt-bindings/iio/qcom,spmi-adc7-pmk8350.h> 14#include <dt-bindings/leds/common.h> 15#include <dt-bindings/pinctrl/qcom,pmic-gpio.h> 16#include <dt-bindings/regulator/qcom,rpmh-regulator.h> 17#include "sc7280.dtsi" 18#include "pm7250b.dtsi" 19#include "pm7325.dtsi" 20#include "pm8350c.dtsi" /* PM7350C */ 21#include "pmk8350.dtsi" /* PMK7325 */ 22 23/delete-node/ &rmtfs_mem; 24 25/ { 26 model = "Fairphone 5"; 27 compatible = "fairphone,fp5", "qcom,qcm6490"; 28 chassis-type = "handset"; 29 30 aliases { 31 serial0 = &uart5; 32 serial1 = &uart7; 33 }; 34 35 chosen { 36 #address-cells = <2>; 37 #size-cells = <2>; 38 ranges; 39 40 framebuffer0: framebuffer@a000000 { 41 compatible = "simple-framebuffer"; 42 reg = <0x0 0xe1000000 0x0 (2700 * 1224 * 4)>; 43 width = <1224>; 44 height = <2700>; 45 stride = <(1224 * 4)>; 46 format = "a8r8g8b8"; 47 clocks = <&gcc GCC_DISP_HF_AXI_CLK>; 48 }; 49 }; 50 51 gpio-keys { 52 compatible = "gpio-keys"; 53 54 pinctrl-0 = <&volume_down_default>, <&hall_sensor_default>; 55 pinctrl-names = "default"; 56 57 key-volume-up { 58 label = "Volume up"; 59 gpios = <&pm7325_gpios 6 GPIO_ACTIVE_LOW>; 60 linux,code = <KEY_VOLUMEUP>; 61 }; 62 63 /* Powered by the always-on vreg_l8c */ 64 event-hall-sensor { 65 label = "Hall Effect Sensor"; 66 gpios = <&tlmm 155 GPIO_ACTIVE_LOW>; 67 linux,input-type = <EV_SW>; 68 linux,code = <SW_LID>; 69 linux,can-disable; 70 wakeup-source; 71 }; 72 }; 73 74 reserved-memory { 75 cont_splash_mem: cont-splash@e1000000 { 76 reg = <0x0 0xe1000000 0x0 0x2300000>; 77 no-map; 78 }; 79 80 cdsp_mem: cdsp@88f00000 { 81 reg = <0x0 0x88f00000 0x0 0x1e00000>; 82 no-map; 83 }; 84 85 rmtfs_mem: memory@f8500000 { 86 compatible = "qcom,rmtfs-mem"; 87 reg = <0x0 0xf8500000 0x0 0x600000>; 88 no-map; 89 90 qcom,client-id = <1>; 91 qcom,vmid = <QCOM_SCM_VMID_MSS_MSA>, <QCOM_SCM_VMID_NAV>; 92 }; 93 }; 94 95 ois_avdd0_1p8: regulator-ois-avdd0-1p8 { 96 compatible = "regulator-fixed"; 97 regulator-name = "OIS_AVDD0_1P8"; 98 regulator-min-microvolt = <1800000>; 99 regulator-max-microvolt = <1800000>; 100 gpio = <&tlmm 157 GPIO_ACTIVE_HIGH>; 101 enable-active-high; 102 vin-supply = <&vreg_bob>; 103 }; 104 105 ois_dvdd_1p1: regulator-ois-dvdd-1p1 { 106 compatible = "regulator-fixed"; 107 regulator-name = "OIS_DVDD_1P1"; 108 regulator-min-microvolt = <1100000>; 109 regulator-max-microvolt = <1100000>; 110 gpio = <&tlmm 97 GPIO_ACTIVE_HIGH>; 111 enable-active-high; 112 vin-supply = <&vreg_s8b>; 113 }; 114 115 afvdd_2p8: regulator-afvdd-2p8 { 116 compatible = "regulator-fixed"; 117 regulator-name = "AFVDD_2P8"; 118 regulator-min-microvolt = <2800000>; 119 regulator-max-microvolt = <2800000>; 120 gpio = <&tlmm 68 GPIO_ACTIVE_HIGH>; 121 enable-active-high; 122 vin-supply = <&vreg_bob>; 123 }; 124 125 thermal-zones { 126 camera-thermal { 127 polling-delay-passive = <0>; 128 polling-delay = <0>; 129 thermal-sensors = <&pmk8350_adc_tm 2>; 130 131 trips { 132 active-config0 { 133 temperature = <125000>; 134 hysteresis = <1000>; 135 type = "passive"; 136 }; 137 }; 138 }; 139 140 chg-skin-thermal { 141 polling-delay-passive = <0>; 142 polling-delay = <0>; 143 thermal-sensors = <&pm7250b_adc_tm 0>; 144 145 trips { 146 active-config0 { 147 temperature = <125000>; 148 hysteresis = <1000>; 149 type = "passive"; 150 }; 151 }; 152 }; 153 154 conn-thermal { 155 polling-delay-passive = <0>; 156 polling-delay = <0>; 157 thermal-sensors = <&pm7250b_adc_tm 1>; 158 159 trips { 160 active-config0 { 161 temperature = <125000>; 162 hysteresis = <1000>; 163 type = "passive"; 164 }; 165 }; 166 }; 167 168 quiet-thermal { 169 polling-delay-passive = <0>; 170 polling-delay = <0>; 171 thermal-sensors = <&pmk8350_adc_tm 1>; 172 173 trips { 174 active-config0 { 175 temperature = <125000>; 176 hysteresis = <1000>; 177 type = "passive"; 178 }; 179 }; 180 }; 181 182 rear-cam-thermal { 183 polling-delay-passive = <0>; 184 polling-delay = <0>; 185 thermal-sensors = <&pmk8350_adc_tm 4>; 186 187 trips { 188 active-config0 { 189 temperature = <125000>; 190 hysteresis = <1000>; 191 type = "passive"; 192 }; 193 }; 194 }; 195 196 sdm-skin-thermal { 197 polling-delay-passive = <0>; 198 polling-delay = <0>; 199 thermal-sensors = <&pmk8350_adc_tm 3>; 200 201 trips { 202 active-config0 { 203 temperature = <125000>; 204 hysteresis = <1000>; 205 type = "passive"; 206 }; 207 }; 208 }; 209 210 xo-thermal { 211 polling-delay-passive = <0>; 212 polling-delay = <0>; 213 thermal-sensors = <&pmk8350_adc_tm 0>; 214 215 trips { 216 active-config0 { 217 temperature = <125000>; 218 hysteresis = <1000>; 219 type = "passive"; 220 }; 221 }; 222 }; 223 }; 224}; 225 226&apps_rsc { 227 regulators-0 { 228 compatible = "qcom,pm7325-rpmh-regulators"; 229 qcom,pmic-id = "b"; 230 231 vreg_s1b: smps1 { 232 regulator-min-microvolt = <1840000>; 233 regulator-max-microvolt = <2040000>; 234 }; 235 236 vreg_s7b: smps7 { 237 regulator-min-microvolt = <535000>; 238 regulator-max-microvolt = <1120000>; 239 }; 240 241 vreg_s8b: smps8 { 242 regulator-min-microvolt = <1200000>; 243 regulator-max-microvolt = <1500000>; 244 regulator-initial-mode = <RPMH_REGULATOR_MODE_RET>; 245 }; 246 247 vreg_l1b: ldo1 { 248 regulator-min-microvolt = <825000>; 249 regulator-max-microvolt = <925000>; 250 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 251 }; 252 253 vreg_l2b: ldo2 { 254 regulator-min-microvolt = <2700000>; 255 regulator-max-microvolt = <3544000>; 256 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 257 }; 258 259 vreg_l3b: ldo3 { 260 regulator-min-microvolt = <312000>; 261 regulator-max-microvolt = <910000>; 262 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 263 }; 264 265 vreg_l6b: ldo6 { 266 regulator-min-microvolt = <1140000>; 267 regulator-max-microvolt = <1260000>; 268 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 269 }; 270 271 vreg_l7b: ldo7 { 272 /* Constrained for UFS VCC, at least until UFS driver scales voltage */ 273 regulator-min-microvolt = <2952000>; 274 regulator-max-microvolt = <2952000>; 275 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 276 }; 277 278 vreg_l8b: ldo8 { 279 regulator-min-microvolt = <870000>; 280 regulator-max-microvolt = <970000>; 281 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 282 }; 283 284 vreg_l9b: ldo9 { 285 regulator-min-microvolt = <1200000>; 286 regulator-max-microvolt = <1304000>; 287 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 288 }; 289 290 vreg_l11b: ldo11 { 291 regulator-min-microvolt = <1504000>; 292 regulator-max-microvolt = <2000000>; 293 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 294 }; 295 296 vreg_l12b: ldo12 { 297 regulator-min-microvolt = <751000>; 298 regulator-max-microvolt = <824000>; 299 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 300 }; 301 302 vreg_l13b: ldo13 { 303 regulator-min-microvolt = <530000>; 304 regulator-max-microvolt = <824000>; 305 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 306 }; 307 308 vreg_l14b: ldo14 { 309 regulator-min-microvolt = <1080000>; 310 regulator-max-microvolt = <1304000>; 311 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 312 }; 313 314 vreg_l15b: ldo15 { 315 regulator-min-microvolt = <765000>; 316 regulator-max-microvolt = <1020000>; 317 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 318 }; 319 320 vreg_l16b: ldo16 { 321 regulator-min-microvolt = <1100000>; 322 regulator-max-microvolt = <1300000>; 323 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 324 }; 325 326 vreg_l17b: ldo17 { 327 regulator-min-microvolt = <1700000>; 328 regulator-max-microvolt = <1900000>; 329 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 330 }; 331 332 vreg_l18b: ldo18 { 333 regulator-min-microvolt = <1800000>; 334 regulator-max-microvolt = <2000000>; 335 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 336 }; 337 338 vreg_l19b: ldo19 { 339 regulator-min-microvolt = <1800000>; 340 regulator-max-microvolt = <2000000>; 341 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 342 }; 343 }; 344 345 regulators-1 { 346 compatible = "qcom,pm8350c-rpmh-regulators"; 347 qcom,pmic-id = "c"; 348 349 vreg_s1c: smps1 { 350 regulator-min-microvolt = <2190000>; 351 regulator-max-microvolt = <2210000>; 352 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 353 }; 354 355 vreg_s9c: smps9 { 356 regulator-min-microvolt = <1010000>; 357 regulator-max-microvolt = <1170000>; 358 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 359 }; 360 361 vreg_l1c: ldo1 { 362 regulator-min-microvolt = <1800000>; 363 regulator-max-microvolt = <1980000>; 364 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 365 }; 366 367 vreg_l2c: ldo2 { 368 regulator-min-microvolt = <1800000>; 369 regulator-max-microvolt = <1950000>; 370 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 371 }; 372 373 vreg_l3c: ldo3 { 374 regulator-min-microvolt = <3000000>; 375 regulator-max-microvolt = <3400000>; 376 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 377 }; 378 379 vreg_l4c: ldo4 { 380 regulator-min-microvolt = <1620000>; 381 regulator-max-microvolt = <3300000>; 382 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 383 }; 384 385 vreg_l5c: ldo5 { 386 regulator-min-microvolt = <1620000>; 387 regulator-max-microvolt = <3300000>; 388 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 389 }; 390 391 vreg_l6c: ldo6 { 392 regulator-min-microvolt = <1650000>; 393 regulator-max-microvolt = <3544000>; 394 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 395 }; 396 397 vreg_l7c: ldo7 { 398 regulator-min-microvolt = <3000000>; 399 regulator-max-microvolt = <3544000>; 400 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 401 }; 402 403 vreg_l8c: ldo8 { 404 regulator-min-microvolt = <1620000>; 405 regulator-max-microvolt = <2000000>; 406 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 407 /* Hall sensor VDD */ 408 regulator-always-on; 409 }; 410 411 vreg_l9c: ldo9 { 412 regulator-min-microvolt = <2700000>; 413 regulator-max-microvolt = <3544000>; 414 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 415 }; 416 417 vreg_l10c: ldo10 { 418 regulator-min-microvolt = <720000>; 419 regulator-max-microvolt = <1050000>; 420 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 421 }; 422 423 vreg_l11c: ldo11 { 424 regulator-min-microvolt = <2800000>; 425 regulator-max-microvolt = <3544000>; 426 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 427 }; 428 429 vreg_l12c: ldo12 { 430 regulator-min-microvolt = <1650000>; 431 regulator-max-microvolt = <2000000>; 432 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 433 }; 434 435 vreg_l13c: ldo13 { 436 regulator-min-microvolt = <2700000>; 437 regulator-max-microvolt = <3544000>; 438 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 439 }; 440 441 vreg_bob: bob { 442 regulator-min-microvolt = <3008000>; 443 regulator-max-microvolt = <3960000>; 444 regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>; 445 }; 446 }; 447}; 448 449&dispcc { 450 /* Disable for now so simple-framebuffer continues working */ 451 status = "disabled"; 452}; 453 454&gcc { 455 protected-clocks = <GCC_CFG_NOC_LPASS_CLK>, 456 <GCC_EDP_CLKREF_EN>, 457 <GCC_MSS_CFG_AHB_CLK>, 458 <GCC_MSS_GPLL0_MAIN_DIV_CLK_SRC>, 459 <GCC_MSS_OFFLINE_AXI_CLK>, 460 <GCC_MSS_Q6SS_BOOT_CLK_SRC>, 461 <GCC_MSS_Q6_MEMNOC_AXI_CLK>, 462 <GCC_MSS_SNOC_AXI_CLK>, 463 <GCC_QSPI_CNOC_PERIPH_AHB_CLK>, 464 <GCC_QSPI_CORE_CLK>, 465 <GCC_QSPI_CORE_CLK_SRC>, 466 <GCC_SEC_CTRL_CLK_SRC>, 467 <GCC_WPSS_AHB_BDG_MST_CLK>, 468 <GCC_WPSS_AHB_CLK>, 469 <GCC_WPSS_RSCP_CLK>; 470}; 471 472&gpi_dma0 { 473 status = "okay"; 474}; 475 476&gpi_dma1 { 477 status = "okay"; 478}; 479 480&i2c1 { 481 status = "okay"; 482 483 /* PM8008 PMIC @ 8 and 9 */ 484 /* Pixelworks @ 26 */ 485 /* FSA4480 USB audio switch @ 42 */ 486 /* AW86927FCR haptics @ 5a */ 487}; 488 489&i2c2 { 490 status = "okay"; 491 492 /* AW88261FCR amplifier @ 34 */ 493 /* AW88261FCR amplifier @ 35 */ 494}; 495 496&i2c4 { 497 status = "okay"; 498 499 /* PTN36502 USB redriver @ 1a */ 500}; 501 502&i2c9 { 503 status = "okay"; 504 505 /* ST21NFC NFC @ 28 */ 506 /* VL53L3 ToF @ 29 */ 507}; 508 509&ipa { 510 qcom,gsi-loader = "self"; 511 memory-region = <&ipa_fw_mem>; 512 firmware-name = "qcom/qcm6490/fairphone5/ipa_fws.mdt"; 513 status = "okay"; 514}; 515 516&pm7250b_adc { 517 channel@4d { 518 reg = <ADC5_AMUX_THM1_100K_PU>; 519 qcom,ratiometric; 520 qcom,hw-settle-time = <200>; 521 qcom,pre-scaling = <1 1>; 522 label = "charger_skin_therm"; 523 }; 524 525 channel@4f { 526 reg = <ADC5_AMUX_THM3_100K_PU>; 527 qcom,ratiometric; 528 qcom,hw-settle-time = <200>; 529 qcom,pre-scaling = <1 1>; 530 label = "conn_therm"; 531 }; 532}; 533 534&pm7250b_adc_tm { 535 status = "okay"; 536 537 charger-skin-therm@0 { 538 reg = <0>; 539 io-channels = <&pm7250b_adc ADC5_AMUX_THM1_100K_PU>; 540 qcom,ratiometric; 541 qcom,hw-settle-time-us = <200>; 542 }; 543 544 conn-therm@1 { 545 reg = <1>; 546 io-channels = <&pm7250b_adc ADC5_AMUX_THM3_100K_PU>; 547 qcom,ratiometric; 548 qcom,hw-settle-time-us = <200>; 549 }; 550}; 551 552&pm7325_gpios { 553 volume_down_default: volume-down-default-state { 554 pins = "gpio6"; 555 function = PMIC_GPIO_FUNC_NORMAL; 556 power-source = <1>; 557 bias-pull-up; 558 input-enable; 559 }; 560}; 561 562&pm8350c_flash { 563 status = "okay"; 564 565 led-0 { 566 function = LED_FUNCTION_FLASH; 567 color = <LED_COLOR_ID_WHITE>; 568 led-sources = <1>, <4>; 569 led-max-microamp = <500000>; 570 flash-max-microamp = <1500000>; 571 flash-max-timeout-us = <1280000>; 572 }; 573}; 574 575&pmk8350_adc_tm { 576 status = "okay"; 577 578 xo-therm@0 { 579 reg = <0>; 580 io-channels = <&pmk8350_vadc PMK8350_ADC7_AMUX_THM1_100K_PU>; 581 qcom,ratiometric; 582 qcom,hw-settle-time-us = <200>; 583 }; 584 585 quiet-therm@1 { 586 reg = <1>; 587 io-channels = <&pmk8350_vadc PM7325_ADC7_AMUX_THM1_100K_PU>; 588 qcom,ratiometric; 589 qcom,hw-settle-time-us = <200>; 590 }; 591 592 cam-flash-therm@2 { 593 reg = <2>; 594 io-channels = <&pmk8350_vadc PM7325_ADC7_AMUX_THM2_100K_PU>; 595 qcom,ratiometric; 596 qcom,hw-settle-time-us = <200>; 597 }; 598 599 sdm-skin-therm@3 { 600 reg = <3>; 601 io-channels = <&pmk8350_vadc PM7325_ADC7_AMUX_THM3_100K_PU>; 602 qcom,ratiometric; 603 qcom,hw-settle-time-us = <200>; 604 }; 605 606 wide-rfc-therm@4 { 607 reg = <4>; 608 io-channels = <&pmk8350_vadc PM7325_ADC7_AMUX_THM4_100K_PU>; 609 qcom,ratiometric; 610 qcom,hw-settle-time-us = <200>; 611 }; 612}; 613 614&pmk8350_rtc { 615 status = "okay"; 616}; 617 618&pmk8350_vadc { 619 status = "okay"; 620 621 channel@44 { 622 reg = <PMK8350_ADC7_AMUX_THM1_100K_PU>; 623 qcom,ratiometric; 624 qcom,hw-settle-time = <200>; 625 qcom,pre-scaling = <1 1>; 626 label = "pmk8350_xo_therm"; 627 }; 628 629 channel@144 { 630 reg = <PM7325_ADC7_AMUX_THM1_100K_PU>; 631 qcom,ratiometric; 632 qcom,hw-settle-time = <200>; 633 qcom,pre-scaling = <1 1>; 634 label = "pm7325_quiet_therm"; 635 }; 636 637 channel@145 { 638 reg = <PM7325_ADC7_AMUX_THM2_100K_PU>; 639 qcom,ratiometric; 640 qcom,hw-settle-time = <200>; 641 qcom,pre-scaling = <1 1>; 642 label = "pm7325_cam_flash_therm"; 643 }; 644 645 channel@146 { 646 reg = <PM7325_ADC7_AMUX_THM3_100K_PU>; 647 qcom,ratiometric; 648 qcom,hw-settle-time = <200>; 649 qcom,pre-scaling = <1 1>; 650 label = "pm7325_sdm_skin_therm"; 651 }; 652 653 channel@147 { 654 reg = <PM7325_ADC7_AMUX_THM4_100K_PU>; 655 qcom,ratiometric; 656 qcom,hw-settle-time = <200>; 657 qcom,pre-scaling = <1 1>; 658 label = "pm7325_wide_rfc_therm"; 659 }; 660}; 661 662&pon_pwrkey { 663 status = "okay"; 664}; 665 666&pon_resin { 667 linux,code = <KEY_VOLUMEDOWN>; 668 status = "okay"; 669}; 670 671&qup_spi13_cs { 672 drive-strength = <6>; 673 bias-disable; 674}; 675 676&qup_spi13_data_clk { 677 drive-strength = <6>; 678 bias-disable; 679}; 680 681&qup_uart5_rx { 682 drive-strength = <2>; 683 bias-disable; 684}; 685 686&qup_uart5_tx { 687 drive-strength = <2>; 688 bias-disable; 689}; 690 691&qupv3_id_0 { 692 status = "okay"; 693}; 694 695&qupv3_id_1 { 696 status = "okay"; 697}; 698 699&remoteproc_adsp { 700 firmware-name = "qcom/qcm6490/fairphone5/adsp.mbn"; 701 status = "okay"; 702}; 703 704&remoteproc_cdsp { 705 firmware-name = "qcom/qcm6490/fairphone5/cdsp.mbn"; 706 status = "okay"; 707}; 708 709&remoteproc_mpss { 710 firmware-name = "qcom/qcm6490/fairphone5/modem.mbn"; 711 status = "okay"; 712}; 713 714&remoteproc_wpss { 715 firmware-name = "qcom/qcm6490/fairphone5/wpss.mbn"; 716 status = "okay"; 717}; 718 719&sdc2_clk { 720 drive-strength = <16>; 721 bias-disable; 722}; 723 724&sdc2_cmd { 725 drive-strength = <10>; 726 bias-pull-up; 727}; 728 729&sdc2_data { 730 drive-strength = <10>; 731 bias-pull-up; 732}; 733 734&sdhc_2 { 735 vmmc-supply = <&vreg_l9c>; 736 vqmmc-supply = <&vreg_l6c>; 737 738 pinctrl-0 = <&sdc2_clk>, <&sdc2_cmd>, <&sdc2_data>; 739 pinctrl-1 = <&sdc2_clk_sleep>, <&sdc2_cmd_sleep>, <&sdc2_data_sleep>; 740 741 status = "okay"; 742}; 743 744&spi13 { 745 status = "okay"; 746 747 /* Goodix touchscreen @ 0 */ 748}; 749 750&tlmm { 751 /* 752 * 32-33: SMB1394 (SPMI) 753 * 56-59: fingerprint reader (SPI) 754 */ 755 gpio-reserved-ranges = <32 2>, <56 4>; 756 757 bluetooth_enable_default: bluetooth-enable-default-state { 758 pins = "gpio85"; 759 function = "gpio"; 760 output-low; 761 bias-disable; 762 }; 763 764 hall_sensor_default: hall-sensor-default-state { 765 pins = "gpio155"; 766 function = "gpio"; 767 drive-strength = <2>; 768 bias-pull-up; 769 }; 770 771 qup_uart7_sleep_cts: qup-uart7-sleep-cts-state { 772 pins = "gpio28"; 773 function = "gpio"; 774 /* 775 * Configure a bias-bus-hold on CTS to lower power 776 * usage when Bluetooth is turned off. Bus hold will 777 * maintain a low power state regardless of whether 778 * the Bluetooth module drives the pin in either 779 * direction or leaves the pin fully unpowered. 780 */ 781 bias-bus-hold; 782 }; 783 784 qup_uart7_sleep_rts: qup-uart7-sleep-rts-state { 785 pins = "gpio29"; 786 function = "gpio"; 787 /* 788 * Configure pull-down on RTS. As RTS is active low 789 * signal, pull it low to indicate the BT SoC that it 790 * can wakeup the system anytime from suspend state by 791 * pulling RX low (by sending wakeup bytes). 792 */ 793 bias-pull-down; 794 }; 795 796 qup_uart7_sleep_tx: qup-uart7-sleep-tx-state { 797 pins = "gpio30"; 798 function = "gpio"; 799 /* 800 * Configure pull-up on TX when it isn't actively driven 801 * to prevent BT SoC from receiving garbage during sleep. 802 */ 803 bias-pull-up; 804 }; 805 806 qup_uart7_sleep_rx: qup-uart7-sleep-rx-state { 807 pins = "gpio31"; 808 function = "gpio"; 809 /* 810 * Configure a pull-up on RX. This is needed to avoid 811 * garbage data when the TX pin of the Bluetooth module 812 * is floating which may cause spurious wakeups. 813 */ 814 bias-pull-up; 815 }; 816 817 sw_ctrl_default: sw-ctrl-default-state { 818 pins = "gpio86"; 819 function = "gpio"; 820 bias-pull-down; 821 }; 822}; 823 824&uart5 { 825 compatible = "qcom,geni-debug-uart"; 826 status = "okay"; 827}; 828 829&uart7 { 830 /delete-property/interrupts; 831 interrupts-extended = <&intc GIC_SPI 608 IRQ_TYPE_LEVEL_HIGH>, 832 <&tlmm 31 IRQ_TYPE_EDGE_FALLING>; 833 834 pinctrl-1 = <&qup_uart7_sleep_cts>, <&qup_uart7_sleep_rts>, <&qup_uart7_sleep_tx>, <&qup_uart7_sleep_rx>; 835 pinctrl-names = "default", "sleep"; 836 837 status = "okay"; 838 839 bluetooth: bluetooth { 840 compatible = "qcom,wcn6750-bt"; 841 842 pinctrl-0 = <&bluetooth_enable_default>, <&sw_ctrl_default>; 843 pinctrl-names = "default"; 844 845 enable-gpios = <&tlmm 85 GPIO_ACTIVE_HIGH>; 846 swctrl-gpios = <&tlmm 86 GPIO_ACTIVE_HIGH>; 847 848 vddio-supply = <&vreg_l19b>; 849 vddaon-supply = <&vreg_s7b>; 850 vddbtcxmx-supply = <&vreg_s7b>; 851 vddrfacmn-supply = <&vreg_s7b>; 852 vddrfa0p8-supply = <&vreg_s7b>; 853 vddrfa1p7-supply = <&vreg_s1b>; 854 vddrfa1p2-supply = <&vreg_s8b>; 855 vddrfa2p2-supply = <&vreg_s1c>; 856 vddasd-supply = <&vreg_l11c>; 857 858 max-speed = <3200000>; 859 }; 860}; 861 862&ufs_mem_hc { 863 reset-gpios = <&tlmm 175 GPIO_ACTIVE_LOW>; 864 865 vcc-supply = <&vreg_l7b>; 866 vcc-max-microamp = <800000>; 867 /* 868 * Technically l9b enables an eLDO (supplied by s1b) which then powers 869 * VCCQ2 of the UFS. 870 */ 871 vccq-supply = <&vreg_l9b>; 872 vccq-max-microamp = <900000>; 873 874 status = "okay"; 875}; 876 877&ufs_mem_phy { 878 vdda-phy-supply = <&vreg_l10c>; 879 vdda-pll-supply = <&vreg_l6b>; 880 881 status = "okay"; 882}; 883 884&usb_1 { 885 status = "okay"; 886}; 887 888&usb_1_dwc3 { 889 dr_mode = "peripheral"; 890}; 891 892&usb_1_hsphy { 893 vdda-pll-supply = <&vreg_l10c>; 894 vdda18-supply = <&vreg_l1c>; 895 vdda33-supply = <&vreg_l2b>; 896 897 qcom,hs-crossover-voltage-microvolt = <28000>; 898 qcom,hs-output-impedance-micro-ohms = <2600000>; 899 qcom,hs-rise-fall-time-bp = <5430>; 900 qcom,hs-disconnect-bp = <1743>; 901 qcom,hs-amplitude-bp = <2430>; 902 903 qcom,pre-emphasis-amplitude-bp = <20000>; 904 qcom,pre-emphasis-duration-bp = <20000>; 905 906 qcom,squelch-detector-bp = <(-2090)>; 907 908 status = "okay"; 909}; 910 911&usb_1_qmpphy { 912 vdda-phy-supply = <&vreg_l6b>; 913 vdda-pll-supply = <&vreg_l1b>; 914 915 status = "okay"; 916}; 917 918&wifi { 919 qcom,ath11k-calibration-variant = "Fairphone_5"; 920 status = "okay"; 921}; 922