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 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 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 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 mem-thermal { 211 polling-delay-passive = <0>; 212 213 thermal-sensors = <&pm7250b_adc_tm 2>; 214 215 trips { 216 active-config0 { 217 temperature = <125000>; 218 hysteresis = <1000>; 219 type = "passive"; 220 }; 221 }; 222 }; 223 224 pm8008-thermal { 225 polling-delay-passive = <100>; 226 thermal-sensors = <&pm8008>; 227 228 trips { 229 trip0 { 230 temperature = <95000>; 231 hysteresis = <0>; 232 type = "passive"; 233 }; 234 235 trip1 { 236 temperature = <115000>; 237 hysteresis = <0>; 238 type = "critical"; 239 }; 240 }; 241 }; 242 243 quiet-thermal { 244 polling-delay-passive = <0>; 245 246 thermal-sensors = <&pmk8350_adc_tm 1>; 247 248 trips { 249 active-config0 { 250 temperature = <125000>; 251 hysteresis = <1000>; 252 type = "passive"; 253 }; 254 }; 255 }; 256 257 rear-cam-thermal { 258 polling-delay-passive = <0>; 259 260 thermal-sensors = <&pmk8350_adc_tm 4>; 261 262 trips { 263 active-config0 { 264 temperature = <125000>; 265 hysteresis = <1000>; 266 type = "passive"; 267 }; 268 }; 269 }; 270 271 sdm-skin-thermal { 272 polling-delay-passive = <0>; 273 274 thermal-sensors = <&pmk8350_adc_tm 3>; 275 276 trips { 277 active-config0 { 278 temperature = <125000>; 279 hysteresis = <1000>; 280 type = "passive"; 281 }; 282 }; 283 }; 284 285 xo-thermal { 286 polling-delay-passive = <0>; 287 288 thermal-sensors = <&pmk8350_adc_tm 0>; 289 290 trips { 291 active-config0 { 292 temperature = <125000>; 293 hysteresis = <1000>; 294 type = "passive"; 295 }; 296 }; 297 }; 298 }; 299}; 300 301&apps_rsc { 302 regulators-0 { 303 compatible = "qcom,pm7325-rpmh-regulators"; 304 qcom,pmic-id = "b"; 305 306 vreg_s1b: smps1 { 307 regulator-name = "vreg_s1b"; 308 regulator-min-microvolt = <1840000>; 309 regulator-max-microvolt = <2040000>; 310 }; 311 312 vreg_s7b: smps7 { 313 regulator-name = "vreg_s7b"; 314 regulator-min-microvolt = <535000>; 315 regulator-max-microvolt = <1120000>; 316 }; 317 318 vreg_s8b: smps8 { 319 regulator-name = "vreg_s8b"; 320 regulator-min-microvolt = <1200000>; 321 regulator-max-microvolt = <1500000>; 322 regulator-initial-mode = <RPMH_REGULATOR_MODE_RET>; 323 }; 324 325 vreg_l1b: ldo1 { 326 regulator-name = "vreg_l1b"; 327 regulator-min-microvolt = <825000>; 328 regulator-max-microvolt = <925000>; 329 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 330 }; 331 332 vreg_l2b: ldo2 { 333 regulator-name = "vreg_l2b"; 334 regulator-min-microvolt = <2700000>; 335 regulator-max-microvolt = <3544000>; 336 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 337 }; 338 339 vreg_l3b: ldo3 { 340 regulator-name = "vreg_l3b"; 341 regulator-min-microvolt = <312000>; 342 regulator-max-microvolt = <910000>; 343 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 344 }; 345 346 vreg_l6b: ldo6 { 347 regulator-name = "vreg_l6b"; 348 regulator-min-microvolt = <1140000>; 349 regulator-max-microvolt = <1260000>; 350 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 351 }; 352 353 vreg_l7b: ldo7 { 354 regulator-name = "vreg_l7b"; 355 /* Constrained for UFS VCC, at least until UFS driver scales voltage */ 356 regulator-min-microvolt = <2952000>; 357 regulator-max-microvolt = <2952000>; 358 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 359 }; 360 361 vreg_l8b: ldo8 { 362 regulator-name = "vreg_l8b"; 363 regulator-min-microvolt = <870000>; 364 regulator-max-microvolt = <970000>; 365 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 366 }; 367 368 vreg_l9b: ldo9 { 369 regulator-name = "vreg_l9b"; 370 regulator-min-microvolt = <1200000>; 371 regulator-max-microvolt = <1304000>; 372 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 373 }; 374 375 vreg_l11b: ldo11 { 376 regulator-name = "vreg_l11b"; 377 regulator-min-microvolt = <1504000>; 378 regulator-max-microvolt = <2000000>; 379 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 380 }; 381 382 vreg_l12b: ldo12 { 383 regulator-name = "vreg_l12b"; 384 regulator-min-microvolt = <751000>; 385 regulator-max-microvolt = <824000>; 386 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 387 }; 388 389 vreg_l13b: ldo13 { 390 regulator-name = "vreg_l13b"; 391 regulator-min-microvolt = <530000>; 392 regulator-max-microvolt = <824000>; 393 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 394 }; 395 396 vreg_l14b: ldo14 { 397 regulator-name = "vreg_l14b"; 398 regulator-min-microvolt = <1080000>; 399 regulator-max-microvolt = <1304000>; 400 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 401 }; 402 403 vreg_l15b: ldo15 { 404 regulator-name = "vreg_l15b"; 405 regulator-min-microvolt = <765000>; 406 regulator-max-microvolt = <1020000>; 407 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 408 }; 409 410 vreg_l16b: ldo16 { 411 regulator-name = "vreg_l16b"; 412 regulator-min-microvolt = <1100000>; 413 regulator-max-microvolt = <1300000>; 414 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 415 }; 416 417 vreg_l17b: ldo17 { 418 regulator-name = "vreg_l17b"; 419 regulator-min-microvolt = <1700000>; 420 regulator-max-microvolt = <1900000>; 421 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 422 }; 423 424 vreg_l18b: ldo18 { 425 regulator-name = "vreg_l18b"; 426 regulator-min-microvolt = <1800000>; 427 regulator-max-microvolt = <2000000>; 428 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 429 }; 430 431 vreg_l19b: ldo19 { 432 regulator-name = "vreg_l19b"; 433 regulator-min-microvolt = <1800000>; 434 regulator-max-microvolt = <2000000>; 435 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 436 }; 437 }; 438 439 regulators-1 { 440 compatible = "qcom,pm8350c-rpmh-regulators"; 441 qcom,pmic-id = "c"; 442 443 vreg_s1c: smps1 { 444 regulator-name = "vreg_s1c"; 445 regulator-min-microvolt = <2190000>; 446 regulator-max-microvolt = <2210000>; 447 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 448 }; 449 450 vreg_s9c: smps9 { 451 regulator-name = "vreg_s9c"; 452 regulator-min-microvolt = <1010000>; 453 regulator-max-microvolt = <1170000>; 454 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 455 }; 456 457 vreg_l1c: ldo1 { 458 regulator-name = "vreg_l1c"; 459 regulator-min-microvolt = <1800000>; 460 regulator-max-microvolt = <1980000>; 461 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 462 }; 463 464 vreg_l2c: ldo2 { 465 regulator-name = "vreg_l2c"; 466 regulator-min-microvolt = <1800000>; 467 regulator-max-microvolt = <1950000>; 468 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 469 }; 470 471 vreg_l3c: ldo3 { 472 regulator-name = "vreg_l3c"; 473 regulator-min-microvolt = <3000000>; 474 regulator-max-microvolt = <3400000>; 475 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 476 }; 477 478 vreg_l4c: ldo4 { 479 regulator-name = "vreg_l4c"; 480 regulator-min-microvolt = <1620000>; 481 regulator-max-microvolt = <3300000>; 482 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 483 }; 484 485 vreg_l5c: ldo5 { 486 regulator-name = "vreg_l5c"; 487 regulator-min-microvolt = <1620000>; 488 regulator-max-microvolt = <3300000>; 489 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 490 }; 491 492 vreg_l6c: ldo6 { 493 regulator-name = "vreg_l6c"; 494 regulator-min-microvolt = <1650000>; 495 regulator-max-microvolt = <3544000>; 496 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 497 }; 498 499 vreg_l7c: ldo7 { 500 regulator-name = "vreg_l7c"; 501 regulator-min-microvolt = <3000000>; 502 regulator-max-microvolt = <3544000>; 503 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 504 }; 505 506 vreg_l8c: ldo8 { 507 regulator-name = "vreg_l8c"; 508 regulator-min-microvolt = <1620000>; 509 regulator-max-microvolt = <2000000>; 510 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 511 /* Hall sensor VDD */ 512 regulator-always-on; 513 }; 514 515 vreg_l9c: ldo9 { 516 regulator-name = "vreg_l9c"; 517 regulator-min-microvolt = <2700000>; 518 regulator-max-microvolt = <3544000>; 519 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 520 }; 521 522 vreg_l10c: ldo10 { 523 regulator-name = "vreg_l10c"; 524 regulator-min-microvolt = <720000>; 525 regulator-max-microvolt = <1050000>; 526 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 527 }; 528 529 vreg_l11c: ldo11 { 530 regulator-name = "vreg_l11c"; 531 regulator-min-microvolt = <2800000>; 532 regulator-max-microvolt = <3544000>; 533 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 534 }; 535 536 vreg_l12c: ldo12 { 537 regulator-name = "vreg_l12c"; 538 regulator-min-microvolt = <1650000>; 539 regulator-max-microvolt = <2000000>; 540 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 541 }; 542 543 vreg_l13c: ldo13 { 544 regulator-name = "vreg_l13c"; 545 regulator-min-microvolt = <2700000>; 546 regulator-max-microvolt = <3544000>; 547 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 548 }; 549 550 vreg_bob: bob { 551 regulator-name = "vreg_bob"; 552 regulator-min-microvolt = <3008000>; 553 regulator-max-microvolt = <3960000>; 554 regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>; 555 }; 556 }; 557}; 558 559&dispcc { 560 /* Disable for now so simple-framebuffer continues working */ 561 status = "disabled"; 562}; 563 564&gcc { 565 protected-clocks = <GCC_CFG_NOC_LPASS_CLK>, 566 <GCC_EDP_CLKREF_EN>, 567 <GCC_MSS_CFG_AHB_CLK>, 568 <GCC_MSS_GPLL0_MAIN_DIV_CLK_SRC>, 569 <GCC_MSS_OFFLINE_AXI_CLK>, 570 <GCC_MSS_Q6SS_BOOT_CLK_SRC>, 571 <GCC_MSS_Q6_MEMNOC_AXI_CLK>, 572 <GCC_MSS_SNOC_AXI_CLK>, 573 <GCC_QSPI_CNOC_PERIPH_AHB_CLK>, 574 <GCC_QSPI_CORE_CLK>, 575 <GCC_QSPI_CORE_CLK_SRC>, 576 <GCC_SEC_CTRL_CLK_SRC>, 577 <GCC_WPSS_AHB_BDG_MST_CLK>, 578 <GCC_WPSS_AHB_CLK>, 579 <GCC_WPSS_RSCP_CLK>; 580}; 581 582&gpi_dma0 { 583 status = "okay"; 584}; 585 586&gpi_dma1 { 587 status = "okay"; 588}; 589 590&i2c1 { 591 status = "okay"; 592 593 pm8008: pmic@8 { 594 compatible = "qcom,pm8008"; 595 reg = <0x8>; 596 597 interrupts-extended = <&tlmm 25 IRQ_TYPE_EDGE_RISING>; 598 reset-gpios = <&pm8350c_gpios 3 GPIO_ACTIVE_LOW>; 599 600 vdd-l1-l2-supply = <&vreg_s8b>; 601 vdd-l3-l4-supply = <&vreg_bob>; 602 vdd-l5-supply = <&vreg_bob>; 603 vdd-l6-supply = <&vreg_s1b>; 604 vdd-l7-supply = <&vreg_bob>; 605 606 pinctrl-names = "default"; 607 pinctrl-0 = <&pm8008_int_default>, <&pm8008_reset_n_default>; 608 609 gpio-controller; 610 #gpio-cells = <2>; 611 gpio-ranges = <&pm8008 0 0 2>; 612 613 interrupt-controller; 614 #interrupt-cells = <2>; 615 616 #thermal-sensor-cells = <0>; 617 618 regulators { 619 vreg_l1p: ldo1 { 620 regulator-name = "vreg_l1p"; 621 regulator-min-microvolt = <1000000>; 622 regulator-max-microvolt = <1200000>; 623 }; 624 625 vreg_l2p: ldo2 { 626 regulator-name = "vreg_l2p"; 627 regulator-min-microvolt = <950000>; 628 regulator-max-microvolt = <1152000>; 629 }; 630 631 vreg_l3p: ldo3 { 632 regulator-name = "vreg_l3p"; 633 regulator-min-microvolt = <2700000>; 634 regulator-max-microvolt = <3000000>; 635 }; 636 637 vreg_l4p: ldo4 { 638 regulator-name = "vreg_l4p"; 639 regulator-min-microvolt = <2700000>; 640 regulator-max-microvolt = <2900000>; 641 }; 642 643 vreg_l5p: ldo5 { 644 regulator-name = "vreg_l5p"; 645 regulator-min-microvolt = <2704000>; 646 regulator-max-microvolt = <2900000>; 647 }; 648 649 vreg_l6p: ldo6 { 650 regulator-name = "vreg_l6p"; 651 regulator-min-microvolt = <1700000>; 652 regulator-max-microvolt = <1904000>; 653 }; 654 655 vreg_l7p: ldo7 { 656 regulator-name = "vreg_l7p"; 657 regulator-min-microvolt = <2700000>; 658 regulator-max-microvolt = <3000000>; 659 }; 660 }; 661 }; 662 663 /* Pixelworks @ 26 */ 664 /* FSA4480 USB audio switch @ 42 */ 665 /* AW86927FCR haptics @ 5a */ 666}; 667 668&i2c2 { 669 status = "okay"; 670 671 /* AW88261FCR amplifier @ 34 */ 672 /* AW88261FCR amplifier @ 35 */ 673}; 674 675&i2c4 { 676 status = "okay"; 677 678 /* PTN36502 USB redriver @ 1a */ 679}; 680 681&i2c9 { 682 status = "okay"; 683 684 /* ST21NFC NFC @ 28 */ 685 /* VL53L3 ToF @ 29 */ 686}; 687 688&ipa { 689 qcom,gsi-loader = "self"; 690 memory-region = <&ipa_fw_mem>; 691 firmware-name = "qcom/qcm6490/fairphone5/ipa_fws.mbn"; 692 status = "okay"; 693}; 694 695&pm7250b_adc { 696 pinctrl-0 = <&pm7250b_adc_default>; 697 pinctrl-names = "default"; 698 699 channel@4d { 700 reg = <ADC5_AMUX_THM1_100K_PU>; 701 qcom,ratiometric; 702 qcom,hw-settle-time = <200>; 703 qcom,pre-scaling = <1 1>; 704 label = "charger_skin_therm"; 705 }; 706 707 channel@4f { 708 reg = <ADC5_AMUX_THM3_100K_PU>; 709 qcom,ratiometric; 710 qcom,hw-settle-time = <200>; 711 qcom,pre-scaling = <1 1>; 712 label = "conn_therm"; 713 }; 714 715 channel@53 { 716 reg = <ADC5_GPIO2_100K_PU>; 717 qcom,ratiometric; 718 qcom,hw-settle-time = <200>; 719 qcom,pre-scaling = <1 1>; 720 label = "mem_therm"; 721 }; 722}; 723 724&pm7250b_adc_tm { 725 status = "okay"; 726 727 charger-skin-therm@0 { 728 reg = <0>; 729 io-channels = <&pm7250b_adc ADC5_AMUX_THM1_100K_PU>; 730 qcom,ratiometric; 731 qcom,hw-settle-time-us = <200>; 732 }; 733 734 conn-therm@1 { 735 reg = <1>; 736 io-channels = <&pm7250b_adc ADC5_AMUX_THM3_100K_PU>; 737 qcom,ratiometric; 738 qcom,hw-settle-time-us = <200>; 739 }; 740 741 mem-therm@2 { 742 reg = <2>; 743 io-channels = <&pm7250b_adc ADC5_GPIO2_100K_PU>; 744 qcom,ratiometric; 745 qcom,hw-settle-time-us = <200>; 746 }; 747}; 748 749&pm7250b_gpios { 750 pm7250b_adc_default: adc-default-state { 751 pins = "gpio12"; 752 function = PMIC_GPIO_FUNC_NORMAL; 753 bias-high-impedance; 754 }; 755}; 756 757&pm7325_gpios { 758 volume_down_default: volume-down-default-state { 759 pins = "gpio6"; 760 function = PMIC_GPIO_FUNC_NORMAL; 761 power-source = <1>; 762 bias-pull-up; 763 input-enable; 764 }; 765}; 766 767&pm8350c_flash { 768 status = "okay"; 769 770 led-0 { 771 function = LED_FUNCTION_FLASH; 772 color = <LED_COLOR_ID_WHITE>; 773 led-sources = <1>, <4>; 774 led-max-microamp = <500000>; 775 flash-max-microamp = <1500000>; 776 flash-max-timeout-us = <1280000>; 777 }; 778}; 779 780&pmk8350_adc_tm { 781 status = "okay"; 782 783 xo-therm@0 { 784 reg = <0>; 785 io-channels = <&pmk8350_vadc PMK8350_ADC7_AMUX_THM1_100K_PU>; 786 qcom,ratiometric; 787 qcom,hw-settle-time-us = <200>; 788 }; 789 790 quiet-therm@1 { 791 reg = <1>; 792 io-channels = <&pmk8350_vadc PM7325_ADC7_AMUX_THM1_100K_PU>; 793 qcom,ratiometric; 794 qcom,hw-settle-time-us = <200>; 795 }; 796 797 cam-flash-therm@2 { 798 reg = <2>; 799 io-channels = <&pmk8350_vadc PM7325_ADC7_AMUX_THM2_100K_PU>; 800 qcom,ratiometric; 801 qcom,hw-settle-time-us = <200>; 802 }; 803 804 sdm-skin-therm@3 { 805 reg = <3>; 806 io-channels = <&pmk8350_vadc PM7325_ADC7_AMUX_THM3_100K_PU>; 807 qcom,ratiometric; 808 qcom,hw-settle-time-us = <200>; 809 }; 810 811 wide-rfc-therm@4 { 812 reg = <4>; 813 io-channels = <&pmk8350_vadc PM7325_ADC7_AMUX_THM4_100K_PU>; 814 qcom,ratiometric; 815 qcom,hw-settle-time-us = <200>; 816 }; 817}; 818 819&pm8350c_gpios { 820 pm8008_reset_n_default: pm8008-reset-n-default-state { 821 pins = "gpio3"; 822 function = PMIC_GPIO_FUNC_NORMAL; 823 bias-pull-down; 824 }; 825}; 826 827&pmk8350_rtc { 828 status = "okay"; 829}; 830 831&pmk8350_vadc { 832 status = "okay"; 833 834 channel@44 { 835 reg = <PMK8350_ADC7_AMUX_THM1_100K_PU>; 836 qcom,ratiometric; 837 qcom,hw-settle-time = <200>; 838 qcom,pre-scaling = <1 1>; 839 label = "pmk8350_xo_therm"; 840 }; 841 842 channel@144 { 843 reg = <PM7325_ADC7_AMUX_THM1_100K_PU>; 844 qcom,ratiometric; 845 qcom,hw-settle-time = <200>; 846 qcom,pre-scaling = <1 1>; 847 label = "pm7325_quiet_therm"; 848 }; 849 850 channel@145 { 851 reg = <PM7325_ADC7_AMUX_THM2_100K_PU>; 852 qcom,ratiometric; 853 qcom,hw-settle-time = <200>; 854 qcom,pre-scaling = <1 1>; 855 label = "pm7325_cam_flash_therm"; 856 }; 857 858 channel@146 { 859 reg = <PM7325_ADC7_AMUX_THM3_100K_PU>; 860 qcom,ratiometric; 861 qcom,hw-settle-time = <200>; 862 qcom,pre-scaling = <1 1>; 863 label = "pm7325_sdm_skin_therm"; 864 }; 865 866 channel@147 { 867 reg = <PM7325_ADC7_AMUX_THM4_100K_PU>; 868 qcom,ratiometric; 869 qcom,hw-settle-time = <200>; 870 qcom,pre-scaling = <1 1>; 871 label = "pm7325_wide_rfc_therm"; 872 }; 873}; 874 875&pon_pwrkey { 876 status = "okay"; 877}; 878 879&pon_resin { 880 linux,code = <KEY_VOLUMEDOWN>; 881 status = "okay"; 882}; 883 884&qup_spi13_cs { 885 drive-strength = <6>; 886 bias-disable; 887}; 888 889&qup_spi13_data_clk { 890 drive-strength = <6>; 891 bias-disable; 892}; 893 894&qup_uart5_rx { 895 drive-strength = <2>; 896 bias-disable; 897}; 898 899&qup_uart5_tx { 900 drive-strength = <2>; 901 bias-disable; 902}; 903 904&qupv3_id_0 { 905 status = "okay"; 906}; 907 908&qupv3_id_1 { 909 status = "okay"; 910}; 911 912&remoteproc_adsp { 913 firmware-name = "qcom/qcm6490/fairphone5/adsp.mbn"; 914 status = "okay"; 915}; 916 917&remoteproc_cdsp { 918 firmware-name = "qcom/qcm6490/fairphone5/cdsp.mbn"; 919 status = "okay"; 920}; 921 922&remoteproc_mpss { 923 firmware-name = "qcom/qcm6490/fairphone5/modem.mbn"; 924 status = "okay"; 925}; 926 927&remoteproc_wpss { 928 firmware-name = "qcom/qcm6490/fairphone5/wpss.mbn"; 929 status = "okay"; 930}; 931 932&sdc2_clk { 933 drive-strength = <16>; 934 bias-disable; 935}; 936 937&sdc2_cmd { 938 drive-strength = <10>; 939 bias-pull-up; 940}; 941 942&sdc2_data { 943 drive-strength = <10>; 944 bias-pull-up; 945}; 946 947&sdhc_2 { 948 vmmc-supply = <&vreg_l9c>; 949 vqmmc-supply = <&vreg_l6c>; 950 951 pinctrl-0 = <&sdc2_clk>, <&sdc2_cmd>, <&sdc2_data>; 952 pinctrl-1 = <&sdc2_clk_sleep>, <&sdc2_cmd_sleep>, <&sdc2_data_sleep>; 953 954 status = "okay"; 955}; 956 957&spi13 { 958 status = "okay"; 959 960 /* Goodix touchscreen @ 0 */ 961}; 962 963&tlmm { 964 /* 965 * 32-33: SMB1394 (SPMI) 966 * 56-59: fingerprint reader (SPI) 967 */ 968 gpio-reserved-ranges = <32 2>, <56 4>; 969 970 bluetooth_enable_default: bluetooth-enable-default-state { 971 pins = "gpio85"; 972 function = "gpio"; 973 output-low; 974 bias-disable; 975 }; 976 977 hall_sensor_default: hall-sensor-default-state { 978 pins = "gpio155"; 979 function = "gpio"; 980 drive-strength = <2>; 981 bias-pull-up; 982 }; 983 984 pm8008_int_default: pm8008-int-default-state { 985 pins = "gpio25"; 986 function = "gpio"; 987 drive-strength = <2>; 988 bias-disable; 989 }; 990 991 qup_uart7_sleep_cts: qup-uart7-sleep-cts-state { 992 pins = "gpio28"; 993 function = "gpio"; 994 /* 995 * Configure a bias-bus-hold on CTS to lower power 996 * usage when Bluetooth is turned off. Bus hold will 997 * maintain a low power state regardless of whether 998 * the Bluetooth module drives the pin in either 999 * direction or leaves the pin fully unpowered. 1000 */ 1001 bias-bus-hold; 1002 }; 1003 1004 qup_uart7_sleep_rts: qup-uart7-sleep-rts-state { 1005 pins = "gpio29"; 1006 function = "gpio"; 1007 /* 1008 * Configure pull-down on RTS. As RTS is active low 1009 * signal, pull it low to indicate the BT SoC that it 1010 * can wakeup the system anytime from suspend state by 1011 * pulling RX low (by sending wakeup bytes). 1012 */ 1013 bias-pull-down; 1014 }; 1015 1016 qup_uart7_sleep_tx: qup-uart7-sleep-tx-state { 1017 pins = "gpio30"; 1018 function = "gpio"; 1019 /* 1020 * Configure pull-up on TX when it isn't actively driven 1021 * to prevent BT SoC from receiving garbage during sleep. 1022 */ 1023 bias-pull-up; 1024 }; 1025 1026 qup_uart7_sleep_rx: qup-uart7-sleep-rx-state { 1027 pins = "gpio31"; 1028 function = "gpio"; 1029 /* 1030 * Configure a pull-up on RX. This is needed to avoid 1031 * garbage data when the TX pin of the Bluetooth module 1032 * is floating which may cause spurious wakeups. 1033 */ 1034 bias-pull-up; 1035 }; 1036 1037 sw_ctrl_default: sw-ctrl-default-state { 1038 pins = "gpio86"; 1039 function = "gpio"; 1040 bias-pull-down; 1041 }; 1042}; 1043 1044&uart5 { 1045 status = "okay"; 1046}; 1047 1048&uart7 { 1049 /delete-property/interrupts; 1050 interrupts-extended = <&intc GIC_SPI 608 IRQ_TYPE_LEVEL_HIGH>, 1051 <&tlmm 31 IRQ_TYPE_EDGE_FALLING>; 1052 1053 pinctrl-1 = <&qup_uart7_sleep_cts>, <&qup_uart7_sleep_rts>, <&qup_uart7_sleep_tx>, <&qup_uart7_sleep_rx>; 1054 pinctrl-names = "default", "sleep"; 1055 1056 status = "okay"; 1057 1058 bluetooth: bluetooth { 1059 compatible = "qcom,wcn6750-bt"; 1060 1061 pinctrl-0 = <&bluetooth_enable_default>, <&sw_ctrl_default>; 1062 pinctrl-names = "default"; 1063 1064 enable-gpios = <&tlmm 85 GPIO_ACTIVE_HIGH>; 1065 swctrl-gpios = <&tlmm 86 GPIO_ACTIVE_HIGH>; 1066 1067 vddio-supply = <&vreg_l19b>; 1068 vddaon-supply = <&vreg_s7b>; 1069 vddbtcxmx-supply = <&vreg_s7b>; 1070 vddrfacmn-supply = <&vreg_s7b>; 1071 vddrfa0p8-supply = <&vreg_s7b>; 1072 vddrfa1p7-supply = <&vreg_s1b>; 1073 vddrfa1p2-supply = <&vreg_s8b>; 1074 vddrfa2p2-supply = <&vreg_s1c>; 1075 vddasd-supply = <&vreg_l11c>; 1076 1077 max-speed = <3200000>; 1078 }; 1079}; 1080 1081&ufs_mem_hc { 1082 reset-gpios = <&tlmm 175 GPIO_ACTIVE_LOW>; 1083 1084 vcc-supply = <&vreg_l7b>; 1085 vcc-max-microamp = <800000>; 1086 /* 1087 * Technically l9b enables an eLDO (supplied by s1b) which then powers 1088 * VCCQ2 of the UFS. 1089 */ 1090 vccq-supply = <&vreg_l9b>; 1091 vccq-max-microamp = <900000>; 1092 1093 status = "okay"; 1094}; 1095 1096&ufs_mem_phy { 1097 vdda-phy-supply = <&vreg_l10c>; 1098 vdda-pll-supply = <&vreg_l6b>; 1099 1100 status = "okay"; 1101}; 1102 1103&usb_1 { 1104 status = "okay"; 1105}; 1106 1107&usb_1_dwc3 { 1108 dr_mode = "otg"; 1109 usb-role-switch; 1110}; 1111 1112&usb_1_dwc3_hs { 1113 remote-endpoint = <&pmic_glink_hs_in>; 1114}; 1115 1116&usb_1_dwc3_ss { 1117 remote-endpoint = <&pmic_glink_ss_in>; 1118}; 1119 1120&usb_1_hsphy { 1121 vdda-pll-supply = <&vreg_l10c>; 1122 vdda18-supply = <&vreg_l1c>; 1123 vdda33-supply = <&vreg_l2b>; 1124 1125 qcom,hs-crossover-voltage-microvolt = <28000>; 1126 qcom,hs-output-impedance-micro-ohms = <2600000>; 1127 qcom,hs-rise-fall-time-bp = <5430>; 1128 qcom,hs-disconnect-bp = <1743>; 1129 qcom,hs-amplitude-bp = <2430>; 1130 1131 qcom,pre-emphasis-amplitude-bp = <20000>; 1132 qcom,pre-emphasis-duration-bp = <20000>; 1133 1134 qcom,squelch-detector-bp = <(-2090)>; 1135 1136 status = "okay"; 1137}; 1138 1139&usb_1_qmpphy { 1140 vdda-phy-supply = <&vreg_l6b>; 1141 vdda-pll-supply = <&vreg_l1b>; 1142 1143 status = "okay"; 1144}; 1145 1146&venus { 1147 firmware-name = "qcom/qcm6490/fairphone5/venus.mbn"; 1148 status = "okay"; 1149}; 1150 1151&wifi { 1152 qcom,ath11k-calibration-variant = "Fairphone_5"; 1153 status = "okay"; 1154}; 1155