ASoC: codecs: add support for rk3328
[firefly-linux-kernel-4.4.55.git] / sound / soc / codecs / Kconfig
index d0212115e0b492ce12a2e2d8358d312706e25fc3..73396e2acacef5b2c26d7d6103581356d5c68fbd 100644 (file)
@@ -8,21 +8,35 @@ config SND_SOC_I2C_AND_SPI
        default y if I2C=y
        default y if SPI_MASTER=y
 
+menu "CODEC drivers"
+
 config SND_SOC_ALL_CODECS
        tristate "Build all ASoC CODEC drivers"
+       depends on COMPILE_TEST
        select SND_SOC_88PM860X if MFD_88PM860X
        select SND_SOC_L3
        select SND_SOC_AB8500_CODEC if ABX500_CORE
-       select SND_SOC_AC97_CODEC if SND_SOC_AC97_BUS
+       select SND_SOC_AC97_CODEC
        select SND_SOC_AD1836 if SPI_MASTER
-       select SND_SOC_AD193X if SND_SOC_I2C_AND_SPI
+       select SND_SOC_AD193X_SPI if SPI_MASTER
+       select SND_SOC_AD193X_I2C if I2C
        select SND_SOC_AD1980 if SND_SOC_AC97_BUS
        select SND_SOC_AD73311
        select SND_SOC_ADAU1373 if I2C
-       select SND_SOC_ADAV80X
+       select SND_SOC_ADAU1761_I2C if I2C
+       select SND_SOC_ADAU1761_SPI if SPI
+       select SND_SOC_ADAU1781_I2C if I2C
+       select SND_SOC_ADAU1781_SPI if SPI
+       select SND_SOC_ADAV801 if SPI_MASTER
+       select SND_SOC_ADAV803 if I2C
+       select SND_SOC_ADAU1977_SPI if SPI_MASTER
+       select SND_SOC_ADAU1977_I2C if I2C
+       select SND_SOC_ADAU1701 if I2C
        select SND_SOC_ADS117X
        select SND_SOC_AK4104 if SPI_MASTER
        select SND_SOC_AK4535 if I2C
+       select SND_SOC_AK4554
+       select SND_SOC_AK4613 if I2C
        select SND_SOC_AK4641 if I2C
        select SND_SOC_AK4642 if I2C
        select SND_SOC_AK4671 if I2C
@@ -30,52 +44,90 @@ config SND_SOC_ALL_CODECS
        select SND_SOC_ALC5623 if I2C
        select SND_SOC_ALC5632 if I2C
        select SND_SOC_CQ0093VC if MFD_DAVINCI_VOICECODEC
-       select SND_SOC_CS42L51 if I2C
-       select SND_SOC_CS42L52 if I2C
+       select SND_SOC_CS35L32 if I2C
+       select SND_SOC_CS42L51_I2C if I2C
+       select SND_SOC_CS42L52 if I2C && INPUT
+       select SND_SOC_CS42L56 if I2C && INPUT
        select SND_SOC_CS42L73 if I2C
+       select SND_SOC_CS4265 if I2C
        select SND_SOC_CS4270 if I2C
-       select SND_SOC_CS4271 if SND_SOC_I2C_AND_SPI
+       select SND_SOC_CS4271_I2C if I2C
+       select SND_SOC_CS4271_SPI if SPI_MASTER
+       select SND_SOC_CS42XX8_I2C if I2C
+       select SND_SOC_CS4349 if I2C
        select SND_SOC_CX20442 if TTY
-       select SND_SOC_DA7210 if I2C
+       select SND_SOC_CX2072X if I2C
+       select SND_SOC_DA7210 if SND_SOC_I2C_AND_SPI
        select SND_SOC_DA7213 if I2C
+       select SND_SOC_DA7219 if I2C
        select SND_SOC_DA732X if I2C
        select SND_SOC_DA9055 if I2C
-       select SND_SOC_DFBMCS320
-       select SND_SOC_ISABELLE if I2C
-       select SND_SOC_ES8323 if SND_SOC_I2C_AND_SPI
+       select SND_SOC_DMIC
+       select SND_SOC_BT_SCO
        select SND_SOC_ES8316 if I2C
