1# Helper to resolve issues with configs that have SPI enabled but I2C 2# modular, meaning we can't build the codec driver in with I2C support. 3# We use an ordered list of conditional defaults to pick the appropriate 4# setting - SPI can't be modular so that case doesn't need to be covered. 5config SND_SOC_I2C_AND_SPI 6 tristate 7 default m if I2C=m 8 default y if I2C=y 9 default y if SPI_MASTER=y 10 11menu "CODEC drivers" 12 13config SND_SOC_ALL_CODECS 14 tristate "Build all ASoC CODEC drivers" 15 depends on COMPILE_TEST 16 select SND_SOC_88PM860X if MFD_88PM860X 17 select SND_SOC_L3 18 select SND_SOC_AB8500_CODEC if ABX500_CORE 19 select SND_SOC_AC97_CODEC if SND_SOC_AC97_BUS 20 select SND_SOC_AD1836 if SPI_MASTER 21 select SND_SOC_AD193X_SPI if SPI_MASTER 22 select SND_SOC_AD193X_I2C if I2C 23 select SND_SOC_AD1980 if SND_SOC_AC97_BUS 24 select SND_SOC_AD73311 25 select SND_SOC_ADAU1373 if I2C 26 select SND_SOC_ADAV801 if SPI_MASTER 27 select SND_SOC_ADAV803 if I2C 28 select SND_SOC_ADAU1977_SPI if SPI_MASTER 29 select SND_SOC_ADAU1977_I2C if I2C 30 select SND_SOC_ADAU1701 if I2C 31 select SND_SOC_ADS117X 32 select SND_SOC_AK4104 if SPI_MASTER 33 select SND_SOC_AK4535 if I2C 34 select SND_SOC_AK4554 35 select SND_SOC_AK4641 if I2C 36 select SND_SOC_AK4642 if I2C 37 select SND_SOC_AK4671 if I2C 38 select SND_SOC_AK5386 39 select SND_SOC_ALC5623 if I2C 40 select SND_SOC_ALC5632 if I2C 41 select SND_SOC_CQ0093VC if MFD_DAVINCI_VOICECODEC 42 select SND_SOC_CS42L51_I2C if I2C 43 select SND_SOC_CS42L52 if I2C && INPUT 44 select SND_SOC_CS42L56 if I2C && INPUT 45 select SND_SOC_CS42L73 if I2C 46 select SND_SOC_CS4270 if I2C 47 select SND_SOC_CS4271 if SND_SOC_I2C_AND_SPI 48 select SND_SOC_CS42XX8_I2C if I2C 49 select SND_SOC_CX20442 if TTY 50 select SND_SOC_DA7210 if I2C 51 select SND_SOC_DA7213 if I2C 52 select SND_SOC_DA732X if I2C 53 select SND_SOC_DA9055 if I2C 54 select SND_SOC_BT_SCO 55 select SND_SOC_ISABELLE if I2C 56 select SND_SOC_JZ4740_CODEC 57 select SND_SOC_LM4857 if I2C 58 select SND_SOC_LM49453 if I2C 59 select SND_SOC_MAX98088 if I2C 60 select SND_SOC_MAX98090 if I2C 61 select SND_SOC_MAX98095 if I2C 62 select SND_SOC_MAX9850 if I2C 63 select SND_SOC_MAX9768 if I2C 64 select SND_SOC_MAX9877 if I2C 65 select SND_SOC_MC13783 if MFD_MC13XXX 66 select SND_SOC_ML26124 if I2C 67 select SND_SOC_HDMI_CODEC 68 select SND_SOC_PCM1681 if I2C 69 select SND_SOC_PCM1792A if SPI_MASTER 70 select SND_SOC_PCM3008 71 select SND_SOC_PCM512x_I2C if I2C 72 select SND_SOC_PCM512x_SPI if SPI_MASTER 73 select SND_SOC_RT5631 if I2C 74 select SND_SOC_RT5640 if I2C 75 select SND_SOC_RT5645 if I2C 76 select SND_SOC_RT5651 if I2C 77 select SND_SOC_SGTL5000 if I2C 78 select SND_SOC_SI476X if MFD_SI476X_CORE 79 select SND_SOC_SIRF_AUDIO_CODEC 80 select SND_SOC_SN95031 if INTEL_SCU_IPC 81 select SND_SOC_SPDIF 82 select SND_SOC_SSM2518 if I2C 83 select SND_SOC_SSM2602_SPI if SPI_MASTER 84 select SND_SOC_SSM2602_I2C if I2C 85 select SND_SOC_STA32X if I2C 86 select SND_SOC_STA350 if I2C 87 select SND_SOC_STA529 if I2C 88 select SND_SOC_STAC9766 if SND_SOC_AC97_BUS 89 select SND_SOC_TAS5086 if I2C 90 select SND_SOC_TLV320AIC23_I2C if I2C 91 select SND_SOC_TLV320AIC23_SPI if SPI_MASTER 92 select SND_SOC_TLV320AIC26 if SPI_MASTER 93 select SND_SOC_TLV320AIC31XX if I2C 94 select SND_SOC_TLV320AIC32X4 if I2C 95 select SND_SOC_TLV320AIC3X if I2C 96 select SND_SOC_TPA6130A2 if I2C 97 select SND_SOC_TLV320DAC33 if I2C 98 select SND_SOC_TWL4030 if TWL4030_CORE 99 select SND_SOC_TWL6040 if TWL6040_CORE 100 select SND_SOC_UDA134X 101 select SND_SOC_UDA1380 if I2C 102 select SND_SOC_WL1273 if MFD_WL1273_CORE 103 select SND_SOC_WM0010 if SPI_MASTER 104 select SND_SOC_WM1250_EV1 if I2C 105 select SND_SOC_WM2000 if I2C 106 select SND_SOC_WM2200 if I2C 107 select SND_SOC_WM5100 if I2C 108 select SND_SOC_WM5102 if MFD_WM5102 109 select SND_SOC_WM5110 if MFD_WM5110 110 select SND_SOC_WM8350 if MFD_WM8350 111 select SND_SOC_WM8400 if MFD_WM8400 112 select SND_SOC_WM8510 if SND_SOC_I2C_AND_SPI 113 select SND_SOC_WM8523 if I2C 114 select SND_SOC_WM8580 if I2C 115 select SND_SOC_WM8711 if SND_SOC_I2C_AND_SPI 116 select SND_SOC_WM8727 117 select SND_SOC_WM8728 if SND_SOC_I2C_AND_SPI 118 select SND_SOC_WM8731 if SND_SOC_I2C_AND_SPI 119 select SND_SOC_WM8737 if SND_SOC_I2C_AND_SPI 120 select SND_SOC_WM8741 if SND_SOC_I2C_AND_SPI 121 select SND_SOC_WM8750 if SND_SOC_I2C_AND_SPI 122 select SND_SOC_WM8753 if SND_SOC_I2C_AND_SPI 123 select SND_SOC_WM8770 if SPI_MASTER 124 select SND_SOC_WM8776 if SND_SOC_I2C_AND_SPI 125 select SND_SOC_WM8782 126 select SND_SOC_WM8804 if SND_SOC_I2C_AND_SPI 127 select SND_SOC_WM8900 if I2C 128 select SND_SOC_WM8903 if I2C 129 select SND_SOC_WM8904 if I2C 130 select SND_SOC_WM8940 if I2C 131 select SND_SOC_WM8955 if I2C 132 select SND_SOC_WM8960 if I2C 133 select SND_SOC_WM8961 if I2C 134 select SND_SOC_WM8962 if I2C && INPUT 135 select SND_SOC_WM8971 if I2C 136 select SND_SOC_WM8974 if I2C 137 select SND_SOC_WM8978 if I2C 138 select SND_SOC_WM8983 if SND_SOC_I2C_AND_SPI 139 select SND_SOC_WM8985 if SND_SOC_I2C_AND_SPI 140 select SND_SOC_WM8988 if SND_SOC_I2C_AND_SPI 141 select SND_SOC_WM8990 if I2C 142 select SND_SOC_WM8991 if I2C 143 select SND_SOC_WM8993 if I2C 144 select SND_SOC_WM8994 if MFD_WM8994 145 select SND_SOC_WM8995 if SND_SOC_I2C_AND_SPI 146 select SND_SOC_WM8996 if I2C 147 select SND_SOC_WM8997 if MFD_WM8997 148 select SND_SOC_WM9081 if I2C 149 select SND_SOC_WM9090 if I2C 150 select SND_SOC_WM9705 if SND_SOC_AC97_BUS 151 select SND_SOC_WM9712 if SND_SOC_AC97_BUS 152 select SND_SOC_WM9713 if SND_SOC_AC97_BUS 153 help 154 Normally ASoC codec drivers are only built if a machine driver which 155 uses them is also built since they are only usable with a machine 156 driver. Selecting this option will allow these drivers to be built 157 without an explicit machine driver for test and development purposes. 158 159 Support for the bus types used to access the codecs to be built must 160 be selected separately. 161 162 If unsure select "N". 163 164config SND_SOC_88PM860X 165 tristate 166 167config SND_SOC_ARIZONA 168 tristate 169 default y if SND_SOC_WM5102=y 170 default y if SND_SOC_WM5110=y 171 default y if SND_SOC_WM8997=y 172 default m if SND_SOC_WM5102=m 173 default m if SND_SOC_WM5110=m 174 default m if SND_SOC_WM8997=m 175 176config SND_SOC_WM_HUBS 177 tristate 178 default y if SND_SOC_WM8993=y || SND_SOC_WM8994=y 179 default m if SND_SOC_WM8993=m || SND_SOC_WM8994=m 180 181config SND_SOC_WM_ADSP 182 tristate 183 default y if SND_SOC_WM5102=y 184 default y if SND_SOC_WM5110=y 185 default y if SND_SOC_WM2200=y 186 default m if SND_SOC_WM5102=m 187 default m if SND_SOC_WM5110=m 188 default m if SND_SOC_WM2200=m 189 190config SND_SOC_AB8500_CODEC 191 tristate 192 193config SND_SOC_AC97_CODEC 194 tristate 195 select SND_AC97_CODEC 196 197config SND_SOC_AD1836 198 tristate 199 200config SND_SOC_AD193X 201 tristate 202 203config SND_SOC_AD193X_SPI 204 tristate 205 select SND_SOC_AD193X 206 207config SND_SOC_AD193X_I2C 208 tristate 209 select SND_SOC_AD193X 210 211config SND_SOC_AD1980 212 tristate 213 214config SND_SOC_AD73311 215 tristate 216 217config SND_SOC_ADAU1701 218 tristate "Analog Devices ADAU1701 CODEC" 219 depends on I2C 220 select SND_SOC_SIGMADSP 221 222config SND_SOC_ADAU1373 223 tristate 224 225config SND_SOC_ADAU1977 226 tristate 227 228config SND_SOC_ADAU1977_SPI 229 tristate 230 select SND_SOC_ADAU1977 231 select REGMAP_SPI 232 233config SND_SOC_ADAU1977_I2C 234 tristate 235 select SND_SOC_ADAU1977 236 select REGMAP_I2C 237 238config SND_SOC_ADAV80X 239 tristate 240 241config SND_SOC_ADAV801 242 tristate 243 select SND_SOC_ADAV80X 244 245config SND_SOC_ADAV803 246 tristate 247 select SND_SOC_ADAV80X 248 249config SND_SOC_ADS117X 250 tristate 251 252config SND_SOC_AK4104 253 tristate "AKM AK4104 CODEC" 254 depends on SPI_MASTER 255 256config SND_SOC_AK4535 257 tristate 258 259config SND_SOC_AK4554 260 tristate "AKM AK4554 CODEC" 261 262config SND_SOC_AK4641 263 tristate 264 265config SND_SOC_AK4642 266 tristate "AKM AK4642 CODEC" 267 depends on I2C 268 269config SND_SOC_AK4671 270 tristate 271 272config SND_SOC_AK5386 273 tristate "AKM AK5638 CODEC" 274 275config SND_SOC_ALC5623 276 tristate "Realtek ALC5623 CODEC" 277 278config SND_SOC_ALC5632 279 tristate 280 281config SND_SOC_CQ0093VC 282 tristate 283 284config SND_SOC_CS42L51 285 tristate 286 287config SND_SOC_CS42L51_I2C 288 tristate 289 select SND_SOC_CS42L51 290 291config SND_SOC_CS42L52 292 tristate "Cirrus Logic CS42L52 CODEC" 293 depends on I2C && INPUT 294 295config SND_SOC_CS42L56 296 tristate "Cirrus Logic CS42L56 CODEC" 297 depends on I2C && INPUT 298 299config SND_SOC_CS42L73 300 tristate "Cirrus Logic CS42L73 CODEC" 301 depends on I2C 302 303# Cirrus Logic CS4270 Codec 304config SND_SOC_CS4270 305 tristate "Cirrus Logic CS4270 CODEC" 306 depends on I2C 307 308# Cirrus Logic CS4270 Codec VD = 3.3V Errata 309# Select if you are affected by the errata where the part will not function 310# if MCLK divide-by-1.5 is selected and VD is set to 3.3V. The driver will 311# not select any sample rates that require MCLK to be divided by 1.5. 312config SND_SOC_CS4270_VD33_ERRATA 313 bool 314 depends on SND_SOC_CS4270 315 316config SND_SOC_CS4271 317 tristate "Cirrus Logic CS4271 CODEC" 318 depends on SND_SOC_I2C_AND_SPI 319 320config SND_SOC_CS42XX8 321 tristate 322 323config SND_SOC_CS42XX8_I2C 324 tristate "Cirrus Logic CS42448/CS42888 CODEC (I2C)" 325 depends on I2C 326 select SND_SOC_CS42XX8 327 select REGMAP_I2C 328 329config SND_SOC_CX20442 330 tristate 331 depends on TTY 332 333config SND_SOC_JZ4740_CODEC 334 select REGMAP_MMIO 335 tristate 336 337config SND_SOC_L3 338 tristate 339 340config SND_SOC_DA7210 341 tristate 342 343config SND_SOC_DA7213 344 tristate 345 346config SND_SOC_DA732X 347 tristate 348 349config SND_SOC_DA9055 350 tristate 351 352config SND_SOC_BT_SCO 353 tristate 354 355config SND_SOC_DMIC 356 tristate 357 358config SND_SOC_HDMI_CODEC 359 tristate "HDMI stub CODEC" 360 361config SND_SOC_ISABELLE 362 tristate 363 364config SND_SOC_LM49453 365 tristate 366 367config SND_SOC_MAX98088 368 tristate 369 370config SND_SOC_MAX98090 371 tristate 372 373config SND_SOC_MAX98095 374 tristate 375 376config SND_SOC_MAX9850 377 tristate 378 379config SND_SOC_PCM1681 380 tristate "Texas Instruments PCM1681 CODEC" 381 depends on I2C 382 383config SND_SOC_PCM1792A 384 tristate "Texas Instruments PCM1792A CODEC" 385 depends on SPI_MASTER 386 387config SND_SOC_PCM3008 388 tristate 389 390config SND_SOC_PCM512x 391 tristate 392 393config SND_SOC_PCM512x_I2C 394 tristate "Texas Instruments PCM512x CODECs - I2C" 395 depends on I2C 396 select SND_SOC_PCM512x 397 select REGMAP_I2C 398 399config SND_SOC_PCM512x_SPI 400 tristate "Texas Instruments PCM512x CODECs - SPI" 401 depends on SPI_MASTER 402 select SND_SOC_PCM512x 403 select REGMAP_SPI 404 405config SND_SOC_RT5631 406 tristate 407 408config SND_SOC_RT5640 409 tristate 410 411config SND_SOC_RT5645 412 tristate 413 414config SND_SOC_RT5651 415 tristate 416 417#Freescale sgtl5000 codec 418config SND_SOC_SGTL5000 419 tristate "Freescale SGTL5000 CODEC" 420 depends on I2C 421 422config SND_SOC_SI476X 423 tristate 424 425config SND_SOC_SIGMADSP 426 tristate 427 select CRC32 428 429config SND_SOC_SIRF_AUDIO_CODEC 430 tristate "SiRF SoC internal audio codec" 431 select REGMAP_MMIO 432 433config SND_SOC_SN95031 434 tristate 435 436config SND_SOC_SPDIF 437 tristate "S/PDIF CODEC" 438 439config SND_SOC_SSM2518 440 tristate 441 442config SND_SOC_SSM2602 443 tristate 444 445config SND_SOC_SSM2602_SPI 446 select SND_SOC_SSM2602 447 tristate 448 449config SND_SOC_SSM2602_I2C 450 select SND_SOC_SSM2602 451 tristate 452 453config SND_SOC_STA32X 454 tristate 455 456config SND_SOC_STA350 457 tristate "STA350 speaker amplifier" 458 depends on I2C 459 460config SND_SOC_STA529 461 tristate 462 463config SND_SOC_STAC9766 464 tristate 465 466config SND_SOC_TAS5086 467 tristate "Texas Instruments TAS5086 speaker amplifier" 468 depends on I2C 469 470config SND_SOC_TLV320AIC23 471 tristate 472 473config SND_SOC_TLV320AIC23_I2C 474 tristate 475 select SND_SOC_TLV320AIC23 476 477config SND_SOC_TLV320AIC23_SPI 478 tristate 479 select SND_SOC_TLV320AIC23 480 481config SND_SOC_TLV320AIC26 482 tristate 483 depends on SPI 484 485config SND_SOC_TLV320AIC31XX 486 tristate 487 488config SND_SOC_TLV320AIC32X4 489 tristate 490 491config SND_SOC_TLV320AIC3X 492 tristate "Texas Instruments TLV320AIC3x CODECs" 493 depends on I2C 494 495config SND_SOC_TLV320DAC33 496 tristate 497 498config SND_SOC_TWL4030 499 select MFD_TWL4030_AUDIO 500 tristate 501 502config SND_SOC_TWL6040 503 tristate 504 505config SND_SOC_UDA134X 506 tristate 507 508config SND_SOC_UDA1380 509 tristate 510 511config SND_SOC_WL1273 512 tristate 513 514config SND_SOC_WM0010 515 tristate 516 517config SND_SOC_WM1250_EV1 518 tristate 519 520config SND_SOC_WM2000 521 tristate 522 523config SND_SOC_WM2200 524 tristate 525 526config SND_SOC_WM5100 527 tristate 528 529config SND_SOC_WM5102 530 tristate 531 532config SND_SOC_WM5110 533 tristate 534 535config SND_SOC_WM8350 536 tristate 537 538config SND_SOC_WM8400 539 tristate 540 541config SND_SOC_WM8510 542 tristate "Wolfson Microelectronics WM8510 CODEC" 543 depends on SND_SOC_I2C_AND_SPI 544 545config SND_SOC_WM8523 546 tristate "Wolfson Microelectronics WM8523 DAC" 547 depends on I2C 548 549config SND_SOC_WM8580 550 tristate "Wolfson Microelectronics WM8523 CODEC" 551 depends on I2C 552 553config SND_SOC_WM8711 554 tristate "Wolfson Microelectronics WM8711 CODEC" 555 depends on SND_SOC_I2C_AND_SPI 556 557config SND_SOC_WM8727 558 tristate 559 560config SND_SOC_WM8728 561 tristate "Wolfson Microelectronics WM8728 DAC" 562 depends on SND_SOC_I2C_AND_SPI 563 564config SND_SOC_WM8731 565 tristate "Wolfson Microelectronics WM8731 CODEC" 566 depends on SND_SOC_I2C_AND_SPI 567 568config SND_SOC_WM8737 569 tristate "Wolfson Microelectronics WM8737 ADC" 570 depends on SND_SOC_I2C_AND_SPI 571 572config SND_SOC_WM8741 573 tristate "Wolfson Microelectronics WM8737 DAC" 574 depends on SND_SOC_I2C_AND_SPI 575 576config SND_SOC_WM8750 577 tristate "Wolfson Microelectronics WM8750 CODEC" 578 depends on SND_SOC_I2C_AND_SPI 579 580config SND_SOC_WM8753 581 tristate "Wolfson Microelectronics WM8753 CODEC" 582 depends on SND_SOC_I2C_AND_SPI 583 584config SND_SOC_WM8770 585 tristate "Wolfson Microelectronics WM8770 CODEC" 586 depends on SPI_MASTER 587 588config SND_SOC_WM8776 589 tristate "Wolfson Microelectronics WM8776 CODEC" 590 depends on SND_SOC_I2C_AND_SPI 591 592config SND_SOC_WM8782 593 tristate 594 595config SND_SOC_WM8804 596 tristate "Wolfson Microelectronics WM8804 S/PDIF transceiver" 597 depends on SND_SOC_I2C_AND_SPI 598 599config SND_SOC_WM8900 600 tristate 601 602config SND_SOC_WM8903 603 tristate "Wolfson Microelectronics WM8903 CODEC" 604 depends on I2C 605 606config SND_SOC_WM8904 607 tristate 608 609config SND_SOC_WM8940 610 tristate 611 612config SND_SOC_WM8955 613 tristate 614 615config SND_SOC_WM8960 616 tristate 617 618config SND_SOC_WM8961 619 tristate 620 621config SND_SOC_WM8962 622 tristate "Wolfson Microelectronics WM8962 CODEC" 623 depends on I2C && INPUT 624 625config SND_SOC_WM8971 626 tristate 627 628config SND_SOC_WM8974 629 tristate 630 631config SND_SOC_WM8978 632 tristate 633 634config SND_SOC_WM8983 635 tristate 636 637config SND_SOC_WM8985 638 tristate 639 640config SND_SOC_WM8988 641 tristate 642 643config SND_SOC_WM8990 644 tristate 645 646config SND_SOC_WM8991 647 tristate 648 649config SND_SOC_WM8993 650 tristate 651 652config SND_SOC_WM8994 653 tristate 654 655config SND_SOC_WM8995 656 tristate 657 658config SND_SOC_WM8996 659 tristate 660 661config SND_SOC_WM8997 662 tristate 663 664config SND_SOC_WM9081 665 tristate 666 667config SND_SOC_WM9090 668 tristate 669 670config SND_SOC_WM9705 671 tristate 672 673config SND_SOC_WM9712 674 tristate 675 676config SND_SOC_WM9713 677 tristate 678 679# Amp 680config SND_SOC_LM4857 681 tristate 682 683config SND_SOC_MAX9768 684 tristate 685 686config SND_SOC_MAX9877 687 tristate 688 689config SND_SOC_MC13783 690 tristate 691 692config SND_SOC_ML26124 693 tristate 694 695config SND_SOC_TPA6130A2 696 tristate "Texas Instruments TPA6130A2 headphone amplifier" 697 depends on I2C 698 699endmenu 700