1 # Android ALSA configuration file for the WM8994 audio. 2 3 4 ################################################################################################################## 5 # 6 # {name "Playback Path" value 2} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT 7 # # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 9:R_SPK_HP 8 # {name "Capture MIC Path" value 1} # 0:Main Mic 1:Ear MIC 2:BT MIC 9 # {name "Voice Call Path" value 1} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT 10 # 11 ################################################################################################################## 12 13 14 ## 15 ## Mixer Devices 16 ## 17 18 ctl.AndroidPlayback { 19 type hw 20 card 0 21 } 22 23 ctl.AndroidRecord { 24 type hw 25 card 0 26 } 27 28 29 ## 30 ## Playback Devices 31 ## 32 33 pcm.AndroidPlayback { 34 type hooks 35 slave.pcm { 36 type hw 37 card 0 38 device 0 # Must be of type "digital audio playback" 39 } 40 hooks.0 { 41 type ctl_elems 42 hook_args [ 43 # Enable audio output from the DSP 44 ] 45 } 46 } 47 48 pcm.AndroidPlayback_Earpiece { 49 type hooks 50 slave.pcm { 51 type hw 52 card 0 53 device 0 # Must be of type "digital audio playback" 54 } 55 hooks.0 { 56 type ctl_elems 57 hook_args [ 58 # Enable audio output from the DSP 59 {name "Voice Call Path" value 1} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT 60 ] 61 } 62 } 63 64 pcm.AndroidPlayback_Speaker { 65 type hooks 66 slave.pcm { 67 type hw 68 card 0 69 device 0 # Must be of type "digital audio playback" 70 } 71 hooks.0 { 72 type ctl_elems 73 hook_args [ 74 # Enable audio output from the DSP 75 {name "Playback Path" value 2} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT 76 # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 10:R_SPK_HP 77 ] 78 } 79 } 80 81 pcm.AndroidPlayback_Headset { 82 type hooks 83 slave.pcm { 84 type hw 85 card 0 86 device 0 # Must be of type "digital audio playback" 87 } 88 hooks.0 { 89 type ctl_elems 90 hook_args [ 91 # Enable audio output from the DSP 92 {name "Playback Path" value 3} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT 93 # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 10:R_SPK_HP 94 ] 95 } 96 } 97 98 pcm.AndroidPlayback_Headphone { 99 type hooks 100 slave.pcm { 101 type hw 102 card 0 103 device 0 # Must be of type "digital audio playback" 104 } 105 hooks.0 { 106 type ctl_elems 107 hook_args [ 108 # Enable audio output from the DSP 109 {name "Playback Path" value 4} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT 110 # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 10:R_SPK_HP 111 ] 112 } 113 } 114 115 pcm.AndroidPlayback_Bluetooth { 116 type hooks 117 slave.pcm { 118 type hw 119 card 0 120 device 0 # Must be of type "digital audio playback" 121 } 122 hooks.0 { 123 type ctl_elems 124 hook_args [ 125 # Enable audio output from the DSP 126 {name "Playback Path" value 5} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT 127 # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 10:R_SPK_HP 128 ] 129 } 130 } 131 132 pcm.AndroidPlayback_Earpiece_normal { 133 type hooks 134 slave.pcm { 135 type hw 136 card 0 137 device 0 # Must be of type "digital audio playback" 138 } 139 hooks.0 { 140 type ctl_elems 141 hook_args [ 142 # Enable audio output from the DSP 143 {name "Playback Path" value 1} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT 144 # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 10:R_SPK_HP 145 ] 146 } 147 } 148 149 pcm.AndroidPlayback_Speaker_normal { 150 type hooks 151 slave.pcm { 152 type hw 153 card 0 154 device 0 # Must be of type "digital audio playback" 155 } 156 hooks.0 { 157 type ctl_elems 158 hook_args [ 159 # Enable audio output from the DSP 160 {name "Playback Path" value 2} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT 161 # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 10:R_SPK_HP 162 ] 163 } 164 } 165 166 pcm.AndroidPlayback_Headset_normal { 167 type hooks 168 slave.pcm { 169 type hw 170 card 0 171 device 0 # Must be of type "digital audio playback" 172 } 173 hooks.0 { 174 type ctl_elems 175 hook_args [ 176 # Enable audio output from the DSP 177 {name "Playback Path" value 3} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT 178 # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 10:R_SPK_HP 179 ] 180 } 181 } 182 183 pcm.AndroidPlayback_Headphone_normal { 184 type hooks 185 slave.pcm { 186 type hw 187 card 0 188 device 0 # Must be of type "digital audio playback" 189 } 190 hooks.0 { 191 type ctl_elems 192 hook_args [ 193 # Enable audio output from the DSP 194 {name "Playback Path" value 4} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT 195 # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 10:R_SPK_HP 196 ] 197 } 198 } 199 200 pcm.AndroidPlayback_Bluetooth_normal { 201 type hooks 202 slave.pcm { 203 type hw 204 card 0 205 device 0 # Must be of type "digital audio playback" 206 } 207 hooks.0 { 208 type ctl_elems 209 hook_args [ 210 # Enable audio output from the DSP 211 {name "Playback Path" value 5} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT 212 # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 10:R_SPK_HP 213 ] 214 } 215 } 216 217 pcm.AndroidPlayback_Speaker_Headset_normal { 218 type hooks 219 slave.pcm { 220 type hw 221 card 0 222 device 0 # Must be of type "digital audio playback" 223 } 224 hooks.0 { 225 type ctl_elems 226 hook_args [ 227 # Enable audio output from the DSP 228 {name "Playback Path" value 6} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT 229 # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 10:R_SPK_HP 230 ] 231 } 232 } 233 234 pcm.AndroidPlayback_Speaker_Headphone_normal { 235 type hooks 236 slave.pcm { 237 type hw 238 card 0 239 device 0 # Must be of type "digital audio playback" 240 } 241 hooks.0 { 242 type ctl_elems 243 hook_args [ 244 # Enable audio output from the DSP 245 {name "Playback Path" value 6} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT 246 # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 10:R_SPK_HP 247 ] 248 } 249 } 250 251 pcm.AndroidPlayback_Earpiece_ringtone { 252 type hooks 253 slave.pcm { 254 type hw 255 card 0 256 device 0 # Must be of type "digital audio playback" 257 } 258 hooks.0 { 259 type ctl_elems 260 hook_args [ 261 # Enable audio output from the DSP 262 {name "Playback Path" value 7} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT 263 # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 10:R_SPK_HP 264 ] 265 } 266 } 267 268 pcm.AndroidPlayback_Speaker_ringtone { 269 type hooks 270 slave.pcm { 271 type hw 272 card 0 273 device 0 # Must be of type "digital audio playback" 274 } 275 hooks.0 { 276 type ctl_elems 277 hook_args [ 278 # Enable audio output from the DSP 279 {name "Playback Path" value 7} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT 280 # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 10:R_SPK_HP 281 ] 282 } 283 } 284 285 pcm.AndroidPlayback_Headset_ringtone { 286 type hooks 287 slave.pcm { 288 type hw 289 card 0 290 device 0 # Must be of type "digital audio playback" 291 } 292 hooks.0 { 293 type ctl_elems 294 hook_args [ 295 # Enable audio output from the DSP 296 {name "Playback Path" value 8} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT 297 # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 10:R_SPK_HP 298 ] 299 } 300 } 301 302 pcm.AndroidPlayback_Headphone_ringtone { 303 type hooks 304 slave.pcm { 305 type hw 306 card 0 307 device 0 # Must be of type "digital audio playback" 308 } 309 hooks.0 { 310 type ctl_elems 311 hook_args [ 312 # Enable audio output from the DSP 313 {name "Playback Path" value 9} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT 314 # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 10:R_SPK_HP 315 ] 316 } 317 } 318 319 pcm.AndroidPlayback_Bluetooth_ringtone { 320 type hooks 321 slave.pcm { 322 type hw 323 card 0 324 device 0 # Must be of type "digital audio playback" 325 } 326 hooks.0 { 327 type ctl_elems 328 hook_args [ 329 # Enable audio output from the DSP 330 {name "Playback Path" value 5} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT 331 # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 10:R_SPK_HP 332 ] 333 } 334 } 335 336 pcm.AndroidPlayback_Speaker_Headset_ringtone { 337 type hooks 338 slave.pcm { 339 type hw 340 card 0 341 device 0 # Must be of type "digital audio playback" 342 } 343 hooks.0 { 344 type ctl_elems 345 hook_args [ 346 # Enable audio output from the DSP 347 {name "Playback Path" value 10} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT 348 # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 10:R_SPK_HP 349 ] 350 } 351 } 352 353 pcm.AndroidPlayback_Speaker_Headphone_ringtone { 354 type hooks 355 slave.pcm { 356 type hw 357 card 0 358 device 0 # Must be of type "digital audio playback" 359 } 360 hooks.0 { 361 type ctl_elems 362 hook_args [ 363 # Enable audio output from the DSP 364 {name "Playback Path" value 10} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT 365 # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 10:R_SPK_HP 366 ] 367 } 368 } 369 370 pcm.AndroidPlayback_Earpiece_incall { 371 type hooks 372 slave.pcm { 373 type hw 374 card 0 375 device 0 # Must be of type "digital audio playback" 376 } 377 hooks.0 { 378 type ctl_elems 379 hook_args [ 380 # Enable audio output from the DSP 381 {name "Voice Call Path" value 1} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT 382 ] 383 } 384 } 385 386 pcm.AndroidPlayback_Speaker_incall { 387 type hooks 388 slave.pcm { 389 type hw 390 card 0 391 device 0 # Must be of type "digital audio playback" 392 } 393 hooks.0 { 394 type ctl_elems 395 hook_args [ 396 # Enable audio output from the DSP 397 {name "Voice Call Path" value 2} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT 398 ] 399 } 400 } 401 402 pcm.AndroidPlayback_Headset_incall { 403 type hooks 404 slave.pcm { 405 type hw 406 card 0 407 device 0 # Must be of type "digital audio playback" 408 } 409 hooks.0 { 410 type ctl_elems 411 hook_args [ 412 # Enable audio output from the DSP 413 {name "Voice Call Path" value 3} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT 414 ] 415 } 416 } 417 418 pcm.AndroidPlayback_Headphone_incall { 419 type hooks 420 slave.pcm { 421 type hw 422 card 0 423 device 0 # Must be of type "digital audio playback" 424 } 425 hooks.0 { 426 type ctl_elems 427 hook_args [ 428 # Enable audio output from the DSP 429 {name "Voice Call Path" value 4} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT 430 ] 431 } 432 } 433 434 pcm.AndroidPlayback_Bluetooth_incall { 435 type hooks 436 slave.pcm { 437 type hw 438 card 0 439 device 0 # Must be of type "digital audio playback" 440 } 441 hooks.0 { 442 type ctl_elems 443 hook_args [ 444 # Enable audio output from the DSP 445 {name "Voice Call Path" value 5} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT 446 ] 447 } 448 } 449 450 pcm.AndroidPlayback_Speaker_Headset_incall { 451 type hooks 452 slave.pcm { 453 type hw 454 card 0 455 device 0 # Must be of type "digital audio playback" 456 } 457 hooks.0 { 458 type ctl_elems 459 hook_args [ 460 # Enable audio output from the DSP 461 {name "Voice Call Path" value 2} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT 462 ] 463 } 464 } 465 466 pcm.AndroidPlayback_Speaker_Headphone_incall { 467 type hooks 468 slave.pcm { 469 type hw 470 card 0 471 device 0 # Must be of type "digital audio playback" 472 } 473 hooks.0 { 474 type ctl_elems 475 hook_args [ 476 # Enable audio output from the DSP 477 {name "Voice Call Path" value 2} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT 478 ] 479 } 480 } 481 482 483 ## 484 ## Capture device 485 ## 486 487 pcm.AndroidRecord { 488 type hooks 489 slave.pcm default 490 hooks.0 { 491 type ctl_elems 492 hook_args [ 493 {name "Capture MIC Path" value 0} # 0:Main Mic 1:Ear MIC 2:BT MIC 494 ] 495 } 496 } 497 498 pcm.AndroidRecord_Microphone { 499 type hooks 500 slave.pcm default 501 hooks.0 { 502 type ctl_elems 503 hook_args [ 504 {name "Capture MIC Path" value 0} # 0:Main Mic 1:Ear MIC 2:BT MIC 505 ] 506 } 507 } 508 509 pcm.AndroidRecord_Earpiece_normal { 510 type hooks 511 slave.pcm default 512 hooks.0 { 513 type ctl_elems 514 hook_args [ 515 {name "Capture MIC Path" value 0} # 0:Main Mic 1:Ear MIC 2:BT MIC 516 ] 517 } 518 } 519 520 pcm.AndroidRecord_Speaker_normal { 521 type hooks 522 slave.pcm default 523 hooks.0 { 524 type ctl_elems 525 hook_args [ 526 {name "Capture MIC Path" value 0} # 0:Main Mic 1:Ear MIC 2:BT MIC 527 ] 528 } 529 } 530 531 pcm.AndroidRecord_Headset_normal { 532 type hooks 533 slave.pcm default 534 hooks.0 { 535 type ctl_elems 536 hook_args [ 537 {name "Capture MIC Path" value 1} # 0:Main Mic 1:Ear MIC 2:BT MIC 538 ] 539 } 540 } 541 542 pcm.AndroidRecord_Headphone_normal { 543 type hooks 544 slave.pcm default 545 hooks.0 { 546 type ctl_elems 547 hook_args [ 548 {name "Capture MIC Path" value 0} # 0:Main Mic 1:Ear MIC 2:BT MIC 549 ] 550 } 551 } 552 553 pcm.AndroidRecord_Bluetooth_normal { 554 type hooks 555 slave.pcm { 556 type hw 557 card 0 558 device 0 # Must be of type "digital audio capture" 559 } 560 hooks.0 { 561 type ctl_elems 562 hook_args [ 563 {name "Capture MIC Path" value 2} # 0:Main Mic 1:Ear MIC 2:BT MIC 564 ] 565 } 566 } 567 568 pcm.AndroidRecord_Speaker_Headset_normal { 569 type hooks 570 slave.pcm default 571 hooks.0 { 572 type ctl_elems 573 hook_args [ 574 {name "Capture MIC Path" value 0} # 0:Main Mic 1:Ear MIC 2:BT MIC 575 ] 576 } 577 } 578 579 pcm.AndroidRecord_Speaker_Headphone_normal { 580 type hooks 581 slave.pcm default 582 hooks.0 { 583 type ctl_elems 584 hook_args [ 585 {name "Capture MIC Path" value 0} # 0:Main Mic 1:Ear MIC 2:BT MIC 586 ] 587 } 588 } 589 590 pcm.AndroidRecord_Speaker_ringtone { 591 type hooks 592 slave.pcm { 593 type hw 594 card 0 595 device 0 # Must be of type "digital audio capture" 596 } 597 hooks.0 { 598 type ctl_elems 599 hook_args [ 600 {name "Playback Path" value 2} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT 601 # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 10:R_SPK_HP 602 ] 603 } 604 } 605 606 pcm.AndroidRecord_Headset_ringtone { 607 type hooks 608 slave.pcm { 609 type hw 610 card 0 611 device 0 # Must be of type "digital audio capture" 612 } 613 hooks.0 { 614 type ctl_elems 615 hook_args [ 616 {name "Playback Path" value 3} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT 617 # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 10:R_SPK_HP 618 ] 619 } 620 } 621 622 pcm.AndroidRecord_Headphone_ringtone { 623 type hooks 624 slave.pcm { 625 type hw 626 card 0 627 device 0 # Must be of type "digital audio capture" 628 } 629 hooks.0 { 630 type ctl_elems 631 hook_args [ 632 {name "Playback Path" value 4} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT 633 # 6:SPK_HP 7:R_SPK 8:R_HP 9:R_HP_NO_MIC 10:R_SPK_HP 634 ] 635 } 636 } 637 638 pcm.AndroidRecord_Earpiece_incall { 639 type hooks 640 slave.pcm default 641 hooks.0 { 642 type ctl_elems 643 hook_args [ 644 # Enable audio output from the DSP 645 {name "Capture MIC Path" value 0} # 0:Main Mic 1:Ear MIC 2:BT MIC 646 ] 647 } 648 } 649 650 pcm.AndroidRecord_Speaker_incall { 651 type hooks 652 slave.pcm default 653 hooks.0 { 654 type ctl_elems 655 hook_args [ 656 # Enable audio output from the DSP 657 {name "Capture MIC Path" value 0} # 0:Main Mic 1:Ear MIC 2:BT MIC 658 ] 659 } 660 } 661 662 pcm.AndroidRecord_Headset_incall { 663 type hooks 664 slave.pcm default 665 hooks.0 { 666 type ctl_elems 667 hook_args [ 668 # Enable audio output from the DSP 669 {name "Capture MIC Path" value 1} # 0:Main Mic 1:Ear MIC 2:BT MIC 670 ] 671 } 672 } 673 674 pcm.AndroidRecord_Headphone_incall { 675 type hooks 676 slave.pcm default 677 hooks.0 { 678 type ctl_elems 679 hook_args [ 680 # Enable audio output from the DSP 681 {name "Capture MIC Path" value 0} # 0:Main Mic 1:Ear MIC 2:BT MIC 682 ] 683 } 684 } 685 686 pcm.AndroidRecord_Bluetooth_incall { 687 type hooks 688 slave.pcm default 689 hooks.0 { 690 type ctl_elems 691 hook_args [ 692 # Enable audio output from the DSP 693 {name "Capture MIC Path" value 2} # 0:Main Mic 1:Ear MIC 2:BT MIC 694 ] 695 } 696 } 697 698 pcm.AndroidRecord_Speaker_Headset_incall { 699 type hooks 700 slave.pcm default 701 hooks.0 { 702 type ctl_elems 703 hook_args [ 704 # Enable audio output from the DSP 705 {name "Capture MIC Path" value 1} # 0:Main Mic 1:Ear MIC 2:BT MIC 706 {name "Voice Call Path" value 3} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT 707 ] 708 } 709 } 710 711 pcm.AndroidRecord_Speaker_Headphone_incall { 712 type hooks 713 slave.pcm default 714 hooks.0 { 715 type ctl_elems 716 hook_args [ 717 # Enable audio output from the DSP 718 {name "Capture MIC Path" value 0} # 0:Main Mic 1:Ear MIC 2:BT MIC 719 {name "Voice Call Path" value 4} # 0:OFF 1:RCV 2:SPK 3:HP 4:HP_NO_MIC 5:BT 720 ] 721 } 722 } 723