1// SPDX-License-Identifier: GPL-2.0 2/* 3 * SDM845 OnePlus 6(T) (enchilada / fajita) common device tree source 4 * 5 * Copyright (c) 2020, The Linux Foundation. All rights reserved. 6 */ 7 8/dts-v1/; 9 10#include <dt-bindings/arm/qcom,ids.h> 11#include <dt-bindings/input/linux-event-codes.h> 12#include <dt-bindings/leds/common.h> 13#include <dt-bindings/regulator/qcom,rpmh-regulator.h> 14#include <dt-bindings/sound/qcom,q6afe.h> 15#include <dt-bindings/sound/qcom,q6asm.h> 16 17#include "sdm845.dtsi" 18#include "sdm845-wcd9340.dtsi" 19#include "pm8998.dtsi" 20#include "pmi8998.dtsi" 21 22/delete-node/ &rmtfs_mem; 23 24/ { 25 chassis-type = "handset"; 26 qcom,msm-id = <QCOM_ID_SDM845 0x20001>; 27 28 alert-slider { 29 compatible = "gpio-keys"; 30 label = "Alert slider"; 31 32 pinctrl-0 = <&alert_slider_default>; 33 pinctrl-names = "default"; 34 35 switch-top { 36 label = "Silent"; 37 linux,input-type = <EV_ABS>; 38 linux,code = <ABS_SND_PROFILE>; 39 linux,input-value = <SND_PROFILE_SILENT>; 40 gpios = <&tlmm 126 GPIO_ACTIVE_LOW>; 41 linux,can-disable; 42 }; 43 44 switch-middle { 45 label = "Vibrate"; 46 linux,input-type = <EV_ABS>; 47 linux,code = <ABS_SND_PROFILE>; 48 linux,input-value = <SND_PROFILE_VIBRATE>; 49 gpios = <&tlmm 52 GPIO_ACTIVE_LOW>; 50 linux,can-disable; 51 }; 52 53 switch-bottom { 54 label = "Ring"; 55 linux,input-type = <EV_ABS>; 56 linux,code = <ABS_SND_PROFILE>; 57 linux,input-value = <SND_PROFILE_RING>; 58 gpios = <&tlmm 24 GPIO_ACTIVE_LOW>; 59 linux,can-disable; 60 }; 61 }; 62 63 aliases { 64 serial0 = &uart9; 65 serial1 = &uart6; 66 }; 67 68 chosen { 69 #address-cells = <2>; 70 #size-cells = <2>; 71 ranges; 72 73 stdout-path = "serial0:115200n8"; 74 75 framebuffer: framebuffer@9d400000 { 76 compatible = "simple-framebuffer"; 77 memory-region = <&cont_splash_mem>; 78 79 format = "a8r8g8b8"; 80 stride = <(1080 * 4)>; 81 width = <1080>; 82 }; 83 }; 84 85 gpio-hall-sensor { 86 compatible = "gpio-keys"; 87 label = "Hall effect sensor"; 88 89 pinctrl-0 = <&hall_sensor_default>; 90 pinctrl-names = "default"; 91 92 event-hall-sensor { 93 gpios = <&tlmm 124 GPIO_ACTIVE_LOW>; 94 label = "Hall Effect Sensor"; 95 linux,input-type = <EV_SW>; 96 linux,code = <SW_LID>; 97 linux,can-disable; 98 wakeup-source; 99 }; 100 }; 101 102 gpio-keys { 103 compatible = "gpio-keys"; 104 label = "Volume keys"; 105 autorepeat; 106 107 pinctrl-names = "default"; 108 pinctrl-0 = <&volume_down_gpio &volume_up_gpio>; 109 110 key-vol-down { 111 label = "Volume down"; 112 linux,code = <KEY_VOLUMEDOWN>; 113 gpios = <&pm8998_gpios 5 GPIO_ACTIVE_LOW>; 114 debounce-interval = <15>; 115 }; 116 117 key-vol-up { 118 label = "Volume up"; 119 linux,code = <KEY_VOLUMEUP>; 120 gpios = <&pm8998_gpios 6 GPIO_ACTIVE_LOW>; 121 debounce-interval = <15>; 122 }; 123 }; 124 125 reserved-memory { 126 cont_splash_mem: splash@9d400000 { 127 reg = <0 0x9d400000 0 0x02400000>; 128 no-map; 129 }; 130 131 /* 132 * The rmtfs memory region in downstream is 'dynamically allocated' 133 * but given the same address every time. Hard code it as this address is 134 * where the modem firmware expects it to be. 135 */ 136 rmtfs_mem: rmtfs-region@f5b00000 { 137 compatible = "qcom,rmtfs-mem"; 138 reg = <0 0xf5b00000 0 0x202000>; 139 qcom,use-guard-pages; 140 no-map; 141 142 qcom,client-id = <1>; 143 qcom,vmid = <QCOM_SCM_VMID_MSS_MSA>; 144 }; 145 146 /* 147 * It seems like reserving the old rmtfs_mem region is also needed to prevent 148 * random crashes which are most likely modem related, more testing needed. 149 */ 150 removed_region: removed-region@88f00000 { 151 no-map; 152 reg = <0 0x88f00000 0 0x1c00000>; 153 }; 154 155 ramoops: ramoops@ac300000 { 156 compatible = "ramoops"; 157 reg = <0 0xac300000 0 0x400000>; 158 record-size = <0x40000>; 159 console-size = <0x40000>; 160 ftrace-size = <0x40000>; 161 pmsg-size = <0x200000>; 162 ecc-size = <16>; 163 }; 164 }; 165 166 vph_pwr: vph-pwr-regulator { 167 compatible = "regulator-fixed"; 168 regulator-name = "vph_pwr"; 169 regulator-min-microvolt = <3700000>; 170 regulator-max-microvolt = <3700000>; 171 }; 172 173 /* 174 * Apparently RPMh does not provide support for PM8998 S4 because it 175 * is always-on; model it as a fixed regulator. 176 */ 177 vreg_s4a_1p8: pm8998-smps4 { 178 compatible = "regulator-fixed"; 179 regulator-name = "vreg_s4a_1p8"; 180 181 regulator-min-microvolt = <1800000>; 182 regulator-max-microvolt = <1800000>; 183 184 regulator-always-on; 185 regulator-boot-on; 186 187 vin-supply = <&vph_pwr>; 188 }; 189 190 /* 191 * The touchscreen regulator seems to be controlled somehow by a gpio. 192 * Model it as a fixed regulator and keep it on. Without schematics we 193 * don't know how this is actually wired up... 194 */ 195 ts_1p8_supply: ts-1p8-regulator { 196 compatible = "regulator-fixed"; 197 regulator-name = "ts_1p8_supply"; 198 199 regulator-min-microvolt = <1800000>; 200 regulator-max-microvolt = <1800000>; 201 202 gpio = <&tlmm 88 0>; 203 enable-active-high; 204 }; 205 206 panel_vci_3v3: panel-vci-3v3-regulator { 207 compatible = "regulator-fixed"; 208 regulator-name = "LCD_VCI_3V"; 209 210 regulator-min-microvolt = <3300000>; 211 regulator-max-microvolt = <3300000>; 212 213 gpio = <&tlmm 26 GPIO_ACTIVE_HIGH>; 214 enable-active-high; 215 pinctrl-0 = <&panel_vci_default>; 216 pinctrl-names = "default"; 217 regulator-boot-on; 218 }; 219 220 panel_vddi_poc_1p8: panel-vddi-poc-regulator { 221 compatible = "regulator-fixed"; 222 regulator-name = "VDDI_POC"; 223 224 regulator-min-microvolt = <1800000>; 225 regulator-max-microvolt = <1800000>; 226 227 gpio = <&tlmm 25 GPIO_ACTIVE_HIGH>; 228 enable-active-high; 229 pinctrl-0 = <&panel_poc_default>; 230 pinctrl-names = "default"; 231 regulator-boot-on; 232 }; 233 234 wcn3990-pmu { 235 compatible = "qcom,wcn3990-pmu"; 236 237 pinctrl-0 = <&sw_ctrl_default>; 238 pinctrl-names = "default"; 239 240 vddio-supply = <&vreg_s4a_1p8>; 241 vddxo-supply = <&vreg_l7a_1p8>; 242 vddrf-supply = <&vreg_l17a_1p3>; 243 vddch0-supply = <&vreg_l25a_3p3>; 244 vddch1-supply = <&vreg_l23a_3p3>; 245 246 swctrl-gpios = <&pm8998_gpios 3 GPIO_ACTIVE_HIGH>; 247 248 regulators { 249 vreg_pmu_io: ldo0 { 250 regulator-name = "vreg_pmu_io"; 251 }; 252 253 vreg_pmu_xo: ldo1 { 254 regulator-name = "vreg_pmu_xo"; 255 }; 256 257 vreg_pmu_rf: ldo2 { 258 regulator-name = "vreg_pmu_rf"; 259 }; 260 261 vreg_pmu_ch0: ldo3 { 262 regulator-name = "vreg_pmu_ch0"; 263 }; 264 265 vreg_pmu_ch1: ldo4 { 266 regulator-name = "vreg_pmu_ch1"; 267 }; 268 }; 269 }; 270}; 271 272&adsp_pas { 273 firmware-name = "qcom/sdm845/OnePlus/enchilada/adsp.mbn"; 274 275 status = "okay"; 276}; 277 278&apps_rsc { 279 regulators-0 { 280 compatible = "qcom,pm8998-rpmh-regulators"; 281 qcom,pmic-id = "a"; 282 283 vdd-s1-supply = <&vph_pwr>; 284 vdd-s2-supply = <&vph_pwr>; 285 vdd-s3-supply = <&vph_pwr>; 286 vdd-s4-supply = <&vph_pwr>; 287 vdd-s5-supply = <&vph_pwr>; 288 vdd-s6-supply = <&vph_pwr>; 289 vdd-s7-supply = <&vph_pwr>; 290 vdd-s8-supply = <&vph_pwr>; 291 vdd-s9-supply = <&vph_pwr>; 292 vdd-s10-supply = <&vph_pwr>; 293 vdd-s11-supply = <&vph_pwr>; 294 vdd-s12-supply = <&vph_pwr>; 295 vdd-s13-supply = <&vph_pwr>; 296 vdd-l1-l27-supply = <&vreg_s7a_1p025>; 297 vdd-l2-l8-l17-supply = <&vreg_s3a_1p35>; 298 vdd-l3-l11-supply = <&vreg_s7a_1p025>; 299 vdd-l4-l5-supply = <&vreg_s7a_1p025>; 300 vdd-l6-supply = <&vph_pwr>; 301 vdd-l7-l12-l14-l15-supply = <&vreg_s5a_2p04>; 302 vdd-l9-supply = <&vreg_bob>; 303 vdd-l10-l23-l25-supply = <&vreg_bob>; 304 vdd-l13-l19-l21-supply = <&vreg_bob>; 305 vdd-l16-l28-supply = <&vreg_bob>; 306 vdd-l18-l22-supply = <&vreg_bob>; 307 vdd-l20-l24-supply = <&vreg_bob>; 308 vdd-l26-supply = <&vreg_s3a_1p35>; 309 vin-lvs-1-2-supply = <&vreg_s4a_1p8>; 310 311 vreg_s3a_1p35: smps3 { 312 regulator-min-microvolt = <1352000>; 313 regulator-max-microvolt = <1352000>; 314 }; 315 316 vreg_s5a_2p04: smps5 { 317 regulator-min-microvolt = <1904000>; 318 regulator-max-microvolt = <2040000>; 319 }; 320 321 vreg_s7a_1p025: smps7 { 322 regulator-min-microvolt = <900000>; 323 regulator-max-microvolt = <1028000>; 324 }; 325 326 vdda_mipi_dsi0_pll: 327 vdda_qlink_lv: 328 vdda_ufs1_core: 329 vdda_usb1_ss_core: 330 vreg_l1a_0p875: ldo1 { 331 regulator-min-microvolt = <880000>; 332 regulator-max-microvolt = <880000>; 333 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 334 }; 335 336 vreg_l2a_1p2: ldo2 { 337 regulator-min-microvolt = <1200000>; 338 regulator-max-microvolt = <1200000>; 339 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 340 regulator-always-on; 341 }; 342 343 vreg_l5a_0p8: ldo5 { 344 regulator-min-microvolt = <800000>; 345 regulator-max-microvolt = <800000>; 346 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 347 }; 348 349 vreg_l7a_1p8: ldo7 { 350 regulator-min-microvolt = <1800000>; 351 regulator-max-microvolt = <1800000>; 352 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 353 }; 354 355 vdda_qusb_hs0_1p8: 356 vreg_l12a_1p8: ldo12 { 357 regulator-min-microvolt = <1800000>; 358 regulator-max-microvolt = <1800000>; 359 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 360 }; 361 362 vreg_l14a_1p88: ldo14 { 363 regulator-min-microvolt = <1800000>; 364 regulator-max-microvolt = <1800000>; 365 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 366 regulator-boot-on; 367 }; 368 369 vreg_l17a_1p3: ldo17 { 370 regulator-min-microvolt = <1304000>; 371 regulator-max-microvolt = <1304000>; 372 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 373 }; 374 375 vreg_l20a_2p95: ldo20 { 376 regulator-min-microvolt = <2704000>; 377 regulator-max-microvolt = <2960000>; 378 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 379 }; 380 381 vreg_l23a_3p3: ldo23 { 382 regulator-min-microvolt = <3300000>; 383 regulator-max-microvolt = <3312000>; 384 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 385 }; 386 387 vdda_qusb_hs0_3p1: 388 vreg_l24a_3p075: ldo24 { 389 regulator-min-microvolt = <3088000>; 390 regulator-max-microvolt = <3088000>; 391 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 392 }; 393 394 vreg_l25a_3p3: ldo25 { 395 regulator-min-microvolt = <3300000>; 396 regulator-max-microvolt = <3312000>; 397 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 398 }; 399 400 vdda_mipi_dsi0_1p2: 401 vdda_ufs1_1p2: 402 vreg_l26a_1p2: ldo26 { 403 regulator-min-microvolt = <1200000>; 404 regulator-max-microvolt = <1200000>; 405 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 406 }; 407 408 vreg_l28a_3p0: ldo28 { 409 regulator-min-microvolt = <2856000>; 410 regulator-max-microvolt = <3008000>; 411 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 412 }; 413 }; 414 415 regulators-1 { 416 compatible = "qcom,pmi8998-rpmh-regulators"; 417 qcom,pmic-id = "b"; 418 419 vdd-bob-supply = <&vph_pwr>; 420 421 vreg_bob: bob { 422 regulator-min-microvolt = <3312000>; 423 regulator-max-microvolt = <3600000>; 424 regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>; 425 regulator-allow-bypass; 426 }; 427 }; 428 429 regulators-2 { 430 compatible = "qcom,pm8005-rpmh-regulators"; 431 qcom,pmic-id = "c"; 432 433 vdd-s1-supply = <&vph_pwr>; 434 vdd-s2-supply = <&vph_pwr>; 435 vdd-s3-supply = <&vph_pwr>; 436 vdd-s4-supply = <&vph_pwr>; 437 438 vreg_s3c_0p6: smps3 { 439 regulator-min-microvolt = <600000>; 440 regulator-max-microvolt = <600000>; 441 }; 442 }; 443}; 444 445&cdsp_pas { 446 firmware-name = "qcom/sdm845/OnePlus/enchilada/cdsp.mbn"; 447 448 status = "okay"; 449}; 450 451&gcc { 452 protected-clocks = <GCC_QSPI_CORE_CLK>, 453 <GCC_QSPI_CORE_CLK_SRC>, 454 <GCC_QSPI_CNOC_PERIPH_AHB_CLK>, 455 <GCC_LPASS_Q6_AXI_CLK>, 456 <GCC_LPASS_SWAY_CLK>; 457}; 458 459&gpu { 460 status = "okay"; 461}; 462 463&gpu_zap_shader { 464 firmware-name = "qcom/sdm845/OnePlus/enchilada/a630_zap.mbn"; 465}; 466 467&i2c10 { 468 status = "okay"; 469 clock-frequency = <100000>; 470 471 bq27441_fg: bq27441-battery@55 { 472 compatible = "ti,bq27411"; 473 status = "okay"; 474 reg = <0x55>; 475 }; 476}; 477 478&i2c12 { 479 status = "okay"; 480 clock-frequency = <400000>; 481 482 synaptics-rmi4-i2c@20 { 483 compatible = "syna,rmi4-i2c"; 484 reg = <0x20>; 485 #address-cells = <1>; 486 #size-cells = <0>; 487 interrupts-extended = <&tlmm 125 IRQ_TYPE_EDGE_FALLING>; 488 489 pinctrl-names = "default"; 490 pinctrl-0 = <&ts_default_pins>; 491 492 vdd-supply = <&vreg_l28a_3p0>; 493 vio-supply = <&ts_1p8_supply>; 494 495 syna,reset-delay-ms = <200>; 496 syna,startup-delay-ms = <200>; 497 498 rmi4-f01@1 { 499 reg = <0x01>; 500 syna,nosleep-mode = <1>; 501 }; 502 503 rmi4_f12: rmi4-f12@12 { 504 reg = <0x12>; 505 touchscreen-x-mm = <68>; 506 touchscreen-y-mm = <144>; 507 syna,sensor-type = <1>; 508 syna,rezero-wait-ms = <200>; 509 }; 510 }; 511}; 512 513&ipa { 514 qcom,gsi-loader = "self"; 515 memory-region = <&ipa_fw_mem>; 516 firmware-name = "qcom/sdm845/OnePlus/enchilada/ipa_fws.mbn"; 517 518 status = "okay"; 519}; 520 521&mdss { 522 status = "okay"; 523}; 524 525&mdss_dsi0 { 526 status = "okay"; 527 vdda-supply = <&vdda_mipi_dsi0_1p2>; 528 529 /* 530 * Both devices use different panels but all other properties 531 * are common. Compatible line is declared in device dts. 532 */ 533 display_panel: panel@0 { 534 status = "disabled"; 535 536 reg = <0>; 537 538 vddio-supply = <&vreg_l14a_1p88>; 539 vci-supply = <&panel_vci_3v3>; 540 poc-supply = <&panel_vddi_poc_1p8>; 541 542 te-gpios = <&tlmm 10 GPIO_ACTIVE_HIGH>; 543 reset-gpios = <&tlmm 6 GPIO_ACTIVE_LOW>; 544 545 pinctrl-0 = <&panel_default>; 546 pinctrl-1 = <&panel_sleep>; 547 pinctrl-names = "default", "sleep"; 548 549 port { 550 panel_in: endpoint { 551 remote-endpoint = <&mdss_dsi0_out>; 552 }; 553 }; 554 }; 555}; 556 557&mdss_dsi0_out { 558 remote-endpoint = <&panel_in>; 559 data-lanes = <0 1 2 3>; 560}; 561 562&mdss_dsi0_phy { 563 status = "okay"; 564 vdds-supply = <&vdda_mipi_dsi0_pll>; 565}; 566 567/* Modem/wifi */ 568&mss_pil { 569 firmware-name = "qcom/sdm845/OnePlus/enchilada/mba.mbn", 570 "qcom/sdm845/OnePlus/enchilada/modem.mbn"; 571 572 status = "okay"; 573}; 574 575&pm8998_gpios { 576 sw_ctrl_default: sw-ctrl-default-state { 577 pins = "gpio3"; 578 function = "normal"; 579 580 input-enable; 581 bias-pull-down; 582 }; 583 584 volume_down_gpio: pm8998-gpio5-state { 585 pinconf { 586 pins = "gpio5"; 587 function = "normal"; 588 input-enable; 589 bias-pull-up; 590 qcom,drive-strength = <0>; 591 }; 592 }; 593 594 volume_up_gpio: pm8998-gpio6-state { 595 pinconf { 596 pins = "gpio6"; 597 function = "normal"; 598 input-enable; 599 bias-pull-up; 600 qcom,drive-strength = <0>; 601 }; 602 }; 603}; 604 605&pmi8998_charger { 606 status = "okay"; 607}; 608 609&pmi8998_flash { 610 status = "okay"; 611 612 led-0 { 613 function = LED_FUNCTION_FLASH; 614 color = <LED_COLOR_ID_WHITE>; 615 led-sources = <1>; 616 led-max-microamp = <500000>; 617 flash-max-microamp = <1500000>; 618 flash-max-timeout-us = <1280000>; 619 }; 620 621 led-1 { 622 function = LED_FUNCTION_FLASH; 623 color = <LED_COLOR_ID_YELLOW>; 624 led-sources = <2>; 625 led-max-microamp = <500000>; 626 flash-max-microamp = <1500000>; 627 flash-max-timeout-us = <1280000>; 628 }; 629}; 630 631&q6afedai { 632 dai@22 { 633 reg = <QUATERNARY_MI2S_RX>; 634 qcom,sd-lines = <1>; 635 }; 636 637 dai@23 { 638 reg = <QUATERNARY_MI2S_TX>; 639 qcom,sd-lines = <0>; 640 }; 641}; 642 643&q6asmdai { 644 dai@0 { 645 reg = <MSM_FRONTEND_DAI_MULTIMEDIA1>; 646 }; 647 648 dai@1 { 649 reg = <MSM_FRONTEND_DAI_MULTIMEDIA2>; 650 }; 651 652 dai@2 { 653 reg = <MSM_FRONTEND_DAI_MULTIMEDIA3>; 654 }; 655 656 dai@3 { 657 reg = <MSM_FRONTEND_DAI_MULTIMEDIA4>; 658 }; 659 660 dai@4 { 661 reg = <MSM_FRONTEND_DAI_MULTIMEDIA5>; 662 }; 663 664 dai@5 { 665 reg = <MSM_FRONTEND_DAI_MULTIMEDIA6>; 666 }; 667}; 668 669&qupv3_id_1 { 670 status = "okay"; 671}; 672 673&qupv3_id_0 { 674 status = "okay"; 675}; 676 677&qup_i2c10_default { 678 drive-strength = <2>; 679 bias-disable; 680}; 681 682&qup_i2c12_default { 683 drive-strength = <2>; 684 bias-disable; 685}; 686 687&qup_uart9_rx { 688 drive-strength = <2>; 689 bias-pull-up; 690}; 691 692&qup_uart9_tx { 693 drive-strength = <2>; 694 bias-disable; 695}; 696 697&slpi_pas { 698 firmware-name = "qcom/sdm845/OnePlus/enchilada/slpi.mbn"; 699 700 status = "okay"; 701}; 702 703&sound { 704 compatible = "qcom,sdm845-sndcard"; 705 pinctrl-0 = <&quat_mi2s_active &quat_mi2s_sd0_active &quat_mi2s_sd1_active>; 706 pinctrl-names = "default"; 707 status = "okay"; 708 709 mm1-dai-link { 710 link-name = "MultiMedia1"; 711 cpu { 712 sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA1>; 713 }; 714 }; 715 716 mm2-dai-link { 717 link-name = "MultiMedia2"; 718 cpu { 719 sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA2>; 720 }; 721 }; 722 723 mm3-dai-link { 724 link-name = "MultiMedia3"; 725 cpu { 726 sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA3>; 727 }; 728 }; 729 730 mm4-dai-link { 731 link-name = "MultiMedia4"; 732 cpu { 733 sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA4>; 734 }; 735 }; 736 737 mm5-dai-link { 738 link-name = "MultiMedia5"; 739 cpu { 740 sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA5>; 741 }; 742 }; 743 744 mm6-dai-link { 745 link-name = "MultiMedia6"; 746 cpu { 747 sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA6>; 748 }; 749 }; 750 751 speaker_playback_dai: speaker-dai-link { 752 link-name = "Speaker Playback"; 753 cpu { 754 sound-dai = <&q6afedai QUATERNARY_MI2S_RX>; 755 }; 756 757 platform { 758 sound-dai = <&q6routing>; 759 }; 760 }; 761 762 slim-dai-link { 763 link-name = "SLIM Playback 1"; 764 cpu { 765 sound-dai = <&q6afedai SLIMBUS_0_RX>; 766 }; 767 768 platform { 769 sound-dai = <&q6routing>; 770 }; 771 772 codec { 773 sound-dai = <&wcd9340 0>; 774 }; 775 }; 776 777 slimcap-dai-link { 778 link-name = "SLIM Capture 1"; 779 cpu { 780 sound-dai = <&q6afedai SLIMBUS_0_TX>; 781 }; 782 783 platform { 784 sound-dai = <&q6routing>; 785 }; 786 787 codec { 788 sound-dai = <&wcd9340 1>; 789 }; 790 }; 791 792 slim2-dai-link { 793 link-name = "SLIM Playback 2"; 794 cpu { 795 sound-dai = <&q6afedai SLIMBUS_1_RX>; 796 }; 797 798 platform { 799 sound-dai = <&q6routing>; 800 }; 801 802 codec { 803 sound-dai = <&wcd9340 2>; /* AIF2_PB */ 804 }; 805 }; 806 807 slimcap2-dai-link { 808 link-name = "SLIM Capture 2"; 809 cpu { 810 sound-dai = <&q6afedai SLIMBUS_1_TX>; 811 }; 812 813 platform { 814 sound-dai = <&q6routing>; 815 }; 816 817 codec { 818 sound-dai = <&wcd9340 3>; /* AIF2_CAP */ 819 }; 820 }; 821 822 slimcap3-dai-link { 823 link-name = "SLIM Capture 3"; 824 cpu { 825 sound-dai = <&q6afedai SLIMBUS_2_TX>; 826 }; 827 828 platform { 829 sound-dai = <&q6routing>; 830 }; 831 832 codec { 833 sound-dai = <&wcd9340 5>; /* AIF3_CAP */ 834 }; 835 }; 836}; 837 838&uart6 { 839 status = "okay"; 840 841 pinctrl-0 = <&qup_uart6_4pin>; 842 843 bluetooth { 844 compatible = "qcom,wcn3990-bt"; 845 846 /* 847 * This path is relative to the qca/ 848 * subdir under lib/firmware. 849 */ 850 firmware-name = "OnePlus/enchilada/crnv21.bin"; 851 852 vddio-supply = <&vreg_pmu_io>; 853 vddxo-supply = <&vreg_pmu_xo>; 854 vddrf-supply = <&vreg_pmu_rf>; 855 vddch0-supply = <&vreg_pmu_ch0>; 856 857 max-speed = <3200000>; 858 }; 859}; 860 861&uart9 { 862 label = "LS-UART1"; 863 status = "okay"; 864}; 865 866&ufs_mem_hc { 867 status = "okay"; 868 869 reset-gpios = <&tlmm 150 GPIO_ACTIVE_LOW>; 870 871 vcc-supply = <&vreg_l20a_2p95>; 872 vcc-max-microamp = <600000>; 873}; 874 875&ufs_mem_phy { 876 status = "okay"; 877 878 vdda-phy-supply = <&vdda_ufs1_core>; 879 vdda-pll-supply = <&vdda_ufs1_1p2>; 880}; 881 882&usb_1 { 883 status = "okay"; 884 885 /* 886 * disable USB3 clock requirement as the device only supports 887 * USB2. 888 */ 889 qcom,select-utmi-as-pipe-clk; 890}; 891 892&usb_1_dwc3 { 893 /* 894 * We don't have the capability to switch modes yet. 895 */ 896 dr_mode = "peripheral"; 897 898 /* fastest mode for USB 2 */ 899 maximum-speed = "high-speed"; 900 901 /* Remove USB3 phy as it's unused on this device. */ 902 phys = <&usb_1_hsphy>; 903 phy-names = "usb2-phy"; 904}; 905 906&usb_1_hsphy { 907 status = "okay"; 908 909 vdd-supply = <&vdda_usb1_ss_core>; 910 vdda-pll-supply = <&vdda_qusb_hs0_1p8>; 911 vdda-phy-dpdm-supply = <&vdda_qusb_hs0_3p1>; 912 913 qcom,imp-res-offset-value = <8>; 914 qcom,hstx-trim-value = <QUSB2_V2_HSTX_TRIM_21_6_MA>; 915 qcom,preemphasis-level = <QUSB2_V2_PREEMPHASIS_5_PERCENT>; 916 qcom,preemphasis-width = <QUSB2_V2_PREEMPHASIS_WIDTH_HALF_BIT>; 917}; 918 919&tlmm { 920 gpio-reserved-ranges = <0 4>, <81 4>; 921 922 hall_sensor_default: hall-sensor-default-state { 923 pins = "gpio124"; 924 function = "gpio"; 925 drive-strength = <2>; 926 bias-disable; 927 }; 928 929 panel_vci_default: vci-state { 930 pins = "gpio26"; 931 function = "gpio"; 932 drive-strength = <8>; 933 bias-disable; 934 }; 935 936 panel_poc_default: poc-state { 937 pins = "gpio25"; 938 function = "gpio"; 939 drive-strength = <8>; 940 bias-disable; 941 }; 942 943 alert_slider_default: alert-slider-default-state { 944 pins = "gpio126", "gpio52", "gpio24"; 945 function = "gpio"; 946 drive-strength = <2>; 947 bias-disable; 948 }; 949 950 panel_default: panel-default-state { 951 esd-pins { 952 pins = "gpio30"; 953 function = "gpio"; 954 drive-strength = <2>; 955 bias-pull-down; 956 }; 957 958 reset-pins { 959 pins = "gpio6"; 960 function = "gpio"; 961 drive-strength = <8>; 962 bias-disable; 963 }; 964 965 te-pins { 966 pins = "gpio10"; 967 function = "mdp_vsync"; 968 drive-strength = <2>; 969 bias-disable; 970 }; 971 }; 972 973 panel_sleep: panel-sleep-state { 974 esd-pins { 975 pins = "gpio30"; 976 function = "gpio"; 977 drive-strength = <2>; 978 bias-pull-down; 979 }; 980 981 reset-pins { 982 pins = "gpio6"; 983 function = "gpio"; 984 drive-strength = <2>; 985 bias-pull-down; 986 }; 987 988 te-pins { 989 pins = "gpio10"; 990 function = "mdp_vsync"; 991 drive-strength = <2>; 992 bias-disable; 993 }; 994 }; 995 996 ts_default_pins: ts-int-state { 997 pins = "gpio99", "gpio125"; 998 function = "gpio"; 999 drive-strength = <16>; 1000 bias-pull-up; 1001 }; 1002 1003 speaker_default: speaker-default-state { 1004 pins = "gpio69"; 1005 function = "gpio"; 1006 drive-strength = <16>; 1007 bias-pull-up; 1008 output-high; 1009 }; 1010}; 1011 1012&venus { 1013 firmware-name = "qcom/sdm845/OnePlus/enchilada/venus.mbn"; 1014 1015 status = "okay"; 1016}; 1017 1018&wcd9340 { 1019 pinctrl-0 = <&wcd_intr_default>; 1020 pinctrl-names = "default"; 1021 reset-gpios = <&tlmm 64 GPIO_ACTIVE_HIGH>; 1022 vdd-buck-supply = <&vreg_s4a_1p8>; 1023 vdd-buck-sido-supply = <&vreg_s4a_1p8>; 1024 vdd-tx-supply = <&vreg_s4a_1p8>; 1025 vdd-rx-supply = <&vreg_s4a_1p8>; 1026 vdd-io-supply = <&vreg_s4a_1p8>; 1027}; 1028 1029&wifi { 1030 vdd-0.8-cx-mx-supply = <&vreg_l5a_0p8>; 1031 vdd-1.8-xo-supply = <&vreg_pmu_xo>; 1032 vdd-1.3-rfa-supply = <&vreg_pmu_rf>; 1033 vdd-3.3-ch0-supply = <&vreg_pmu_ch0>; 1034 vdd-3.3-ch1-supply = <&vreg_pmu_ch1>; 1035 1036 qcom,calibration-variant = "oneplus_sdm845"; 1037 qcom,snoc-host-cap-8bit-quirk; 1038 1039 status = "okay"; 1040}; 1041