-       select SND_SOC_ES8323_PCM if SND_SOC_I2C_AND_SPI
+       select SND_SOC_ES8323 if I2C
+       select SND_SOC_ES8328_SPI if SPI_MASTER
+       select SND_SOC_ES8328_I2C if I2C
+       select SND_SOC_GTM601
+       select SND_SOC_ICS43432
+       select SND_SOC_ISABELLE if I2C
        select SND_SOC_JZ4740_CODEC
        select SND_SOC_LM4857 if I2C
        select SND_SOC_LM49453 if I2C
        select SND_SOC_MAX98088 if I2C
        select SND_SOC_MAX98090 if I2C
        select SND_SOC_MAX98095 if I2C
+       select SND_SOC_MAX98357A if GPIOLIB
+       select SND_SOC_MAX98925 if I2C
        select SND_SOC_MAX9850 if I2C
        select SND_SOC_MAX9768 if I2C
        select SND_SOC_MAX9877 if I2C
        select SND_SOC_MC13783 if MFD_MC13XXX
        select SND_SOC_ML26124 if I2C
-       select SND_SOC_OMAP_HDMI_CODEC if OMAP4_DSS_HDMI
+       select SND_SOC_NAU8825 if I2C
+       select SND_SOC_HDMI_CODEC
+       select SND_SOC_PCM1681 if I2C
+       select SND_SOC_PCM1792A if SPI_MASTER
        select SND_SOC_PCM3008
+       select SND_SOC_PCM512x_I2C if I2C
+       select SND_SOC_PCM512x_SPI if SPI_MASTER
+       select SND_SOC_RK3328
+       select SND_SOC_RT286 if I2C
+       select SND_SOC_RT298 if I2C
+       select SND_SOC_RT5616 if I2C
+       select SND_SOC_RT5631 if I2C
+       select SND_SOC_RT5640 if I2C
+       select SND_SOC_RT5645 if I2C
+       select SND_SOC_RT5651 if I2C
+       select SND_SOC_RT5670 if I2C
+       select SND_SOC_RT5677 if I2C && SPI_MASTER
        select SND_SOC_SGTL5000 if I2C
        select SND_SOC_SI476X if MFD_SI476X_CORE
+       select SND_SOC_SIRF_AUDIO_CODEC
        select SND_SOC_SN95031 if INTEL_SCU_IPC
-       select SND_SOC_HDMI_I2S
-       select SND_SOC_HDMI_SPDIF
-
-       select SND_SOC_SSM2602 if SND_SOC_I2C_AND_SPI
+       select SND_SOC_SPDIF
+       select SND_SOC_SSM2518 if I2C
+       select SND_SOC_SSM2602_SPI if SPI_MASTER
+       select SND_SOC_SSM2602_I2C if I2C
+       select SND_SOC_SSM4567 if I2C
        select SND_SOC_STA32X if I2C
+       select SND_SOC_STA350 if I2C
        select SND_SOC_STA529 if I2C
        select SND_SOC_STAC9766 if SND_SOC_AC97_BUS
+       select SND_SOC_STI_SAS
+       select SND_SOC_TAS2552 if I2C
        select SND_SOC_TAS5086 if I2C
-       select SND_SOC_TLV320AIC23 if I2C
+       select SND_SOC_TAS571X if I2C
+       select SND_SOC_TFA9879 if I2C
+       select SND_SOC_TLV320AIC23_I2C if I2C
+       select SND_SOC_TLV320AIC23_SPI if SPI_MASTER
        select SND_SOC_TLV320AIC26 if SPI_MASTER
+       select SND_SOC_TLV320AIC31XX if I2C
        select SND_SOC_TLV320AIC32X4 if I2C
        select SND_SOC_TLV320AIC3X if I2C
        select SND_SOC_TPA6130A2 if I2C
        select SND_SOC_TLV320DAC33 if I2C
-       select SND_SOC_TLV320AIC3111 if I2C
+       select SND_SOC_TS3A227E if I2C
        select SND_SOC_TWL4030 if TWL4030_CORE
        select SND_SOC_TWL6040 if TWL6040_CORE
        select SND_SOC_UDA134X
