config SND_S3C24XX_SOC
	tristate "SoC Audio for the Samsung S3CXXXX chips"
	depends on ARCH_S3C2410 || ARCH_S3C64XX || ARCH_S5PC100 || ARCH_S5PV210
	select S3C64XX_DMA if ARCH_S3C64XX
	help
	  Say Y or M if you want to add support for codecs attached to
	  the S3C24XX AC97 or I2S interfaces. You will also need to
	  select the audio interfaces to support below.

config SND_S3C24XX_SOC_I2S
	tristate
	select S3C2410_DMA

config SND_S3C_I2SV2_SOC
	tristate

config SND_S3C2412_SOC_I2S
	tristate
	select SND_S3C_I2SV2_SOC
	select S3C2410_DMA

config SND_S3C64XX_SOC_I2S
	tristate
	select SND_S3C_I2SV2_SOC
	select S3C64XX_DMA

config SND_S3C64XX_SOC_I2S_V4
	tristate
	select SND_S3C_I2SV2_SOC
	select S3C64XX_DMA

config SND_S3C_SOC_PCM
	tristate

config SND_S3C_SOC_AC97
	tristate
	select SND_SOC_AC97_BUS

config SND_S3C24XX_SOC_NEO1973_WM8753
	tristate "SoC I2S Audio support for NEO1973 - WM8753"
	depends on SND_S3C24XX_SOC && MACH_NEO1973_GTA01
	select SND_S3C24XX_SOC_I2S
	select SND_SOC_WM8753
	help
	  Say Y if you want to add support for SoC audio on smdk2440
	  with the WM8753.

config SND_S3C24XX_SOC_NEO1973_GTA02_WM8753
	tristate "Audio support for the Openmoko Neo FreeRunner (GTA02)"
	depends on SND_S3C24XX_SOC && MACH_NEO1973_GTA02
	select SND_S3C24XX_SOC_I2S
	select SND_SOC_WM8753
	help
	  This driver provides audio support for the Openmoko Neo FreeRunner
	  smartphone.
	  
config SND_S3C24XX_SOC_JIVE_WM8750
	tristate "SoC I2S Audio support for Jive"
	depends on SND_S3C24XX_SOC && MACH_JIVE
	select SND_SOC_WM8750
	select SND_S3C2412_SOC_I2S
	help
	  Sat Y if you want to add support for SoC audio on the Jive.

config SND_S3C64XX_SOC_WM8580
	tristate "SoC I2S Audio support for WM8580 on SMDK64XX"
	depends on SND_S3C24XX_SOC && MACH_SMDK6410
	select SND_SOC_WM8580
	select SND_S3C64XX_SOC_I2S_V4
	help
	  Say Y if you want to add support for SoC audio on the SMDK6410.

config SND_S3C24XX_SOC_SMDK2443_WM9710
	tristate "SoC AC97 Audio support for SMDK2443 - WM9710"
	depends on SND_S3C24XX_SOC && MACH_SMDK2443
	select S3C2410_DMA
	select AC97_BUS
	select SND_SOC_AC97_CODEC
	select SND_S3C_SOC_AC97
	help
	  Say Y if you want to add support for SoC audio on smdk2443
	  with the WM9710.

config SND_S3C24XX_SOC_LN2440SBC_ALC650
	tristate "SoC AC97 Audio support for LN2440SBC - ALC650"
	depends on SND_S3C24XX_SOC && ARCH_S3C2410
	select S3C2410_DMA
	select AC97_BUS
	select SND_SOC_AC97_CODEC
	select SND_S3C_SOC_AC97
	help
	  Say Y if you want to add support for SoC audio on ln2440sbc
	  with the ALC650.

config SND_S3C24XX_SOC_S3C24XX_UDA134X
	tristate "SoC I2S Audio support UDA134X wired to a S3C24XX"
       	depends on SND_S3C24XX_SOC && ARCH_S3C2410
       	select SND_S3C24XX_SOC_I2S
	select SND_SOC_L3
       	select SND_SOC_UDA134X

config SND_S3C24XX_SOC_SIMTEC
	tristate
	help
	  Internal node for common S3C24XX/Simtec suppor

config SND_S3C24XX_SOC_SIMTEC_TLV320AIC23
	tristate "SoC I2S Audio support for TLV320AIC23 on Simtec boards"
	depends on SND_S3C24XX_SOC && ARCH_S3C2410
	select SND_S3C24XX_SOC_I2S
	select SND_SOC_TLV320AIC23
	select SND_S3C24XX_SOC_SIMTEC

config SND_S3C24XX_SOC_SIMTEC_HERMES
	tristate "SoC I2S Audio support for Simtec Hermes board"
	depends on SND_S3C24XX_SOC && ARCH_S3C2410
	select SND_S3C24XX_SOC_I2S
	select SND_SOC_TLV320AIC3X
	select SND_S3C24XX_SOC_SIMTEC

config SND_SOC_SMDK_WM9713
	tristate "SoC AC97 Audio support for SMDK with WM9713"
	depends on SND_S3C24XX_SOC && (MACH_SMDK6410 || MACH_SMDKC100 || MACH_SMDKV210 || MACH_SMDKC110)
	select SND_SOC_WM9713
	select SND_S3C_SOC_AC97
	help
	  Sat Y if you want to add support for SoC audio on the SMDK.

config SND_S3C64XX_SOC_SMARTQ
	tristate "SoC I2S Audio support for SmartQ board"
	depends on SND_S3C24XX_SOC && MACH_SMARTQ
	select SND_S3C64XX_SOC_I2S
	select SND_SOC_WM8750
