1// SPDX-License-Identifier: GPL-2.0 2/* 3 * Copyright (c) 2019, Linaro Ltd. 4 */ 5 6/dts-v1/; 7 8#include <dt-bindings/leds/common.h> 9#include <dt-bindings/pinctrl/qcom,pmic-gpio.h> 10#include <dt-bindings/regulator/qcom,rpmh-regulator.h> 11#include <dt-bindings/sound/qcom,q6afe.h> 12#include <dt-bindings/sound/qcom,q6asm.h> 13#include "sdm845.dtsi" 14#include "sdm845-wcd9340.dtsi" 15#include "pm8998.dtsi" 16#include "pmi8998.dtsi" 17 18/ { 19 model = "Thundercomm Dragonboard 845c"; 20 compatible = "thundercomm,db845c", "qcom,sdm845"; 21 qcom,msm-id = <341 0x20001>; 22 qcom,board-id = <8 0>; 23 24 aliases { 25 serial0 = &uart9; 26 serial1 = &uart6; 27 }; 28 29 chosen { 30 stdout-path = "serial0:115200n8"; 31 }; 32 33 /* Fixed crystal oscillator dedicated to MCP2517FD */ 34 clk40M: can-clock { 35 compatible = "fixed-clock"; 36 #clock-cells = <0>; 37 clock-frequency = <40000000>; 38 }; 39 40 dc12v: dc12v-regulator { 41 compatible = "regulator-fixed"; 42 regulator-name = "DC12V"; 43 regulator-min-microvolt = <12000000>; 44 regulator-max-microvolt = <12000000>; 45 regulator-always-on; 46 }; 47 48 gpio-keys { 49 compatible = "gpio-keys"; 50 autorepeat; 51 52 pinctrl-names = "default"; 53 pinctrl-0 = <&vol_up_pin_a>; 54 55 key-vol-up { 56 label = "Volume Up"; 57 linux,code = <KEY_VOLUMEUP>; 58 gpios = <&pm8998_gpios 6 GPIO_ACTIVE_LOW>; 59 }; 60 }; 61 62 leds { 63 compatible = "gpio-leds"; 64 65 led-0 { 66 label = "green:user4"; 67 function = LED_FUNCTION_INDICATOR; 68 color = <LED_COLOR_ID_GREEN>; 69 gpios = <&pm8998_gpios 13 GPIO_ACTIVE_HIGH>; 70 linux,default-trigger = "panic-indicator"; 71 default-state = "off"; 72 }; 73 74 led-1 { 75 label = "yellow:wlan"; 76 function = LED_FUNCTION_WLAN; 77 color = <LED_COLOR_ID_YELLOW>; 78 gpios = <&pm8998_gpios 9 GPIO_ACTIVE_HIGH>; 79 linux,default-trigger = "phy0tx"; 80 default-state = "off"; 81 }; 82 83 led-2 { 84 label = "blue:bt"; 85 function = LED_FUNCTION_BLUETOOTH; 86 color = <LED_COLOR_ID_BLUE>; 87 gpios = <&pm8998_gpios 5 GPIO_ACTIVE_HIGH>; 88 linux,default-trigger = "bluetooth-power"; 89 default-state = "off"; 90 }; 91 }; 92 93 hdmi-out { 94 compatible = "hdmi-connector"; 95 type = "a"; 96 97 port { 98 hdmi_con: endpoint { 99 remote-endpoint = <<9611_out>; 100 }; 101 }; 102 }; 103 104 lt9611_1v8: lt9611-vdd18-regulator { 105 compatible = "regulator-fixed"; 106 regulator-name = "LT9611_1V8"; 107 108 vin-supply = <&vdc_5v>; 109 regulator-min-microvolt = <1800000>; 110 regulator-max-microvolt = <1800000>; 111 112 gpio = <&tlmm 89 GPIO_ACTIVE_HIGH>; 113 enable-active-high; 114 }; 115 116 lt9611_3v3: lt9611-3v3 { 117 compatible = "regulator-fixed"; 118 regulator-name = "LT9611_3V3"; 119 120 vin-supply = <&vdc_3v3>; 121 regulator-min-microvolt = <3300000>; 122 regulator-max-microvolt = <3300000>; 123 124 /* 125 * TODO: make it possible to drive same GPIO from two clients 126 * gpio = <&tlmm 89 GPIO_ACTIVE_HIGH>; 127 * enable-active-high; 128 */ 129 }; 130 131 pcie0_1p05v: pcie-0-1p05v-regulator { 132 compatible = "regulator-fixed"; 133 regulator-name = "PCIE0_1.05V"; 134 135 vin-supply = <&vbat>; 136 regulator-min-microvolt = <1050000>; 137 regulator-max-microvolt = <1050000>; 138 139 /* 140 * TODO: make it possible to drive same GPIO from two clients 141 * gpio = <&tlmm 90 GPIO_ACTIVE_HIGH>; 142 * enable-active-high; 143 */ 144 }; 145 146 cam0_dvdd_1v2: cam0-dvdd-1v2-regulator { 147 compatible = "regulator-fixed"; 148 regulator-name = "CAM0_DVDD_1V2"; 149 regulator-min-microvolt = <1200000>; 150 regulator-max-microvolt = <1200000>; 151 enable-active-high; 152 gpio = <&pm8998_gpios 12 GPIO_ACTIVE_HIGH>; 153 pinctrl-names = "default"; 154 pinctrl-0 = <&cam0_dvdd_1v2_en_default>; 155 vin-supply = <&vbat>; 156 }; 157 158 cam0_avdd_2v8: cam0-avdd-2v8-regulator { 159 compatible = "regulator-fixed"; 160 regulator-name = "CAM0_AVDD_2V8"; 161 regulator-min-microvolt = <2800000>; 162 regulator-max-microvolt = <2800000>; 163 enable-active-high; 164 gpio = <&pm8998_gpios 10 GPIO_ACTIVE_HIGH>; 165 pinctrl-names = "default"; 166 pinctrl-0 = <&cam0_avdd_2v8_en_default>; 167 vin-supply = <&vbat>; 168 }; 169 170 /* This regulator is enabled when the VREG_LVS1A_1P8 trace is enabled */ 171 cam3_avdd_2v8: cam3-avdd-2v8-regulator { 172 compatible = "regulator-fixed"; 173 regulator-name = "CAM3_AVDD_2V8"; 174 regulator-min-microvolt = <2800000>; 175 regulator-max-microvolt = <2800000>; 176 regulator-always-on; 177 vin-supply = <&vbat>; 178 }; 179 180 pcie0_3p3v_dual: vldo-3v3-regulator { 181 compatible = "regulator-fixed"; 182 regulator-name = "VLDO_3V3"; 183 184 vin-supply = <&vbat>; 185 regulator-min-microvolt = <3300000>; 186 regulator-max-microvolt = <3300000>; 187 188 gpio = <&tlmm 90 GPIO_ACTIVE_HIGH>; 189 enable-active-high; 190 191 pinctrl-names = "default"; 192 pinctrl-0 = <&pcie0_pwren_state>; 193 }; 194 195 v5p0_hdmiout: v5p0-hdmiout-regulator { 196 compatible = "regulator-fixed"; 197 regulator-name = "V5P0_HDMIOUT"; 198 199 vin-supply = <&vdc_5v>; 200 regulator-min-microvolt = <500000>; 201 regulator-max-microvolt = <500000>; 202 203 /* 204 * TODO: make it possible to drive same GPIO from two clients 205 * gpio = <&tlmm 89 GPIO_ACTIVE_HIGH>; 206 * enable-active-high; 207 */ 208 }; 209 210 vbat: vbat-regulator { 211 compatible = "regulator-fixed"; 212 regulator-name = "VBAT"; 213 214 vin-supply = <&dc12v>; 215 regulator-min-microvolt = <4200000>; 216 regulator-max-microvolt = <4200000>; 217 regulator-always-on; 218 }; 219 220 vbat_som: vbat-som-regulator { 221 compatible = "regulator-fixed"; 222 regulator-name = "VBAT_SOM"; 223 224 vin-supply = <&dc12v>; 225 regulator-min-microvolt = <4200000>; 226 regulator-max-microvolt = <4200000>; 227 regulator-always-on; 228 }; 229 230 vdc_3v3: vdc-3v3-regulator { 231 compatible = "regulator-fixed"; 232 regulator-name = "VDC_3V3"; 233 vin-supply = <&dc12v>; 234 regulator-min-microvolt = <3300000>; 235 regulator-max-microvolt = <3300000>; 236 regulator-always-on; 237 }; 238 239 vdc_5v: vdc-5v-regulator { 240 compatible = "regulator-fixed"; 241 regulator-name = "VDC_5V"; 242 243 vin-supply = <&dc12v>; 244 regulator-min-microvolt = <500000>; 245 regulator-max-microvolt = <500000>; 246 regulator-always-on; 247 }; 248 249 vreg_s4a_1p8: vreg-s4a-1p8 { 250 compatible = "regulator-fixed"; 251 regulator-name = "vreg_s4a_1p8"; 252 253 regulator-min-microvolt = <1800000>; 254 regulator-max-microvolt = <1800000>; 255 regulator-always-on; 256 }; 257 258 vph_pwr: vph-pwr-regulator { 259 compatible = "regulator-fixed"; 260 regulator-name = "vph_pwr"; 261 262 vin-supply = <&vbat_som>; 263 }; 264}; 265 266&adsp_pas { 267 status = "okay"; 268 269 firmware-name = "qcom/sdm845/adsp.mbn"; 270}; 271 272&apps_rsc { 273 regulators-0 { 274 compatible = "qcom,pm8998-rpmh-regulators"; 275 qcom,pmic-id = "a"; 276 vdd-s1-supply = <&vph_pwr>; 277 vdd-s2-supply = <&vph_pwr>; 278 vdd-s3-supply = <&vph_pwr>; 279 vdd-s4-supply = <&vph_pwr>; 280 vdd-s5-supply = <&vph_pwr>; 281 vdd-s6-supply = <&vph_pwr>; 282 vdd-s7-supply = <&vph_pwr>; 283 vdd-s8-supply = <&vph_pwr>; 284 vdd-s9-supply = <&vph_pwr>; 285 vdd-s10-supply = <&vph_pwr>; 286 vdd-s11-supply = <&vph_pwr>; 287 vdd-s12-supply = <&vph_pwr>; 288 vdd-s13-supply = <&vph_pwr>; 289 vdd-l1-l27-supply = <&vreg_s7a_1p025>; 290 vdd-l2-l8-l17-supply = <&vreg_s3a_1p35>; 291 vdd-l3-l11-supply = <&vreg_s7a_1p025>; 292 vdd-l4-l5-supply = <&vreg_s7a_1p025>; 293 vdd-l6-supply = <&vph_pwr>; 294 vdd-l7-l12-l14-l15-supply = <&vreg_s5a_2p04>; 295 vdd-l9-supply = <&vreg_bob>; 296 vdd-l10-l23-l25-supply = <&vreg_bob>; 297 vdd-l13-l19-l21-supply = <&vreg_bob>; 298 vdd-l16-l28-supply = <&vreg_bob>; 299 vdd-l18-l22-supply = <&vreg_bob>; 300 vdd-l20-l24-supply = <&vreg_bob>; 301 vdd-l26-supply = <&vreg_s3a_1p35>; 302 vin-lvs-1-2-supply = <&vreg_s4a_1p8>; 303 304 vreg_s3a_1p35: smps3 { 305 regulator-min-microvolt = <1352000>; 306 regulator-max-microvolt = <1352000>; 307 }; 308 309 vreg_s5a_2p04: smps5 { 310 regulator-min-microvolt = <1904000>; 311 regulator-max-microvolt = <2040000>; 312 }; 313 314 vreg_s7a_1p025: smps7 { 315 regulator-min-microvolt = <900000>; 316 regulator-max-microvolt = <1028000>; 317 }; 318 319 vreg_l1a_0p875: ldo1 { 320 regulator-min-microvolt = <880000>; 321 regulator-max-microvolt = <880000>; 322 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 323 }; 324 325 vreg_l5a_0p8: ldo5 { 326 regulator-min-microvolt = <800000>; 327 regulator-max-microvolt = <800000>; 328 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 329 }; 330 331 vreg_l12a_1p8: ldo12 { 332 regulator-min-microvolt = <1800000>; 333 regulator-max-microvolt = <1800000>; 334 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 335 }; 336 337 vreg_l7a_1p8: ldo7 { 338 regulator-min-microvolt = <1800000>; 339 regulator-max-microvolt = <1800000>; 340 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 341 }; 342 343 vreg_l13a_2p95: ldo13 { 344 regulator-min-microvolt = <1800000>; 345 regulator-max-microvolt = <2960000>; 346 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 347 }; 348 349 vreg_l17a_1p3: ldo17 { 350 regulator-min-microvolt = <1304000>; 351 regulator-max-microvolt = <1304000>; 352 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 353 }; 354 355 vreg_l20a_2p95: ldo20 { 356 regulator-min-microvolt = <2960000>; 357 regulator-max-microvolt = <2968000>; 358 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 359 }; 360 361 vreg_l21a_2p95: ldo21 { 362 regulator-min-microvolt = <2960000>; 363 regulator-max-microvolt = <2968000>; 364 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 365 }; 366 367 vreg_l24a_3p075: ldo24 { 368 regulator-min-microvolt = <3088000>; 369 regulator-max-microvolt = <3088000>; 370 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 371 }; 372 373 vreg_l25a_3p3: ldo25 { 374 regulator-min-microvolt = <3300000>; 375 regulator-max-microvolt = <3312000>; 376 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 377 }; 378 379 vreg_l26a_1p2: ldo26 { 380 regulator-min-microvolt = <1200000>; 381 regulator-max-microvolt = <1200000>; 382 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 383 }; 384 385 vreg_lvs1a_1p8: lvs1 { 386 regulator-min-microvolt = <1800000>; 387 regulator-max-microvolt = <1800000>; 388 regulator-always-on; 389 }; 390 391 vreg_lvs2a_1p8: lvs2 { 392 regulator-min-microvolt = <1800000>; 393 regulator-max-microvolt = <1800000>; 394 regulator-always-on; 395 }; 396 }; 397 398 regulators-1 { 399 compatible = "qcom,pmi8998-rpmh-regulators"; 400 qcom,pmic-id = "b"; 401 402 vdd-bob-supply = <&vph_pwr>; 403 404 vreg_bob: bob { 405 regulator-min-microvolt = <3312000>; 406 regulator-max-microvolt = <3600000>; 407 regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>; 408 regulator-allow-bypass; 409 }; 410 }; 411}; 412 413&cdsp_pas { 414 status = "okay"; 415 firmware-name = "qcom/sdm845/cdsp.mbn"; 416}; 417 418&dsi0 { 419 status = "okay"; 420 vdda-supply = <&vreg_l26a_1p2>; 421 422 qcom,dual-dsi-mode; 423 qcom,master-dsi; 424 425 ports { 426 port@1 { 427 endpoint { 428 remote-endpoint = <<9611_a>; 429 data-lanes = <0 1 2 3>; 430 }; 431 }; 432 }; 433}; 434 435&dsi0_phy { 436 status = "okay"; 437 vdds-supply = <&vreg_l1a_0p875>; 438}; 439 440&dsi1 { 441 vdda-supply = <&vreg_l26a_1p2>; 442 443 qcom,dual-dsi-mode; 444 445 /* DSI1 is slave, so use DSI0 clocks */ 446 assigned-clock-parents = <&dsi0_phy 0>, <&dsi0_phy 1>; 447 448 status = "okay"; 449 450 ports { 451 port@1 { 452 endpoint { 453 remote-endpoint = <<9611_b>; 454 data-lanes = <0 1 2 3>; 455 }; 456 }; 457 }; 458}; 459 460&dsi1_phy { 461 vdds-supply = <&vreg_l1a_0p875>; 462 status = "okay"; 463}; 464 465&gcc { 466 protected-clocks = <GCC_QSPI_CORE_CLK>, 467 <GCC_QSPI_CORE_CLK_SRC>, 468 <GCC_QSPI_CNOC_PERIPH_AHB_CLK>, 469 <GCC_LPASS_Q6_AXI_CLK>, 470 <GCC_LPASS_SWAY_CLK>; 471}; 472 473&gmu { 474 status = "okay"; 475}; 476 477&gpi_dma0 { 478 status = "okay"; 479}; 480 481&gpi_dma1 { 482 status = "okay"; 483}; 484 485&gpu { 486 status = "okay"; 487 zap-shader { 488 memory-region = <&gpu_mem>; 489 firmware-name = "qcom/sdm845/a630_zap.mbn"; 490 }; 491}; 492 493&i2c10 { 494 status = "okay"; 495 clock-frequency = <400000>; 496 497 lt9611_codec: hdmi-bridge@3b { 498 compatible = "lontium,lt9611"; 499 reg = <0x3b>; 500 #sound-dai-cells = <1>; 501 502 interrupts-extended = <&tlmm 84 IRQ_TYPE_EDGE_FALLING>; 503 504 reset-gpios = <&tlmm 128 GPIO_ACTIVE_HIGH>; 505 506 vdd-supply = <<9611_1v8>; 507 vcc-supply = <<9611_3v3>; 508 509 pinctrl-names = "default"; 510 pinctrl-0 = <<9611_irq_pin>, <&dsi_sw_sel>; 511 512 ports { 513 #address-cells = <1>; 514 #size-cells = <0>; 515 516 port@0 { 517 reg = <0>; 518 519 lt9611_a: endpoint { 520 remote-endpoint = <&dsi0_out>; 521 }; 522 }; 523 524 port@1 { 525 reg = <1>; 526 527 lt9611_b: endpoint { 528 remote-endpoint = <&dsi1_out>; 529 }; 530 }; 531 532 port@2 { 533 reg = <2>; 534 535 lt9611_out: endpoint { 536 remote-endpoint = <&hdmi_con>; 537 }; 538 }; 539 }; 540 }; 541}; 542 543&i2c11 { 544 /* On Low speed expansion */ 545 clock-frequency = <100000>; 546 status = "okay"; 547}; 548 549&i2c14 { 550 /* On Low speed expansion */ 551 clock-frequency = <100000>; 552 status = "okay"; 553}; 554 555&mdss { 556 status = "okay"; 557}; 558 559&mss_pil { 560 status = "okay"; 561 firmware-name = "qcom/sdm845/mba.mbn", "qcom/sdm845/modem.mbn"; 562}; 563 564&pcie0 { 565 status = "okay"; 566 perst-gpios = <&tlmm 35 GPIO_ACTIVE_LOW>; 567 enable-gpio = <&tlmm 134 GPIO_ACTIVE_HIGH>; 568 569 vddpe-3v3-supply = <&pcie0_3p3v_dual>; 570 571 pinctrl-names = "default"; 572 pinctrl-0 = <&pcie0_default_state>; 573}; 574 575&pcie0_phy { 576 status = "okay"; 577 578 vdda-phy-supply = <&vreg_l1a_0p875>; 579 vdda-pll-supply = <&vreg_l26a_1p2>; 580}; 581 582&pcie1 { 583 status = "okay"; 584 perst-gpios = <&tlmm 102 GPIO_ACTIVE_LOW>; 585 586 pinctrl-names = "default"; 587 pinctrl-0 = <&pcie1_default_state>; 588}; 589 590&pcie1_phy { 591 status = "okay"; 592 593 vdda-phy-supply = <&vreg_l1a_0p875>; 594 vdda-pll-supply = <&vreg_l26a_1p2>; 595}; 596 597&pm8998_gpios { 598 gpio-line-names = 599 "NC", 600 "NC", 601 "WLAN_SW_CTRL", 602 "NC", 603 "PM_GPIO5_BLUE_BT_LED", 604 "VOL_UP_N", 605 "NC", 606 "ADC_IN1", 607 "PM_GPIO9_YEL_WIFI_LED", 608 "CAM0_AVDD_EN", 609 "NC", 610 "CAM0_DVDD_EN", 611 "PM_GPIO13_GREEN_U4_LED", 612 "DIV_CLK2", 613 "NC", 614 "NC", 615 "NC", 616 "SMB_STAT", 617 "NC", 618 "NC", 619 "ADC_IN2", 620 "OPTION1", 621 "WCSS_PWR_REQ", 622 "PM845_GPIO24", 623 "OPTION2", 624 "PM845_SLB"; 625 626 cam0_dvdd_1v2_en_default: cam0-dvdd-1v2-en-state { 627 pins = "gpio12"; 628 function = "normal"; 629 630 bias-pull-up; 631 drive-push-pull; 632 qcom,drive-strength = <PMIC_GPIO_STRENGTH_HIGH>; 633 }; 634 635 cam0_avdd_2v8_en_default: cam0-avdd-2v8-en-state { 636 pins = "gpio10"; 637 function = "normal"; 638 639 bias-pull-up; 640 drive-push-pull; 641 qcom,drive-strength = <PMIC_GPIO_STRENGTH_HIGH>; 642 }; 643 644 vol_up_pin_a: vol-up-active-state { 645 pins = "gpio6"; 646 function = "normal"; 647 input-enable; 648 bias-pull-up; 649 qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>; 650 }; 651}; 652 653&pm8998_resin { 654 linux,code = <KEY_VOLUMEDOWN>; 655 status = "okay"; 656}; 657 658&pmi8998_lpg { 659 status = "okay"; 660 661 qcom,power-source = <1>; 662 663 led@3 { 664 reg = <3>; 665 color = <LED_COLOR_ID_GREEN>; 666 function = LED_FUNCTION_HEARTBEAT; 667 function-enumerator = <3>; 668 669 linux,default-trigger = "heartbeat"; 670 default-state = "on"; 671 }; 672 673 led@4 { 674 reg = <4>; 675 color = <LED_COLOR_ID_GREEN>; 676 function = LED_FUNCTION_INDICATOR; 677 function-enumerator = <2>; 678 }; 679 680 led@5 { 681 reg = <5>; 682 color = <LED_COLOR_ID_GREEN>; 683 function = LED_FUNCTION_INDICATOR; 684 function-enumerator = <1>; 685 }; 686}; 687 688&pmi8998_rradc { 689 status = "okay"; 690}; 691 692/* QUAT I2S Uses 4 I2S SD Lines for audio on LT9611 HDMI Bridge */ 693&q6afedai { 694 dai@22 { 695 reg = <QUATERNARY_MI2S_RX>; 696 qcom,sd-lines = <0 1 2 3>; 697 }; 698}; 699 700&q6asmdai { 701 dai@0 { 702 reg = <0>; 703 }; 704 705 dai@1 { 706 reg = <1>; 707 }; 708 709 dai@2 { 710 reg = <2>; 711 }; 712 713 dai@3 { 714 reg = <3>; 715 direction = <2>; 716 is-compress-dai; 717 }; 718}; 719 720&qupv3_id_0 { 721 status = "okay"; 722}; 723 724&qupv3_id_1 { 725 status = "okay"; 726}; 727 728&sdhc_2 { 729 status = "okay"; 730 731 pinctrl-names = "default"; 732 pinctrl-0 = <&sdc2_default_state &sdc2_card_det_n>; 733 734 vmmc-supply = <&vreg_l21a_2p95>; 735 vqmmc-supply = <&vreg_l13a_2p95>; 736 737 bus-width = <4>; 738 cd-gpios = <&tlmm 126 GPIO_ACTIVE_LOW>; 739}; 740 741&sound { 742 compatible = "qcom,db845c-sndcard", "qcom,sdm845-sndcard"; 743 pinctrl-0 = <&quat_mi2s_active 744 &quat_mi2s_sd0_active 745 &quat_mi2s_sd1_active 746 &quat_mi2s_sd2_active 747 &quat_mi2s_sd3_active>; 748 pinctrl-names = "default"; 749 model = "DB845c"; 750 audio-routing = 751 "RX_BIAS", "MCLK", 752 "AMIC1", "MIC BIAS1", 753 "AMIC2", "MIC BIAS2", 754 "DMIC0", "MIC BIAS1", 755 "DMIC1", "MIC BIAS1", 756 "DMIC2", "MIC BIAS3", 757 "DMIC3", "MIC BIAS3", 758 "SpkrLeft IN", "SPK1 OUT", 759 "SpkrRight IN", "SPK2 OUT", 760 "MM_DL1", "MultiMedia1 Playback", 761 "MM_DL2", "MultiMedia2 Playback", 762 "MM_DL4", "MultiMedia4 Playback", 763 "MultiMedia3 Capture", "MM_UL3"; 764 765 mm1-dai-link { 766 link-name = "MultiMedia1"; 767 cpu { 768 sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA1>; 769 }; 770 }; 771 772 mm2-dai-link { 773 link-name = "MultiMedia2"; 774 cpu { 775 sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA2>; 776 }; 777 }; 778 779 mm3-dai-link { 780 link-name = "MultiMedia3"; 781 cpu { 782 sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA3>; 783 }; 784 }; 785 786 mm4-dai-link { 787 link-name = "MultiMedia4"; 788 cpu { 789 sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA4>; 790 }; 791 }; 792 793 hdmi-dai-link { 794 link-name = "HDMI Playback"; 795 cpu { 796 sound-dai = <&q6afedai QUATERNARY_MI2S_RX>; 797 }; 798 799 platform { 800 sound-dai = <&q6routing>; 801 }; 802 803 codec { 804 sound-dai = <<9611_codec 0>; 805 }; 806 }; 807 808 slim-dai-link { 809 link-name = "SLIM Playback"; 810 cpu { 811 sound-dai = <&q6afedai SLIMBUS_0_RX>; 812 }; 813 814 platform { 815 sound-dai = <&q6routing>; 816 }; 817 818 codec { 819 sound-dai = <&left_spkr>, <&right_spkr>, <&swm 0>, <&wcd9340 0>; 820 }; 821 }; 822 823 slimcap-dai-link { 824 link-name = "SLIM Capture"; 825 cpu { 826 sound-dai = <&q6afedai SLIMBUS_0_TX>; 827 }; 828 829 platform { 830 sound-dai = <&q6routing>; 831 }; 832 833 codec { 834 sound-dai = <&wcd9340 1>; 835 }; 836 }; 837}; 838 839&spi0 { 840 status = "okay"; 841 pinctrl-names = "default"; 842 pinctrl-0 = <&qup_spi0_default>; 843 cs-gpios = <&tlmm 3 GPIO_ACTIVE_LOW>; 844 845 can@0 { 846 compatible = "microchip,mcp2517fd"; 847 reg = <0>; 848 clocks = <&clk40M>; 849 interrupts-extended = <&tlmm 104 IRQ_TYPE_LEVEL_LOW>; 850 spi-max-frequency = <10000000>; 851 vdd-supply = <&vdc_5v>; 852 xceiver-supply = <&vdc_5v>; 853 }; 854}; 855 856&spi2 { 857 /* On Low speed expansion */ 858 status = "okay"; 859}; 860 861&tlmm { 862 cam0_default: cam0-default-state { 863 rst-pins { 864 pins = "gpio9"; 865 function = "gpio"; 866 867 drive-strength = <16>; 868 bias-disable; 869 }; 870 871 mclk0-pins { 872 pins = "gpio13"; 873 function = "cam_mclk"; 874 875 drive-strength = <16>; 876 bias-disable; 877 }; 878 }; 879 880 cam3_default: cam3-default-state { 881 rst-pins { 882 function = "gpio"; 883 pins = "gpio21"; 884 885 drive-strength = <16>; 886 bias-disable; 887 }; 888 889 mclk3-pins { 890 function = "cam_mclk"; 891 pins = "gpio16"; 892 893 drive-strength = <16>; 894 bias-disable; 895 }; 896 }; 897 898 dsi_sw_sel: dsi-sw-sel-state { 899 pins = "gpio120"; 900 function = "gpio"; 901 902 drive-strength = <2>; 903 bias-disable; 904 output-high; 905 }; 906 907 lt9611_irq_pin: lt9611-irq-state { 908 pins = "gpio84"; 909 function = "gpio"; 910 bias-disable; 911 }; 912 913 pcie0_default_state: pcie0-default-state { 914 clkreq-pins { 915 pins = "gpio36"; 916 function = "pci_e0"; 917 bias-pull-up; 918 }; 919 920 reset-n-pins { 921 pins = "gpio35"; 922 function = "gpio"; 923 924 drive-strength = <2>; 925 output-low; 926 bias-pull-down; 927 }; 928 929 wake-n-pins { 930 pins = "gpio37"; 931 function = "gpio"; 932 933 drive-strength = <2>; 934 bias-pull-up; 935 }; 936 }; 937 938 pcie0_pwren_state: pcie0-pwren-state { 939 pins = "gpio90"; 940 function = "gpio"; 941 942 drive-strength = <2>; 943 bias-disable; 944 }; 945 946 pcie1_default_state: pcie1-default-state { 947 perst-n-pins { 948 pins = "gpio102"; 949 function = "gpio"; 950 951 drive-strength = <16>; 952 bias-disable; 953 }; 954 955 clkreq-pins { 956 pins = "gpio103"; 957 function = "pci_e1"; 958 bias-pull-up; 959 }; 960 961 wake-n-pins { 962 pins = "gpio11"; 963 function = "gpio"; 964 965 drive-strength = <2>; 966 bias-pull-up; 967 }; 968 969 reset-n-pins { 970 pins = "gpio75"; 971 function = "gpio"; 972 973 drive-strength = <16>; 974 bias-pull-up; 975 output-high; 976 }; 977 }; 978 979 sdc2_default_state: sdc2-default-state { 980 clk-pins { 981 pins = "sdc2_clk"; 982 bias-disable; 983 984 /* 985 * It seems that mmc_test reports errors if drive 986 * strength is not 16 on clk, cmd, and data pins. 987 */ 988 drive-strength = <16>; 989 }; 990 991 cmd-pins { 992 pins = "sdc2_cmd"; 993 bias-pull-up; 994 drive-strength = <10>; 995 }; 996 997 data-pins { 998 pins = "sdc2_data"; 999 bias-pull-up; 1000 drive-strength = <10>; 1001 }; 1002 }; 1003 1004 sdc2_card_det_n: sd-card-det-n-state { 1005 pins = "gpio126"; 1006 function = "gpio"; 1007 bias-pull-up; 1008 }; 1009}; 1010 1011&uart3 { 1012 label = "LS-UART0"; 1013 pinctrl-0 = <&qup_uart3_4pin>; 1014 1015 status = "disabled"; 1016}; 1017 1018&uart6 { 1019 status = "okay"; 1020 1021 pinctrl-0 = <&qup_uart6_4pin>; 1022 1023 bluetooth { 1024 compatible = "qcom,wcn3990-bt"; 1025 1026 vddio-supply = <&vreg_s4a_1p8>; 1027 vddxo-supply = <&vreg_l7a_1p8>; 1028 vddrf-supply = <&vreg_l17a_1p3>; 1029 vddch0-supply = <&vreg_l25a_3p3>; 1030 max-speed = <3200000>; 1031 }; 1032}; 1033 1034&uart9 { 1035 label = "LS-UART1"; 1036 status = "okay"; 1037}; 1038 1039&usb_1 { 1040 status = "okay"; 1041}; 1042 1043&usb_1_dwc3 { 1044 dr_mode = "peripheral"; 1045}; 1046 1047&usb_1_hsphy { 1048 status = "okay"; 1049 1050 vdd-supply = <&vreg_l1a_0p875>; 1051 vdda-pll-supply = <&vreg_l12a_1p8>; 1052 vdda-phy-dpdm-supply = <&vreg_l24a_3p075>; 1053 1054 qcom,imp-res-offset-value = <8>; 1055 qcom,hstx-trim-value = <QUSB2_V2_HSTX_TRIM_21_6_MA>; 1056 qcom,preemphasis-level = <QUSB2_V2_PREEMPHASIS_5_PERCENT>; 1057 qcom,preemphasis-width = <QUSB2_V2_PREEMPHASIS_WIDTH_HALF_BIT>; 1058}; 1059 1060&usb_1_qmpphy { 1061 status = "okay"; 1062 1063 vdda-phy-supply = <&vreg_l26a_1p2>; 1064 vdda-pll-supply = <&vreg_l1a_0p875>; 1065}; 1066 1067&usb_2 { 1068 status = "okay"; 1069}; 1070 1071&usb_2_dwc3 { 1072 dr_mode = "host"; 1073}; 1074 1075&usb_2_hsphy { 1076 status = "okay"; 1077 1078 vdd-supply = <&vreg_l1a_0p875>; 1079 vdda-pll-supply = <&vreg_l12a_1p8>; 1080 vdda-phy-dpdm-supply = <&vreg_l24a_3p075>; 1081 1082 qcom,imp-res-offset-value = <8>; 1083 qcom,hstx-trim-value = <QUSB2_V2_HSTX_TRIM_22_8_MA>; 1084}; 1085 1086&usb_2_qmpphy { 1087 status = "okay"; 1088 1089 vdda-phy-supply = <&vreg_l26a_1p2>; 1090 vdda-pll-supply = <&vreg_l1a_0p875>; 1091}; 1092 1093&ufs_mem_hc { 1094 status = "okay"; 1095 1096 reset-gpios = <&tlmm 150 GPIO_ACTIVE_LOW>; 1097 1098 vcc-supply = <&vreg_l20a_2p95>; 1099 vcc-max-microamp = <800000>; 1100}; 1101 1102&ufs_mem_phy { 1103 status = "okay"; 1104 1105 vdda-phy-supply = <&vreg_l1a_0p875>; 1106 vdda-pll-supply = <&vreg_l26a_1p2>; 1107}; 1108 1109&venus { 1110 status = "okay"; 1111}; 1112 1113&wcd9340 { 1114 reset-gpios = <&tlmm 64 GPIO_ACTIVE_HIGH>; 1115 vdd-buck-supply = <&vreg_s4a_1p8>; 1116 vdd-buck-sido-supply = <&vreg_s4a_1p8>; 1117 vdd-tx-supply = <&vreg_s4a_1p8>; 1118 vdd-rx-supply = <&vreg_s4a_1p8>; 1119 vdd-io-supply = <&vreg_s4a_1p8>; 1120 1121 swm: swm@c85 { 1122 left_spkr: speaker@0,1 { 1123 compatible = "sdw10217201000"; 1124 reg = <0 1>; 1125 powerdown-gpios = <&wcdgpio 1 GPIO_ACTIVE_HIGH>; 1126 #thermal-sensor-cells = <0>; 1127 sound-name-prefix = "SpkrLeft"; 1128 #sound-dai-cells = <0>; 1129 }; 1130 1131 right_spkr: speaker@0,2 { 1132 compatible = "sdw10217201000"; 1133 powerdown-gpios = <&wcdgpio 1 GPIO_ACTIVE_HIGH>; 1134 reg = <0 2>; 1135 #thermal-sensor-cells = <0>; 1136 sound-name-prefix = "SpkrRight"; 1137 #sound-dai-cells = <0>; 1138 }; 1139 }; 1140}; 1141 1142&wifi { 1143 status = "okay"; 1144 1145 vdd-0.8-cx-mx-supply = <&vreg_l5a_0p8>; 1146 vdd-1.8-xo-supply = <&vreg_l7a_1p8>; 1147 vdd-1.3-rfa-supply = <&vreg_l17a_1p3>; 1148 vdd-3.3-ch0-supply = <&vreg_l25a_3p3>; 1149 1150 qcom,snoc-host-cap-8bit-quirk; 1151 qcom,ath10k-calibration-variant = "Thundercomm_DB845C"; 1152}; 1153 1154/* PINCTRL - additions to nodes defined in sdm845.dtsi */ 1155&qup_spi2_default { 1156 drive-strength = <16>; 1157}; 1158 1159&qup_i2c10_default { 1160 drive-strength = <2>; 1161 bias-disable; 1162}; 1163 1164&qup_uart9_rx { 1165 drive-strength = <2>; 1166 bias-pull-up; 1167}; 1168 1169&qup_uart9_tx { 1170 drive-strength = <2>; 1171 bias-disable; 1172}; 1173 1174/* PINCTRL - additions to nodes defined in sdm845.dtsi */ 1175&qup_spi0_default { 1176 drive-strength = <6>; 1177 bias-disable; 1178}; 1179