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