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