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