@@ -104,30 +156,16 @@ config SND_SOC_ALL_CODECS
        select SND_SOC_WM8770 if SPI_MASTER
        select SND_SOC_WM8776 if SND_SOC_I2C_AND_SPI
        select SND_SOC_WM8782
-       select SND_SOC_WM8804 if SND_SOC_I2C_AND_SPI
+       select SND_SOC_WM8804_I2C if I2C
+       select SND_SOC_WM8804_SPI if SPI_MASTER
        select SND_SOC_WM8900 if I2C
-       select SND_SOC_RT5621 if I2C
-       select SND_SOC_RT5631 if I2C
-       select SND_SOC_AK4396 if SPI_MASTER
-       select SND_SOC_RT5631_PHONE if I2C
-       select SND_SOC_RT5625 if I2C
-       select SND_SOC_RT5640 if I2C
-       select SND_SOC_RT3261 if I2C
-       select SND_SOC_RT3224 if I2C
-       select SND_SOC_RT5623 if I2C
-       select SND_SOC_RT5639 if I2C
-       select SND_SOC_RT5616 if I2C
-       select SND_SOC_RT5512 if I2C
-       select SND_SOC_RK610 if I2C
-       select SND_SOC_RK616 if I2C
-       select SND_SOC_RK1000 if I2C
-       select SND_SOC_WM8903 if I2C && GENERIC_HARDIRQS
+       select SND_SOC_WM8903 if I2C
        select SND_SOC_WM8904 if I2C
        select SND_SOC_WM8940 if I2C
        select SND_SOC_WM8955 if I2C
        select SND_SOC_WM8960 if I2C
        select SND_SOC_WM8961 if I2C
-       select SND_SOC_WM8962 if I2C
+       select SND_SOC_WM8962 if I2C && INPUT
        select SND_SOC_WM8971 if I2C
        select SND_SOC_WM8974 if I2C
        select SND_SOC_WM8978 if I2C
@@ -140,6 +178,8 @@ config SND_SOC_ALL_CODECS
        select SND_SOC_WM8994 if MFD_WM8994
        select SND_SOC_WM8995 if SND_SOC_I2C_AND_SPI
        select SND_SOC_WM8996 if I2C
+       select SND_SOC_WM8997 if MFD_WM8997
+       select SND_SOC_WM8998 if MFD_WM8998
        select SND_SOC_WM9081 if I2C
        select SND_SOC_WM9090 if I2C
        select SND_SOC_WM9705 if SND_SOC_AC97_BUS
@@ -163,8 +203,12 @@ config SND_SOC_ARIZONA
        tristate
        default y if SND_SOC_WM5102=y
        default y if SND_SOC_WM5110=y
+       default y if SND_SOC_WM8997=y
+       default y if SND_SOC_WM8998=y
        default m if SND_SOC_WM5102=m
        default m if SND_SOC_WM5110=m
+       default m if SND_SOC_WM8997=m
+       default m if SND_SOC_WM8998=m
 
 config SND_SOC_WM_HUBS
        tristate
@@ -174,16 +218,19 @@ config SND_SOC_WM_HUBS
 config SND_SOC_WM_ADSP
        tristate
        default y if SND_SOC_WM5102=y
+       default y if SND_SOC_WM5110=y
        default y if SND_SOC_WM2200=y
        default m if SND_SOC_WM5102=m
+       default m if SND_SOC_WM5110=m
        default m if SND_SOC_WM2200=m
 
 config SND_SOC_AB8500_CODEC
        tristate
 
 config SND_SOC_AC97_CODEC
-       tristate
+       tristate "Build generic ASoC AC97 CODEC driver"
        select SND_AC97_CODEC
+       select SND_SOC_AC97_BUS
 
 config SND_SOC_AD1836
        tristate
@@ -191,63 +238,158 @@ config SND_SOC_AD1836
 config SND_SOC_AD193X
        tristate
 
+config SND_SOC_AD193X_SPI
+       tristate
+       select SND_SOC_AD193X
+
+config SND_SOC_AD193X_I2C
+       tristate
+       select SND_SOC_AD193X
+
 config SND_SOC_AD1980
