xref: /txgon/kernel/msm-4.9/Documentation/devicetree/bindings/sound/qcom-audio-dev.txt
1 Qualcomm technologies inc audio devices for ALSA sound SoC 2 3 * msm-pcm 4 5 Required properties: 6 7 - compatible : "qcom,msm-pcm-dsp" 8 9 - qcom,msm-pcm-dsp-id : device node id 10 11 * msm-pcm-low-latency 12 13 Required properties: 14 15 - compatible : "qcom,msm-pcm-dsp" 16 17 - qcom,msm-pcm-dsp-id : device node id 18 19 Optional properties 20 21 - qcom,msm-pcm-low-latency : Flag indicating whether 22 the device node is of type low latency. 23 24 - qcom,latency-level : Flag indicating whether the device node 25 is of type regular low latency or ultra 26 low latency. 27 regular : regular low latency stream 28 ultra : ultra low latency stream 29 ull-pp : ultra low latency stream with post-processing capability 30 31 * msm-pcm-dsp-noirq 32 33 Required properties: 34 35 - compatible : "qcom,msm-pcm-dsp-noirq"; 36 37 Optional properties 38 39 - qcom,msm-pcm-low-latency : Flag indicating whether 40 the device node is of type low latency 41 42 - qcom,latency-level : Flag indicating whether the device node 43 is of type low latency or ultra low latency 44 ultra : ultra low latency stream 45 ull-pp : ultra low latency stream with post-processing capability 46 * msm-pcm-routing 47 48 Required properties: 49 50 - compatible : "qcom,msm-pcm-routing" 51 52 * msm-pcm-lpa 53 54 Required properties: 55 56 - compatible : "qcom,msm-pcm-lpa" 57 58 * msm-compr-dsp 59 60 Required properties: 61 62 - compatible : "qcom,msm-compr-dsp" 63 64 * msm-compress-dsp 65 66 Required properties: 67 68 - compatible : "qcom,msm-compress-dsp" 69 70 Optional properties 71 - qcom,adsp-version: 72 This property can be used to specify the ADSP version/name. 73 Based on ADSP version, we decide if we have to use older 74 ADSP APIs or newer. Right now we are adding "MDSP 1.2" for 75 8909 purpose.If the ADSP version is anything other than this 76 we use new ADSP APIs. 77 78 * msm-voip-dsp 79 80 Required properties: 81 82 - compatible : "qcom,msm-voip-dsp" 83 84 * msm-pcm-voice 85 86 Required properties: 87 88 - compatible : "qcom,msm-pcm-voice" 89 - qcom,destroy-cvd : Flag indicating whether to destroy cvd at 90 the end of call for low memory targets 91 92 * msm-voice-host-pcm 93 94 Required properties: 95 96 - compatible : "qcom,msm-voice-host-pcm" 97 98 * msm-voice-svc 99 100Required properties: 101 102 - compatible : "qcom,msm-voice-svc" 103 104* msm-stub-codec 105 106Required properties: 107 108 - compatible : "qcom,msm-stub-codec" 109 110* msm-hdmi-dba-codec-rx 111 112Required properties: 113 114 - compatible : "qcom,msm-hdmi-dba-codec-rx" 115 - qcom,dba-bridge-chip: String info to indicate which bridge-chip 116 is used for HDMI using DBA. 117 118 * msm-dai-fe 119 120 Required properties: 121 122 - compatible : "qcom,msm-dai-fe" 123 124 * msm-pcm-afe 125 126 Required properties: 127 128 - compatible : "qcom,msm-pcm-afe" 129 130 * msm-pcm-dtmf 131 132 Required properties: 133 134 - compatible : "qcom,msm-pcm-dtmf" 135 - qcom,msm-pcm-dtmf : Enable DTMF driver in Audio. DTMF driver is 136 used for generation and detection of DTMF tones, when user is in 137 active voice call. APR commands are sent from DTMF driver to ADSP. 138 139 * msm-dai-stub 140 141 [First Level Nodes] 142 143 Required properties: 144 145 - compatible : "msm-dai-stub" 146 147 [Second Level Nodes] 148 149 Required properties: 150 151 - compatible : "qcom,msm-dai-stub-dev" 152 - qcom,msm-dai-stub-dev-id : Stub dai port ID value is from 0 to 3. 153 This enables stub CPU dai in Audio. The stub dai is used when 154 there is no real backend in Audio. 155 156 * msm-dai-q6-spdif 157 158 Optional properties: 159 160 - compatible : "msm-dai-q6-spdif" 161 162 * msm-dai-q6-hdmi 163 164 Required properties: 165 - compatible : "msm-dai-q6-hdmi" 166 - qcom,msm-dai-q6-dev-id : The hdmi multi channel port ID. 167 It is passed onto the dsp from the apps to form an audio 168 path to the HDMI device. Currently the only supported value 169 is 8, which indicates the rx path used for audio playback 170 on HDMI device. 171 172 * msm-lsm-client 173 174 Required properties: 175 176 - compatible : "qcom,msm-lsm-client" 177 178 * msm-pcm-loopback 179 180 Required properties: 181 182 - compatible : "qcom,msm-pcm-loopback" 183 184 Optional properties: 185 186 - qcom,msm-pcm-loopback-low-latency : Flag indicating whether 187 the device node is of type low latency. 188 189 * msm-transcode-loopback 190 191 Required properties: 192 193 - compatible : "qcom,msm-transcode-loopback" 194 195 * msm-dai-q6 196 197 [First Level Nodes] 198 199 Required properties: 200 201 - compatible : "msm-dai-q6" 202 203 Optional properties: 204 205 - qcom,ext-spk-amp-supply : External speaker amplifier power supply. 206 - qcom,ext-spk-amp-gpio : External speaker amplifier enable signal. 207 208 [Second Level Nodes] 209 210 Required properties: 211 212 - compatible : "qcom,msm-dai-q6-dev" 213 - qcom,msm-dai-q6-dev-id : The slimbus multi channel port ID 214 Value is from 16384 to 16397 215 BT SCO port ID value from 12288 to 12289 216 RT Proxy port ID values from 224 to 225 and 240 to 217 241 218 FM Rx and TX port ID values from 12292 to 12293 219 incall record Rx and TX port ID values from 32771 to 32772 220 inCall Music Delivery port ID is 32773 221 incall Music 2 Delivery port ID is 32770 222 223 * msm-auxpcm 224 225 Required properties: 226 227 - compatible : "qcom,msm-auxpcm-dev" 228 229 - qcom,msm-cpudai-auxpcm-mode: mode information. The first value is 230 for 8khz mode, the second is for 231 16khz 232 0 - for PCM 233 234 - qcom,msm-cpudai-auxpcm-sync: sync information. The first value is 235 for 8khz mode, the second is for 236 16khz 237 238 - qcom,msm-cpudai-auxpcm-frame: No.of bytes per frame. The first 239 value is for 8khz mode, the second 240 is for 16khz 241 5 - 256BPF 242 4 - 128BPF 243 244 - qcom,msm-cpudai-auxpcm-quant: Type of quantization. The first 245 value is for 8khz mode, the second 246 is for 16khz 247 2 - Linear quantization 248 249 - qcom,msm-cpudai-auxpcm-num-slots: Number of slots per mode in the 250 msm-cpudai-auxpcm-slot-mapping 251 array. 252 The first value is for 8khz mode, the 253 second is for 16khz. Max number of 254 slots supported by DSP is 4, anything 255 above 4 will be truncated to 4 when 256 sent to DSP. 257 258 - qcom,msm-cpudai-auxpcm-slot-mapping: Array of slot numbers for multi 259 slot scenario. The first array 260 is for 8khz mode, the second is 261 for 16khz. The size of the array 262 is determined by the value in 263 qcom,msm-cpudai-auxpcm-num-slots 264 265 - qcom,msm-cpudai-auxpcm-data: Data field - 0. The first value is 266 for 8khz mode, the second is for 267 16khz 268 269 - qcom,msm-cpudai-auxpcm-pcm-clk-rate: Clock rate for pcm - 2048000. The 270 first value is for 8khz mode, the 271 second is for 16KHz mode. When clock 272 rate is set to zero, then external 273 clock is assumed. 274 275 - qcom,msm-auxpcm-interface: name of AUXPCM interface "primary" 276 indicates primary AUXPCM interface 277 "secondary" indicates secondary 278 AUXPCM interface 279 Optional properties: 280 281 - pinctrl-names: Pinctrl state names for each pin 282 group configuration. 283 - pinctrl-x: Defines pinctrl state for each pin 284 group 285 - qcom,msm-cpudai-afe-clk-ver: Indicates version of AFE clock 286 interface to be used for enabling 287 PCM clock. If not defined, selects 288 default AFE clock interface. 289 290 * msm-pcm-hostless 291 292 Required properties: 293 294 - compatible : "qcom,msm-pcm-hostless" 295 296 * msm-audio-apr 297 298 Required properties: 299 300 - compatible : "qcom,msm-audio-apr" 301 This device is added to represent APR module. 302 303 - qcom,subsys-name: This value provides the subsystem name where codec 304 is present. It can be "apr_modem" or "apr_adsp". This 305 property enable apr driver to receive subsystem up/down 306 notification from modem/adsp. 307 308 Optional properties: 309 310 - compatible : "qcom,msm-audio-apr-dummy" 311 Add this compatible as child device to msm-audio-apr device. 312 This child device is added after lpass is up to invoke 313 deferred probe devices. 314 315* msm-ocmem-audio 316 317Required properties: 318 319 - compatible : "qcom,msm-ocmem-audio" 320 321 - qcom,msm_bus,name: Client name 322 323 - qcom,msm_bus,num_cases: Total number of use cases 324 325 - qcom,msm_bus,active_only: Context flag for requests in active 326 or dual (active & sleep) contex 327 328 - qcom,msm_bus,num_paths: Total number of master-slave pairs 329 330 - qcom,msm_bus,vectors: Arrays of unsigned integers 331 representing: 332 master-id, slave-id, arbitrated 333 bandwidth, 334 instantaneous bandwidth 335* wcd9xxx_intc 336 337Required properties: 338 339 - compatible : "qcom,wcd9xxx-irq" 340 341 - interrupt-controller : Mark this device node as an 342 interrupt controller 343 344 - #interrupt-cells : Should be 1 345 346 - interrupt-parent : Parent interrupt controller 347 348 - qcom,gpio-connect Gpio that connects to parent 349 interrupt controller 350 351 * audio-ext-clk-up 352 353 Required properties: 354 355 - compatible : "qcom,audio-ref-clk" 356 357 - qcom,audio-ref-clk-gpio : PMIC or APQ gpio that will be 358 requested to enable reference 359 or external clock. 360 361 Optional properties: 362 363 - qcom,node_has_rpm_clock: Boolean property used to indicate 364 whether ref. clock can be enabled 365 with a gpio toggle or Kernel clock 366 API call. 367 368 - clock-names: Name of the PMIC clock that needs 369 to be enabled for audio ref clock. 370 This clock is set as parent. 371 372 - clocks: phandle reference to the parent 373 clock. 374 375 - qcom,mclk-clk-reg: Indicate the register address for mclk. 376 377 - qcom,lpass-mclk-id: Property to update LPASS MCLK Id. 378 379 * audio_slimslave 380 381 Required properties: 382 383 - compatible : "qcom,audio-slimslave" 384 385 - elemental-addr: slimbus slave enumeration address. 386 387 * msm-cpe-lsm 388 389 Required properties: 390 391 - compatible : "qcom,msm-cpe-lsm" 392 - qcom,msm-cpe-lsm-id : lsm afe port ID. CPE lsm driver uses 393 this property to find out the input afe port ID. Currently 394 only supported values are 1 and 3. 395 396 * wcd_us_euro_gpio 397 398 Required properties: 399 400 - compatible : "qcom,msm-cdc-pinctrl" 401 402Optional properties: 403 - qcom,lpi-gpios : This boolean property is added if GPIOs are under 404 LPI TLMM. 405 406* msm-dai-slim 407 408Required properties: 409 410 - compatible : "qcom,msm-dai-slim" 411 412 - elemental-addr: slimbus slave enumeration address. 413 414* wcd_gpio_ctrl 415 416Required properties: 417 418 - compatible : "qcom,msm-cdc-pinctrl" 419 420 - qcom,cdc-rst-n-gpio : TLMM GPIO number 421 422 - pinctrl-names: Pinctrl state names for each pin 423 group configuration. 424 - pinctrl-x: Defines pinctrl state for each pin 425 group. 426 * msm_cdc_pinctrl 427 428 Required properties: 429 430 - compatible : "qcom,msm-cdc-pinctrl" 431 432 - pinctrl-names: Pinctrl state names for each pin 433 group configuration. 434 - pinctrl-x: Defines pinctrl state for each pin 435 group. 436 437 * wcd_dsp_glink 438 439 Required properties: 440 441 - compatible : "qcom,wcd-dsp-glink" 442 - qcom,msm-codec-glink-edge: Name of the glink edge which is used 443 for IPC. 444 If no name is set, it defaults to "wdsp" 445 446 * msm_ext_disp_audio_codec_rx 447 448 Required properties: 449 450 - compatible : "qcom,msm-ext-disp-audio-codec-rx" 451 452 Example: 453 454 qcom,msm-pcm { 455 compatible = "qcom,msm-pcm-dsp"; 456 qcom,msm-pcm-dsp-id = <0>; 457 }; 458 459 qcom,msm-pcm-low-latency { 460 compatible = "qcom,msm-pcm-dsp"; 461 qcom,msm-pcm-dsp-id = <1>; 462 qcom,msm-pcm-low-latency; 463 }; 464 465 qcom,msm-pcm-loopback-low-latency { 466 compatible = "qcom,msm-pcm-loopback"; 467 qcom,msm-pcm-loopback-low-latency; 468 }; 469 470 qcom,msm-pcm-routing { 471 compatible = "qcom,msm-pcm-routing"; 472 }; 473 474 qcom,msm-pcm-lpa { 475 compatible = "qcom,msm-pcm-lpa"; 476 }; 477 478 qcom,msm-compr-dsp { 479 compatible = "qcom,msm-compr-dsp"; 480 }; 481 482 qcom,msm-compress-dsp { 483 compatible = "qcom,msm-compress-dsp"; 484 }; 485 486 qcom,msm-voip-dsp { 487 compatible = "qcom,msm-voip-dsp"; 488 }; 489 490 qcom,msm-pcm-voice { 491 compatible = "qcom,msm-pcm-voice"; 492 qcom,destroy-cvd; 493 }; 494 495 qcom,msm-voice-host-pcm { 496 compatible = "qcom,msm-voice-host-pcm"; 497 }; 498 499 qcom,msm-stub-codec { 500 compatible = "qcom,msm-stub-codec"; 501 }; 502 503 qcom,msm-dai-fe { 504 compatible = "qcom,msm-dai-fe"; 505 }; 506 507 qcom,msm-pcm-dtmf { 508 compatible = "qcom,msm-pcm-dtmf"; 509 }; 510 511 qcom,msm-dai-stub { 512 compatible = "qcom,msm-dai-stub"; 513 }; 514 515 qcom,msm-dai-q6-spdif { 516 compatible = "qcom,msm-dai-q6-spdif"; 517 }; 518 519 qcom,msm-dai-q6-hdmi { 520 compatible = "qcom,msm-dai-q6-hdmi"; 521 qcom,msm-dai-q6-dev-id = <8>; 522 }; 523 524 dai_dp: qcom,msm-dai-q6-dp { 525 compatible = "qcom,msm-dai-q6-hdmi"; 526 qcom,msm-dai-q6-dev-id = <24608>; 527 }; 528 529 qcom,msm-dai-q6 { 530 compatible = "qcom,msm-dai-q6"; 531 qcom,msm-dai-q6-sb-0-rx { 532 compatible = "qcom,msm-dai-q6-dev"; 533 qcom,msm-dai-q6-dev-id = <16384>; 534 }; 535 536 qcom,msm-dai-q6-sb-0-tx { 537 compatible = "qcom,msm-dai-q6-dev"; 538 qcom,msm-dai-q6-dev-id = <16385>; 539 }; 540 541 qcom,msm-dai-q6-sb-1-rx { 542 compatible = "qcom,msm-dai-q6-dev"; 543 qcom,msm-dai-q6-dev-id = <16386>; 544 }; 545 546 qcom,msm-dai-q6-sb-1-tx { 547 compatible = "qcom,msm-dai-q6-dev"; 548 qcom,msm-dai-q6-dev-id = <16387>; 549 }; 550 551 qcom,msm-dai-q6-sb-3-rx { 552 compatible = "qcom,msm-dai-q6-dev"; 553 qcom,msm-dai-q6-dev-id = <16390>; 554 }; 555 556 qcom,msm-dai-q6-sb-3-tx { 557 compatible = "qcom,msm-dai-q6-dev"; 558 qcom,msm-dai-q6-dev-id = <16391>; 559 }; 560 561 qcom,msm-dai-q6-sb-4-rx { 562 compatible = "qcom,msm-dai-q6-dev"; 563 qcom,msm-dai-q6-dev-id = <16392>; 564 }; 565 566 qcom,msm-dai-q6-sb-4-tx { 567 compatible = "qcom,msm-dai-q6-dev"; 568 qcom,msm-dai-q6-dev-id = <16393>; 569 }; 570 571 qcom,msm-dai-q6-sb-5-tx { 572 compatible = "qcom,msm-dai-q6-dev"; 573 qcom,msm-dai-q6-dev-id = <16395>; 574 }; 575 576 qcom,msm-dai-q6-sb-6-rx { 577 compatible = "qcom,msm-dai-q6-dev"; 578 qcom,msm-dai-q6-dev-id = <16396>; 579 }; 580 581 qcom,msm-dai-q6-sb-6-tx { 582 compatible = "qcom,msm-dai-q6-dev"; 583 qcom,msm-dai-q6-dev-id = <16397>; 584 }; 585 586 qcom,msm-dai-q6-bt-sco-rx { 587 compatible = "qcom,msm-dai-q6-dev"; 588 qcom,msm-dai-q6-dev-id = <12288>; 589 }; 590 591 qcom,msm-dai-q6-bt-sco-tx { 592 compatible = "qcom,msm-dai-q6-dev"; 593 qcom,msm-dai-q6-dev-id = <12289>; 594 }; 595 596 qcom,msm-dai-q6-int-fm-rx { 597 compatible = "qcom,msm-dai-q6-dev"; 598 qcom,msm-dai-q6-dev-id = <12292>; 599 }; 600 601 qcom,msm-dai-q6-int-fm-tx { 602 compatible = "qcom,msm-dai-q6-dev"; 603 qcom,msm-dai-q6-dev-id = <12293>; 604 }; 605 606 qcom,msm-dai-q6-be-afe-pcm-rx { 607 compatible = "qcom,msm-dai-q6-dev"; 608 qcom,msm-dai-q6-dev-id = <224>; 609 }; 610 611 qcom,msm-dai-q6-be-afe-pcm-tx { 612 compatible = "qcom,msm-dai-q6-dev"; 613 qcom,msm-dai-q6-dev-id = <225>; 614 }; 615 616 qcom,msm-dai-q6-afe-proxy-rx { 617 compatible = "qcom,msm-dai-q6-dev"; 618 qcom,msm-dai-q6-dev-id = <241>; 619 }; 620 621 qcom,msm-dai-q6-afe-proxy-tx { 622 compatible = "qcom,msm-dai-q6-dev"; 623 qcom,msm-dai-q6-dev-id = <240>; 624 }; 625 626 qcom,msm-dai-q6-incall-record-rx { 627 compatible = "qcom,msm-dai-q6-dev"; 628 qcom,msm-dai-q6-dev-id = <32771>; 629 }; 630 631 qcom,msm-dai-q6-incall-record-tx { 632 compatible = "qcom,msm-dai-q6-dev"; 633 qcom,msm-dai-q6-dev-id = <32772>; 634 }; 635 636 qcom,msm-dai-q6-incall-music-rx { 637 compatible = "qcom,msm-dai-q6-dev"; 638 qcom,msm-dai-q6-dev-id = <32773>; 639 }; 640 641 qcom,msm-dai-q6-incall-music-2-rx { 642 compatible = "qcom,msm-dai-q6-dev"; 643 qcom,msm-dai-q6-dev-id = <32770>; 644 }; 645 646 qcom,msm-dai-q6-incall-music-dl-rx { 647 compatible = "qcom,msm-dai-q6-dev"; 648 qcom,msm-dai-q6-dev-id = <32774>; 649 }; 650 }; 651 652 qcom,msm-pri-auxpcm { 653 qcom,msm-cpudai-auxpcm-mode = <1>, <1>; 654 qcom,msm-cpudai-auxpcm-sync = <1>, <1>; 655 qcom,msm-cpudai-auxpcm-frame = <5>, <4>; 656 qcom,msm-cpudai-auxpcm-quant = <2>, <2>; 657 qcom,msm-cpudai-auxpcm-num-slots = <4>, <4>; 658 qcom,msm-cpudai-auxpcm-slot-mapping = <1 0 0 0>, <1 3 0 0>; 659 qcom,msm-cpudai-auxpcm-data = <0>, <0>; 660 qcom,msm-cpudai-auxpcm-pcm-clk-rate = <2048000>, <2048000>; 661 qcom,msm-auxpcm-interface = "primary"; 662 compatible = "qcom,msm-auxpcm-dev"; 663 pinctrl-names = "default", "idle"; 664 pinctrl-0 = <&pri_aux_pcm_active &pri_aux_pcm_din_active>; 665 pinctrl-1 = <&pri_aux_pcm_sleep &pri_aux_pcm_din_sleep>; 666 }; 667 668 qcom,msm-pcm-hostless { 669 compatible = "qcom,msm-pcm-hostless"; 670 }; 671 672 qcom,msm-audio-apr { 673 compatible = "qcom,msm-audio-apr"; 674 msm_audio_apr_dummy { 675 compatible = "qcom,msm-audio-apr-dummy"; 676 }; 677 678 qcom,subsys-name = "apr_adsp"; 679 }; 680 681 qcom,msm-ocmem-audio { 682 compatible = "qcom,msm-ocmem-audio"; 683 qcom,msm_bus,name = "audio-ocmem"; 684 qcom,msm_bus,num_cases = <2>; 685 qcom,msm_bus,active_only = <0>; 686 qcom,msm_bus,num_paths = <1>; 687 qcom,msm_bus,vectors = 688 <11 604 0 0>, 689 <11 604 32505856 325058560>; 690 }; 691 692 wcd9xxx_intc: wcd9xxx-irq { 693 compatible = "qcom,wcd9xxx-irq"; 694 interrupt-controller; 695 #interrupt-cells = <1>; 696 interrupt-parent = <&msmgpio>; 697 interrupts = <72 0>; 698 interrupt-names = "cdc-int"; 699 }; 700 701 clock_audio: audio_ext_clk { 702 compatible = "qcom,audio-ref-clk"; 703 qcom,audio-ref-clk-gpios = <&pm8994_gpios 15 0>; 704 clock-names = "osr_clk"; 705 clocks = <&clock_rpm clk_div_clk1>; 706 qcom,node_has_rpm_clock; 707 #clock-cells = <1>; 708 pinctrl-names = "sleep", "active"; 709 pinctrl-0 = <&spkr_i2s_clk_sleep>; 710 pinctrl-1 = <&spkr_i2s_clk_active>; 711 }; 712 713 audio_slimslave { 714 compatible = "qcom,audio-slimslave"; 715 elemental-addr = [ff ff ff ff 17 02]; 716 }; 717 718 msm_dai_slim { 719 compatible = "qcom,msm_dai_slim"; 720 elemental-addr = [ff ff ff fe 17 02]; 721 }; 722 723 wcd_gpio_ctrl { 724 compatible = "qcom,msm-cdc-pinctrl"; 725 qcom,cdc-rst-n-gpio = <&tlmm 64 0>; 726 pinctrl-names = "aud_active", "aud_sleep"; 727 pinctrl-0 = <&cdc_reset_active>; 728 pinctrl-1 = <&cdc_reset_sleep>; 729 }; 730 731 msm_cdc_pinctrl { 732 compatible = "qcom,msm-cdc-pinctrl"; 733 pinctrl-names = "aud_active", "aud_sleep"; 734 pinctrl-0 = <&cdc_reset_active>; 735 pinctrl-1 = <&cdc_reset_sleep>; 736 }; 737 738 wcd_dsp_glink { 739 compatible = "qcom,wcd-dsp-glink"; 740 qcom,msm-codec-glink-edge = "bg"; 741 }; 742 743 msm_ext_disp_audio_codec_rx { 744 compatible = "qcom,msm-ext-disp-audio-codec-rx"; 745 }; 746 747 748* MSM8916 ASoC Machine driver 749 750Required properties: 751- compatible : "qcom,msm8x16-audio-codec" 752- qcom,model : The user-visible name of this sound card. 753- qcom,msm-snd-card-id : This id is used to recognize the sound card number 754 - qcom,msm-codec-type : This property is used to recognize the codec type 755 internal or external. 756 - qcom,msm-hs-micbias-type : This property is used to recognize the headset 757 micbias type, internal or external. 758 - qcom,msm-ext-pa : This property is used to inform machine driver about 759 the connection of external PA over available MI2S interfaces, 760 following values can be given to this property. 761 primary -> Primary MI2S interface 762 secondary -> Secondary MI2S interface 763 tertiary -> Tertiary MI2S interface 764 quaternary -> Quaternary MI2S interface 765 - qcom,msm-mclk-freq : This property is used to inform machine driver about 766 mclk frequency needs to be configured for internal and external PA. 767 - qcom,msm-mbhc-hphl-swh: This property is used to distinguish headset HPHL 768 switch type on target typically the switch type will be normally open or 769 normally close, value for this property 0 for normally close and 1 for 770 normally open. 771 - qcom,msm-mbhc-gnd-swh: This property is used to distinguish headset GND 772 switch type on target typically the switch type will be normally open or 773 normally close, value for this property 0 for normally close and 1 for 774 normally open. 775 - qcom,audio-routing : A list of the connections between audio components. 776 - pinctrl-names : Pincntrl entries to configure the PDM gpio lines and 777 cross connection switch gpio accordingly 778 - pinctrl-0 : This explains the active state of the PDM gpio lines 779 - pinctrl-1 : This explains the suspend state of the PDM gpio lines 780 - pinctrl-2 : This explains the active state of the cross connection 781 gpio lines 782 - pinctrl-3 : This explains the suspend state of the cross connection 783 gpio lines 784 - qcom,tapan-mclk-clk-freq : Tapan mclk Freq in Hz. 785 - qcom,prim-auxpcm-gpio-clk : GPIO on which Primary AUXPCM clk signal is coming. 786 - qcom,prim-auxpcm-gpio-sync : GPIO on which Primary AUXPCM SYNC signal is coming. 787- qcom,prim-auxpcm-gpio-din : GPIO on which Primary AUXPCM DIN signal is coming. 788- qcom,prim-auxpcm-gpio-dout : GPIO on which Primary AUXPCM DOUT signal is coming. 789- qcom,prim-auxpcm-gpio-set : set of GPIO lines used for Primary AUXPCM port 790- qcom,tapan-codec-9302: Indicates that this device node is for WCD9302 audio 791 codec. 792- asoc-platform: This is phandle list containing the references to platform device 793 nodes that are used as part of the sound card dai-links. 794- asoc-platform-names: This property contains list of platform names. The order of 795 the platform names should match to that of the phandle order 796 given in "asoc-platform". 797 - asoc-cpu: This is phandle list containing the references to cpu dai device nodes 798 that are used as part of the sound card dai-links. 799 - asoc-cpu-names: This property contains list of cpu dai names. The order of the 800 cpu dai names should match to that of the phandle order given 801 in "asoc-cpu". The cpu names are in the form of "%s.%d" form, 802 where the id (%d) field represents the back-end AFE port id that 803 this CPU dai is associated with. 804 - asoc-codec: This is phandle list containing the references to codec dai device 805 nodes that are used as part of the sound card dai-links. 806 - asoc-codec-names: This property contains list of codec dai names. The order of the 807 codec dai names should match to that of the phandle order given 808 in "asoc-codec". 809 810 Optional Properties: 811 - qcom,us-euro-gpios : GPIO on which gnd/mic swap signal is coming. 812 813 Example: 814 815 msm_dig_codec: qcom,msm-int-codec { 816 compatible = "qcom,msm_int_core_codec"; 817 qcom,dig-cdc-base-addr = <0xc0f0000>; 818 }; 819 820 sound { 821 compatible = "qcom,msm8x16-audio-codec"; 822 qcom,model = "msm8x16-snd-card"; 823 qcom,msm-snd-card-id = <0>; 824 qcom,msm-codec-type = "internal"; 825 qcom,msm-ext-pa = <0>; 826 qcom,msm-mclk-freq = <12288000>; 827 qcom,msm-mbhc-hphl-swh = <0>; 828 qcom,msm-mbhc-gnd-swh = <0>; 829 qcom,msm-hs-micbias-type = "internal"; 830 qcom,cdc-us-euro-gpios = <&msmgpio 120 0>; 831 qcom,audio-routing = 832 "RX_BIAS", "MCLK", 833 "INT_LDO_H", "MCLK", 834 "MIC BIAS External", "Handset Mic", 835 "MIC BIAS Internal2", "Headset Mic", 836 "MIC BIAS External", "Secondary Mic", 837 "AMIC1", "MIC BIAS External", 838 "AMIC2", "MIC BIAS Internal2", 839 "AMIC3", "MIC BIAS External"; 840 pinctrl-names = "cdc_pdm_lines_act", 841 "cdc_pdm_lines_sus", 842 "cross_conn_det_act", 843 "cross_conn_det_sus"; 844 pinctrl-0 = <&cdc_pdm_lines_act>; 845 pinctrl-1 = <&cdc_pdm_lines_sus>; 846 pinctrl-2 = <&cross_conn_det_act>; 847 pinctrl-3 = <&cross_conn_det_sus>; 848 qcom,tapan-mclk-clk-freq = <9600000>; 849 qcom,prim-auxpcm-gpio-clk = <&msm_gpio 63 0>; 850 qcom,prim-auxpcm-gpio-sync = <&msm_gpio 64 0>; 851 qcom,prim-auxpcm-gpio-din = <&msm_gpio 65 0>; 852 qcom,prim-auxpcm-gpio-dout = <&msm_gpio 66 0>; 853 qcom,prim-auxpcm-gpio-set = "prim-gpio-prim"; 854 qcom,tapan-codec-9302; 855 asoc-platform = <&pcm0>, <&pcm1>, <&voip>, <&voice>, 856 <&loopback>, <&compress>, <&hostless>, 857 <&afe>, <&lsm>, <&routing>, <&lpa>; 858 asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1", 859 "msm-voip-dsp", "msm-pcm-voice", "msm-pcm-loopback", 860 "msm-compress-dsp", "msm-pcm-hostless", "msm-pcm-afe", 861 "msm-lsm-client", "msm-pcm-routing", "msm-pcm-lpa"; 862 asoc-cpu = <&dai_pri_auxpcm>, <&dai_hdmi>, <&dai_dp>, 863 <&dai_mi2s0>, <&dai_mi2s1>, <&dai_mi2s2>, <&dai_mi2s3>, 864 <&sb_0_rx>, <&sb_0_tx>, <&sb_1_rx>, <&sb_1_tx>, 865 <&sb_3_rx>, <&sb_3_tx>, <&sb_4_rx>, <&sb_4_tx>, 866 <&bt_sco_rx>, <&bt_sco_tx>, <&int_fm_rx>, <&int_fm_tx>, 867 <&afe_pcm_rx>, <&afe_pcm_tx>, <&afe_proxy_rx>, <&afe_proxy_tx>, 868 <&incall_record_rx>, <&incall_record_tx>, <&incall_music_rx>, 869 <&incall_music_2_rx>; 870 asoc-cpu-names = "msm-dai-q6-auxpcm.1", "msm-dai-q6-hdmi.8", 871 "msm-dai-q6-dp.24608", 872 "msm-dai-q6-mi2s.0", "msm-dai-q6-mi2s.1", 873 "msm-dai-q6-mi2s.2", "msm-dai-q6-mi2s.3", 874 "msm-dai-q6-dev.16384", "msm-dai-q6-dev.16385", 875 "msm-dai-q6-dev.16386", "msm-dai-q6-dev.16387", 876 "msm-dai-q6-dev.16390", "msm-dai-q6-dev.16391", 877 "msm-dai-q6-dev.16392", "msm-dai-q6-dev.16393", 878 "msm-dai-q6-dev.12288", "msm-dai-q6-dev.12289", 879 "msm-dai-q6-dev.12292", "msm-dai-q6-dev.12293", 880 "msm-dai-q6-dev.224", "msm-dai-q6-dev.225", 881 "msm-dai-q6-dev.241", "msm-dai-q6-dev.240", 882 "msm-dai-q6-dev.32771", "msm-dai-q6-dev.32772", 883 "msm-dai-q6-dev.32773", "msm-dai-q6-dev.32770"; 884 asoc-codec = <&stub>, <&pm8916_tombak_dig>; 885 asoc-codec-names = "msm-stub-codec.1", "tombak_codec"; 886 }; 887 888* MSM8974 ASoC Machine driver 889 890Required properties: 891- compatible : "qcom,msm8974-audio-taiko" 892- qcom,model : The user-visible name of this sound card. 893 - qcom,audio-routing : A list of the connections between audio components. 894 Each entry is a pair of strings, the first being the connection's sink, 895 the second being the connection's source. 896 - qcom,cdc-mclk-gpios : GPIO on which mclk signal is coming. 897 - qcom,taiko-mclk-clk-freq : Taiko mclk Freq in Hz. currently only 9600000Hz 898 is supported. 899 - qcom,prim-auxpcm-gpio-clk : GPIO on which Primary AUXPCM clk signal is coming. 900 - qcom,prim-auxpcm-gpio-sync : GPIO on which Primary AUXPCM SYNC signal is coming. 901 - qcom,prim-auxpcm-gpio-din : GPIO on which Primary AUXPCM DIN signal is coming. 902 - qcom,prim-auxpcm-gpio-dout : GPIO on which Primary AUXPCM DOUT signal is coming. 903 - qcom,prim-auxpcm-gpio-set : set of GPIO lines used for Primary AUXPCM port 904 Possible Values: 905 prim-gpio-prim : Primary AUXPCM shares GPIOs with Primary MI2S 906 prim-gpio-tert : Primary AUXPCM shares GPIOs with Tertiary MI2S 907 - qcom,sec-auxpcm-gpio-clk : GPIO on which Secondary AUXPCM clk signal is coming. 908 - qcom,sec-auxpcm-gpio-sync : GPIO on which Secondary AUXPCM SYNC signal is coming. 909 - qcom,sec-auxpcm-gpio-din : GPIO on which Secondary AUXPCM DIN signal is coming. 910 - qcom,sec-auxpcm-gpio-dout : GPIO on which Secondary AUXPCM DOUT signal is coming. 911 - qcom,us-euro-gpios : GPIO on which gnd/mic swap signal is coming. 912 - asoc-platform: This is phandle list containing the references to platform device 913 nodes that are used as part of the sound card dai-links. 914 - asoc-platform-names: This property contains list of platform names. The order of 915 the platform names should match to that of the phandle order 916 given in "asoc-platform". 917 - asoc-cpu: This is phandle list containing the references to cpu dai device nodes 918 that are used as part of the sound card dai-links. 919 - asoc-cpu-names: This property contains list of cpu dai names. The order of the 920 cpu dai names should match to that of the phandle order given 921 in "asoc-cpu". The cpu names are in the form of "%s.%d" form, 922 where the id (%d) field represents the back-end AFE port id that 923 this CPU dai is associated with. 924 - asoc-codec: This is phandle list containing the references to codec dai device 925 nodes that are used as part of the sound card dai-links. 926 - asoc-codec-names: This property contains list of codec dai names. The order of the 927 codec dai names should match to that of the phandle order given 928 in "asoc-codec". 929 Optional properties: 930 - reg : Offset and length of the register region(s) for MI2S/PCM MUX. 931 Not applicable for all targets. 932 - reg-names : Register region name(s) referenced in reg above. 933 Not applicable for all targets. 934 Required register resource entries are: 935 "lpaif_pri_mode_muxsel": Physical address of MUX to select between 936 Primary PCM and Primary MI2S 937 "lpaif_sec_mode_muxsel": Physical address of MUX to select between 938 Secondary PCM and Secondary MI2S 939 "lpaif_tert_mode_muxsel": Physical address of MUX to select between 940 Primary PCM and Tertiary MI2S 941 "lpaif_quat_mode_muxsel": Physical address of MUX to select between 942 Secondary PCM and Quarternary MI2S 943 - qcom,hdmi-audio-rx: specifies if HDMI audio support is enabled or not. 944 - qcom,ext-ult-spk-amp-gpio : GPIO for enabling of speaker path amplifier. 945 946 - qcom,ext-ult-lo-amp-gpio: GPIO to enable external ultrasound lineout 947 amplifier. 948 949 - qcom,headset-jack-type-NO: Adjust GPIO level based on the headset jack type. 950 - qcom,tapan-codec-9302: Indicates that this device node is for WCD9302 audio 951 codec. 952 - qcom,mbhc-bias-internal: Flag to indicate if internal micbias should be used 953 for headset detection. 954 - qcom,dock-plug-det-irq: Interrupt line to detect Docking/Undocking of Liquid 955 device 956 - qcom,ext-spk-rear-panel-irq: Interrupt line to detect rear panel speakers 957 jack for Dragon Board. 958- qcom,ext-spk-front-panel-irq: Interrupt line to detect front panel speakers 959 jack for Dragon Board. 960- qcom,ext-mic-front-panel-irq: Interrupt line to detect front panel microphone 961 jack for Dragon Board. 962- qcom,mbhc-audio-jack-type : String to indicate the jack type on the hardware. 963 Possible Values: 964 4-pole-jack : Jack on the hardware is 4-pole. 965 5-pole-jack : Jack on the hardware is 5-pole. 966 6-pole-jack : Jack on the hardware is 6-pole. 967 968* APQ8074 ASoC Machine driver 969 970Required properties: 971- compatible : "qcom,apq8074-audio-taiko" 972 973Example: 974 975sound { 976 compatible = "qcom,msm8974-audio-taiko"; 977 qcom,model = "msm8974-taiko-snd-card"; 978 979 qcom,audio-routing = 980 "RX_BIAS", "MCLK", 981 "LDO_H", "MCLK", 982 "HEADPHONE", "LDO_H", 983 "Ext Spk Bottom Pos", "LINEOUT1", 984 "Ext Spk Bottom Neg", "LINEOUT3", 985 "Ext Spk Top Pos", "LINEOUT2", 986 "Ext Spk Top Neg", "LINEOUT4", 987 "AMIC1", "MIC BIAS1 Internal1", 988 "MIC BIAS1 Internal1", "Handset Mic", 989 "AMIC2", "MIC BIAS2 External", 990 "MIC BIAS2 External", "Headset Mic", 991 "AMIC3", "MIC BIAS3 Internal1", 992 "MIC BIAS3 Internal1", "ANCRight Headset Mic", 993 "AMIC4", "MIC BIAS1 Internal2", 994 "MIC BIAS1 Internal2", "ANCLeft Headset Mic", 995 "DMIC1", "MIC BIAS1 External", 996 "MIC BIAS1 External", "Digital Mic1", 997 "DMIC2", "MIC BIAS1 External", 998 "MIC BIAS1 External", "Digital Mic2", 999 "DMIC3", "MIC BIAS3 External", 1000 "MIC BIAS3 External", "Digital Mic3", 1001 "DMIC4", "MIC BIAS3 External", 1002 "MIC BIAS3 External", "Digital Mic4", 1003 "DMIC5", "MIC BIAS4 External", 1004 "MIC BIAS4 External", "Digital Mic5", 1005 "DMIC6", "MIC BIAS4 External", 1006 "MIC BIAS4 External", "Digital Mic6"; 1007 1008 qcom,cdc-mclk-gpios = <&pm8941_gpios 15 0>; 1009 qcom,taiko-mclk-clk-freq = <9600000>; 1010 qcom,us-euro-gpios = <&pm8941_gpios 20 0>; 1011 1012 qcom,hdmi-audio-rx; 1013 qcom,ext-ult-lo-amp-gpio = <&pm8941_gpios 6 0>; 1014 1015 qcom,ext-mclk-gpio = <&msmgpio 47 0>; 1016 qcom,dock-plug-det-irq = <&pm8841_mpps 2 0>; 1017 qcom,prim-auxpcm-gpio-clk = <&msmgpio 65 0>; 1018 qcom,prim-auxpcm-gpio-sync = <&msmgpio 66 0>; 1019 qcom,prim-auxpcm-gpio-din = <&msmgpio 67 0>; 1020 qcom,prim-auxpcm-gpio-dout = <&msmgpio 68 0>; 1021 qcom,prim-auxpcm-gpio-set = "prim-gpio-prim"; 1022 qcom,sec-auxpcm-gpio-clk = <&msmgpio 79 0>; 1023 qcom,sec-auxpcm-gpio-sync = <&msmgpio 80 0>; 1024 qcom,sec-auxpcm-gpio-din = <&msmgpio 81 0>; 1025 qcom,sec-auxpcm-gpio-dout = <&msmgpio 82 0>; 1026 qcom,mbhc-audio-jack-type = "4-pole-jack"; 1027 }; 1028 1029 * msm-dai-mi2s 1030 1031 [First Level Nodes] 1032 1033 Required properties: 1034 1035 - compatible : "msm-dai-mi2s" 1036 1037 [Second Level Nodes] 1038 1039 Required properties: 1040 1041 - compatible : "qcom,msm-dai-q6-mi2s" 1042 - qcom,msm-dai-q6-mi2s-dev-id: MSM or MDM can use Slimbus or I2S interface to 1043 transfer data to (WCD9XXX) codec. 1044 If slimbus interface is used then "msm-dai-q6" 1045 needs to be filled with correct data for 1046 slimbus interface. 1047 The sections "msm-dai-mi2s" is used by MDM or 1048 MSM to use I2S interface with codec. 1049 This section is used by CPU driver in ASOC MSM 1050 to configure MI2S interface. MSM internally 1051 has multiple MI2S namely Primary, Secondary, 1052 Tertiary and Quaternary MI2S. 1053 They are represented with id 0, 1, 2, 3 1054 respectively. 1055 The field "qcom,msm-dai-q6-mi2s-dev-id" 1056 represents which of the MI2S block is used. 1057 These MI2S are connected to I2S interface. 1058 1059 - qcom,msm-mi2s-rx-lines: Each MI2S interface in MSM has one or more SD 1060 lines. These lines are used for data transfer 1061 between codec and MSM. 1062 This element in indicates which output RX lines 1063 are used in the MI2S interface. 1064 1065 - qcom,msm-mi2s-tx-lines: Each MI2S interface in MSM has one or more SD 1066 lines. These lines are used for data transfer 1067 between codec and MSM. 1068 This element in indicates which input TX lines 1069 are used in the MI2S interface. 1070 1071 Optional properties: 1072 1073 - pinctrl-names: Pinctrl state names for each pin group 1074 configuration. 1075 - pinctrl-x: Defines pinctrl state for each pin group 1076 1077 Example: 1078 1079 qcom,msm-dai-mi2s { 1080 compatible = "qcom,msm-dai-mi2s"; 1081 qcom,msm-dai-q6-mi2s-prim { 1082 compatible = "qcom,msm-dai-q6-mi2s"; 1083 qcom,msm-dai-q6-mi2s-dev-id = <0>; 1084 qcom,msm-mi2s-rx-lines = <2>; 1085 qcom,msm-mi2s-tx-lines = <1>; 1086 pinctrl-names = "default", "idle"; 1087 pinctrl-0 = <&tert_mi2s_active &tert_mi2s_sd0_active>; 1088 pinctrl-1 = <&tert_mi2s_sleep &tert_mi2s_sd0_sleep>; 1089 }; 1090 }; 1091 1092 * msm-adsp-loader 1093 1094 Required properties: 1095 - compatible : "qcom,adsp-loader" 1096 - qcom,adsp-state: 1097 It is possible that some MSM use PIL to load the ADSP image. While 1098 other MSM may use SBL to load the ADSP image at boot. Audio APR needs 1099 state of ADSP to register and enable APR to be used for sending commands 1100 to ADSP. so adsp-state represents the state of ADSP to ADSP loader. 1101 Value of 0 indicates ADSP loader needs to use PIL and value of 2 means 1102 ADSP image is already loaded by SBL. 1103 1104 Optional properties: 1105 - qcom,proc-img-to-load; 1106 This property can be used to override default ADSP 1107 loading by PIL. Based on string input, different proc is 1108 loaded. Right now we are adding option "modem" 1109 for 8916 purpose. Default image will be "adsp" which 1110 will load LPASS Q6 for other targets as expected. 1111 "adsp" option need not be explicitly mentioned in 1112 DTSI file, as it is default option. 1113 1114 Example: 1115 1116 qcom,msm-adsp-loader { 1117 compatible = "qcom,adsp-loader"; 1118 qcom,adsp-state = <2>; 1119 qcom,proc-img-to-load = "modem"; 1120 }; 1121 1122 * msm-audio-ion 1123 1124 Required properties: 1125 - compatible : "qcom,msm-audio-ion" 1126 1127 Optional properties: 1128 - qcom,smmu-version: 1129 version ID to provide info regarding smmu version 1130 used in chipset. If ARM SMMU HW - use id value as 1, 1131 If QSMMU HW - use id value as 2. 1132 1133 - qcom,smmu-sid-mask: 1134 Mask for the Stream ID part of SMMU SID. 1135 1136 - qcom,smmu-enabled: 1137 It is possible that some MSM have SMMU in ADSP. While other MSM use 1138 no SMMU. Audio lib introduce wrapper for ION APIs. The wrapper needs 1139 presence of SMMU in ADSP to handle ION APIs differently. 1140 Presence of this property means ADSP has SMMU in it. 1141 - iommus: 1142 A phandle parsed by smmu driver. Number of entries will vary across 1143 targets. 1144 1145 Example: 1146 1147qcom,msm-audio-ion { 1148 compatible = "qcom,msm-audio-ion; 1149 qcom,smmu-enabled; 1150}; 1151 1152* msm-dai-tdm 1153 1154[First Level Nodes] 1155 1156Required properties: 1157 1158 - compatible : "qcom,msm-dai-tdm" 1159 - qcom,msm-cpudai-tdm-group-id: ID of the group device. TDM interface 1160 supports up to 8 groups: 1161 Primary RX: 37120 1162 Primary TX: 37121 1163 Secondary RX: 37136 1164 Secondary TX: 37137 1165 Tertiary RX: 37152 1166 Tertiary TX: 37153 1167 Quaternary RX: 37168 1168 Quaternary TX: 37169 1169 1170 - qcom,msm-cpudai-tdm-group-num-ports: Number of ports in 1171 msm-cpudai-tdm-group-port-id array. 1172 Max number of ports supported by DSP is 8. 1173 1174 - qcom,msm-cpudai-tdm-group-port-id: Array of TDM port IDs of the group. 1175 The size of the array is determined by 1176 the value in msm-cpudai-tdm-group-num-ports. 1177 Each group supports up to 8 ports: 1178 Primary RX: 36864, 36866, 36868, 36870, 1179 36872, 36874, 36876, 36878 1180 Primary TX: 36865, 36867, 36869, 36871, 1181 36873, 36875, 36877, 36879 1182 Secondary RX: 36880, 36882, 36884, 36886, 1183 36888, 36890, 36892, 36894 1184 Secondary TX: 36881, 36883, 36885, 36887, 1185 36889, 36891, 36893, 36895 1186 Tertiary RX: 36896, 36898, 36900, 36902, 1187 36904, 36906, 36908, 36910 1188 Tertiary TX: 36897, 36899, 36901, 36903, 1189 36905, 36907, 36909, 36911 1190 Quaternary RX: 36912, 36914, 36916, 36918, 1191 36920, 36922, 36924, 36926 1192 Quaternary TX: 36913, 36915, 36917, 36919, 1193 36921, 36923, 36925, 36927 1194 1195 - qcom,msm-cpudai-tdm-clk-rate: Clock rate for tdm - 12288000. 1196 When clock rate is set to zero, 1197 then external clock is assumed. 1198 1199 - qcom,msm-cpudai-tdm-afe-ebit-unsupported: Notify if ebit 1200 setting is needed.When this is 1201 set, along with clock rate as 1202 zero, then afe is not configured 1203 for clock. 1204 1205 - qcom,msm-cpudai-tdm-sec-port-enable: For chipsets with the 1206 limitation where we need to enable 1207 both RX and TX AFE ports, this flag 1208 is used to enable TX/RX port for 1209 RX/TX streams. 1210 1211 - qcom,msm-cpudai-tdm-clk-internal: Clock Source. 1212 0 - EBIT clock from clk tree 1213 1 - IBIT clock from clk tree 1214 1215 - qcom,msm-cpudai-tdm-sync-mode: Synchronization setting. 1216 0 - Short sync bit mode 1217 1 - Long sync mode 1218 2 - Short sync slot mode 1219 1220 - qcom,msm-cpudai-tdm-sync-src: Synchronization source. 1221 0 - External source 1222 1 - Internal source 1223 1224 - qcom,msm-cpudai-tdm-data-out: Data out signal to drive with other masters. 1225 0 - Disable 1226 1 - Enable 1227 1228 - qcom,msm-cpudai-tdm-invert-sync: Invert the sync. 1229 0 - Normal 1230 1 - Invert 1231 1232 - qcom,msm-cpudai-tdm-data-delay: Number of bit clock to delay data 1233 with respect to sync edge. 1234 0 - 0 bit clock cycle 1235 1 - 1 bit clock cycle 1236 2 - 2 bit clock cycle 1237 1238 [Second Level Nodes] 1239 1240 Required properties: 1241 1242 - compatible : "qcom,msm-dai-q6-tdm" 1243 - qcom,msm-dai-q6-mi2s-dev-id: TDM port ID. 1244 1245 - qcom,msm-cpudai-tdm-data-align: Indicate how data is packed 1246 within the slot. For example, 32 slot width in case of 1247 sample bit width is 24. 1248 0 - MSB 1249 1 - LSB 1250 1251 Optional properties: 1252 1253 - qcom,msm-cpudai-tdm-header-start-offset: TDM Custom header start offset 1254 in bytes from this sub-frame. The bytes is counted from 0. 1255 0 is mapped to the 1st byte in or out of 1256 the digital serial data line this sub-frame belong to. 1257 Supported value: 0, 4, 8. 1258 1259 - qcom,msm-cpudai-tdm-header-width: Header width per frame followed. 1260 2 bytes for MOST/TDM case. 1261 Supported value: 2. 1262 1263 - qcom,msm-cpudai-tdm-header-num-frame-repeat: Number of header followed. 1264 Supported value: 8. 1265 1266 - pinctrl-names: Pinctrl state names for each pin group 1267 configuration. 1268 1269 - pinctrl-x: Defines pinctrl state for each pin group. 1270 1271Example: 1272 1273 qcom,msm-dai-tdm-quat-rx { 1274 compatible = "qcom,msm-dai-tdm"; 1275 qcom,msm-cpudai-tdm-group-id = <37168>; 1276 qcom,msm-cpudai-tdm-group-num-ports = <1>; 1277 qcom,msm-cpudai-tdm-group-port-id = <36912>; 1278 qcom,msm-cpudai-tdm-clk-rate = <12288000>; 1279 qcom,msm-cpudai-tdm-clk-internal = <1>; 1280 qcom,msm-cpudai-tdm-sync-mode = <0>; 1281 qcom,msm-cpudai-tdm-sync-src = <1>; 1282 qcom,msm-cpudai-tdm-data-out = <0>; 1283 qcom,msm-cpudai-tdm-invert-sync = <0>; 1284 qcom,msm-cpudai-tdm-data-delay = <0>; 1285 pinctrl-names = "default", "sleep"; 1286 pinctrl-0 = <&quat_tdm_active &quat_tdm_dout_active>; 1287 pinctrl-1 = <&quat_tdm_sleep &quat_tdm_dout_sleep>; 1288 dai_quat_tdm_rx_0: qcom,msm-dai-q6-tdm-quat-rx-0 { 1289 compatible = "qcom,msm-dai-q6-tdm"; 1290 qcom,msm-cpudai-tdm-dev-id = <36912>; 1291 qcom,msm-cpudai-tdm-data-align = <0>; 1292 qcom,msm-cpudai-tdm-header-start-offset = <0>; 1293 qcom,msm-cpudai-tdm-header-width = <2>; 1294 qcom,msm-cpudai-tdm-header-num-frame-repeat = <8>; 1295 }; 1296 }; 1297 1298* MSM8996 ASoC Machine driver 1299 1300Required properties: 1301- compatible : "qcom,msm8996-asoc-snd-tomtom" for tomtom codec and 1302 node is "sound" and "qcom,msm8996-asoc-snd-tasha" 1303 for tasha codec and node is "sound-9335" 1304- qcom,model : The user-visible name of this sound card. 1305- qcom,tomtom-mclk-clk-freq : MCLK frequency value for tomtom codec 1306 and node is "sound" 1307 - qcom,tasha-mclk-clk-freq : MCLK frequency value for tasha codec 1308 and node is "sound-9335" 1309 - qcom,audio-routing : A list of the connections between audio components. 1310 - asoc-platform: This is phandle list containing the references to platform device 1311 nodes that are used as part of the sound card dai-links. 1312 - asoc-platform-names: This property contains list of platform names. The order of 1313 the platform names should match to that of the phandle order 1314 given in "asoc-platform". 1315 - asoc-cpu: This is phandle list containing the references to cpu dai device nodes 1316 that are used as part of the sound card dai-links. 1317 - asoc-cpu-names: This property contains list of cpu dai names. The order of the 1318 cpu dai names should match to that of the phandle order given 1319 in "asoc-cpu". The cpu names are in the form of "%s.%d" form, 1320 where the id (%d) field represents the back-end AFE port id that 1321 this CPU dai is associated with. 1322 - asoc-codec: This is phandle list containing the references to codec dai device 1323 nodes that are used as part of the sound card dai-links. 1324 - asoc-codec-names: This property contains list of codec dai names. The order of the 1325 codec dai names should match to that of the phandle order given 1326 in "asoc-codec". 1327 Optional properties: 1328 - qcom,ext-ult-spk-amp-gpio : GPIO to enable ultrasound emitter amp. 1329 - qcom,mbhc-audio-jack-type : String to indicate the jack type on the hardware. 1330 Possible Values: 1331 4-pole-jack : Jack on the hardware is 4-pole. 1332 5-pole-jack : Jack on the hardware is 5-pole. 1333 6-pole-jack : Jack on the hardware is 6-pole. 1334 - clock-names : clock name defined for external clock. 1335 - clocks : external clock defined for codec clock. 1336 - qcom,hph-en1-gpio : GPIO to enable HiFi amplifiers. 1337 - qcom,hph-en0-gpio : GPIO to enable HiFi audio route to headset. 1338 - qcom,wsa-max-devs : Maximum number of WSA881x devices present in the target 1339- qcom,wsa-devs : List of phandles for all possible WSA881x devices supported for the target 1340- qcom,wsa-aux-dev-prefix : Name prefix with Left/Right configuration for WSA881x device 1341 1342Example: 1343 1344 sound { 1345 compatible = "qcom,msm8996-asoc-snd"; 1346 qcom,model = "msm8996-tomtom-snd-card"; 1347 1348 qcom,audio-routing = 1349 "RX_BIAS", "MCLK", 1350 "LDO_H", "MCLK", 1351 "AIF4 MAD", "MCLK", 1352 "ultrasound amp", "LINEOUT1", 1353 "ultrasound amp", "LINEOUT3", 1354 "AMIC1", "MIC BIAS1 Internal1", 1355 "MIC BIAS1 Internal1", "Handset Mic", 1356 "AMIC2", "MIC BIAS2 External", 1357 "MIC BIAS2 External", "Headset Mic", 1358 "AMIC3", "MIC BIAS2 External", 1359 "MIC BIAS2 External", "ANCRight Headset Mic", 1360 "AMIC4", "MIC BIAS2 External", 1361 "MIC BIAS2 External", "ANCLeft Headset Mic", 1362 "DMIC1", "MIC BIAS1 External", 1363 "MIC BIAS1 External", "Digital Mic1", 1364 "DMIC2", "MIC BIAS1 External", 1365 "MIC BIAS1 External", "Digital Mic2", 1366 "DMIC3", "MIC BIAS3 External", 1367 "MIC BIAS3 External", "Digital Mic3", 1368 "DMIC4", "MIC BIAS3 External", 1369 "MIC BIAS3 External", "Digital Mic4", 1370 "DMIC5", "MIC BIAS4 External", 1371 "MIC BIAS4 External", "Digital Mic5", 1372 "DMIC6", "MIC BIAS4 External", 1373 "MIC BIAS4 External", "Digital Mic6"; 1374 1375 clock-names = "osr_clk"; 1376 clocks = <&clock_rpm clk_div_clk1>; 1377 qcom,mbhc-audio-jack-type = "6-pole-jack"; 1378 asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>, 1379 <&loopback>, <&compress>, <&hostless>, 1380 <&afe>, <&lsm>, <&routing>, <&cpe>, <&compr>, <&cpe3>; 1381 asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1", "msm-pcm-dsp.2", 1382 "msm-voip-dsp", "msm-pcm-voice", "msm-pcm-loopback", 1383 "msm-compress-dsp", "msm-pcm-hostless", "msm-pcm-afe", 1384 "msm-lsm-client", "msm-pcm-routing", "msm-cpe-lsm", 1385 "msm-compr-dsp", "msm-cpe-lsm.3"; 1386 asoc-cpu = <&dai_pri_auxpcm>, <&dai_sec_auxpcm>, <&dai_hdmi>, <&dai_mi2s>, 1387 <&sb_0_rx>, <&sb_0_tx>, <&sb_1_rx>, <&sb_1_tx>, 1388 <&sb_2_rx>, <&sb_2_tx>, <&sb_3_rx>, <&sb_3_tx>, 1389 <&sb_4_rx>, <&sb_4_tx>, <&sb_5_tx>, <&afe_pcm_rx>, 1390 <&afe_pcm_tx>, <&afe_proxy_rx>, <&afe_proxy_tx>, 1391 <&incall_record_rx>, <&incall_record_tx>, 1392 <&incall_music_rx>, <&incall_music2_rx>; 1393 asoc-cpu-names = "msm-dai-q6-auxpcm.1", "msm-dai-q6-auxpcm.2", 1394 "msm-dai-q6-hdmi.8", "msm-dai-q6-mi2s.2", 1395 "msm-dai-q6-dev.16384", "msm-dai-q6-dev.16385", 1396 "msm-dai-q6-dev.16386", "msm-dai-q6-dev.16387", 1397 "msm-dai-q6-dev.16388", "msm-dai-q6-dev.16389", 1398 "msm-dai-q6-dev.16390", "msm-dai-q6-dev.16391", 1399 "msm-dai-q6-dev.16392", "msm-dai-q6-dev.16393", 1400 "msm-dai-q6-dev.16395", "msm-dai-q6-dev.224", 1401 "msm-dai-q6-dev.225", "msm-dai-q6-dev.241", 1402 "msm-dai-q6-dev.240", "msm-dai-q6-dev.32771", 1403 "msm-dai-q6-dev.32772", "msm-dai-q6-dev.32773", 1404 "msm-dai-q6-dev.32770"; 1405 asoc-codec = <&stub_codec>; 1406 asoc-codec-names = "msm-stub-codec.1"; 1407 qcom,wsa-max-devs = <2>; 1408 qcom,wsa-devs = <&wsa881x_211>, <&wsa881x_212>, 1409 <&wsa881x_213>, <&wsa881x_214>; 1410 qcom,wsa-aux-dev-prefix = "SpkrRight", "SpkrLeft", 1411 "SpkrRight", "SpkrLeft"; 1412 }; 1413 1414 * MSM8909 ASoC Machine driver 1415 1416 Required properties: 1417 - compatible : "qcom,msm8909-audio-codec" 1418 - qcom,model : The user-visible name of this sound card. 1419 - reg : Offset and length of the register region(s) for MI2S/PCM MUX 1420 - reg-names : Register region name(s) referenced in reg above 1421 Required register resource entries are: 1422 "csr_gp_io_mux_mic_ctl": Physical address of MUX that controls 1423 controls LPA IF tertiary, quad, PCM0, Digital Codec 1424 and Secondary TLMM mux setting for mic path operation. 1425 "csr_gp_io_mux_spkr_ctl": Physical address of MUX that controls 1426 IF primary, secondary, Digital Codec and Primary TLMM 1427 setting for speaker path operation. 1428 "csr_gp_io_lpaif_pri_pcm_pri_mode_muxsel": Physical address of MUX 1429 that controls the mux between LPA IF Quad and PCM0 1430 path to secondary TLMM 1431 - qcom,msm-hs-micbias-type : This property is used to recognize the headset 1432 micbias type, internal or external. 1433 - qcom,msm-ext-pa : This property is used to inform machine driver about 1434 the connection of external PA over available MI2S interfaces, 1435 following values can be given to this property. 1436 primary -> Primary MI2S interface 1437 secondary -> Secondary MI2S interface 1438 tertiary -> Tertiary MI2S interface 1439 quaternary -> Quaternary MI2S interface 1440- qcom,msm-mbhc-hphl-swh: This property is used to distinguish headset HPHL 1441switch type on target typically the switch type will be normally open or 1442normally close, value for this property 0 for normally close and 1 for 1443normally open. 1444- qcom,msm-mbhc-gnd-swh: This property is used to distinguish headset GND 1445switch type on target typically the switch type will be normally open or 1446normally close, value for this property 0 for normally close and 1 for 1447normally open. 1448- qcom,audio-routing : A list of the connections between audio components. 1449- qcom,msm-gpios : Lists down all the gpio sets that are supported. 1450- qcom,pinctrl-names : Lists all the possible combinations of the gpio sets 1451mentioned in qcom,msm-gpios. 1452- pinctrl-names : The combinations of gpio sets from above that are supported in 1453the flavor. 1454- pinctrl-# : Pinctrl states as mentioned in pinctrl-names. 1455 1456Optional properties: 1457- qcom,msm-afe-clk-ver: Provides detail of AFE clock API version. 1458- qcom,hdmi-dba-codec-rx: Boolean. specifies if HDMI DBA audio support is enabled or not. 1459- qcom,split-a2dp: Boolean. specifies if split a2dp audio support is enabled or not. 1460- qcom,prim-auxpcm-gpio-clk : GPIO on which Primary AUXPCM clk signal is coming. 1461- qcom,prim-auxpcm-gpio-sync : GPIO on which Primary AUXPCM SYNC signal is coming. 1462- qcom,prim-auxpcm-gpio-din : GPIO on which Primary AUXPCM DIN signal is coming. 1463- qcom,prim-auxpcm-gpio-dout : GPIO on which Primary AUXPCM DOUT signal is coming. 1464- qcom,prim-auxpcm-gpio-set : set of GPIO lines used for Primary AUXPCM port 1465- qcom,cdc-us-euro-gpios : GPIO on which gnd/mic swap signal is coming. 1466- qcom,msm-micbias1-ext-cap : Boolean. Enable micbias1 external 1467capacitor mode. 1468- qcom,msm-micbias2-ext-cap : Boolean. Enable micbias2 external 1469 capacitor mode. 1470 - qcom,msm-spk-ext-pa : GPIO which enables external speaker pa. 1471 - qcom,subsys-name: This value provides the subsystem name where codec 1472 is present. This property enables the codec driver to 1473 register and receive subsytem restart notification from subsystem 1474 and follow appropriate steps to ensure codec is in proper state 1475 after subsytem restart. By default codec driver register 1476 with ADSP subsystem. 1477 1478 To Configure External Audio Switch 1479 - qcom,msm-ext-audio-switch : GPIO which controls external switch that switches 1480 audio path between headset and speakers. 1481 - ext-switch-vdd-supply : Power supply that control external audio switch 1482 - qcom,ext-switch-vdd-voltage : Minimum and maximum voltage in uV to set for 1483 power supply. 1484 - qcom,ext-switch-vdd-op-mode : Maxmum # of uA current the switch will draw 1485 from the power supply. 1486 Example: 1487 qcom,msm-ext-audio-switch = <&msm_gpio 2 0>; - gpio # and active_state 1488 ext-switch-vdd-supply = <&pm8950_l13>; - Power Rail 1489 qcom,ext-switch-vdd-voltage = <3075000 3075000>; - Min, Max uV voltage 1490 qcom,ext-switch-vdd-op-mode = <5000>; - Operational current uA 1491 Additional needs to add two additional qcom,audio-routings 1492 "HEADPHONE", "VDD_EXT_AUDIO_SWITCH" 1493 "SPK_OUT", "VDD_EXT_AUDIO_SWITCH" 1494 1495 - qcom,msm-mclk-freq : This property is used to inform machine driver about 1496 mclk frequency needs to be configured for internal and external PA. 1497 - asoc-platform: This is phandle list containing the references to platform device 1498 nodes that are used as part of the sound card dai-links. 1499 - asoc-platform-names: This property contains list of platform names. The order of 1500 the platform names should match to that of the phandle order 1501 given in "asoc-platform". 1502- asoc-cpu: This is phandle list containing the references to cpu dai device nodes 1503 that are used as part of the sound card dai-links. 1504- asoc-cpu-names: This property contains list of cpu dai names. The order of the 1505 cpu dai names should match to that of the phandle order given. 1506- asoc-codec: This is phandle list containing the references to codec dai device 1507 nodes that are used as part of the sound card dai-links. 1508 - asoc-codec-names: This property contains list of codec dai names. The order of the 1509 codec dai names should match to that of the phandle order given 1510 in "asoc-codec". 1511 - asoc-wsa-codec-names: This property contains list of wsa codec names. The names 1512 should comply with the wsa nodes configurations. 1513 - asoc-wsa-codec-prefixes: This property contains list of wsa codec prefixes. 1514 - msm-vdd-wsa-switch-supply: WSA codec supply's regulator device tree node. 1515 - qcom,msm-vdd-wsa-switch-voltage: WSA codec supply's voltage level in mV. 1516 - qcom,msm-vdd-wsa-switch-current: WSA codec max current level in mA. 1517 1518 Example: 1519 sound { 1520 compatible = "qcom,msm8909-audio-codec"; 1521 qcom,model = "msm8909-snd-card"; 1522 reg = <0xc051000 0x4>, 1523 <0xc051004 0x4>, 1524 <0xc055000 0x4>; 1525 reg-names = "csr_gp_io_mux_mic_ctl", 1526 "csr_gp_io_mux_spkr_ctl", 1527 "csr_gp_io_lpaif_pri_pcm_pri_mode_muxsel"; 1528 qcom,msm-afe-clk-ver = <1>; 1529 qcom,msm-ext-pa = "primary"; 1530 qcom,hdmi-dba-codec-rx; 1531 qcom,split-a2dp; 1532 qcom,msm-mclk-freq = <9600000>; 1533 qcom,msm-mbhc-hphl-swh = <0>; 1534 qcom,msm-mbhc-gnd-swh = <0>; 1535 qcom,msm-hs-micbias-type = "internal"; 1536 qcom,msm-micbias1-ext-cap; 1537 qcom,audio-routing = 1538 "RX_BIAS", "MCLK", 1539 "SPK_RX_BIAS", "MCLK", 1540 "INT_LDO_H", "MCLK", 1541 "MIC BIAS External", "Handset Mic", 1542 "MIC BIAS Internal2", "Headset Mic", 1543 "MIC BIAS External", "Secondary Mic", 1544 "AMIC1", "MIC BIAS External", 1545 "AMIC2", "MIC BIAS Internal2", 1546 "AMIC3", "MIC BIAS External"; 1547 qcom,msm-gpios = 1548 "pri_i2s", 1549 "us_eu_gpio"; 1550 qcom,pinctrl-names = 1551 "all_off", 1552 "pri_i2s_act", 1553 "us_eu_gpio_act", 1554 "pri_i2s_us_eu_gpio_act"; 1555 pinctrl-names = 1556 "all_off", 1557 "pri_i2s_act", 1558 "us_eu_gpio_act", 1559 "pri_i2s_us_eu_gpio_act"; 1560 pinctrl-0 = <&cdc_pdm_lines_sus &cdc_pdm_lines_2_sus &cross_conn_det_sus>; 1561 pinctrl-1 = <&cdc_pdm_lines_act &cdc_pdm_lines_2_act &cross_conn_det_sus>; 1562 pinctrl-2 = <&cdc_pdm_lines_sus &cdc_pdm_lines_2_sus &cross_conn_det_act>; 1563 pinctrl-3 = <&cdc_pdm_lines_act &cdc_pdm_lines_2_act &cross_conn_det_act>; 1564 qcom,cdc-us-euro-gpios = <&msm_gpio 63 0>; 1565 qcom,prim-auxpcm-gpio-clk = <&msm_gpio 63 0>; 1566 qcom,prim-auxpcm-gpio-sync = <&msm_gpio 64 0>; 1567 qcom,prim-auxpcm-gpio-din = <&msm_gpio 65 0>; 1568 qcom,prim-auxpcm-gpio-dout = <&msm_gpio 66 0>; 1569 qcom,prim-auxpcm-gpio-set = "prim-gpio-prim"; 1570 qcom,tapan-codec-9302; 1571 asoc-platform = <&pcm0>, <&pcm1>, <&voip>, <&voice>, 1572 <&loopback>, <&compress>, <&hostless>, 1573 <&afe>, <&lsm>, <&routing>, <&lpa>; 1574 asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1", 1575 "msm-voip-dsp", "msm-pcm-voice", "msm-pcm-loopback", 1576 "msm-compress-dsp", "msm-pcm-hostless", "msm-pcm-afe", 1577 "msm-lsm-client", "msm-pcm-routing", "msm-pcm-lpa"; 1578 asoc-cpu = <&dai_pri_auxpcm>, <&dai_hdmi>, 1579 <&dai_mi2s0>, <&dai_mi2s1>, <&dai_mi2s2>, <&dai_mi2s3>, 1580 <&sb_0_rx>, <&sb_0_tx>, <&sb_1_rx>, <&sb_1_tx>, 1581 <&sb_3_rx>, <&sb_3_tx>, <&sb_4_rx>, <&sb_4_tx>, 1582 <&bt_sco_rx>, <&bt_sco_tx>, <&int_fm_rx>, <&int_fm_tx>, 1583 <&afe_pcm_rx>, <&afe_pcm_tx>, <&afe_proxy_rx>, <&afe_proxy_tx>, 1584 <&incall_record_rx>, <&incall_record_tx>, <&incall_music_rx>, 1585 <&incall_music_2_rx>; 1586 asoc-cpu-names = "msm-dai-q6-auxpcm.1", "msm-dai-q6-hdmi.8", 1587 "msm-dai-q6-mi2s.0", "msm-dai-q6-mi2s.1", 1588 "msm-dai-q6-mi2s.2", "msm-dai-q6-mi2s.3", 1589 "msm-dai-q6-dev.16384", "msm-dai-q6-dev.16385", 1590 "msm-dai-q6-dev.16386", "msm-dai-q6-dev.16387", 1591 "msm-dai-q6-dev.16390", "msm-dai-q6-dev.16391", 1592 "msm-dai-q6-dev.16392", "msm-dai-q6-dev.16393", 1593 "msm-dai-q6-dev.12288", "msm-dai-q6-dev.12289", 1594 "msm-dai-q6-dev.12292", "msm-dai-q6-dev.12293", 1595 "msm-dai-q6-dev.224", "msm-dai-q6-dev.225", 1596 "msm-dai-q6-dev.241", "msm-dai-q6-dev.240", 1597 "msm-dai-q6-dev.32771", "msm-dai-q6-dev.32772", 1598 "msm-dai-q6-dev.32773", "msm-dai-q6-dev.32770"; 1599 asoc-codec = <&stub>, <&pm8916_tombak_dig>; 1600 asoc-codec-names = "msm-stub-codec.1", "tombak_codec"; 1601 asoc-wsa-codec-names = "wsa881x-i2c-codec.8-000f"; 1602 asoc-wsa-codec-prefixes = "SpkrMono"; 1603 }; 1604 1605 * MSM8952 ASoC Machine driver 1606 1607 Required properties: 1608 - compatible : "qcom,msm8952-audio-codec" for pmic codec, 1609 "qcom,msm8952-dig-asoc-snd" for digital internal codec, 1610 - qcom,model : The user-visible name of this sound card. 1611 - reg : Offset and length of the register region(s) for MI2S/PCM MUX 1612 - reg-names : Register region name(s) referenced in reg above 1613 Required register resource entries are: 1614 "csr_gp_io_mux_mic_ctl": Physical address of MUX that controls 1615 controls LPA IF tertiary, quad, PCM0, Digital Codec 1616 and Secondary TLMM mux setting for mic path operation. 1617 "csr_gp_io_mux_spkr_ctl": Physical address of MUX that controls 1618 IF primary, secondary, Digital Codec and Primary TLMM 1619 setting for speaker path operation. 1620 "csr_gp_io_lpaif_pri_pcm_pri_mode_muxsel": Physical address of MUX 1621 that controls the mux between LPA IF Quad and PCM0 1622 path to secondary TLMM 1623 - qcom,msm-hs-micbias-type : This property is used to recognize the headset 1624 micbias type, internal or external. 1625 - qcom,msm-ext-pa : This property is used to inform machine driver about 1626 the connection of external PA over available MI2S interfaces, 1627 following values can be given to this property. 1628 primary -> Primary MI2S interface 1629 secondary -> Secondary MI2S interface 1630 tertiary -> Tertiary MI2S interface 1631 quaternary -> Quaternary MI2S interface 1632 - qcom,msm-mbhc-hphl-swh: This property is used to distinguish headset HPHL 1633 switch type on target typically the switch type will be normally open or 1634 normally close, value for this property 0 for normally close and 1 for 1635 normally open. 1636 - qcom,msm-mbhc-gnd-swh: This property is used to distinguish headset GND 1637 switch type on target typically the switch type will be normally open or 1638 normally close, value for this property 0 for normally close and 1 for 1639 normally open. 1640 - qcom,audio-routing : A list of the connections between audio components. 1641 - qcom,msm-gpios : Lists down all the gpio sets that are supported. 1642 - qcom,pinctrl-names : Lists all the possible combinations of the gpio sets 1643 mentioned in qcom,msm-gpios. 1644 - pinctrl-names : The combinations of gpio sets from above that are supported in 1645 the flavor. 1646 - pinctrl-# : Pinctrl states as mentioned in pinctrl-names. 1647 1648 Optional properties: 1649 - qcom,prim-auxpcm-gpio-clk : GPIO on which Primary AUXPCM clk signal is coming. 1650 - qcom,prim-auxpcm-gpio-sync : GPIO on which Primary AUXPCM SYNC signal is coming. 1651 - qcom,prim-auxpcm-gpio-din : GPIO on which Primary AUXPCM DIN signal is coming. 1652 - qcom,prim-auxpcm-gpio-dout : GPIO on which Primary AUXPCM DOUT signal is coming. 1653 - qcom,prim-auxpcm-gpio-set : set of GPIO lines used for Primary AUXPCM port 1654 - qcom,cdc-us-euro-gpios : GPIO on which gnd/mic swap signal is coming. 1655 - qcom,msm-micbias1-ext-cap : Boolean. Enable micbias1 external 1656 capacitor mode. 1657 - qcom,msm-micbias2-ext-cap : Boolean. Enable micbias2 external 1658 capacitor mode. 1659 - qcom,msm-spk-ext-pa : GPIO which enables external speaker pa. 1660 1661 To Configure External Audio Switch 1662 - qcom,msm-ext-audio-switch : GPIO which controls external switch that switches 1663 audio path between headset and speakers. 1664 - ext-switch-vdd-supply : Power supply that control external audio switch 1665 - qcom,ext-switch-vdd-voltage : Minimum and maximum voltage in uV to set for 1666 power supply. 1667 - qcom,ext-switch-vdd-op-mode : Maxmum # of uA current the switch will draw 1668 from the power supply. 1669 Example: 1670 qcom,msm-ext-audio-switch = <&msm_gpio 2 0>; - gpio # and active_state 1671 ext-switch-vdd-supply = <&pm8950_l13>; - Power Rail 1672 qcom,ext-switch-vdd-voltage = <3075000 3075000>; - Min, Max uV voltage 1673 qcom,ext-switch-vdd-op-mode = <5000>; - Operational current uA 1674 Additional needs to add two additional qcom,audio-routings 1675 "HEADPHONE", "VDD_EXT_AUDIO_SWITCH" 1676 "SPK_OUT", "VDD_EXT_AUDIO_SWITCH" 1677 1678 - qcom,msm-mclk-freq : This property is used to inform machine driver about 1679 mclk frequency needs to be configured for internal and external PA. 1680 - asoc-platform: This is phandle list containing the references to platform device 1681 nodes that are used as part of the sound card dai-links. 1682 - asoc-platform-names: This property contains list of platform names. The order of 1683 the platform names should match to that of the phandle order 1684 given in "asoc-platform". 1685 - asoc-cpu: This is phandle list containing the references to cpu dai device nodes 1686 that are used as part of the sound card dai-links. 1687 - asoc-cpu-names: This property contains list of cpu dai names. The order of the 1688 cpu dai names should match to that of the phandle order given. 1689 - asoc-codec: This is phandle list containing the references to codec dai device 1690 nodes that are used as part of the sound card dai-links. 1691 - asoc-codec-names: This property contains list of codec dai names. The order of the 1692 codec dai names should match to that of the phandle order given 1693 in "asoc-codec". 1694 - asoc-wsa-codec-names: This property contains list of wsa codec names. The names 1695 should comply with the wsa nodes configurations. 1696 - asoc-wsa-codec-prefixes: This property contains list of wsa codec prefixes. 1697 - msm-vdd-wsa-switch-supply: WSA codec supply's regulator device tree node. 1698 - qcom,msm-vdd-wsa-switch-voltage: WSA codec supply's voltage level in mV. 1699 - qcom,msm-vdd-wsa-switch-current: WSA codec max current level in mA. 1700 1701 Example: 1702 sound { 1703 compatible = "qcom,msm8952-audio-codec"; 1704 qcom,model = "msm8952-snd-card"; 1705 reg = <0xc051000 0x4>, 1706 <0xc051004 0x4>, 1707 <0xc055000 0x4>; 1708 reg-names = "csr_gp_io_mux_mic_ctl", 1709 "csr_gp_io_mux_spkr_ctl", 1710 "csr_gp_io_lpaif_pri_pcm_pri_mode_muxsel"; 1711 qcom,msm-ext-pa = "primary"; 1712 qcom,msm-mclk-freq = <9600000>; 1713 qcom,msm-mbhc-hphl-swh = <0>; 1714 qcom,msm-mbhc-gnd-swh = <0>; 1715 qcom,msm-hs-micbias-type = "internal"; 1716 qcom,msm-micbias1-ext-cap; 1717 qcom,audio-routing = 1718 "RX_BIAS", "MCLK", 1719 "SPK_RX_BIAS", "MCLK", 1720 "INT_LDO_H", "MCLK", 1721 "MIC BIAS External", "Handset Mic", 1722 "MIC BIAS Internal2", "Headset Mic", 1723 "MIC BIAS External", "Secondary Mic", 1724 "AMIC1", "MIC BIAS External", 1725 "AMIC2", "MIC BIAS Internal2", 1726 "AMIC3", "MIC BIAS External"; 1727 qcom,msm-gpios = 1728 "pri_i2s", 1729 "us_eu_gpio"; 1730 qcom,pinctrl-names = 1731 "all_off", 1732 "pri_i2s_act", 1733 "us_eu_gpio_act", 1734 "pri_i2s_us_eu_gpio_act"; 1735 pinctrl-names = 1736 "all_off", 1737 "pri_i2s_act", 1738 "us_eu_gpio_act", 1739 "pri_i2s_us_eu_gpio_act"; 1740 pinctrl-0 = <&cdc_pdm_lines_sus &cdc_pdm_lines_2_sus &cross_conn_det_sus>; 1741 pinctrl-1 = <&cdc_pdm_lines_act &cdc_pdm_lines_2_act &cross_conn_det_sus>; 1742 pinctrl-2 = <&cdc_pdm_lines_sus &cdc_pdm_lines_2_sus &cross_conn_det_act>; 1743 pinctrl-3 = <&cdc_pdm_lines_act &cdc_pdm_lines_2_act &cross_conn_det_act>; 1744 qcom,cdc-us-euro-gpios = <&msm_gpio 63 0>; 1745 qcom,prim-auxpcm-gpio-clk = <&msm_gpio 63 0>; 1746 qcom,prim-auxpcm-gpio-sync = <&msm_gpio 64 0>; 1747 qcom,prim-auxpcm-gpio-din = <&msm_gpio 65 0>; 1748 qcom,prim-auxpcm-gpio-dout = <&msm_gpio 66 0>; 1749 qcom,prim-auxpcm-gpio-set = "prim-gpio-prim"; 1750 qcom,tapan-codec-9302; 1751 asoc-platform = <&pcm0>, <&pcm1>, <&voip>, <&voice>, 1752 <&loopback>, <&compress>, <&hostless>, 1753 <&afe>, <&lsm>, <&routing>, <&lpa>; 1754 asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1", 1755 "msm-voip-dsp", "msm-pcm-voice", "msm-pcm-loopback", 1756 "msm-compress-dsp", "msm-pcm-hostless", "msm-pcm-afe", 1757 "msm-lsm-client", "msm-pcm-routing", "msm-pcm-lpa"; 1758 asoc-cpu = <&dai_pri_auxpcm>, <&dai_hdmi>, 1759 <&dai_mi2s0>, <&dai_mi2s1>, <&dai_mi2s2>, <&dai_mi2s3>, 1760 <&sb_0_rx>, <&sb_0_tx>, <&sb_1_rx>, <&sb_1_tx>, 1761 <&sb_3_rx>, <&sb_3_tx>, <&sb_4_rx>, <&sb_4_tx>, 1762 <&bt_sco_rx>, <&bt_sco_tx>, <&int_fm_rx>, <&int_fm_tx>, 1763 <&afe_pcm_rx>, <&afe_pcm_tx>, <&afe_proxy_rx>, <&afe_proxy_tx>, 1764 <&incall_record_rx>, <&incall_record_tx>, <&incall_music_rx>, 1765 <&incall_music_2_rx>; 1766 asoc-cpu-names = "msm-dai-q6-auxpcm.1", "msm-dai-q6-hdmi.8", 1767 "msm-dai-q6-mi2s.0", "msm-dai-q6-mi2s.1", 1768 "msm-dai-q6-mi2s.2", "msm-dai-q6-mi2s.3", 1769 "msm-dai-q6-dev.16384", "msm-dai-q6-dev.16385", 1770 "msm-dai-q6-dev.16386", "msm-dai-q6-dev.16387", 1771 "msm-dai-q6-dev.16390", "msm-dai-q6-dev.16391", 1772 "msm-dai-q6-dev.16392", "msm-dai-q6-dev.16393", 1773 "msm-dai-q6-dev.12288", "msm-dai-q6-dev.12289", 1774 "msm-dai-q6-dev.12292", "msm-dai-q6-dev.12293", 1775 "msm-dai-q6-dev.224", "msm-dai-q6-dev.225", 1776 "msm-dai-q6-dev.241", "msm-dai-q6-dev.240", 1777 "msm-dai-q6-dev.32771", "msm-dai-q6-dev.32772", 1778 "msm-dai-q6-dev.32773", "msm-dai-q6-dev.32770"; 1779 asoc-codec = <&stub>, <&pm8916_tombak_dig>; 1780 asoc-codec-names = "msm-stub-codec.1", "tombak_codec"; 1781 asoc-wsa-codec-names = "wsa881x-i2c-codec.8-000f"; 1782 asoc-wsa-codec-prefixes = "SpkrMono"; 1783 }; 1784 1785 * SDM660 ASoC Machine driver 1786 1787 Required properties: 1788 - compatible : "qcom,sdm660-asoc-snd" 1789 - qcom,model : The user-visible name of this sound card. 1790 - qcom,msm-hs-micbias-type : This property is used to recognize the headset 1791 micbias type, internal or external. 1792 - qcom,msm-mbhc-hphl-swh: This property is used to distinguish headset HPHL 1793 switch type on target typically the switch type will be normally open or 1794 normally close, value for this property 0 for normally close and 1 for 1795 normally open. 1796 - qcom,msm-mbhc-gnd-swh: This property is used to distinguish headset GND 1797 switch type on target typically the switch type will be normally open or 1798 normally close, value for this property 0 for normally close and 1 for 1799 normally open. 1800 - qcom,audio-routing : A list of the connections between audio components. 1801 - qcom,msm-gpios : Lists down all the gpio sets that are supported. 1802 - qcom,pinctrl-names : Lists all the possible combinations of the gpio sets 1803 mentioned in qcom,msm-gpios. 1804 - pinctrl-names : The combinations of gpio sets from above that are supported in 1805 the flavor. 1806 - pinctrl-# : Pinctrl states as mentioned in pinctrl-names. 1807 1808 Optional properties: 1809 - qcom,cdc-us-euro-gpios : GPIO on which gnd/mic swap signal is coming. 1810 - qcom,msm-micbias1-ext-cap : Boolean. Enable micbias1 external 1811 capacitor mode. 1812 - qcom,msm-micbias2-ext-cap : Boolean. Enable micbias2 external 1813 capacitor mode. 1814 - qcom,wsa-disable : Boolean. Disables WSA speaker dailinks from sound node. 1815 - qcom,msm-spk-ext-pa : GPIO which enables external speaker pa. 1816 - qcom,msm-mclk-freq : This property is used to inform machine driver about 1817 mclk frequency needs to be configured for internal and external PA. 1818 - asoc-platform: This is phandle list containing the references to platform device 1819 nodes that are used as part of the sound card dai-links. 1820 - asoc-platform-names: This property contains list of platform names. The order of 1821 the platform names should match to that of the phandle order 1822 given in "asoc-platform". 1823 - asoc-cpu: This is phandle list containing the references to cpu dai device nodes 1824 that are used as part of the sound card dai-links. 1825 - asoc-cpu-names: This property contains list of cpu dai names. The order of the 1826 cpu dai names should match to that of the phandle order given. 1827 - asoc-codec: This is phandle list containing the references to codec dai device 1828 nodes that are used as part of the sound card dai-links. 1829 - asoc-codec-names: This property contains list of codec dai names. The order of the 1830 codec dai names should match to that of the phandle order given 1831 in "asoc-codec". 1832- qcom,wsa-max-devs : Maximum number of WSA881x devices present in the target 1833- qcom,wsa-devs : List of phandles for all possible WSA881x devices supported for the target 1834- qcom,wsa-aux-dev-prefix : Name prefix with Left/Right configuration for WSA881x device 1835- qcom,cdc-pdm-gpios : phandle for pdm gpios. 1836- qcom,cdc-comp-gpios : phandle for compander gpios. 1837- qcom,cdc-dmic-gpios : phandle for Digital mic clk and data gpios. 1838- qcom,cdc-sdw-gpios : phandle for soundwire clk and data gpios. 1839- qcom,msm-mbhc-moist-cfg: This property is used to set moisture detection 1840 threshold values for different codecs. First parameter is V(voltage) 1841 second one is i(current), third one is r (resistance). Depending on the 1842 codec set corresponding element in array and set others to 0. 1843- qcom,msm-linein-det-swh: This property is used to distinguish linein jack 1844 switch type on target typically the switch type will be normally open or 1845 normally close, value for this property 0 for normally close and 1 for 1846 normally open. 1847- qcom,msm-lineout-det-swh: This property is used to distinguish lineout jack 1848 switch type on target typically the switch type will be normally open or 1849 normally close, value for this property 0 for normally close and 1 for 1850 normally open. 1851- qcom,linein-det-gpio : GPIO on which linein jack insertion/removal interrupt is received. 1852- qcom,lineout-det-gpio : GPIO on which lineout jack insertion/removal interrupt is received. 1853 1854Example: 1855 sound { 1856 compatible = "qcom,sdm660-asoc-snd"; 1857 qcom,model = "sdm660-snd-card"; 1858 qcom,msm-mclk-freq = <9600000>; 1859 qcom,msm-mbhc-hphl-swh = <0>; 1860 qcom,msm-mbhc-gnd-swh = <0>; 1861 qcom,msm-hs-micbias-type = "internal"; 1862 qcom,msm-micbias1-ext-cap; 1863 qcom,audio-routing = 1864 "RX_BIAS", "MCLK", 1865 "SPK_RX_BIAS", "MCLK", 1866 "INT_LDO_H", "MCLK", 1867 "MIC BIAS External", "Handset Mic", 1868 "MIC BIAS Internal2", "Headset Mic", 1869 "MIC BIAS External", "Secondary Mic", 1870 "AMIC1", "MIC BIAS External", 1871 "AMIC2", "MIC BIAS Internal2", 1872 "AMIC3", "MIC BIAS External"; 1873 qcom,cdc-us-euro-gpios = <&msm_gpio 63 0>; 1874 qcom,cdc-pdm-gpios = <&cdc_pdm_gpios>; 1875 qcom,cdc-comp-gpios = <&cdc_comp_gpios>; 1876 qcom,cdc-dmic-gpios = <&cdc_dmic_gpios>; 1877 qcom,cdc-sdw-gpios = <&cdc_sdw_gpios>; 1878 asoc-platform = <&pcm0>, <&pcm1>, <&voip>, <&voice>, 1879 <&loopback>, <&compress>, <&hostless>, 1880 <&afe>, <&lsm>, <&routing>, <&lpa>; 1881 asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1", 1882 "msm-voip-dsp", "msm-pcm-voice", "msm-pcm-loopback", 1883 "msm-compress-dsp", "msm-pcm-hostless", "msm-pcm-afe", 1884 "msm-lsm-client", "msm-pcm-routing", "msm-pcm-lpa"; 1885 asoc-cpu = <&dai_pri_auxpcm>, <&dai_hdmi>, 1886 <&dai_mi2s0>, <&dai_mi2s1>, <&dai_mi2s2>, <&dai_mi2s3>, 1887 <&sb_0_rx>, <&sb_0_tx>, <&sb_1_rx>, <&sb_1_tx>, 1888 <&sb_3_rx>, <&sb_3_tx>, <&sb_4_rx>, <&sb_4_tx>, 1889 <&bt_sco_rx>, <&bt_sco_tx>, <&int_fm_rx>, <&int_fm_tx>, 1890 <&afe_pcm_rx>, <&afe_pcm_tx>, <&afe_proxy_rx>, <&afe_proxy_tx>, 1891 <&incall_record_rx>, <&incall_record_tx>, <&incall_music_rx>, 1892 <&incall_music_2_rx>; 1893 asoc-cpu-names = "msm-dai-q6-auxpcm.1", "msm-dai-q6-hdmi.8", 1894 "msm-dai-q6-mi2s.0", "msm-dai-q6-mi2s.1", 1895 "msm-dai-q6-mi2s.2", "msm-dai-q6-mi2s.3", 1896 "msm-dai-q6-dev.16384", "msm-dai-q6-dev.16385", 1897 "msm-dai-q6-dev.16386", "msm-dai-q6-dev.16387", 1898 "msm-dai-q6-dev.16390", "msm-dai-q6-dev.16391", 1899 "msm-dai-q6-dev.16392", "msm-dai-q6-dev.16393", 1900 "msm-dai-q6-dev.12288", "msm-dai-q6-dev.12289", 1901 "msm-dai-q6-dev.12292", "msm-dai-q6-dev.12293", 1902 "msm-dai-q6-dev.224", "msm-dai-q6-dev.225", 1903 "msm-dai-q6-dev.241", "msm-dai-q6-dev.240", 1904 "msm-dai-q6-dev.32771", "msm-dai-q6-dev.32772", 1905 "msm-dai-q6-dev.32773", "msm-dai-q6-dev.32770"; 1906 asoc-codec = <&stub_codec>; 1907 asoc-codec-names = "msm-stub-codec.1"; 1908 qcom,wsa-max-devs = <2>; 1909 qcom,wsa-devs = <&wsa881x_211>, <&wsa881x_212>, 1910 <&wsa881x_213>, <&wsa881x_214>; 1911 qcom,wsa-aux-dev-prefix = "SpkrRight", "SpkrLeft", 1912 "SpkrRight", "SpkrLeft"; 1913 qcom,linein-det-swh = <1>; 1914 qcom,lineout-det-swh = <1>; 1915 qcom,linein-det-gpio = <&tlmm 124 0>; 1916 qcom,lineout-det-gpio = <&tlmm 125 0>; 1917 }; 1918 1919 * MSM8952 Slimbus ASoC Machine driver 1920 1921 Required properties: 1922 - compatible : "qcom,msm8952-audio-slimbus-codec" 1923 - qcom,model : The user-visible name of this sound card. 1924 - qcom,pinctrl-names : Lists all the possible combinations of the gpio sets 1925 mentioned in qcom,msm-gpios. Say we have 2^N combinations for N GPIOs, 1926 this would list all the 2^N combinations. 1927 - pinctrl-names : The combinations of gpio sets from above that are supported in 1928 the flavor. This can be sometimes same as qcom, pinctrl-names i.e with 2^N 1929 combinations or will have less incase if some combination is not supported. 1930 - pinctrl-# : Pinctrl states as mentioned in pinctrl-names. 1931 - reg : Offset and length of the register region(s) for MI2S/PCM MUX 1932 - reg-names : Register region name(s) referenced in reg above 1933 Required register resource entries are: 1934 "csr_gp_io_mux_mic_ctl": Physical address of MUX that controls 1935 controls LPA IF tertiary, quad, PCM0, Digital Codec 1936 and Secondary TLMM mux setting for mic path operation. 1937 "csr_gp_io_mux_spkr_ctl": Physical address of MUX that controls 1938 IF primary, secondary, Digital Codec and Primary TLMM 1939 setting for speaker path operation. 1940- qcom,cdc-mclk-gpios : GPIO on which mclk signal is coming. 1941- clock-names : clock name defined for external clock. 1942- qcom,audio-routing : A list of the connections between audio components. 1943 Each entry is a pair of strings, the first being the connection's sink, 1944 the second being the connection's source. 1945 1946Optional Properties: 1947- qcom,cdc-us-euro-gpios : GPIO on which gnd/mic swap signal is coming. 1948- qcom,cdc-vdd-spkr-gpios : GPIO which controls PA for VDD speaker 1949- qcom,headset-jack-type-NC: Set if the headset jack type is NC (Normally Closed) 1950- qcom,tomtom-mclk-clk-freq : Tapan mclk Freq in Hz. currently only 9600000Hz 1951 is supported. 1952- qcom,msm-ext-pa : This property is used to inform machine driver about 1953 the connection of external PA over available MI2S interfaces, 1954 following values can be given to this property. 1955 primary -> Primary MI2S interface 1956 secondary -> Secondary MI2S interface 1957 tertiary -> Tertiary MI2S interface 1958 quaternary -> Quaternary MI2S interface 1959- qcom,mi2s-audio-intf: This property is used to inform machine driver 1960 if mi2s backend dailink has to be added as part of the sound card dai-links. 1961- qcom,auxpcm-audio-intf: This property is used to inform machine driver 1962 if auxpcm backend dailink has to be added as part of the sound card dai-links. 1963- qcom,msm-mi2s-master: This property is used to inform machine driver 1964 if MSM is the clock master of mi2s. 1 means master and 0 means slave. The 1965 first entry is primary mi2s; the second entry is secondary mi2s, and so on. 1966- qcom,mi2s-aqt-enabled: This property is used to inform machine driver 1967 if AQT1000 codec is enabled or not. If this is enabled then codec name 1968 for TERT_MI2S needs to be overridden with AQT codec. 1969- qcom,msm-mi2s-ext-mclk: This property is used to inform machine driver 1970 if MCLK from MSM is used for any external audio connections. 1 means used 1971 as external mclk source and 0 indicate not used. The first entry is 1972 primary mclk; the second entry is secondary mclk, and so on. 1973- reg: This property provides the AUX PCM/MI2S mux select register addresses 1974 and size. 1975- reg_names: This property provides the name of the AUX PCM/MI2S mux select 1976 registers so the machine driver can retrieve the addresses. The order of the 1977 names has to match the order of the registers in "reg" property. 1978- asoc-platform: This is phandle list containing the references to platform device 1979 nodes that are used as part of the sound card dai-links. 1980- asoc-platform-names: This property contains list of platform names. The order of 1981 the platform names should match to that of the phandle order 1982 given in "asoc-platform". 1983- asoc-cpu: This is phandle list containing the references to cpu dai device nodes 1984 that are used as part of the sound card dai-links. 1985- asoc-cpu-names: This property contains list of cpu dai names. The order of the 1986 cpu dai names should match to that of the phandle order given 1987 in "asoc-cpu". The cpu names are in the form of "%s.%d" form, 1988 where the id (%d) field represents the back-end AFE port id that 1989 this CPU dai is associated with. 1990- asoc-codec: This is phandle list containing the references to codec dai device 1991 nodes that are used as part of the sound card dai-links. 1992- asoc-codec-names: This property contains list of codec dai names. The order of the 1993 codec dai names should match to that of the phandle order given 1994 in "asoc-codec". 1995- asoc-wsa-codec-names: This property contains list of wsa codec names. The names 1996 should comply with the wsa nodes configurations. 1997- asoc-wsa-codec-prefixes: This property contains list of wsa codec prefixes. 1998 1999Example: 2000 sound { 2001 compatible = "qcom,msm8952-audio-slim-codec"; 2002 qcom,model = "msm8952-tomtom-snd-card"; 2003 reg = <0xc051000 0x4>, 2004 <0xc051004 0x4>, 2005 <0xc055000 0x4>; 2006 reg-names = "csr_gp_io_mux_mic_ctl", 2007 "csr_gp_io_mux_spkr_ctl", 2008 "csr_gp_io_lpaif_pri_pcm_pri_mode_muxsel"; 2009 qcom,msm-ext-pa = "primary"; 2010 qcom,mi2s-audio-intf; 2011 qcom,auxpcm-audio-intf; 2012 qcom,msm-mi2s-master = <1>, <0>, <1>, <1>; 2013 qcom,msm-mi2s-ext-mclk = <1>, <1>, <0>, <1>; 2014 reg = <0x1711a000 0x4>, 2015 <0x1711b000 0x4>, 2016 <0x1711c000 0x4>, 2017 <0x1711d000 0x4>; 2018 reg-names = "lpaif_pri_mode_muxsel", 2019 "lpaif_sec_mode_muxsel", 2020 "lpaif_tert_mode_muxsel", 2021 "lpaif_quat_mode_muxsel"; 2022 qcom,msm-mclk-freq = <9600000>; 2023 qcom,msm-mbhc-hphl-swh = <0>; 2024 qcom,msm-mbhc-gnd-swh = <0>; 2025 qcom,wsa-disable; 2026 qcom,msm-mbhc-moist-cfg = <1>, <3>, <0>; 2027 qcom,msm-hs-micbias-type = "internal"; 2028 qcom,msm-micbias1-ext-cap; 2029 qcom,audio-routing = 2030 "RX_BIAS", "MCLK", 2031 "SPK_RX_BIAS", "MCLK", 2032 "INT_LDO_H", "MCLK", 2033 "MIC BIAS External", "Handset Mic", 2034 "MIC BIAS Internal2", "Headset Mic", 2035 "MIC BIAS External", "Secondary Mic", 2036 "AMIC1", "MIC BIAS External", 2037 "AMIC2", "MIC BIAS Internal2", 2038 "AMIC3", "MIC BIAS External"; 2039 qcom,msm-gpios = 2040 "slim", 2041 "us_eu_gpio"; 2042 qcom,pinctrl-names = 2043 "all_off", 2044 "slim_act", 2045 "us_eu_gpio_act", 2046 "slim_us_eu_gpio_act"; 2047 pinctrl-names = 2048 "all_off", 2049 "slim_act", 2050 "us_eu_gpio_act", 2051 "slim_us_eu_gpio_act"; 2052 pinctrl-0 = <&cdc_slim_lines_sus &cross_conn_det_sus>; 2053 pinctrl-1 = <&cdc_slim_lines_act &cross_conn_det_sus>; 2054 pinctrl-2 = <&cdc_slim_lines_sus &cross_conn_det_act>; 2055 pinctrl-3 = <&cdc_slim_lines_act &cross_conn_det_act>; 2056 qcom,cdc-us-euro-gpios = <&msm_gpio 63 0>; 2057 qcom,headset-jack-type-NC; 2058 qcom,audio-routing = 2059 "RX_BIAS", "MCLK", 2060 "LDO_H", "MCLK", 2061 "SPK_OUT", "MCLK", 2062 "AMIC1", "MIC BIAS1 External", 2063 "MIC BIAS1 External", "Handset Mic", 2064 "AMIC2", "MIC BIAS2 External", 2065 "MIC BIAS2 External", "Headset Mic", 2066 "AMIC4", "MIC BIAS2 External", 2067 "MIC BIAS2 External", "ANCRight Headset Mic", 2068 "AMIC5", "MIC BIAS2 External", 2069 "MIC BIAS2 External", "ANCLeft Headset Mic", 2070 "DMIC1", "MIC BIAS1 External", 2071 "MIC BIAS1 External", "Digital Mic1", 2072 "DMIC2", "MIC BIAS1 External", 2073 "MIC BIAS1 External", "Digital Mic2", 2074 "DMIC3", "MIC BIAS3 External", 2075 "MIC BIAS3 External", "Digital Mic3", 2076 "DMIC4", "MIC BIAS3 External", 2077 "MIC BIAS3 External", "Digital Mic4"; 2078 asoc-platform = <&pcm0>, <&pcm1>, <&voip>, <&voice>, 2079 <&loopback>, <&compress>, <&hostless>, 2080 <&afe>, <&lsm>, <&routing>, <&lpa>; 2081 asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1", 2082 "msm-voip-dsp", "msm-pcm-voice", "msm-pcm-loopback", 2083 "msm-compress-dsp", "msm-pcm-hostless", "msm-pcm-afe", 2084 "msm-lsm-client", "msm-pcm-routing", "msm-pcm-lpa"; 2085 asoc-cpu = <&dai_hdmi>, <&dai_mi2s0>, <&dai_mi2s1>, 2086 <&dai_mi2s2>, <&dai_mi2s3>, <&sb_0_rx>, <&sb_0_tx>, 2087 <&sb_1_rx>, <&sb_1_tx>, <&sb_3_rx>, <&sb_3_tx>, 2088 <&sb_4_rx>, <&sb_4_tx>, <&sb_5_tx>, <&bt_sco_rx>, 2089 <&bt_sco_tx>, <&int_fm_rx>, <&int_fm_tx>, <&afe_pcm_rx>, 2090 <&afe_pcm_tx>, <&afe_proxy_rx>, <&afe_proxy_tx>, 2091 <&incall_record_rx>, <&incall_record_tx>, <&incall_music_rx>, 2092 <&incall_music_2_rx>; 2093 asoc-cpu-names = "msm-dai-q6-hdmi.8", "msm-dai-q6-mi2s.0", 2094 "msm-dai-q6-mi2s.1", "msm-dai-q6-mi2s.2", 2095 "msm-dai-q6-mi2s.3", "msm-dai-q6-dev.16384", 2096 "msm-dai-q6-dev.16385", "msm-dai-q6-dev.16386", 2097 "msm-dai-q6-dev.16387", "msm-dai-q6-dev.16390", 2098 "msm-dai-q6-dev.16391", "msm-dai-q6-dev.16392", 2099 "msm-dai-q6-dev.16393", "msm-dai-q6-dev.16395", 2100 "msm-dai-q6-dev.12288", "msm-dai-q6-dev.12289", 2101 "msm-dai-q6-dev.12292", "msm-dai-q6-dev.12293", 2102 "msm-dai-q6-dev.224", "msm-dai-q6-dev.225", 2103 "msm-dai-q6-dev.241", "msm-dai-q6-dev.240", 2104 "msm-dai-q6-dev.32771", "msm-dai-q6-dev.32772", 2105 "msm-dai-q6-dev.32773", "msm-dai-q6-dev.32770"; 2106 asoc-codec = <&stub_codec>; 2107 asoc-codec-names = "msm-stub-codec.1"; 2108 asoc-wsa-codec-names = "wsa881x.20170212"; 2109 asoc-wsa-codec-prefixes = "SpkrLeft"; 2110 }; 2111 2112* APQ8009 I2S ASoC Machine driver 2113 2114Required properties: 2115- compatible : "qcom,apq8009-audio-i2s-codec" 2116- qcom,model : The user-visible name of this sound card. 2117- qcom,pinctrl-names : Lists all the possible combinations of the gpio sets 2118 mentioned in qcom,msm-gpios. Say we have 2^N combinations for N GPIOs, 2119 this would list all the 2^N combinations. 2120- pinctrl-names : The combinations of gpio sets from above that are supported in 2121 the flavor. This can be sometimes same as qcom,pinctrl-names i.e with 2^N 2122 combinations or will have less incase if some combination is not supported. 2123- pinctrl-# : Pinctrl states as mentioned in pinctrl-names. 2124- qcom,audio-routing : A list of the connections between audio components. 2125 Each entry is a pair of strings, the first being the connection's sink, 2126 the second being the connection's source. 2127 2128Optional properties: 2129- qcom,cdc-us-euro-gpios : GPIO on which gnd/mic swap signal is coming. 2130- asoc-platform: This is phandle list containing the references to platform device 2131 nodes that are used as part of the sound card dai-links. 2132- asoc-platform-names: This property contains list of platform names. The order of 2133 the platform names should match to that of the phandle order 2134 given in "asoc-platform". 2135- asoc-cpu: This is phandle list containing the references to cpu dai device nodes 2136 that are used as part of the sound card dai-links. 2137- asoc-cpu-names: This property contains list of cpu dai names. The order of the 2138 cpu dai names should match to that of the phandle order given 2139 in "asoc-cpu". The cpu names are in the form of "%s.%d" form, 2140 where the id (%d) field represents the back-end AFE port id that 2141 this CPU dai is associated with. 2142- asoc-codec: This is phandle list containing the references to codec dai device 2143 nodes that are used as part of the sound card dai-links. 2144- asoc-codec-names: This property contains list of codec dai names. The order of the 2145 codec dai names should match to that of the phandle order given 2146 in "asoc-codec". 2147- qcom,wsa-max-devs : Maximum number of WSA881x devices present in the target 2148- qcom,wsa-devs: This property contains list of wsa codec names. The names 2149 should comply with the wsa nodes configurations. 2150- qcom,wsa-aux-dev-prefix: This property contains list of wsa codec prefixes. 2151- qcom,tdm-i2s-switch-enable: For chipsets where tdm mics are controlled by 2152 switch, drive corresponding gpio to output high 2153 to enable switch. 2154 2155Example: 2156 sound { 2157 compatible = "qcom,apq8009-audio-i2s-codec"; 2158 qcom,model = "apq8009-tashalite-snd-card"; 2159 qcom,msm-codec-type = "external"; 2160 qcom,msm-mbhc-hphl-swh = <0>; 2161 qcom,msm-mbhc-gnd-swh = <0>; 2162 qcom,msm-mclk-freq = <9600000>; 2163 qcom,msm-hs-micbias-type = "internal"; 2164 qcom,audio-routing = 2165 "AIF4 VI", "MCLK", 2166 "RX_BIAS", "MCLK", 2167 "MADINPUT", "MCLK", 2168 "AMIC2", "MIC BIAS2", 2169 "MIC BIAS2", "Headset Mic", 2170 "DMIC0", "MIC BIAS1", 2171 "MIC BIAS1", "Digital Mic0", 2172 "DMIC1", "MIC BIAS1", 2173 "MIC BIAS1", "Digital Mic1", 2174 "DMIC2", "MIC BIAS2", 2175 "MIC BIAS2", "Digital Mic2", 2176 "DMIC3", "MIC BIAS2", 2177 "MIC BIAS2", "Digital Mic3", 2178 "SpkrLeft IN", "SPK1 OUT", 2179 "SpkrRight IN", "SPK2 OUT"; 2180 2181 qcom,msm-gpios = 2182 "pri_i2s", 2183 "quat_i2s"; 2184 qcom,pinctrl-names = 2185 "all_off", 2186 "pri_i2s_act", 2187 "quat_i2s_act", 2188 "pri_i2s_quat_i2s_act"; 2189 pinctrl-names = 2190 "all_off", 2191 "pri_i2s_act", 2192 "quat_i2s_act", 2193 "pri_i2s_quat_i2s_act"; 2194 pinctrl-0 = <&pri_mi2s_sleep &pri_mi2s_ws_sleep 2195 &pri_mi2s_dout_sleep &pri_mi2s_din_sleep 2196 &quat_mi2s_sleep &quat_mi2s_din_sleep>; 2197 pinctrl-1 = <&pri_mi2s_active &pri_mi2s_ws_active 2198 &pri_mi2s_dout_active &pri_mi2s_din_active 2199 &quat_mi2s_sleep &quat_mi2s_din_sleep>; 2200 pinctrl-2 = <&pri_mi2s_sleep &pri_mi2s_ws_sleep 2201 &pri_mi2s_dout_sleep &pri_mi2s_din_sleep 2202 &quat_mi2s_active &quat_mi2s_din_active>; 2203 pinctrl-3 = <&pri_mi2s_active &pri_mi2s_ws_active 2204 &pri_mi2s_dout_active &pri_mi2s_din_active 2205 &quat_mi2s_active &quat_mi2s_din_active>; 2206 2207 asoc-platform = <&pcm0>, <&pcm1>, <&voip>, <&voice>, 2208 <&loopback>, <&compress>, <&hostless>, 2209 <&afe>, <&lsm>, <&routing>, <&cpe>, <&lpa>; 2210 asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1", 2211 "msm-voip-dsp", "msm-pcm-voice", "msm-pcm-loopback", 2212 "msm-compress-dsp", "msm-pcm-hostless", "msm-pcm-afe", 2213 "msm-lsm-client", "msm-pcm-routing", "msm-cpe-lsm", 2214 "msm-pcm-lpa"; 2215 asoc-cpu = <&dai_pri_auxpcm>, <&dai_hdmi>,<&dai_mi2s0>, 2216 <&dai_mi2s2>, <&dai_mi2s3>, 2217 <&sb_0_rx>, <&sb_0_tx>, <&sb_1_rx>, <&sb_1_tx>, 2218 <&sb_3_rx>, <&sb_3_tx>, 2219 <&sb_4_rx>, <&sb_4_tx>, <&afe_pcm_rx>, 2220 <&afe_pcm_tx>, <&afe_proxy_rx>, <&afe_proxy_tx>, 2221 <&incall_record_rx>, <&incall_record_tx>, 2222 <&incall_music_rx>, <&incall_music_2_rx>, 2223 <&bt_sco_rx>, 2224 <&bt_sco_tx>, <&int_fm_rx>, <&int_fm_tx>; 2225 asoc-cpu-names = "msm-dai-q6-auxpcm.1", "msm-dai-q6-hdmi.8", 2226 "msm-dai-q6-mi2s.0", 2227 "msm-dai-q6-mi2s.2", "msm-dai-q6-mi2s.3", 2228 "msm-dai-q6-dev.16384", "msm-dai-q6-dev.16385", 2229 "msm-dai-q6-dev.16386", "msm-dai-q6-dev.16387", 2230 "msm-dai-q6-dev.16390", "msm-dai-q6-dev.16391", 2231 "msm-dai-q6-dev.16392", "msm-dai-q6-dev.16393", 2232 "msm-dai-q6-dev.224", 2233 "msm-dai-q6-dev.225", "msm-dai-q6-dev.241", 2234 "msm-dai-q6-dev.240", "msm-dai-q6-dev.32771", 2235 "msm-dai-q6-dev.32772", "msm-dai-q6-dev.32773", 2236 "msm-dai-q6-dev.32770", 2237 "msm-dai-q6-dev.12288", "msm-dai-q6-dev.12289", 2238 "msm-dai-q6-dev.12292", "msm-dai-q6-dev.12293"; 2239 asoc-codec = <&stub_codec>; 2240 asoc-codec-names = "msm-stub-codec.1"; 2241 qcom,wsa-max-devs = <2>; 2242 qcom,wsa-devs = <&wsa881x_213>, <&wsa881x_214>; 2243 qcom,wsa-aux-dev-prefix = "SpkrLeft", "SpkrRight"; 2244 }; 2245 2246 * MSM8909 BG ASoC Machine driver 2247 2248 Required properties: 2249 - compatible : "qcom,msm-bg-audio-codec" 2250 - qcom,model : The user-visible name of this sound card. 2251 - qcom,pinctrl-names : Lists all the possible combinations of the gpio sets 2252 mentioned in qcom,msm-gpios. Say we have 2^N combinations for N GPIOs, 2253 this would list all the 2^N combinations. 2254 - pinctrl-names : The combinations of gpio sets from above that are supported in 2255 the flavor. This can be sometimes same as qcom,pinctrl-names i.e with 2^N 2256 combinations or will have less incase if some combination is not supported. 2257 - pinctrl-# : Pinctrl states as mentioned in pinctrl-names. 2258 - qcom,audio-routing : A list of the connections between audio components. 2259 Each entry is a pair of strings, the first being the connection's sink, 2260 the second being the connection's source. 2261 2262 Optional properties: 2263 - qcom,cdc-us-euro-gpios : GPIO on which gnd/mic swap signal is coming. 2264 - asoc-platform: This is phandle list containing the references to platform device 2265 nodes that are used as part of the sound card dai-links. 2266 - asoc-platform-names: This property contains list of platform names. The order of 2267 the platform names should match to that of the phandle order 2268 given in "asoc-platform". 2269 - asoc-cpu: This is phandle list containing the references to cpu dai device nodes 2270 that are used as part of the sound card dai-links. 2271 - asoc-cpu-names: This property contains list of cpu dai names. The order of the 2272 cpu dai names should match to that of the phandle order given 2273 in "asoc-cpu". The cpu names are in the form of "%s.%d" form, 2274 where the id (%d) field represents the back-end AFE port id that 2275 this CPU dai is associated with. 2276 - asoc-codec: This is phandle list containing the references to codec dai device 2277 nodes that are used as part of the sound card dai-links. 2278- asoc-codec-names: This property contains list of codec dai names. The order of the 2279 codec dai names should match to that of the phandle order given 2280 in "asoc-codec". 2281- vdd-spkr-supply: BG codec supply's speaker regulator device tree node. 2282 2283Example: 2284 sound { 2285 status = "disabled"; 2286 compatible = "qcom,msm-bg-audio-codec"; 2287 qcom,model = "msm-bg-snd-card"; 2288 reg = <0x7702000 0x4>, 2289 <0x7702004 0x4>, 2290 <0x7702008 0x4>, 2291 <0x770200c 0x4>; 2292 reg-names = "csr_gp_io_mux_mic_ctl", 2293 "csr_gp_io_mux_spkr_ctl", 2294 "csr_gp_io_lpaif_pri_pcm_pri_mode_muxsel", 2295 "csr_gp_io_lpaif_sec_pcm_sec_mode_muxsel"; 2296 qcom,msm-snd-card-id = <0>; 2297 qcom,msm-ext-pa = "primary"; 2298 qcom,tdm-audio-intf; 2299 qcom,msm-afe-clk-ver = <1>; 2300 asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>, 2301 <&loopback>, <&compress>, <&hostless>, 2302 <&afe>, <&lsm>, <&routing>, <&lpa>, 2303 <&voice_svc>; 2304 asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1", 2305 "msm-pcm-dsp.2", "msm-voip-dsp", 2306 "msm-pcm-voice", "msm-pcm-loopback", 2307 "msm-compress-dsp", "msm-pcm-hostless", 2308 "msm-pcm-afe", "msm-lsm-client", 2309 "msm-pcm-routing", "msm-pcm-lpa", 2310 "msm-voice-svc"; 2311 asoc-cpu = <&dai_pri_auxpcm>, 2312 <&dai_mi2s0>, <&dai_mi2s1>, <&dai_mi2s2>, 2313 <&dai_mi2s3>, <&dai_mi2s5>, <&dai_mi2s6>, 2314 <&bt_sco_rx>, <&bt_sco_tx>, <&bt_a2dp_rx>, 2315 <&int_fm_rx>, <&int_fm_tx>, <&afe_pcm_rx>, 2316 <&afe_pcm_tx>, <&afe_proxy_rx>, <&afe_proxy_tx>, 2317 <&incall_record_rx>, <&incall_record_tx>, 2318 <&incall_music_rx>, <&incall_music_2_rx>, 2319 <&dai_pri_tdm_rx_0>, <&dai_pri_tdm_tx_0>, 2320 <&dai_pri_tdm_rx_1>, <&dai_pri_tdm_tx_1>, 2321 <&dai_pri_tdm_rx_2>, <&dai_pri_tdm_tx_2>, 2322 <&dai_pri_tdm_rx_3>, <&dai_pri_tdm_tx_3>; 2323 asoc-cpu-names = "msm-dai-q6-auxpcm.1", 2324 "msm-dai-q6-mi2s.0", "msm-dai-q6-mi2s.1", 2325 "msm-dai-q6-mi2s.2", "msm-dai-q6-mi2s.3", 2326 "msm-dai-q6-mi2s.5", "msm-dai-q6-mi2s.6", 2327 "msm-dai-q6-dev.12288", "msm-dai-q6-dev.12289", 2328 "msm-dai-q6-dev.12290", "msm-dai-q6-dev.12292", 2329 "msm-dai-q6-dev.12293", "msm-dai-q6-dev.224", 2330 "msm-dai-q6-dev.225", "msm-dai-q6-dev.241", 2331 "msm-dai-q6-dev.240", "msm-dai-q6-dev.32771", 2332 "msm-dai-q6-dev.32772", "msm-dai-q6-dev.32773", 2333 "msm-dai-q6-dev.32770", "msm-dai-q6-tdm.36864", 2334 "msm-dai-q6-tdm.36865", "msm-dai-q6-tdm.36866", 2335 "msm-dai-q6-tdm.36867", "msm-dai-q6-tdm.36868", 2336 "msm-dai-q6-tdm.36869", "msm-dai-q6-tdm.36870", 2337 "msm-dai-q6-tdm.36871"; 2338 asoc-codec = <&stub_codec>; 2339 asoc-codec-names = "msm-stub-codec.1"; 2340 }; 2341 2342* BG Codec Driver. 2343 2344Required properties: 2345- compatible : "qcom,bg-codec" 2346- qcom,bg-glink : Glink component required for the BG codec communication. 2347 - compatible :"qcom,bg-cdc-glink" 2348- qcom,msm-glink-channels: Number of glink channels available to communicate 2349 with the glink client 2350- vdd-spkr-supply: BG codec supply's speaker regulator device tree node. 2351 2352Optional properties: 2353- qcom,bg-speaker-connected: This flag will notify BG codec driver that speaker 2354 is connected to target or not. Based on this flag BG 2355 codec driver will send smart pa init params to BG. 2356 2357Example: 2358 2359 bg_cdc: bg_codec { 2360 status = "disabled"; 2361 compatible = "qcom,bg-codec"; 2362 qcom,bg-glink { 2363 compatible = "qcom,bg-cdc-glink"; 2364 qcom,msm-glink-channels = <4>; 2365 }; 2366 }; 2367 2368* MDM9607 ASoC Machine driver 2369 2370Required properties: 2371- compatible : "qcom,mdm9607-audio-tomtom" 2372- qcom,model : The user-visible name of this sound card. 2373- qcom,audio-routing : A list of the connections between audio components. 2374Each entry is a pair of strings, the first being the connection's sink, 2375the second being the connection's source. 2376- qcom,tomtom-mclk-clk-freq : Master clock value given to codec. Some WCD9XXX 2377codec can run at different mclk values. Mclk value can be 9.6MHz or 12.288MHz. 2378- pinctrl-names : pinctrl state names for each pin group configuration. 2379- pinctrl-x : defines pinctrl state for each pin group 2380- asoc-platform: This is phandle list containing the references to platform device 2381 nodes that are used as part of the sound card dai-links. 2382- asoc-platform-names: This property contains list of platform names. The order of 2383 the platform names should match to that of the phandle order 2384 given in "asoc-platform". 2385- asoc-cpu: This is phandle list containing the references to cpu dai device nodes 2386 that are used as part of the sound card dai-links. 2387- asoc-cpu-names: This property contains list of cpu dai names. The order of the 2388 cpu dai names should match to that of the phandle order given 2389 in "asoc-cpu". The cpu names are in the form of "%s.%d" form, 2390 where the id (%d) field represents the back-end AFE port id that 2391 this CPU dai is associated with. 2392- asoc-codec: This is phandle list containing the references to codec dai device 2393 nodes that are used as part of the sound card dai-links. 2394- asoc-codec-names: This property contains list of codec dai names. The order of the 2395 codec dai names should match to that of the phandle order given 2396 in "asoc-codec". 2397 2398Example: 2399 2400sound { 2401 compatible = "qcom,mdm9607-audio-tomtom"; 2402 qcom,model = "mdm9607-tomtom-i2s-snd-card"; 2403 2404 qcom,audio-routing = 2405 "RX_BIAS", "MCLK", 2406 "LDO_H", "MCLK", 2407 "AMIC1", "MIC BIAS1 External", 2408 "MIC BIAS1 External", "Handset Mic", 2409 "AMIC2", "MIC BIAS2 External", 2410 "MIC BIAS2 External", "Headset Mic", 2411 "AMIC3", "MIC BIAS2 External", 2412 "MIC BIAS2 External", "ANCRight Headset Mic", 2413 "AMIC4", "MIC BIAS2 External", 2414 "MIC BIAS2 External", "ANCLeft Headset Mic", 2415 "DMIC1", "MIC BIAS1 External", 2416 "MIC BIAS1 External", "Digital Mic1", 2417 "DMIC3", "MIC BIAS3 External", 2418 "MIC BIAS3 External", "Digital Mic3"; 2419 2420 qcom,tomtom-mclk-clk-freq = <12288000>; 2421 asoc-platform = <&pcm0>, <&pcm1>, <&voip>, <&voice>, 2422 <&loopback>, <&hostless>, <&afe>, <&routing>, 2423 <&pcm_dtmf>, <&host_pcm>; 2424 asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1", 2425 "msm-voip-dsp", "msm-pcm-voice", "msm-pcm-loopback", 2426 "msm-pcm-hostless", "msm-pcm-afe", 2427 "msm-pcm-routing", "msm-pcm-dtmf", "msm-voice-host-pcm"; 2428 asoc-cpu = <&dai_pri_auxpcm>, <&mi2s_prim>, <&dtmf_tx>, 2429 <&rx_capture_tx>, <&rx_playback_rx>, 2430 <&tx_capture_tx>, <&tx_playback_rx>, 2431 <&afe_pcm_rx>, <&afe_pcm_tx>, <&afe_proxy_rx>, 2432 <&afe_proxy_tx>, <&incall_record_rx>, 2433 <&incall_record_tx>, <&incall_music_rx>; 2434 asoc-cpu-names = "msm-dai-q6-auxpcm.1", "msm-dai-q6-mi2s.0", 2435 "msm-dai-stub-dev.4", "msm-dai-stub-dev.5", 2436 "msm-dai-stub-dev.6", "msm-dai-stub-dev.7", 2437 "msm-dai-stub-dev.8", "msm-dai-q6-dev.224", 2438 "msm-dai-q6-dev.225", "msm-dai-q6-dev.241", 2439 "msm-dai-q6-dev.240", "msm-dai-q6-dev.32771", 2440 "msm-dai-q6-dev.32772", "msm-dai-q6-dev.32773"; 2441 asoc-codec = <&stub_codec>; 2442 asoc-codec-names = "msm-stub-codec.1"; 2443 }; 2444 2445 * MDMCALIFORNIUM ASoC Machine driver 2446 2447 - compatible : "qcom,mdm-audio-tasha" for tasha codec and 2448 node is "sound" 2449 - qcom,model : The user-visible name of this sound card. 2450- qcom,tasha-mclk-clk-freq : MCLK frequency value for tasha codec 2451 and node is "sound-9335" 2452- qcom,audio-routing : A list of the connections between audio components. 2453- asoc-platform: This is phandle list containing the references to platform device 2454 nodes that are used as part of the sound card dai-links. 2455- asoc-platform-names: This property contains list of platform names. The order of 2456 the platform names should match to that of the phandle order 2457 given in "asoc-platform". 2458- asoc-cpu: This is phandle list containing the references to cpu dai device nodes 2459 that are used as part of the sound card dai-links. 2460- asoc-cpu-names: This property contains list of cpu dai names. The order of the 2461 cpu dai names should match to that of the phandle order given 2462 in "asoc-cpu". The cpu names are in the form of "%s.%d" form, 2463 where the id (%d) field represents the back-end AFE port id that 2464 this CPU dai is associated with. 2465- asoc-codec: This is phandle list containing the references to codec dai device 2466 nodes that are used as part of the sound card dai-links. 2467- asoc-codec-names: This property contains list of codec dai names. The order of the 2468 codec dai names should match to that of the phandle order given 2469 in "asoc-codec". 2470Optional properties: 2471- clock-names : clock name defined for external clock. 2472- clocks : external clock defined for codec clock. 2473- qcom,hph-en1-gpio : GPIO to enable HiFi amplifiers. 2474- qcom,hph-en0-gpio : GPIO to enable HiFi audio route to headset. 2475 2476Example: 2477 2478 sound { 2479 compatible = "qcom,mdm-audio-tasha"; 2480 qcom,model = "mdm-tasha-i2s-snd-card"; 2481 2482 qcom,audio-routing = 2483 "RX_BIAS", "MCLK", 2484 "LDO_H", "MCLK", 2485 "AIF4 MAD", "MCLK", 2486 "ultrasound amp", "LINEOUT1", 2487 "ultrasound amp", "LINEOUT3", 2488 "AMIC1", "MIC BIAS1 Internal1", 2489 "MIC BIAS1 Internal1", "Handset Mic", 2490 "AMIC2", "MIC BIAS2 External", 2491 "MIC BIAS2 External", "Headset Mic", 2492 "AMIC3", "MIC BIAS2 External", 2493 "MIC BIAS2 External", "ANCRight Headset Mic", 2494 "AMIC4", "MIC BIAS2 External", 2495 "MIC BIAS2 External", "ANCLeft Headset Mic", 2496 "DMIC1", "MIC BIAS1 External", 2497 "MIC BIAS1 External", "Digital Mic1", 2498 "DMIC2", "MIC BIAS1 External", 2499 "MIC BIAS1 External", "Digital Mic2", 2500 "DMIC3", "MIC BIAS3 External", 2501 "MIC BIAS3 External", "Digital Mic3", 2502 "DMIC4", "MIC BIAS3 External", 2503 "MIC BIAS3 External", "Digital Mic4", 2504 "DMIC5", "MIC BIAS4 External", 2505 "MIC BIAS4 External", "Digital Mic5", 2506 "DMIC6", "MIC BIAS4 External", 2507 "MIC BIAS4 External", "Digital Mic6"; 2508 2509 qcom,tasha-mclk-clk-freq = <12288000>; 2510 asoc-platform = <&pcm0>, <&pcm1>, <&voip>, <&voice>, 2511 <&loopback>, <&hostless>, <&afe>, <&routing>, 2512 <&pcm_dtmf>, <&host_pcm>; 2513 asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1", 2514 "msm-voip-dsp", "msm-pcm-voice", "msm-pcm-loopback", 2515 "msm-pcm-hostless", "msm-pcm-afe", 2516 "msm-pcm-routing", "msm-pcm-dtmf", "msm-voice-host-pcm"; 2517 asoc-cpu = <&dai_pri_auxpcm>, <&mi2s_prim>, <&dtmf_tx>, 2518 <&rx_capture_tx>, <&rx_playback_rx>, 2519 <&tx_capture_tx>, <&tx_playback_rx>, 2520 <&afe_pcm_rx>, <&afe_pcm_tx>, <&afe_proxy_rx>, 2521 <&afe_proxy_tx>, <&incall_record_rx>, 2522 <&incall_record_tx>, <&incall_music_rx>; 2523 asoc-cpu-names = "msm-dai-q6-auxpcm.1", "msm-dai-q6-mi2s.0", 2524 "msm-dai-stub-dev.4", "msm-dai-stub-dev.5", 2525 "msm-dai-stub-dev.6", "msm-dai-stub-dev.7", 2526 "msm-dai-stub-dev.8", "msm-dai-q6-dev.224", 2527 "msm-dai-q6-dev.225", "msm-dai-q6-dev.241", 2528 "msm-dai-q6-dev.240", "msm-dai-q6-dev.32771", 2529 "msm-dai-q6-dev.32772", "msm-dai-q6-dev.32773"; 2530 asoc-codec = <&stub_codec>; 2531 asoc-codec-names = "msm-stub-codec.1"; 2532 qcom,aux-codec = <&stub_codec>; 2533 }; 2534 2535* SDX ASoC Machine driver 2536 2537Required properties: 2538- compatible : "qcom,sdx-asoc-snd-tavil" 2539- qcom,model : The user-visible name of this sound card. 2540- qcom,prim_mi2s_aux_master : Handle to prim_master pinctrl configurations 2541- qcom,prim_mi2s_aux_slave : Handle to prim_slave pinctrl configurations 2542- qcom,sec_mi2s_aux_master : Handle to sec_master pinctrl configurations 2543- qcom,sec_mi2s_aux_slave : Handle to sec_slave pinctrl configurations 2544- asoc-platform: This is phandle list containing the references to platform device 2545 nodes that are used as part of the sound card dai-links. 2546- asoc-platform-names: This property contains list of platform names. The order of 2547 the platform names should match to that of the phandle order 2548 given in "asoc-platform". 2549- asoc-cpu: This is phandle list containing the references to cpu dai device nodes 2550 that are used as part of the sound card dai-links. 2551- asoc-cpu-names: This property contains list of cpu dai names. The order of the 2552 cpu dai names should match to that of the phandle order give 2553 in "asoc-cpu". The cpu names are in the form of "%s.%d" form, 2554 where the id (%d) field represents the back-end AFE port id that 2555 this CPU dai is associated with. 2556 2557Example: 2558 2559 sound-tavil { 2560 compatible = "qcom,sdx-asoc-snd-tavil"; 2561 qcom,model = "sdx-tavil-i2s-snd-card"; 2562 qcom,prim_mi2s_aux_master = <&prim_master>; 2563 qcom,prim_mi2s_aux_slave = <&prim_slave>; 2564 qcom,sec_mi2s_aux_master = <&sec_master>; 2565 qcom,sec_mi2s_aux_slave = <&sec_slave>; 2566 2567 asoc-platform = <&pcm0>, <&pcm1>, <&voip>, <&voice>, 2568 <&loopback>, <&hostless>, <&afe>, <&routing>, 2569 <&pcm_dtmf>, <&host_pcm>, <&compress>; 2570 asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1", 2571 "msm-voip-dsp", "msm-pcm-voice", 2572 "msm-pcm-loopback", "msm-pcm-hostless", 2573 "msm-pcm-afe", "msm-pcm-routing", 2574 "msm-pcm-dtmf", "msm-voice-host-pcm", 2575 "msm-compress-dsp"; 2576 asoc-cpu = <&dai_pri_auxpcm>, <&mi2s_prim>, <&mi2s_sec>, 2577 <&dtmf_tx>, 2578 <&rx_capture_tx>, <&rx_playback_rx>, 2579 <&tx_capture_tx>, <&tx_playback_rx>, 2580 <&afe_pcm_rx>, <&afe_pcm_tx>, <&afe_proxy_rx>, 2581 <&afe_proxy_tx>, <&incall_record_rx>, 2582 <&incall_record_tx>, <&incall_music_rx>, 2583 <&dai_sec_auxpcm>; 2584 asoc-cpu-names = "msm-dai-q6-auxpcm.1", 2585 "msm-dai-q6-mi2s.0", "msm-dai-q6-mi2s.1", 2586 "msm-dai-stub-dev.4", "msm-dai-stub-dev.5", 2587 "msm-dai-stub-dev.6", "msm-dai-stub-dev.7", 2588 "msm-dai-stub-dev.8", "msm-dai-q6-dev.224", 2589 "msm-dai-q6-dev.225", "msm-dai-q6-dev.241", 2590 "msm-dai-q6-dev.240", "msm-dai-q6-dev.32771", 2591 "msm-dai-q6-dev.32772", "msm-dai-q6-dev.32773", 2592 "msm-dai-q6-auxpcm.2"; 2593 }; 2594 2595 * SDX ASoC Auto Machine driver 2596 2597 Required properties: 2598 - compatible : "qcom,sdx-asoc-snd-auto" 2599 - qcom,model : The user-visible name of this sound card. 2600 - qcom,prim_mi2s_aux_master : Handle to prim_master pinctrl configurations 2601 - qcom,prim_mi2s_aux_slave : Handle to prim_slave pinctrl configurations 2602 - qcom,sec_mi2s_aux_master : Handle to sec_master pinctrl configurations 2603 - qcom,sec_mi2s_aux_slave : Handle to sec_slave pinctrl configurations 2604 - asoc-platform: This is phandle list containing the references to platform device 2605 nodes that are used as part of the sound card dai-links. 2606 - asoc-platform-names: This property contains list of platform names. The order of 2607 the platform names should match to that of the phandle order 2608 given in "asoc-platform". 2609 - asoc-cpu: This is phandle list containing the references to cpu dai device nodes 2610 that are used as part of the sound card dai-links. 2611 - asoc-cpu-names: This property contains list of cpu dai names. The order of the 2612 cpu dai names should match to that of the phandle order give 2613 in "asoc-cpu". The cpu names are in the form of "%s.%d" form, 2614 where the id (%d) field represents the back-end AFE port id that 2615 this CPU dai is associated with. 2616- asoc-codec: This is phandle list containing the references to codec dai device 2617 nodes that are used as part of the sound card dai-links. 2618- asoc-codec-names: This property contains list of codec dai names. The order of the 2619 codec dai names should match to that of the phandle order given 2620 in "asoc-codec". 2621 2622Example: 2623 2624 sound-auto { 2625 compatible = "qcom,sdx-asoc-snd-auto"; 2626 qcom,model = "sdx-auto-i2s-snd-card"; 2627 qcom,prim_mi2s_aux_master = <&prim_master>; 2628 qcom,prim_mi2s_aux_slave = <&prim_slave>; 2629 qcom,sec_mi2s_aux_master = <&sec_master>; 2630 qcom,sec_mi2s_aux_slave = <&sec_slave>; 2631 2632 asoc-platform = <&pcm0>, <&pcm1>, <&voip>, <&voice>, 2633 <&loopback>, <&hostless>, <&afe>, <&routing>, 2634 <&pcm_dtmf>, <&host_pcm>, <&compress>; 2635 asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1", 2636 "msm-voip-dsp", "msm-pcm-voice", 2637 "msm-pcm-loopback", "msm-pcm-hostless", 2638 "msm-pcm-afe", "msm-pcm-routing", 2639 "msm-pcm-dtmf", "msm-voice-host-pcm", 2640 "msm-compress-dsp"; 2641 asoc-cpu = <&dai_pri_auxpcm>, <&mi2s_prim>, <&mi2s_sec>, 2642 <&dtmf_tx>, 2643 <&rx_capture_tx>, <&rx_playback_rx>, 2644 <&tx_capture_tx>, <&tx_playback_rx>, 2645 <&afe_pcm_rx>, <&afe_pcm_tx>, <&afe_proxy_rx>, 2646 <&afe_proxy_tx>, <&incall_record_rx>, 2647 <&incall_record_tx>, <&incall_music_rx>, 2648 <&dai_pri_tdm_rx_0>, <&dai_pri_tdm_tx_0>, 2649 <&dai_sec_tdm_rx_0>, <&dai_sec_tdm_tx_0>, 2650 <&dai_sec_auxpcm>, <&incall_music_dl_rx>; 2651 asoc-cpu-names = "msm-dai-q6-auxpcm.1", 2652 "msm-dai-q6-mi2s.0", "msm-dai-q6-mi2s.1", 2653 "msm-dai-stub-dev.4", "msm-dai-stub-dev.5", 2654 "msm-dai-stub-dev.6", "msm-dai-stub-dev.7", 2655 "msm-dai-stub-dev.8", "msm-dai-q6-dev.224", 2656 "msm-dai-q6-dev.225", "msm-dai-q6-dev.241", 2657 "msm-dai-q6-dev.240", "msm-dai-q6-dev.32771", 2658 "msm-dai-q6-dev.32772", "msm-dai-q6-dev.32773", 2659 "msm-dai-q6-tdm.36864", "msm-dai-q6-tdm.36865", 2660 "msm-dai-q6-tdm.36880", "msm-dai-q6-tdm.36881", 2661 "msm-dai-q6-auxpcm.2", "msm-dai-q6-dev.32774"; 2662 asoc-codec = <&tlv320aic3x_codec>, <&stub_codec>; 2663 asoc-codec-names = "tlv320aic3x-codec", "msm-stub-codec.1"; 2664 }; 2665 2666* APQ8096 Automotive ASoC Machine driver 2667 2668Required properties: 2669- compatible : "qcom,apq8096-asoc-snd-auto" for auto codec and 2670 node is "sound-auto", 2671 "qcom,apq8096-asoc-snd-adp-agave" for adp agave codec and 2672 node is "sound-adp-agave", 2673 "qcom,apq8096-asoc-snd-adp-mmxf" for adp mmxf codec and 2674 node is "sound-adp-mmxf". 2675- qcom,model : The user-visible name of this sound card. 2676- asoc-platform: This is phandle list containing the references to platform device 2677 nodes that are used as part of the sound card dai-links. 2678- asoc-platform-names: This property contains list of platform names. The order of 2679 the platform names should match to that of the phandle order 2680 given in "asoc-platform". 2681- asoc-cpu: This is phandle list containing the references to cpu dai device nodes 2682 that are used as part of the sound card dai-links. 2683- asoc-cpu-names: This property contains list of cpu dai names. The order of the 2684 cpu dai names should match to that of the phandle order given 2685 in "asoc-cpu". The cpu names are in the form of "%s.%d" form, 2686 where the id (%d) field represents the back-end AFE port id that 2687 this CPU dai is associated with. 2688- asoc-codec: This is phandle list containing the references to codec dai device 2689 nodes that are used as part of the sound card dai-links. 2690- asoc-codec-names: This property contains list of codec dai names. The order of the 2691 codec dai names should match to that of the phandle order given 2692 in "asoc-codec". 2693 2694Example: 2695 2696 sound-auto { 2697 compatible = "qcom,apq8096-asoc-snd-auto"; 2698 qcom,model = "apq8096-auto-snd-card"; 2699 2700 asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>, 2701 <&loopback>, <&compress>, <&hostless>, 2702 <&afe>, <&lsm>, <&routing>, <&compr>, 2703 <&loopback1>; 2704 asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1", 2705 "msm-pcm-dsp.2", "msm-voip-dsp", 2706 "msm-pcm-voice", "msm-pcm-loopback", 2707 "msm-compress-dsp", "msm-pcm-hostless", 2708 "msm-pcm-afe", "msm-lsm-client", 2709 "msm-pcm-routing", "msm-compr-dsp", 2710 "msm-pcm-loopback.1"; 2711 asoc-cpu = <&dai_pri_auxpcm>, <&dai_sec_auxpcm>, <&dai_hdmi>, 2712 <&dai_mi2s>, <&dai_mi2s_quat>, 2713 <&afe_pcm_rx>, <&afe_pcm_tx>, 2714 <&afe_proxy_rx>, <&afe_proxy_tx>, 2715 <&incall_record_rx>, <&incall_record_tx>, 2716 <&incall_music_rx>, <&incall_music2_rx>, 2717 <&dai_tert_tdm_rx_0>, <&dai_tert_tdm_rx_1>, 2718 <&dai_tert_tdm_rx_2>, <&dai_tert_tdm_rx_3>, 2719 <&dai_tert_tdm_tx_0>, <&dai_tert_tdm_tx_1>, 2720 <&dai_tert_tdm_tx_2>, <&dai_tert_tdm_tx_3>, 2721 <&dai_quat_tdm_rx_0>, <&dai_quat_tdm_rx_1>, 2722 <&dai_quat_tdm_rx_2>, <&dai_quat_tdm_rx_3>, 2723 <&dai_quat_tdm_tx_0>, <&dai_quat_tdm_tx_1>, 2724 <&dai_quat_tdm_tx_2>, <&dai_quat_tdm_tx_3>; 2725 asoc-cpu-names = "msm-dai-q6-auxpcm.1", "msm-dai-q6-auxpcm.2", 2726 "msm-dai-q6-hdmi.8", 2727 "msm-dai-q6-mi2s.2", "msm-dai-q6-mi2s.3", 2728 "msm-dai-q6-dev.224", "msm-dai-q6-dev.225", 2729 "msm-dai-q6-dev.241", "msm-dai-q6-dev.240", 2730 "msm-dai-q6-dev.32771", "msm-dai-q6-dev.32772", 2731 "msm-dai-q6-dev.32773", "msm-dai-q6-dev.32770", 2732 "msm-dai-q6-tdm.36896", "msm-dai-q6-tdm.36898", 2733 "msm-dai-q6-tdm.36900", "msm-dai-q6-tdm.36902", 2734 "msm-dai-q6-tdm.36897", "msm-dai-q6-tdm.36899", 2735 "msm-dai-q6-tdm.36901", "msm-dai-q6-tdm.36903", 2736 "msm-dai-q6-tdm.36912", "msm-dai-q6-tdm.36914", 2737 "msm-dai-q6-tdm.36916", "msm-dai-q6-tdm.36918", 2738 "msm-dai-q6-tdm.36913", "msm-dai-q6-tdm.36915", 2739 "msm-dai-q6-tdm.36917", "msm-dai-q6-tdm.36919"; 2740 asoc-codec = <&stub_codec>; 2741 asoc-codec-names = "msm-stub-codec.1"; 2742 }; 2743 2744* SDM660 ASoC Slimbus Machine driver 2745 2746Required properties: 2747- compatible : "qcom,sdm660-asoc-snd-tasha" for tasha codec, 2748 "qcom,sdm660-asoc-snd-tavil" for tavil codec. 2749- qcom,model : The user-visible name of this sound card. 2750- qcom,msm-mclk-freq : MCLK frequency value for external codec 2751- qcom,msm-gpios : Lists down all the gpio sets that are supported. 2752- qcom,pinctrl-names : Lists all the possible combinations of the gpio sets 2753mentioned in qcom,msm-gpios. Say we have 2^N combinations for N GPIOs, 2754this would list all the 2^N combinations. 2755- pinctrl-names : The combinations of gpio sets from above that are supported in 2756the flavor. This can be sometimes same as qcom, pinctrl-names i.e with 2^N 2757 combinations or will have less incase if some combination is not supported. 2758 - pinctrl-# : Pinctrl states as mentioned in pinctrl-names. 2759 - qcom,audio-routing : A list of the connections between audio components. 2760 - asoc-platform: This is phandle list containing the references to platform device 2761 nodes that are used as part of the sound card dai-links. 2762 - asoc-platform-names: This property contains list of platform names. The order of 2763 the platform names should match to that of the phandle order 2764 given in "asoc-platform". 2765 - asoc-cpu: This is phandle list containing the references to cpu dai device nodes 2766 that are used as part of the sound card dai-links. 2767 - asoc-cpu-names: This property contains list of cpu dai names. The order of the 2768 cpu dai names should match to that of the phandle order given 2769 in "asoc-cpu". The cpu names are in the form of "%s.%d" form, 2770 where the id (%d) field represents the back-end AFE port id that 2771 this CPU dai is associated with. 2772 - asoc-codec: This is phandle list containing the references to codec dai device 2773 nodes that are used as part of the sound card dai-links. 2774 - asoc-codec-names: This property contains list of codec dai names. The order of the 2775 codec dai names should match to that of the phandle order given 2776 in "asoc-codec". 2777 Optional properties: 2778 - qcom,cdc-us-euro-gpios : GPIO on which gnd/mic swap signal is coming. 2779 - clock-names : clock name defined for external clock. 2780 - clocks : external clock defined for codec clock. 2781 - qcom,wsa-max-devs : Maximum number of WSA881x devices present in the target 2782 - qcom,wsa-devs : List of phandles for all possible WSA881x devices supported for the target 2783 - qcom,wsa-aux-dev-prefix : Name prefix with Left/Right configuration for WSA881x device 2784 2785 Example: 2786 2787 sound-9335 { 2788 compatible = "qcom,sdm660-asoc-snd-tasha"; 2789 qcom,model = "sdm660-tasha-snd-card"; 2790 2791 qcom,audio-routing = 2792 "RX_BIAS", "MCLK", 2793 "LDO_H", "MCLK", 2794 "AIF4 MAD", "MCLK", 2795 "ultrasound amp", "LINEOUT1", 2796 "ultrasound amp", "LINEOUT3", 2797 "AMIC1", "MIC BIAS1 Internal1", 2798 "MIC BIAS1 Internal1", "Handset Mic", 2799 "AMIC2", "MIC BIAS2 External", 2800 "MIC BIAS2 External", "Headset Mic", 2801 "AMIC3", "MIC BIAS2 External", 2802 "MIC BIAS2 External", "ANCRight Headset Mic", 2803 "AMIC4", "MIC BIAS2 External", 2804 "MIC BIAS2 External", "ANCLeft Headset Mic", 2805 "DMIC1", "MIC BIAS1 External", 2806 "MIC BIAS1 External", "Digital Mic1", 2807 "DMIC2", "MIC BIAS1 External", 2808 "MIC BIAS1 External", "Digital Mic2", 2809 "DMIC3", "MIC BIAS3 External", 2810 "MIC BIAS3 External", "Digital Mic3", 2811 "DMIC4", "MIC BIAS3 External", 2812 "MIC BIAS3 External", "Digital Mic4", 2813 "DMIC5", "MIC BIAS4 External", 2814 "MIC BIAS4 External", "Digital Mic5", 2815 "DMIC6", "MIC BIAS4 External", 2816 "MIC BIAS4 External", "Digital Mic6"; 2817 2818 qcom,msm-mbhc-hphl-swh = <0>; 2819 qcom,msm-mbhc-gnd-swh = <0>; 2820 qcom,msm-mclk-freq = <9600000>; 2821 qcom,msm-gpios = 2822 "slim", 2823 "us_eu_gpio"; 2824 qcom,pinctrl-names = 2825 "all_off", 2826 "slim_act", 2827 "us_eu_gpio_act", 2828 "slim_us_eu_gpio_act"; 2829 pinctrl-names = 2830 "all_off", 2831 "slim_act", 2832 "us_eu_gpio_act", 2833 "slim_us_eu_gpio_act"; 2834 pinctrl-0 = <&cdc_slim_lines_sus &cross_conn_det_sus>; 2835 pinctrl-1 = <&cdc_slim_lines_act &cross_conn_det_sus>; 2836 pinctrl-2 = <&cdc_slim_lines_sus &cross_conn_det_act>; 2837 pinctrl-3 = <&cdc_slim_lines_act &cross_conn_det_act>; 2838 qcom,cdc-us-euro-gpios = <&msm_gpio 63 0>; 2839 asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>, 2840 <&loopback>, <&compress>, <&hostless>, 2841 <&afe>, <&lsm>, <&routing>, <&cpe>, <&compr>; 2842 asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1", 2843 "msm-pcm-dsp.2", "msm-voip-dsp", 2844 "msm-pcm-voice", "msm-pcm-loopback", 2845 "msm-compress-dsp", "msm-pcm-hostless", 2846 "msm-pcm-afe", "msm-lsm-client", 2847 "msm-pcm-routing", "msm-cpe-lsm", 2848 "msm-compr-dsp"; 2849 asoc-cpu = <&dai_hdmi>, 2850 <&sb_0_rx>, <&sb_0_tx>, <&sb_1_rx>, <&sb_1_tx>, 2851 <&sb_2_rx>, <&sb_2_tx>, <&sb_3_rx>, <&sb_3_tx>, 2852 <&sb_4_rx>, <&sb_4_tx>, <&sb_5_tx>, 2853 <&afe_pcm_rx>, <&afe_pcm_tx>, <&afe_proxy_rx>, 2854 <&afe_proxy_tx>, <&incall_record_rx>, 2855 <&incall_record_tx>, <&incall_music_rx>, 2856 <&incall_music_2_rx>, <&sb_5_rx>; 2857 asoc-cpu-names = "msm-dai-q6-hdmi.8", 2858 "msm-dai-q6-dev.16384", "msm-dai-q6-dev.16385", 2859 "msm-dai-q6-dev.16386", "msm-dai-q6-dev.16387", 2860 "msm-dai-q6-dev.16388", "msm-dai-q6-dev.16389", 2861 "msm-dai-q6-dev.16390", "msm-dai-q6-dev.16391", 2862 "msm-dai-q6-dev.16392", "msm-dai-q6-dev.16393", 2863 "msm-dai-q6-dev.16395", "msm-dai-q6-dev.224", 2864 "msm-dai-q6-dev.225", "msm-dai-q6-dev.241", 2865 "msm-dai-q6-dev.240", "msm-dai-q6-dev.32771", 2866 "msm-dai-q6-dev.32772", "msm-dai-q6-dev.32773", 2867 "msm-dai-q6-dev.32770", "msm-dai-q6-dev.16394"; 2868 asoc-codec = <&stub_codec>; 2869 asoc-codec-names = "msm-stub-codec.1"; 2870 qcom,wsa-max-devs = <2>; 2871 qcom,wsa-devs = <&wsa881x_211>, <&wsa881x_212>, 2872 <&wsa881x_213>, <&wsa881x_214>; 2873 qcom,wsa-aux-dev-prefix = "SpkrRight", "SpkrLeft", 2874 "SpkrRight", "SpkrLeft"; 2875 }; 2876 2877* MSM8998 ASoC Machine driver 2878 2879Required properties: 2880- compatible : "qcom,msm8998-asoc-snd-tasha" for tasha codec, 2881 "qcom,msm8998-asoc-snd-tavil" for tavil codec. 2882- qcom,model : The user-visible name of this sound card. 2883- qcom,tasha-mclk-clk-freq : MCLK frequency value for tasha codec 2884- qcom,tavil-mclk-clk-freq : MCLK frequency value for tavil codec 2885- qcom,audio-routing : A list of the connections between audio components. 2886- asoc-platform: This is phandle list containing the references to platform device 2887 nodes that are used as part of the sound card dai-links. 2888- asoc-platform-names: This property contains list of platform names. The order of 2889 the platform names should match to that of the phandle order 2890 given in "asoc-platform". 2891- asoc-cpu: This is phandle list containing the references to cpu dai device nodes 2892 that are used as part of the sound card dai-links. 2893- asoc-cpu-names: This property contains list of cpu dai names. The order of the 2894 cpu dai names should match to that of the phandle order given 2895 in "asoc-cpu". The cpu names are in the form of "%s.%d" form, 2896 where the id (%d) field represents the back-end AFE port id that 2897 this CPU dai is associated with. 2898- asoc-codec: This is phandle list containing the references to codec dai device 2899 nodes that are used as part of the sound card dai-links. 2900- asoc-codec-names: This property contains list of codec dai names. The order of the 2901 codec dai names should match to that of the phandle order given 2902 in "asoc-codec". 2903Optional properties: 2904- qcom,mbhc-audio-jack-type : String to indicate the jack type on the hardware. 2905 Possible Values: 2906 4-pole-jack : Jack on the hardware is 4-pole. 2907 5-pole-jack : Jack on the hardware is 5-pole. 2908 6-pole-jack : Jack on the hardware is 6-pole. 2909- clock-names : clock name defined for external clock. 2910- clocks : external clock defined for codec clock. 2911- qcom,hph-en1-gpio : GPIO to enable HiFi amplifiers. 2912- qcom,hph-en0-gpio : GPIO to enable HiFi audio route to headset. 2913- qcom,wsa-max-devs : Maximum number of WSA881x devices present in the target 2914- qcom,wsa-devs : List of phandles for all possible WSA881x devices supported for the target 2915- qcom,wsa-aux-dev-prefix : Name prefix with Left/Right configuration for WSA881x device 2916- qcom,wcn-btfm : Property to specify if WCN BT/FM chip is used for the target 2917- qcom,msm-mbhc-usbc-audio-supported : Property to specify if analog audio feature is 2918 enabled or not. 2919- qcom,usbc-analog-en1-gpio : EN1 GPIO to enable USB type-C analog audio 2920- qcom,usbc-analog-en2-gpio : EN2 GPIO to enable USB type-C analog audio 2921- qcom,usbc-analog-force_detect_gpio : Force detect GPIO to enable USB type-C analog audio 2922 2923Example: 2924 2925 sound-9335 { 2926 compatible = "qcom,msm8998-asoc-snd"; 2927 qcom,model = "msm8998-tasha-snd-card"; 2928 2929 qcom,audio-routing = 2930 "RX_BIAS", "MCLK", 2931 "LDO_H", "MCLK", 2932 "AIF4 MAD", "MCLK", 2933 "ultrasound amp", "LINEOUT1", 2934 "ultrasound amp", "LINEOUT3", 2935 "AMIC1", "MIC BIAS1 Internal1", 2936 "MIC BIAS1 Internal1", "Handset Mic", 2937 "AMIC2", "MIC BIAS2 External", 2938 "MIC BIAS2 External", "Headset Mic", 2939 "AMIC3", "MIC BIAS2 External", 2940 "MIC BIAS2 External", "ANCRight Headset Mic", 2941 "AMIC4", "MIC BIAS2 External", 2942 "MIC BIAS2 External", "ANCLeft Headset Mic", 2943 "DMIC1", "MIC BIAS1 External", 2944 "MIC BIAS1 External", "Digital Mic1", 2945 "DMIC2", "MIC BIAS1 External", 2946 "MIC BIAS1 External", "Digital Mic2", 2947 "DMIC3", "MIC BIAS3 External", 2948 "MIC BIAS3 External", "Digital Mic3", 2949 "DMIC4", "MIC BIAS3 External", 2950 "MIC BIAS3 External", "Digital Mic4", 2951 "DMIC5", "MIC BIAS4 External", 2952 "MIC BIAS4 External", "Digital Mic5", 2953 "DMIC6", "MIC BIAS4 External", 2954 "MIC BIAS4 External", "Digital Mic6"; 2955 2956 qcom,msm-mbhc-hphl-swh = <0>; 2957 qcom,msm-mbhc-gnd-swh = <0>; 2958 qcom,tasha-mclk-clk-freq = <9600000>; 2959 asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>, 2960 <&loopback>, <&compress>, <&hostless>, 2961 <&afe>, <&lsm>, <&routing>, <&cpe>, <&compr>, 2962 <&trans_loopback>; 2963 asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1", 2964 "msm-pcm-dsp.2", "msm-voip-dsp", 2965 "msm-pcm-voice", "msm-pcm-loopback", 2966 "msm-compress-dsp", "msm-pcm-hostless", 2967 "msm-pcm-afe", "msm-lsm-client", 2968 "msm-pcm-routing", "msm-cpe-lsm", 2969 "msm-compr-dsp","msm-transcode-loopback"; 2970 asoc-cpu = <&dai_hdmi>, 2971 <&sb_0_rx>, <&sb_0_tx>, <&sb_1_rx>, <&sb_1_tx>, 2972 <&sb_2_rx>, <&sb_2_tx>, <&sb_3_rx>, <&sb_3_tx>, 2973 <&sb_4_rx>, <&sb_4_tx>, <&sb_5_tx>, 2974 <&afe_pcm_rx>, <&afe_pcm_tx>, <&afe_proxy_rx>, 2975 <&afe_proxy_tx>, <&incall_record_rx>, 2976 <&incall_record_tx>, <&incall_music_rx>, 2977 <&incall_music_2_rx>, <&sb_5_rx>; 2978 asoc-cpu-names = "msm-dai-q6-hdmi.8", 2979 "msm-dai-q6-dev.16384", "msm-dai-q6-dev.16385", 2980 "msm-dai-q6-dev.16386", "msm-dai-q6-dev.16387", 2981 "msm-dai-q6-dev.16388", "msm-dai-q6-dev.16389", 2982 "msm-dai-q6-dev.16390", "msm-dai-q6-dev.16391", 2983 "msm-dai-q6-dev.16392", "msm-dai-q6-dev.16393", 2984 "msm-dai-q6-dev.16395", "msm-dai-q6-dev.224", 2985 "msm-dai-q6-dev.225", "msm-dai-q6-dev.241", 2986 "msm-dai-q6-dev.240", "msm-dai-q6-dev.32771", 2987 "msm-dai-q6-dev.32772", "msm-dai-q6-dev.32773", 2988 "msm-dai-q6-dev.32770", "msm-dai-q6-dev.16394"; 2989 asoc-codec = <&stub_codec>; 2990 asoc-codec-names = "msm-stub-codec.1"; 2991 qcom,wsa-max-devs = <2>; 2992 qcom,wsa-devs = <&wsa881x_211>, <&wsa881x_212>, 2993 <&wsa881x_213>, <&wsa881x_214>; 2994 qcom,wsa-aux-dev-prefix = "SpkrRight", "SpkrLeft", 2995 "SpkrRight", "SpkrLeft"; 2996 qcom,msm-mbhc-usbc-audio-supported = <1>; 2997 qcom,usbc-analog-en1-gpio = <&wcd_usbc_analog_en1_gpio>; 2998 qcom,usbc-analog-en2-gpio = <&tlmm 51 0>; 2999 qcom,usbc-analog-force_detect_gpio = <&wcd_usbc_analog_f_gpio>; 3000 }; 3001 3002* MSMSTUB ASoC Machine driver 3003 3004Required properties: 3005- compatible : "qcom,msm8998-asoc-snd-stub" for MSM8998 target. 3006 "qcom,sdm845-asoc-snd-stub" for SDM845 target. 3007- qcom,model : The user-visible name of this sound card. 3008- qcom,tasha-mclk-clk-freq : MCLK frequency value for tasha codec 3009- asoc-platform: This is phandle list containing the references to platform device 3010 nodes that are used as part of the sound card dai-links. 3011- asoc-platform-names: This property contains list of platform names. The order of 3012 the platform names should match to that of the phandle order 3013 given in "asoc-platform". 3014- asoc-cpu: This is phandle list containing the references to cpu dai device nodes 3015 that are used as part of the sound card dai-links. 3016- asoc-cpu-names: This property contains list of cpu dai names. The order of the 3017 cpu dai names should match to that of the phandle order given 3018 in "asoc-cpu". The cpu names are in the form of "%s.%d" form, 3019 where the id (%d) field represents the back-end AFE port id that 3020 this CPU dai is associated with. 3021- asoc-codec: This is phandle list containing the references to codec dai device 3022 nodes that are used as part of the sound card dai-links. 3023- asoc-codec-names: This property contains list of codec dai names. The order of the 3024 codec dai names should match to that of the phandle order given 3025 in "asoc-codec". 3026Optional properties: 3027- qcom,wsa-max-devs : Maximum number of WSA881x devices present in the target 3028 3029Example: 3030 3031 sound_msm:sound-9335 { 3032 compatible = "qcom,msm8998-asoc-snd-stub"; 3033 qcom,model = "msm8998-stub-snd-card"; 3034 3035 qcom,tasha-mclk-clk-freq = <9600000>; 3036 asoc-platform = <&pcm0>; 3037 asoc-platform-names = "msm-pcm-dsp.0"; 3038 asoc-cpu = <&sb_0_rx>, <&sb_0_tx>; 3039 asoc-cpu-names = "msm-dai-q6-dev.16384", "msm-dai-q6-dev.16385"; 3040 asoc-codec = <&stub_codec>; 3041 asoc-codec-names = "msm-stub-codec.1"; 3042 qcom,wsa-max-devs = <0>; 3043 }; 3044 3045* WCD DSP manager driver 3046 3047Required properties: 3048- compatible : "qcom,wcd-dsp-mgr" 3049- qcom,wdsp-components : This is phandle list containing the references to the 3050 components of the manager driver. Manager driver will 3051 register to component framework with these phandles. 3052- qcom,img-filename : String property to provide the dsp image file name that is 3053 to be read from file system and downloaded to dsp memory 3054Optional properties: 3055- qcom,wdsp-cmpnt-dev-name : Property that manager driver will parse, but defined 3056 in the child's DT entry that is given to manager driver 3057 with phandle. This property will be used by the manager 3058 driver in case the manager driver cannot match child's 3059 of_node pointer to registered phandle. 3060 3061Example: 3062 3063 qcom,wcd-dsp-mgr { 3064 compatible = "qcom,wcd-dsp-mgr"; 3065 qcom,wdsp-components = <&wcd934x_cdc 0>, 3066 <&wcd_spi_0 1>, 3067 <&glink_spi 2>; 3068 qcom,img-filename = "cpe_9340"; 3069 }; 3070 3071Example of child node that would have qcom,wdsp-cmpnt-dev-name property 3072 3073 wcd934x_cdc: tavil_codec { 3074 qcom,wdsp-cmpnt-dev-name = "tavil_codec"; 3075 }; 3076 3077* SDM845 ASoC Machine driver 3078 3079Required properties: 3080- compatible : "qcom,sdm845-asoc-snd-tavil" 3081- qcom,model : The user-visible name of this sound card. 3082- qcom,tavil-mclk-clk-freq : MCLK frequency value for tavil codec 3083- qcom,audio-routing : A list of the connections between audio components. 3084- asoc-platform: This is phandle list containing the references to platform device 3085 nodes that are used as part of the sound card dai-links. 3086- asoc-platform-names: This property contains list of platform names. The order of 3087 the platform names should match to that of the phandle order 3088 given in "asoc-platform". 3089- asoc-cpu: This is phandle list containing the references to cpu dai device nodes 3090 that are used as part of the sound card dai-links. 3091- asoc-cpu-names: This property contains list of cpu dai names. The order of the 3092 cpu dai names should match to that of the phandle order given 3093 in "asoc-cpu". The cpu names are in the form of "%s.%d" form, 3094 where the id (%d) field represents the back-end AFE port id that 3095 this CPU dai is associated with. 3096- asoc-codec: This is phandle list containing the references to codec dai device 3097 nodes that are used as part of the sound card dai-links. 3098- asoc-codec-names: This property contains list of codec dai names. The order of the 3099 codec dai names should match to that of the phandle order given 3100 in "asoc-codec". 3101Optional properties: 3102- qcom,mbhc-audio-jack-type : String to indicate the jack type on the hardware. 3103 Possible Values: 3104 4-pole-jack : Jack on the hardware is 4-pole. 3105 5-pole-jack : Jack on the hardware is 5-pole. 3106 6-pole-jack : Jack on the hardware is 6-pole. 3107 - clock-names : clock name defined for external clock. 3108 - clocks : external clock defined for codec clock. 3109 - qcom,msm-mbhc-hs-mic-max-threshold-mv : headset detection threshold. When micbias is 3110 not set to 2.7v, need scale in driver. 3111 - qcom,msm-mbhc-hs-mic-min-threshold-mv : headhpone detection threshold. When micbias is 3112 not set to 2.7v, need scale in driver. 3113 - qcom,hph-en1-gpio : GPIO to enable HiFi amplifiers. 3114 - qcom,hph-en0-gpio : GPIO to enable HiFi audio route to headset. 3115 - qcom,wsa-max-devs : Maximum number of WSA881x devices present in the target 3116 - qcom,wsa-devs : List of phandles for all possible WSA881x devices supported for the target 3117 - qcom,wsa-aux-dev-prefix : Name prefix with Left/Right configuration for WSA881x device 3118 - qcom,wcn-btfm : Property to specify if WCN BT/FM chip is used for the target 3119 3120 Example: 3121 3122 sound-tavil { 3123 compatible = "qcom,sdm845-asoc-snd-tavil"; 3124 qcom,model = "sdm845-tavil-snd-card"; 3125 qcom,ext-disp-audio-rx; 3126 qcom,wcn-btfm; 3127 qcom,mi2s-audio-intf; 3128 qcom,auxpcm-audio-intf; 3129 qcom,msm-mi2s-master = <1>, <1>, <1>, <1>; 3130 3131 reg = <0x1711a000 0x4>, 3132 <0x1711b000 0x4>, 3133 <0x1711c000 0x4>, 3134 <0x1711d000 0x4>; 3135 reg-names = "lpaif_pri_mode_muxsel", 3136 "lpaif_sec_mode_muxsel", 3137 "lpaif_tert_mode_muxsel", 3138 "lpaif_quat_mode_muxsel"; 3139 3140 qcom,audio-routing = 3141 "RX_BIAS", "MCLK", 3142 "MADINPUT", "MCLK", 3143 "hifi amp", "LINEOUT1", 3144 "hifi amp", "LINEOUT2", 3145 "AMIC2", "MIC BIAS2", 3146 "MIC BIAS2", "Headset Mic", 3147 "AMIC3", "MIC BIAS2", 3148 "MIC BIAS2", "ANCRight Headset Mic", 3149 "AMIC4", "MIC BIAS2", 3150 "MIC BIAS2", "ANCLeft Headset Mic", 3151 "AMIC5", "MIC BIAS3", 3152 "MIC BIAS3", "Handset Mic", 3153 "DMIC0", "MIC BIAS1", 3154 "MIC BIAS1", "Digital Mic0", 3155 "DMIC1", "MIC BIAS1", 3156 "MIC BIAS1", "Digital Mic1", 3157 "DMIC2", "MIC BIAS3", 3158 "MIC BIAS3", "Digital Mic2", 3159 "DMIC3", "MIC BIAS3", 3160 "MIC BIAS3", "Digital Mic3", 3161 "DMIC4", "MIC BIAS4", 3162 "MIC BIAS4", "Digital Mic4", 3163 "DMIC5", "MIC BIAS4", 3164 "MIC BIAS4", "Digital Mic5", 3165 "SpkrLeft IN", "SPK1 OUT", 3166 "SpkrRight IN", "SPK2 OUT"; 3167 3168 qcom,msm-mbhc-hphl-swh = <0>; 3169 qcom,msm-mbhc-gnd-swh = <0>; 3170 qcom,msm-mbhc-hs-mic-max-threshold-mv = <1700>; 3171 qcom,msm-mbhc-hs-mic-min-threshold-mv = <50>; 3172 qcom,hph-en0-gpio = <&tavil_hph_en0>; 3173 qcom,hph-en1-gpio = <&tavil_hph_en1>; 3174 qcom,tavil-mclk-clk-freq = <9600000>; 3175 asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>, 3176 <&loopback>, <&compress>, <&hostless>, 3177 <&afe>, <&lsm>, <&routing>, <&cpe>, <&compr>, 3178 <&pcm_noirq>; 3179 asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1", 3180 "msm-pcm-dsp.2", "msm-voip-dsp", 3181 "msm-pcm-voice", "msm-pcm-loopback", 3182 "msm-compress-dsp", "msm-pcm-hostless", 3183 "msm-pcm-afe", "msm-lsm-client", 3184 "msm-pcm-routing", "msm-cpe-lsm", 3185 "msm-compr-dsp", "msm-pcm-dsp-noirq"; 3186 asoc-cpu = <&dai_hdmi>, <&dai_dp>, 3187 <&dai_mi2s0>, <&dai_mi2s1>, 3188 <&dai_mi2s2>, <&dai_mi2s3>, 3189 <&dai_pri_auxpcm>, <&dai_sec_auxpcm>, 3190 <&dai_tert_auxpcm>, <&dai_quat_auxpcm>, 3191 <&sb_0_rx>, <&sb_0_tx>, <&sb_1_rx>, <&sb_1_tx>, 3192 <&sb_2_rx>, <&sb_2_tx>, <&sb_3_rx>, <&sb_3_tx>, 3193 <&sb_4_rx>, <&sb_4_tx>, <&sb_5_tx>, 3194 <&afe_pcm_rx>, <&afe_pcm_tx>, <&afe_proxy_rx>, 3195 <&afe_proxy_tx>, <&incall_record_rx>, 3196 <&incall_record_tx>, <&incall_music_rx>, 3197 <&incall_music_2_rx>, <&sb_5_rx>, <&sb_6_rx>, 3198 <&sb_7_rx>, <&sb_7_tx>, <&sb_8_tx>, 3199 <&usb_audio_rx>, <&usb_audio_tx>, 3200 <&dai_pri_tdm_rx_0>, <&dai_pri_tdm_tx_0>, 3201 <&dai_sec_tdm_rx_0>, <&dai_sec_tdm_tx_0>, 3202 <&dai_tert_tdm_rx_0>, <&dai_tert_tdm_tx_0>, 3203 <&dai_quat_tdm_rx_0>, <&dai_quat_tdm_tx_0>; 3204 asoc-cpu-names = "msm-dai-q6-hdmi.8", "msm-dai-q6-dp.24608", 3205 "msm-dai-q6-mi2s.0", "msm-dai-q6-mi2s.1", 3206 "msm-dai-q6-mi2s.2", "msm-dai-q6-mi2s.3", 3207 "msm-dai-q6-auxpcm.1", "msm-dai-q6-auxpcm.2", 3208 "msm-dai-q6-auxpcm.3", "msm-dai-q6-auxpcm.4", 3209 "msm-dai-q6-dev.16384", "msm-dai-q6-dev.16385", 3210 "msm-dai-q6-dev.16386", "msm-dai-q6-dev.16387", 3211 "msm-dai-q6-dev.16388", "msm-dai-q6-dev.16389", 3212 "msm-dai-q6-dev.16390", "msm-dai-q6-dev.16391", 3213 "msm-dai-q6-dev.16392", "msm-dai-q6-dev.16393", 3214 "msm-dai-q6-dev.16395", "msm-dai-q6-dev.224", 3215 "msm-dai-q6-dev.225", "msm-dai-q6-dev.241", 3216 "msm-dai-q6-dev.240", "msm-dai-q6-dev.32771", 3217 "msm-dai-q6-dev.32772", "msm-dai-q6-dev.32773", 3218 "msm-dai-q6-dev.32770", "msm-dai-q6-dev.16394", 3219 "msm-dai-q6-dev.16396", "msm-dai-q6-dev.16398", 3220 "msm-dai-q6-dev.16399", "msm-dai-q6-dev.16401", 3221 "msm-dai-q6-dev.28672", "msm-dai-q6-dev.28673", 3222 "msm-dai-q6-tdm.36864", "msm-dai-q6-tdm.36865", 3223 "msm-dai-q6-tdm.36880", "msm-dai-q6-tdm.36881", 3224 "msm-dai-q6-tdm.36896", "msm-dai-q6-tdm.36897", 3225 "msm-dai-q6-tdm.36912", "msm-dai-q6-tdm.36913"; 3226 asoc-codec = <&stub_codec>, <&ext_disp_audio_codec>; 3227 asoc-codec-names = "msm-stub-codec.1", 3228 "msm-ext-disp-audio-codec-rx"; 3229 qcom,wsa-max-devs = <2>; 3230 qcom,wsa-devs = <&wsa881x_0211>, <&wsa881x_0212>, 3231 <&wsa881x_0213>, <&wsa881x_0214>; 3232 qcom,wsa-aux-dev-prefix = "SpkrLeft", "SpkrRight", 3233 "SpkrLeft", "SpkrRight"; 3234 }; 3235 3236* SDM670 ASoC Machine driver 3237 3238Required properties: 3239- compatible : "qcom,sdm670-asoc-snd" 3240- qcom,model : The user-visible name of this sound card. 3241- qcom,msm-hs-micbias-type : This property is used to recognize the headset 3242 micbias type, internal or external. 3243- qcom,msm-mbhc-hphl-swh: This property is used to distinguish headset HPHL 3244switch type on target typically the switch type will be normally open or 3245normally close, value for this property 0 for normally close and 1 for 3246normally open. 3247- qcom,msm-mbhc-gnd-swh: This property is used to distinguish headset GND 3248switch type on target typically the switch type will be normally open or 3249normally close, value for this property 0 for normally close and 1 for 3250normally open. 3251- qcom,audio-routing : A list of the connections between audio components. 3252- qcom,msm-gpios : Lists down all the gpio sets that are supported. 3253- qcom,pinctrl-names : Lists all the possible combinations of the gpio sets 3254mentioned in qcom,msm-gpios. 3255- pinctrl-names : The combinations of gpio sets from above that are supported in 3256the flavor. 3257- pinctrl-# : Pinctrl states as mentioned in pinctrl-names. 3258 3259Optional properties: 3260- qcom,cdc-us-euro-gpios : GPIO on which gnd/mic swap signal is coming. 3261- qcom,msm-micbias1-ext-cap : Boolean. Enable micbias1 external 3262capacitor mode. 3263- qcom,msm-micbias2-ext-cap : Boolean. Enable micbias2 external 3264capacitor mode. 3265- qcom,wsa-disable : Boolean. Disables WSA speaker dailinks from sound node. 3266- qcom,msm-spk-ext-pa : GPIO which enables external speaker pa. 3267- qcom,msm-mclk-freq : This property is used to inform machine driver about 3268mclk frequency needs to be configured for internal and external PA. 3269- asoc-platform: This is phandle list containing the references to platform device 3270 nodes that are used as part of the sound card dai-links. 3271- asoc-platform-names: This property contains list of platform names. The order of 3272 the platform names should match to that of the phandle order 3273 given in "asoc-platform". 3274- asoc-cpu: This is phandle list containing the references to cpu dai device nodes 3275 that are used as part of the sound card dai-links. 3276 - asoc-cpu-names: This property contains list of cpu dai names. The order of the 3277 cpu dai names should match to that of the phandle order given. 3278 - asoc-codec: This is phandle list containing the references to codec dai device 3279 nodes that are used as part of the sound card dai-links. 3280 - asoc-codec-names: This property contains list of codec dai names. The order of the 3281 codec dai names should match to that of the phandle order given 3282 in "asoc-codec". 3283 - qcom,wsa-max-devs : Maximum number of WSA881x devices present in the target 3284 - qcom,wsa-devs : List of phandles for all possible WSA881x devices supported for the target 3285 - qcom,wsa-aux-dev-prefix : Name prefix with Left/Right configuration for WSA881x device 3286 - qcom,cdc-pdm-gpios : phandle for pdm gpios. 3287 - qcom,cdc-comp-gpios : phandle for compander gpios. 3288 - qcom,cdc-dmic-gpios : phandle for Digital mic clk and data gpios. 3289 - qcom,cdc-sdw-gpios : phandle for soundwire clk and data gpios. 3290 - qcom,pri-mi2s-gpios : phandle for primary MI2S clk, word select and data gpios. 3291 - qcom,sec-mi2s-gpios : phandle for secondary MI2S clk, word select and data gpios. 3292 - qcom,tert-mi2s-gpios : phandle for tertiary MI2S clk, word select and data gpios. 3293 - qcom,quat-mi2s-gpios : phandle for quaternary MI2S clk, word select and data gpios. 3294 - qcom,quin-mi2s-gpios : phandle for quinary MI2S clk, word select and data gpios. 3295 - qcom,msm-mbhc-moist-cfg: This property is used to set moisture detection 3296 threshold values for different codecs. First parameter is V(voltage) 3297 second one is i(current), third one is r (resistance). Depending on the 3298 codec set corresponding element in array and set others to 0. 3299 3300 Example: 3301 sound { 3302 compatible = "qcom,sdm670-asoc-snd"; 3303 qcom,model = "sdm670-snd-card"; 3304 qcom,msm-mclk-freq = <9600000>; 3305 qcom,msm-mbhc-hphl-swh = <0>; 3306 qcom,msm-mbhc-gnd-swh = <0>; 3307 qcom,msm-hs-micbias-type = "internal"; 3308 qcom,msm-micbias1-ext-cap; 3309 qcom,audio-routing = 3310 "RX_BIAS", "MCLK", 3311 "SPK_RX_BIAS", "MCLK", 3312 "INT_LDO_H", "MCLK", 3313 "MIC BIAS External", "Handset Mic", 3314 "MIC BIAS Internal2", "Headset Mic", 3315 "MIC BIAS External", "Secondary Mic", 3316 "AMIC1", "MIC BIAS External", 3317 "AMIC2", "MIC BIAS Internal2", 3318 "AMIC3", "MIC BIAS External"; 3319 qcom,cdc-us-euro-gpios = <&msm_gpio 63 0>; 3320 qcom,cdc-pdm-gpios = <&cdc_pdm_gpios>; 3321 qcom,cdc-comp-gpios = <&cdc_comp_gpios>; 3322 qcom,cdc-dmic-gpios = <&cdc_dmic_gpios>; 3323 qcom,cdc-sdw-gpios = <&cdc_sdw_gpios>; 3324 asoc-platform = <&pcm0>, <&pcm1>, <&voip>, <&voice>, 3325 <&loopback>, <&compress>, <&hostless>, 3326 <&afe>, <&lsm>, <&routing>, <&lpa>; 3327 asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1", 3328 "msm-voip-dsp", "msm-pcm-voice", "msm-pcm-loopback", 3329 "msm-compress-dsp", "msm-pcm-hostless", "msm-pcm-afe", 3330 "msm-lsm-client", "msm-pcm-routing", "msm-pcm-lpa"; 3331 asoc-cpu = <&dai_pri_auxpcm>, <&dai_hdmi>, 3332 <&dai_mi2s0>, <&dai_mi2s1>, <&dai_mi2s2>, <&dai_mi2s3>, 3333 <&sb_0_rx>, <&sb_0_tx>, <&sb_1_rx>, <&sb_1_tx>, 3334 <&sb_3_rx>, <&sb_3_tx>, <&sb_4_rx>, <&sb_4_tx>, 3335 <&bt_sco_rx>, <&bt_sco_tx>, <&int_fm_rx>, <&int_fm_tx>, 3336 <&afe_pcm_rx>, <&afe_pcm_tx>, <&afe_proxy_rx>, <&afe_proxy_tx>, 3337 <&incall_record_rx>, <&incall_record_tx>, <&incall_music_rx>, 3338 <&incall_music_2_rx>; 3339 asoc-cpu-names = "msm-dai-q6-auxpcm.1", "msm-dai-q6-hdmi.8", 3340 "msm-dai-q6-mi2s.0", "msm-dai-q6-mi2s.1", 3341 "msm-dai-q6-mi2s.2", "msm-dai-q6-mi2s.3", 3342 "msm-dai-q6-dev.16384", "msm-dai-q6-dev.16385", 3343 "msm-dai-q6-dev.16386", "msm-dai-q6-dev.16387", 3344 "msm-dai-q6-dev.16390", "msm-dai-q6-dev.16391", 3345 "msm-dai-q6-dev.16392", "msm-dai-q6-dev.16393", 3346 "msm-dai-q6-dev.12288", "msm-dai-q6-dev.12289", 3347 "msm-dai-q6-dev.12292", "msm-dai-q6-dev.12293", 3348 "msm-dai-q6-dev.224", "msm-dai-q6-dev.225", 3349 "msm-dai-q6-dev.241", "msm-dai-q6-dev.240", 3350 "msm-dai-q6-dev.32771", "msm-dai-q6-dev.32772", 3351 "msm-dai-q6-dev.32773", "msm-dai-q6-dev.32770"; 3352 asoc-codec = <&stub_codec>; 3353 asoc-codec-names = "msm-stub-codec.1"; 3354 qcom,wsa-max-devs = <2>; 3355 qcom,wsa-devs = <&wsa881x_211>, <&wsa881x_212>, 3356 <&wsa881x_213>, <&wsa881x_214>; 3357 qcom,wsa-aux-dev-prefix = "SpkrRight", "SpkrLeft", 3358 "SpkrRight", "SpkrLeft"; 3359 }; 3360 3361* SDM670 ASoC Slimbus Machine driver 3362 3363Required properties: 3364- compatible : "qcom,sdm670-asoc-snd-tasha" for tasha codec, 3365 "qcom,sdm670-asoc-snd-tavil" for tavil codec. 3366- qcom,model : The user-visible name of this sound card. 3367- qcom,msm-mclk-freq : MCLK frequency value for external codec 3368- qcom,msm-gpios : Lists down all the gpio sets that are supported. 3369- qcom,pinctrl-names : Lists all the possible combinations of the gpio sets 3370mentioned in qcom,msm-gpios. Say we have 2^N combinations for N GPIOs, 3371this would list all the 2^N combinations. 3372- pinctrl-names : The combinations of gpio sets from above that are supported in 3373the flavor. This can be sometimes same as qcom, pinctrl-names i.e with 2^N 3374combinations or will have less incase if some combination is not supported. 3375- pinctrl-# : Pinctrl states as mentioned in pinctrl-names. 3376- qcom,audio-routing : A list of the connections between audio components. 3377- asoc-platform: This is phandle list containing the references to platform device 3378 nodes that are used as part of the sound card dai-links. 3379- asoc-platform-names: This property contains list of platform names. The order of 3380 the platform names should match to that of the phandle order 3381 given in "asoc-platform". 3382- asoc-cpu: This is phandle list containing the references to cpu dai device nodes 3383 that are used as part of the sound card dai-links. 3384- asoc-cpu-names: This property contains list of cpu dai names. The order of the 3385 cpu dai names should match to that of the phandle order given 3386 in "asoc-cpu". The cpu names are in the form of "%s.%d" form, 3387 where the id (%d) field represents the back-end AFE port id that 3388 this CPU dai is associated with. 3389- asoc-codec: This is phandle list containing the references to codec dai device 3390 nodes that are used as part of the sound card dai-links. 3391- asoc-codec-names: This property contains list of codec dai names. The order of the 3392 codec dai names should match to that of the phandle order given 3393 in "asoc-codec". 3394Optional properties: 3395- qcom,cdc-us-euro-gpios : GPIO on which gnd/mic swap signal is coming. 3396- clock-names : clock name defined for external clock. 3397- clocks : external clock defined for codec clock. 3398- qcom,wsa-max-devs : Maximum number of WSA881x devices present in the target 3399- qcom,wsa-devs : List of phandles for all possible WSA881x devices supported for the target 3400- qcom,wsa-aux-dev-prefix : Name prefix with Left/Right configuration for WSA881x device 3401- qcom,pri-mi2s-gpios : phandle for primary MI2S clk, word select and data gpios. 3402- qcom,sec-mi2s-gpios : phandle for secondary MI2S clk, word select and data gpios. 3403- qcom,tert-mi2s-gpios : phandle for tertiary MI2S clk, word select and data gpios. 3404- qcom,quat-mi2s-gpios : phandle for quaternary MI2S clk, word select and data gpios. 3405- qcom,quin-mi2s-gpios : phandle for quinary MI2S clk, word select and data gpios. 3406 3407Example: 3408 3409 sound-9335 { 3410 compatible = "qcom,sdm670-asoc-snd-tasha"; 3411 qcom,model = "sdm670-tasha-snd-card"; 3412 3413 qcom,audio-routing = 3414 "RX_BIAS", "MCLK", 3415 "LDO_H", "MCLK", 3416 "AIF4 MAD", "MCLK", 3417 "ultrasound amp", "LINEOUT1", 3418 "ultrasound amp", "LINEOUT3", 3419 "AMIC1", "MIC BIAS1 Internal1", 3420 "MIC BIAS1 Internal1", "Handset Mic", 3421 "AMIC2", "MIC BIAS2 External", 3422 "MIC BIAS2 External", "Headset Mic", 3423 "AMIC3", "MIC BIAS2 External", 3424 "MIC BIAS2 External", "ANCRight Headset Mic", 3425 "AMIC4", "MIC BIAS2 External", 3426 "MIC BIAS2 External", "ANCLeft Headset Mic", 3427 "DMIC1", "MIC BIAS1 External", 3428 "MIC BIAS1 External", "Digital Mic1", 3429 "DMIC2", "MIC BIAS1 External", 3430 "MIC BIAS1 External", "Digital Mic2", 3431 "DMIC3", "MIC BIAS3 External", 3432 "MIC BIAS3 External", "Digital Mic3", 3433 "DMIC4", "MIC BIAS3 External", 3434 "MIC BIAS3 External", "Digital Mic4", 3435 "DMIC5", "MIC BIAS4 External", 3436 "MIC BIAS4 External", "Digital Mic5", 3437 "DMIC6", "MIC BIAS4 External", 3438 "MIC BIAS4 External", "Digital Mic6"; 3439 3440 qcom,msm-mbhc-hphl-swh = <0>; 3441 qcom,msm-mbhc-gnd-swh = <0>; 3442 qcom,msm-mclk-freq = <9600000>; 3443 qcom,msm-gpios = 3444 "slim", 3445 "us_eu_gpio"; 3446 qcom,pinctrl-names = 3447 "all_off", 3448 "slim_act", 3449 "us_eu_gpio_act", 3450 "slim_us_eu_gpio_act"; 3451 pinctrl-names = 3452 "all_off", 3453 "slim_act", 3454 "us_eu_gpio_act", 3455 "slim_us_eu_gpio_act"; 3456 pinctrl-0 = <&cdc_slim_lines_sus &cross_conn_det_sus>; 3457 pinctrl-1 = <&cdc_slim_lines_act &cross_conn_det_sus>; 3458 pinctrl-2 = <&cdc_slim_lines_sus &cross_conn_det_act>; 3459 pinctrl-3 = <&cdc_slim_lines_act &cross_conn_det_act>; 3460 qcom,cdc-us-euro-gpios = <&msm_gpio 63 0>; 3461 asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>, 3462 <&loopback>, <&compress>, <&hostless>, 3463 <&afe>, <&lsm>, <&routing>, <&cpe>, <&compr>; 3464 asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1", 3465 "msm-pcm-dsp.2", "msm-voip-dsp", 3466 "msm-pcm-voice", "msm-pcm-loopback", 3467 "msm-compress-dsp", "msm-pcm-hostless", 3468 "msm-pcm-afe", "msm-lsm-client", 3469 "msm-pcm-routing", "msm-cpe-lsm", 3470 "msm-compr-dsp"; 3471 asoc-cpu = <&dai_hdmi>, 3472 <&sb_0_rx>, <&sb_0_tx>, <&sb_1_rx>, <&sb_1_tx>, 3473 <&sb_2_rx>, <&sb_2_tx>, <&sb_3_rx>, <&sb_3_tx>, 3474 <&sb_4_rx>, <&sb_4_tx>, <&sb_5_tx>, 3475 <&afe_pcm_rx>, <&afe_pcm_tx>, <&afe_proxy_rx>, 3476 <&afe_proxy_tx>, <&incall_record_rx>, 3477 <&incall_record_tx>, <&incall_music_rx>, 3478 <&incall_music_2_rx>, <&sb_5_rx>; 3479 asoc-cpu-names = "msm-dai-q6-hdmi.8", 3480 "msm-dai-q6-dev.16384", "msm-dai-q6-dev.16385", 3481 "msm-dai-q6-dev.16386", "msm-dai-q6-dev.16387", 3482 "msm-dai-q6-dev.16388", "msm-dai-q6-dev.16389", 3483 "msm-dai-q6-dev.16390", "msm-dai-q6-dev.16391", 3484 "msm-dai-q6-dev.16392", "msm-dai-q6-dev.16393", 3485 "msm-dai-q6-dev.16395", "msm-dai-q6-dev.224", 3486 "msm-dai-q6-dev.225", "msm-dai-q6-dev.241", 3487 "msm-dai-q6-dev.240", "msm-dai-q6-dev.32771", 3488 "msm-dai-q6-dev.32772", "msm-dai-q6-dev.32773", 3489 "msm-dai-q6-dev.32770", "msm-dai-q6-dev.16394"; 3490 asoc-codec = <&stub_codec>; 3491 asoc-codec-names = "msm-stub-codec.1"; 3492 qcom,wsa-max-devs = <2>; 3493 qcom,wsa-devs = <&wsa881x_211>, <&wsa881x_212>, 3494 <&wsa881x_213>, <&wsa881x_214>; 3495 qcom,wsa-aux-dev-prefix = "SpkrRight", "SpkrLeft", 3496 "SpkrRight", "SpkrLeft"; 3497 }; 3498 3499* QCS605 LC ASoC Machine driver 3500 3501Required properties: 3502- compatible : "qcom,qcs605-dig-asoc-snd" 3503- qcom,model : The user-visible name of this sound card. 3504- qcom,audio-routing : A list of the connections between audio components. 3505- qcom,msm-gpios : Lists down all the gpio sets that are supported. 3506- qcom,pinctrl-names : Lists all the possible combinations of the gpio sets 3507mentioned in qcom,msm-gpios. 3508- pinctrl-names : The combinations of gpio sets from above that are supported in 3509the flavor. 3510- pinctrl-# : Pinctrl states as mentioned in pinctrl-names. 3511 3512Optional properties: 3513- qcom,wsa-disable : Boolean. Disables WSA speaker dailinks from sound node. 3514- qcom,msm-spk-ext-pa : GPIO which enables external speaker pa. 3515- qcom,msm-mclk-freq : This property is used to inform machine driver about 3516mclk frequency needs to be configured for internal and external PA. 3517- asoc-platform: This is phandle list containing the references to platform device 3518 nodes that are used as part of the sound card dai-links. 3519- asoc-platform-names: This property contains list of platform names. The order of 3520 the platform names should match to that of the phandle order 3521 given in "asoc-platform". 3522- asoc-cpu: This is phandle list containing the references to cpu dai device nodes 3523 that are used as part of the sound card dai-links. 3524- asoc-cpu-names: This property contains list of cpu dai names. The order of the 3525 cpu dai names should match to that of the phandle order given. 3526- asoc-codec: This is phandle list containing the references to codec dai device 3527 nodes that are used as part of the sound card dai-links. 3528- asoc-codec-names: This property contains list of codec dai names. The order of the 3529 codec dai names should match to that of the phandle order given 3530 in "asoc-codec". 3531- qcom,wsa-max-devs : Maximum number of WSA881x devices present in the target 3532- qcom,wsa-devs : List of phandles for all possible WSA881x devices supported for the target 3533- qcom,wsa-aux-dev-prefix : Name prefix with Left/Right configuration for WSA881x device 3534- qcom,cdc-dmic-gpios : phandle for Digital mic clk and data gpios. 3535- qcom,cdc-sdw-gpios : phandle for soundwire clk and data gpios. 3536- qcom,pri-mi2s-gpios : phandle for primary MI2S clk, word select and data gpios. 3537- qcom,sec-mi2s-gpios : phandle for secondary MI2S clk, word select and data gpios. 3538- qcom,tert-mi2s-gpios : phandle for tertiary MI2S clk, word select and data gpios. 3539- qcom,quat-mi2s-gpios : phandle for quaternary MI2S clk, word select and data gpios. 3540- qcom,quin-mi2s-gpios : phandle for quinary MI2S clk, word select and data gpios. 3541 3542Example: 3543 sound { 3544 compatible = "qcom,qcs605-dig-asoc-snd"; 3545 qcom,model = "qcs605-lc-snd-card"; 3546 qcom,audio-routing = 3547 "RX_BIAS", "INT_MCLK0", 3548 "SPK_RX_BIAS", "INT_MCLK0", 3549 "DMIC1", "DIGITAL_REGULATOR", 3550 "DIGITAL_REGULATOR", "Digital Mic1", 3551 "DMIC2", "DIGITAL_REGULATOR", 3552 "DIGITAL_REGULATOR", "Digital Mic2", 3553 "DMIC3", "DIGITAL_REGULATOR", 3554 "DIGITAL_REGULATOR", "Digital Mic3", 3555 "DMIC4", "DIGITAL_REGULATOR", 3556 "DIGITAL_REGULATOR", "Digital Mic4", 3557 "SpkrLeft IN", "SPK1 OUT", 3558 "SpkrRight IN", "SPK2 OUT"; 3559 3560 qcom,msm-mi2s-master = <1>, <1>, <1>, <1>, <1>; 3561 qcom,msm-mclk-freq = <9600000>; 3562 qcom,cdc-dmic-gpios = <&cdc_dmic_gpios>; 3563 3564 asoc-codec = <&stub_codec>, <&msm_digital_codec>, 3565 <&msm_sdw_codec>; 3566 asoc-codec-names = "msm-stub-codec.1", "msm-dig-codec", 3567 "msm_sdw_codec"; 3568 3569 qcom,wsa-max-devs = <2>; 3570 qcom,wsa-devs = <&wsa881x_211_en>, <&wsa881x_212_en>, 3571 <&wsa881x_213_en>, <&wsa881x_214_en>; 3572 qcom,wsa-aux-dev-prefix = "SpkrLeft", "SpkrRight", 3573 "SpkrLeft", "SpkrRight"; 3574 } 3575 3576* QCS605 IPcamera ASoC Machine driver 3577 3578Required properties: 3579- compatible : "qcom,qcs605-asoc-snd-tavil" 3580- qcom,model : The user-visible name of this sound card. 3581- qcom,audio-routing : A list of the connections between audio components. 3582- qcom,msm-gpios : Lists down all the gpio sets that are supported. 3583- qcom,pinctrl-names : Lists all the possible combinations of the gpio sets 3584mentioned in qcom,msm-gpios. 3585- pinctrl-names : The combinations of gpio sets from above that are supported in 3586the flavor. 3587- pinctrl-# : Pinctrl states as mentioned in pinctrl-names. 3588 3589Optional properties: 3590- qcom,wsa-disable : Boolean. Disables WSA speaker dailinks from sound node. 3591- qcom,msm-spk-ext-pa : GPIO which enables external speaker pa. 3592- qcom,msm-mclk-freq : This property is used to inform machine driver about 3593mclk frequency needs to be configured for internal and external PA. 3594- asoc-platform: This is phandle list containing the references to platform device 3595 nodes that are used as part of the sound card dai-links. 3596- asoc-platform-names: This property contains list of platform names. The order of 3597 the platform names should match to that of the phandle order 3598 given in "asoc-platform". 3599- asoc-cpu: This is phandle list containing the references to cpu dai device nodes 3600 that are used as part of the sound card dai-links. 3601- asoc-cpu-names: This property contains list of cpu dai names. The order of the 3602 cpu dai names should match to that of the phandle order given. 3603- asoc-codec: This is phandle list containing the references to codec dai device 3604 nodes that are used as part of the sound card dai-links. 3605- asoc-codec-names: This property contains list of codec dai names. The order of the 3606 codec dai names should match to that of the phandle order given 3607 in "asoc-codec". 3608- qcom,wsa-max-devs : Maximum number of WSA881x devices present in the target 3609- qcom,wsa-devs : List of phandles for all possible WSA881x devices supported for the target 3610- qcom,wsa-aux-dev-prefix : Name prefix with Left/Right configuration for WSA881x device 3611- qcom,cdc-dmic-gpios : phandle for Digital mic clk and data gpios. 3612- qcom,cdc-sdw-gpios : phandle for soundwire clk and data gpios. 3613- qcom,pri-mi2s-gpios : phandle for primary MI2S clk, word select and data gpios. 3614- qcom,sec-mi2s-gpios : phandle for secondary MI2S clk, word select and data gpios. 3615- qcom,tert-mi2s-gpios : phandle for tertiary MI2S clk, word select and data gpios. 3616 - qcom,quat-mi2s-gpios : phandle for quaternary MI2S clk, word select and data gpios. 3617 - qcom,quin-mi2s-gpios : phandle for quinary MI2S clk, word select and data gpios. 3618 3619 Example: 3620 sound { 3621 compatible = "qcom,qcs605-asoc-snd-tavil"; 3622 qcom,model = "qcs605-tavil-snd-card"; 3623 qcom,audio-routing = 3624 "RX_BIAS", "INT_MCLK0", 3625 "SPK_RX_BIAS", "INT_MCLK0", 3626 "DMIC1", "DIGITAL_REGULATOR", 3627 "DIGITAL_REGULATOR", "Digital Mic1", 3628 "DMIC2", "DIGITAL_REGULATOR", 3629 "DIGITAL_REGULATOR", "Digital Mic2", 3630 "DMIC3", "DIGITAL_REGULATOR", 3631 "DIGITAL_REGULATOR", "Digital Mic3", 3632 "DMIC4", "DIGITAL_REGULATOR", 3633 "DIGITAL_REGULATOR", "Digital Mic4", 3634 "SpkrLeft IN", "SPK1 OUT", 3635 "SpkrRight IN", "SPK2 OUT"; 3636 3637 qcom,msm-mi2s-master = <1>, <1>, <1>, <1>, <1>; 3638 qcom,msm-mclk-freq = <9600000>; 3639 qcom,msm-gpios = 3640 "slim", 3641 "us_eu_gpio"; 3642 qcom,pinctrl-names = 3643 "all_off", 3644 "slim_act", 3645 "us_eu_gpio_act", 3646 "slim_us_eu_gpio_act"; 3647 pinctrl-names = 3648 "all_off", 3649 "slim_act", 3650 "us_eu_gpio_act", 3651 "slim_us_eu_gpio_act"; 3652 pinctrl-0 = <&cdc_slim_lines_sus &cross_conn_det_sus>; 3653 pinctrl-1 = <&cdc_slim_lines_act &cross_conn_det_sus>; 3654 pinctrl-2 = <&cdc_slim_lines_sus &cross_conn_det_act>; 3655 pinctrl-3 = <&cdc_slim_lines_act &cross_conn_det_act>; 3656 qcom,cdc-dmic-gpios = <&cdc_dmic_gpios>; 3657 3658 asoc-codec = <&stub_codec>, <&msm_digital_codec>, 3659 <&msm_sdw_codec>; 3660 asoc-codec-names = "msm-stub-codec.1", "msm-dig-codec", 3661 "msm_sdw_codec"; 3662 3663 qcom,wsa-max-devs = <2>; 3664 qcom,wsa-devs = <&wsa881x_211_en>, <&wsa881x_212_en>, 3665 <&wsa881x_213_en>, <&wsa881x_214_en>; 3666 qcom,wsa-aux-dev-prefix = "SpkrLeft", "SpkrRight", 3667 "SpkrLeft", "SpkrRight"; 3668 } 3669
Indexes created Sun Aug 23 02:26:38 CST 2020