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