+       select REGMAP_AC97
        tristate
 
 config SND_SOC_AD73311
        tristate
 
+config SND_SOC_ADAU1373
+       tristate
+
 config SND_SOC_ADAU1701
-       select SND_SOC_SIGMADSP
+       tristate "Analog Devices ADAU1701 CODEC"
+       depends on I2C
+       select SND_SOC_SIGMADSP_I2C
+
+config SND_SOC_ADAU17X1
        tristate
+       select SND_SOC_SIGMADSP_REGMAP
 
-config SND_SOC_ADAU1373
+config SND_SOC_ADAU1761
+       tristate
+       select SND_SOC_ADAU17X1
+
+config SND_SOC_ADAU1761_I2C
+       tristate
+       select SND_SOC_ADAU1761
+       select REGMAP_I2C
+
+config SND_SOC_ADAU1761_SPI
+       tristate
+       select SND_SOC_ADAU1761
+       select REGMAP_SPI
+
+config SND_SOC_ADAU1781
+       select SND_SOC_ADAU17X1
+       tristate
+
+config SND_SOC_ADAU1781_I2C
+       tristate
+       select SND_SOC_ADAU1781
+       select REGMAP_I2C
+
+config SND_SOC_ADAU1781_SPI
+       tristate
+       select SND_SOC_ADAU1781
+       select REGMAP_SPI
+
+config SND_SOC_ADAU1977
+       tristate
+
+config SND_SOC_ADAU1977_SPI
        tristate
+       select SND_SOC_ADAU1977
+       select REGMAP_SPI
+
+config SND_SOC_ADAU1977_I2C
+       tristate
+       select SND_SOC_ADAU1977
+       select REGMAP_I2C
 
 config SND_SOC_ADAV80X
        tristate
 
+config SND_SOC_ADAV801
+       tristate
+       select SND_SOC_ADAV80X
+
+config SND_SOC_ADAV803
+       tristate
+       select SND_SOC_ADAV80X
+
 config SND_SOC_ADS117X
        tristate
 
 config SND_SOC_AK4104
-       tristate
+       tristate "AKM AK4104 CODEC"
+       depends on SPI_MASTER
 
 config SND_SOC_AK4535
        tristate
 
+config SND_SOC_AK4554
+       tristate "AKM AK4554 CODEC"
+
+config SND_SOC_AK4613
+       tristate "AKM AK4613 CODEC"
+       depends on I2C
+
 config SND_SOC_AK4641
        tristate
 
 config SND_SOC_AK4642
-       tristate
+       tristate "AKM AK4642 CODEC"
+       depends on I2C
 
 config SND_SOC_AK4671
        tristate
 
 config SND_SOC_AK5386
-       tristate
+       tristate "AKM AK5638 CODEC"
 
 config SND_SOC_ALC5623
-       tristate
+       tristate "Realtek ALC5623 CODEC"
+       depends on I2C
+
 config SND_SOC_ALC5632
        tristate
 
 config SND_SOC_CQ0093VC
        tristate
 
+config SND_SOC_CS35L32
+       tristate "Cirrus Logic CS35L32 CODEC"
+       depends on I2C
+
 config SND_SOC_CS42L51
        tristate
 
+config SND_SOC_CS42L51_I2C
+       tristate "Cirrus Logic CS42L51 CODEC (I2C)"
+       depends on I2C
+       select SND_SOC_CS42L51
+
 config SND_SOC_CS42L52
-       tristate
+       tristate "Cirrus Logic CS42L52 CODEC"
+       depends on I2C && INPUT
+
+config SND_SOC_CS42L56
+       tristate "Cirrus Logic CS42L56 CODEC"
+       depends on I2C && INPUT
 
 config SND_SOC_CS42L73
-       tristate
+       tristate "Cirrus Logic CS42L73 CODEC"
+       depends on I2C
+
+config SND_SOC_CS4265
+       tristate "Cirrus Logic CS4265 CODEC"
+       depends on I2C
+       select REGMAP_I2C
 
 # Cirrus Logic CS4270 Codec
 config SND_SOC_CS4270
-       tristate
+       tristate "Cirrus Logic CS4270 CODEC"
+       depends on I2C
 
 # Cirrus Logic CS4270 Codec VD = 3.3V Errata
 # Select if you are affected by the errata where the part will not function
@@ -260,10 +402,39 @@ config SND_SOC_CS4270_VD33_ERRATA
 config SND_SOC_CS4271
        tristate
 
+config SND_SOC_CS4271_I2C
+       tristate "Cirrus Logic CS4271 CODEC (I2C)"
+       depends on I2C
+       select SND_SOC_CS4271
+       select REGMAP_I2C
+
+config SND_SOC_CS4271_SPI
+       tristate "Cirrus Logic CS4271 CODEC (SPI)"
+       depends on SPI_MASTER
+       select SND_SOC_CS4271
+       select REGMAP_SPI
+
+config SND_SOC_CS42XX8
+       tristate
+
+config SND_SOC_CS42XX8_I2C
+       tristate "Cirrus Logic CS42448/CS42888 CODEC (I2C)"
+       depends on I2C
+       select SND_SOC_CS42XX8
+       select REGMAP_I2C
+
+# Cirrus Logic CS4349 HiFi DAC
+config SND_SOC_CS4349
+       tristate "Cirrus Logic CS4349 CODEC"
+       depends on I2C
+
 config SND_SOC_CX20442
        tristate
        depends on TTY
 
+config SND_SOC_CX2072X
+       tristate "CX2072X CODEC"
+
 config SND_SOC_JZ4740_CODEC
        select REGMAP_MMIO
        tristate
@@ -277,22 +448,55 @@ config SND_SOC_DA7210
 config SND_SOC_DA7213
         tristate
 
+config SND_SOC_DA7219
+        tristate
+
 config SND_SOC_DA732X
         tristate
 
 config SND_SOC_DA9055
        tristate
 
-config SND_SOC_DFBMCS320
-       tristate
+config SND_SOC_DW_HDMI_AUDIO
+       tristate "dw hdmi audio"
+       depends on RK_HDMI
+
+config SND_SOC_BT_SCO
+       tristate "bt sco audio"
 
 config SND_SOC_DMIC
        tristate
 
+config SND_SOC_ES8316
+       tristate "Everest Semi ES8316 CODEC"
+       depends on I2C
+
 config SND_SOC_ES8323
+       tristate "Everest Semi ES8323 CODEC"
+       depends on I2C
+
+config SND_SOC_HDMI_CODEC
        tristate
+       select HDMI_NOTIFIERS
+       select SND_PCM_ELD
+       select SND_PCM_IEC958
+       select HDMI
 
-config SND_SOC_ES8316
+config SND_SOC_ES8328
+       tristate "Everest Semi ES8328 CODEC"
+
+config SND_SOC_ES8328_I2C
+       tristate
+       select SND_SOC_ES8328
+
+config SND_SOC_ES8328_SPI
+       tristate
+       select SND_SOC_ES8328
+
+config SND_SOC_GTM601
+       tristate 'GTM601 UMTS modem audio codec'
+
+config SND_SOC_ICS43432
        tristate
 
 config SND_SOC_ISABELLE
@@ -310,24 +514,108 @@ config SND_SOC_MAX98090
 config SND_SOC_MAX98095
        tristate
 
+config SND_SOC_MAX98357A
+       tristate
+
+config SND_SOC_MAX98925
+       tristate
+
 config SND_SOC_MAX9850
        tristate
 
-config SND_SOC_OMAP_HDMI_CODEC
-       tristate
+config SND_SOC_PCM1681
+       tristate "Texas Instruments PCM1681 CODEC"
+       depends on I2C
+
+config SND_SOC_PCM1792A
+       tristate "Texas Instruments PCM1792A CODEC"
+       depends on SPI_MASTER
 
 config SND_SOC_PCM3008
        tristate
 
-config SND_SOC_RK3036
+config SND_SOC_PCM512x
        tristate
 
-config SND_SOC_RK312X
+config SND_SOC_PCM512x_I2C
+       tristate "Texas Instruments PCM512x CODECs - I2C"
+       depends on I2C
+       select SND_SOC_PCM512x
+       select REGMAP_I2C
+
+config SND_SOC_PCM512x_SPI
+       tristate "Texas Instruments PCM512x CODECs - SPI"
+       depends on SPI_MASTER
+       select SND_SOC_PCM512x
+       select REGMAP_SPI
+
+config SND_SOC_RK3328
+       select REGMAP_MMIO
+       tristate "Rockchip RK3328 CODEC"
+
+config SND_SOC_RL6231
+       tristate
+       default y if SND_SOC_RT5616=y
+       default y if SND_SOC_RT5640=y
+       default y if SND_SOC_RT5645=y
+       default y if SND_SOC_RT5651=y
+       default y if SND_SOC_RT5670=y
+       default y if SND_SOC_RT5677=y
+       default m if SND_SOC_RT5616=m
+       default m if SND_SOC_RT5640=m
+       default m if SND_SOC_RT5645=m
+       default m if SND_SOC_RT5651=m
+       default m if SND_SOC_RT5670=m
+       default m if SND_SOC_RT5677=m
+
+config SND_SOC_RL6347A
+       tristate
+       default y if SND_SOC_RT286=y
+       default y if SND_SOC_RT298=y
+       default m if SND_SOC_RT286=m
+       default m if SND_SOC_RT298=m
+
+config SND_SOC_RT286
+       tristate
+       depends on I2C
+
+config SND_SOC_RT298
+       tristate
+       depends on I2C
+
+config SND_SOC_RT5616
+       tristate "Realtek RT5616 CODEC"
+
+config SND_SOC_RT5631
+       tristate "Realtek ALC5631/RT5631 CODEC"
+       depends on I2C
+
+config SND_SOC_RT5640
+       tristate "Realtek ALC5640 CODEC"
+       depends on I2C
+
+config SND_SOC_RT5645
         tristate
 
+config SND_SOC_RT5651
+       tristate "Realtek ALC5651 CODEC"
+
+config SND_SOC_RT5670
+       tristate
+
+config SND_SOC_RT5677
+       tristate
+       select REGMAP_I2C
+       select REGMAP_IRQ
+
+config SND_SOC_RT5677_SPI
+       tristate
+       default SND_SOC_RT5677 && SPI
+
 #Freescale sgtl5000 codec
 config SND_SOC_SGTL5000
-       tristate
+       tristate "Freescale SGTL5000 CODEC"
+       depends on I2C
 
 config SND_SOC_SI476X
        tristate
@@ -336,21 +624,54 @@ config SND_SOC_SIGMADSP
        tristate
        select CRC32
 
-config SND_SOC_SN95031
+config SND_SOC_SIGMADSP_I2C
        tristate
+       select SND_SOC_SIGMADSP
 
-config SND_SOC_HDMI_I2S
+config SND_SOC_SIGMADSP_REGMAP
        tristate
+       select SND_SOC_SIGMADSP
 
-config SND_SOC_HDMI_SPDIF
+config SND_SOC_SIRF_AUDIO_CODEC
+       tristate "SiRF SoC internal audio codec"
+       select REGMAP_MMIO
+
+config SND_SOC_SN95031
        tristate
 
+config SND_SOC_SPDIF
+       tristate "S/PDIF CODEC"
+
+config SND_SOC_SSM2518
+       tristate
 
 config SND_SOC_SSM2602
        tristate
 
+config SND_SOC_SSM2602_SPI
+       tristate "Analog Devices SSM2602 CODEC - SPI"
+       depends on SPI_MASTER
+       select SND_SOC_SSM2602
+       select REGMAP_SPI
+
+config SND_SOC_SSM2602_I2C
+       tristate "Analog Devices SSM2602 CODEC - I2C"
+       depends on I2C
+       select SND_SOC_SSM2602
+       select REGMAP_I2C
+
+config SND_SOC_SSM4567
+       tristate "Analog Devices ssm4567 amplifier driver support"
+       depends on I2C
+
 config SND_SOC_STA32X
-       tristate
+       tristate "STA326, STA328 and STA329 speaker amplifier"
+       depends on I2C
+       select REGMAP_I2C
+
+config SND_SOC_STA350
+       tristate "STA350 speaker amplifier"
+       depends on I2C
 
 config SND_SOC_STA529
        tristate
@@ -358,27 +679,64 @@ config SND_SOC_STA529
 config SND_SOC_STAC9766
        tristate
 
+config SND_SOC_STI_SAS
+       tristate "codec Audio support for STI SAS codec"
+
+config SND_SOC_TAS2552
+       tristate "Texas Instruments TAS2552 Mono Audio amplifier"
+       depends on I2C
+
 config SND_SOC_TAS5086
-       tristate
+       tristate "Texas Instruments TAS5086 speaker amplifier"
+       depends on I2C
+
+config SND_SOC_TAS571X
+       tristate "Texas Instruments TAS5711/TAS5717/TAS5719 power amplifiers"
+       depends on I2C
+
+config SND_SOC_TC358749X
+       tristate "Toshiba TC358749X HDMI in Audio codec"
+       depends on I2C
+
+config SND_SOC_TFA9879
+       tristate "NXP Semiconductors TFA9879 amplifier"
+       depends on I2C
 
 config SND_SOC_TLV320AIC23
        tristate
 
+config SND_SOC_TLV320AIC23_I2C
+       tristate "Texas Instruments TLV320AIC23 audio CODEC - I2C"
+       depends on I2C
+       select SND_SOC_TLV320AIC23
+
+config SND_SOC_TLV320AIC23_SPI
+       tristate "Texas Instruments TLV320AIC23 audio CODEC - SPI"
+       depends on SPI_MASTER
+       select SND_SOC_TLV320AIC23
+
 config SND_SOC_TLV320AIC26
        tristate
        depends on SPI
 
+config SND_SOC_TLV320AIC31XX
+       tristate "Texas Instruments TLV320AIC31xx CODECs"
+       depends on I2C
+       select REGMAP_I2C
+
 config SND_SOC_TLV320AIC32X4
        tristate
 
 config SND_SOC_TLV320AIC3X
-       tristate
+       tristate "Texas Instruments TLV320AIC3x CODECs"
+       depends on I2C
 
 config SND_SOC_TLV320DAC33
        tristate
 
-config SND_SOC_TLV320AIC3111
-       tristate
+config SND_SOC_TS3A227E
+       tristate "TI Headset/Mic detect and keypress chip"
+       depends on I2C
 
 config SND_SOC_TWL4030
        select MFD_TWL4030_AUDIO
@@ -424,43 +782,55 @@ config SND_SOC_WM8400
        tristate
 
 config SND_SOC_WM8510
-       tristate
+       tristate "Wolfson Microelectronics WM8510 CODEC"
+       depends on SND_SOC_I2C_AND_SPI
 
 config SND_SOC_WM8523
-       tristate
+       tristate "Wolfson Microelectronics WM8523 DAC"
+       depends on I2C
 
 config SND_SOC_WM8580
-       tristate
+       tristate "Wolfson Microelectronics WM8523 CODEC"
+       depends on I2C
 
 config SND_SOC_WM8711
-       tristate
+       tristate "Wolfson Microelectronics WM8711 CODEC"
+       depends on SND_SOC_I2C_AND_SPI
 
 config SND_SOC_WM8727
        tristate
 
 config SND_SOC_WM8728
-       tristate
+       tristate "Wolfson Microelectronics WM8728 DAC"
+       depends on SND_SOC_I2C_AND_SPI
 
 config SND_SOC_WM8731
-       tristate
+       tristate "Wolfson Microelectronics WM8731 CODEC"
+       depends on SND_SOC_I2C_AND_SPI
 
 config SND_SOC_WM8737
-       tristate
+       tristate "Wolfson Microelectronics WM8737 ADC"
+       depends on SND_SOC_I2C_AND_SPI
 
 config SND_SOC_WM8741
-       tristate
+       tristate "Wolfson Microelectronics WM8737 DAC"
+       depends on SND_SOC_I2C_AND_SPI
 
 config SND_SOC_WM8750
-       tristate
+       tristate "Wolfson Microelectronics WM8750 CODEC"
+       depends on SND_SOC_I2C_AND_SPI
 
 config SND_SOC_WM8753
-       tristate
+       tristate "Wolfson Microelectronics WM8753 CODEC"
+       depends on SND_SOC_I2C_AND_SPI
 
 config SND_SOC_WM8770
-       tristate
+       tristate "Wolfson Microelectronics WM8770 CODEC"
+       depends on SPI_MASTER
 
 config SND_SOC_WM8776
-       tristate
+       tristate "Wolfson Microelectronics WM8776 CODEC"
+       depends on SND_SOC_I2C_AND_SPI
 
 config SND_SOC_WM8782
        tristate
@@ -468,47 +838,24 @@ config SND_SOC_WM8782
 config SND_SOC_WM8804
        tristate
 
-config SND_SOC_WM8900
-       tristate
-
-config SND_SOC_RT5621
-       tristate
+config SND_SOC_WM8804_I2C
+       tristate "Wolfson Microelectronics WM8804 S/PDIF transceiver I2C"
+       depends on I2C
+       select SND_SOC_WM8804
+       select REGMAP_I2C
 
-config SND_SOC_RT5623
-       tristate
+config SND_SOC_WM8804_SPI
+       tristate "Wolfson Microelectronics WM8804 S/PDIF transceiver SPI"
+       depends on SPI_MASTER
+       select SND_SOC_WM8804
+       select REGMAP_SPI
 
-config SND_SOC_RT5639
-       tristate
-
-config SND_SOC_RT5616
-       tristate
-
-config SND_SOC_AK4396
-       tristate
-
-config SND_SOC_RT5631
-       tristate
-
-config SND_SOC_RT5631_PHONE
-       tristate
-
-config SND_SOC_RT5625
-       tristate
-
-config SND_SOC_RT5640
-       select SND_HWDEP
-       tristate
-
-config SND_SOC_RT3224
-       select SND_HWDEP
-       tristate
-
-config SND_SOC_RT3261
-       select SND_HWDEP
+config SND_SOC_WM8900
        tristate
 
 config SND_SOC_WM8903
-       tristate
+       tristate "Wolfson Microelectronics WM8903 CODEC"
+       depends on I2C
 
 config SND_SOC_WM8904
        tristate
@@ -526,7 +873,8 @@ config SND_SOC_WM8961
        tristate
 
 config SND_SOC_WM8962
-       tristate
+       tristate "Wolfson Microelectronics WM8962 CODEC"
+       depends on I2C && INPUT
 
 config SND_SOC_WM8971
        tristate
@@ -535,7 +883,8 @@ config SND_SOC_WM8974
        tristate
 
 config SND_SOC_WM8978
-       tristate
+       tristate "Wolfson Microelectronics WM8978 codec"
+       depends on I2C
 
 config SND_SOC_WM8983
        tristate
@@ -564,6 +913,12 @@ config SND_SOC_WM8995
 config SND_SOC_WM8996
        tristate
 
+config SND_SOC_WM8997
+       tristate
+
+config SND_SOC_WM8998
+       tristate
+
 config SND_SOC_WM9081
        tristate
 
@@ -579,35 +934,6 @@ config SND_SOC_WM9712
 config SND_SOC_WM9713
        tristate
 
-config SND_SOC_RK1000
-       tristate
-#      depends on RK1000_CONTROL
-
-config SND_SOC_RK610
-       tristate
-       depends on MFD_RK610
-
-config SND_SOC_RK616
-       tristate
-       depends on MFD_RK616
-
-config SND_SOC_RK1000
-       tristate
-       depends on MFD_RK1000
-
-config SND_SOC_RK2928
-       tristate
-       depends on ARCH_RK2928
-
-config SND_SOC_RK3026
-       tristate
-       depends on ARCH_RK3026
-
-config SND_SOC_RK3190
-       tristate
-       #depends on ARCH_RK3190
-
-
 # Amp
 config SND_SOC_LM4857
        tristate
@@ -624,5 +950,11 @@ config SND_SOC_MC13783
 config SND_SOC_ML26124
        tristate
 
-config SND_SOC_TPA6130A2
+config SND_SOC_NAU8825
        tristate
+
+config SND_SOC_TPA6130A2
+       tristate "Texas Instruments TPA6130A2 headphone amplifier"
+       depends on I2C
+
+endmenu