config SND_SOC_SAMSUNG
	tristate "ASoC support for Samsung"
	depends on PLAT_SAMSUNG
	select S3C2410_DMA if ARCH_S3C24XX
	select S3C64XX_PL080 if ARCH_S3C64XX
	select SND_S3C_DMA if !ARCH_S3C24XX
	select SND_S3C_DMA_LEGACY if ARCH_S3C24XX
	select SND_SOC_GENERIC_DMAENGINE_PCM if !ARCH_S3C24XX
	help
	  Say Y or M if you want to add support for codecs attached to
	  the Samsung SoCs' Audio interfaces. You will also need to
	  select the audio interfaces to support below.

config SND_S3C_DMA
	tristate

config SND_S3C_DMA_LEGACY
	tristate

config SND_S3C24XX_I2S
	tristate
	select S3C24XX_DMA

config SND_S3C_I2SV2_SOC
	tristate

config SND_S3C2412_SOC_I2S
	tristate
	select SND_S3C_I2SV2_SOC
	select S3C2410_DMA

config SND_SAMSUNG_PCM
	tristate

config SND_SAMSUNG_AC97
	tristate
	select SND_SOC_AC97_BUS

config SND_SAMSUNG_SPDIF
	tristate
	select SND_SOC_SPDIF

config SND_SAMSUNG_I2S
	tristate

config SND_SOC_SAMSUNG_NEO1973_WM8753
	tristate "Audio support for Openmoko Neo1973 Smartphones (GTA02)"
	depends on SND_SOC_SAMSUNG && MACH_NEO1973_GTA02
	select SND_S3C24XX_I2S
	select SND_SOC_WM8753
	select SND_SOC_BT_SCO
	help
	  Say Y here to enable audio support for the Openmoko Neo1973
	  Smartphones.

config SND_SOC_SAMSUNG_JIVE_WM8750
	tristate "SoC I2S Audio support for Jive"
	depends on SND_SOC_SAMSUNG && 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_SOC_SAMSUNG_SMDK_WM8580
	tristate "SoC I2S Audio support for WM8580 on SMDK"
	depends on SND_SOC_SAMSUNG && (MACH_SMDK6410 || MACH_SMDKC100 || MACH_SMDK6440 || MACH_SMDK6450 || MACH_SMDKV210 || MACH_SMDKC110)
	select SND_SOC_WM8580
	select SND_SAMSUNG_I2S
	help
	  Say Y if you want to add support for SoC audio on the SMDKs.

config SND_SOC_SAMSUNG_SMDK_WM8994
	tristate "SoC I2S Audio support for WM8994 on SMDK"
	depends on SND_SOC_SAMSUNG
	depends on I2C=y
	select MFD_WM8994
	select SND_SOC_WM8994
	select SND_SAMSUNG_I2S
	help
		Say Y if you want to add support for SoC audio on the SMDKs.

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

config SND_SOC_SAMSUNG_LN2440SBC_ALC650
	tristate "SoC AC97 Audio support for LN2440SBC - ALC650"
	depends on SND_SOC_SAMSUNG && ARCH_S3C24XX
	select S3C2410_DMA
	select AC97_BUS
	select SND_SOC_AC97_CODEC
	select SND_SAMSUNG_AC97
	help
	  Say Y if you want to add support for SoC audio on ln2440sbc
	  with the ALC650.

config SND_SOC_SAMSUNG_S3C24XX_UDA134X
	tristate "SoC I2S Audio support UDA134X wired to a S3C24XX"
	depends on SND_SOC_SAMSUNG && ARCH_S3C24XX
	select SND_S3C24XX_I2S
	select SND_SOC_L3
	select SND_SOC_UDA134X

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

config SND_SOC_SAMSUNG_SIMTEC_TLV320AIC23
	tristate "SoC I2S Audio support for TLV320AIC23 on Simtec boards"
	depends on SND_SOC_SAMSUNG && ARCH_S3C24XX
	select SND_S3C24XX_I2S
	select SND_SOC_TLV320AIC23
	select SND_SOC_SAMSUNG_SIMTEC

config SND_SOC_SAMSUNG_SIMTEC_HERMES
	tristate "SoC I2S Audio support for Simtec Hermes board"
	depends on SND_SOC_SAMSUNG && ARCH_S3C24XX
	select SND_S3C24XX_I2S
	select SND_SOC_TLV320AIC3X
	select SND_SOC_SAMSUNG_SIMTEC

config SND_SOC_SAMSUNG_H1940_UDA1380
	tristate "Audio support for the HP iPAQ H1940"
	depends on SND_SOC_SAMSUNG && ARCH_H1940
	select SND_S3C24XX_I2S
	select SND_SOC_UDA1380
	help
	  This driver provides audio support for HP iPAQ h1940 PDA.

config SND_SOC_SAMSUNG_RX1950_UDA1380
	tristate "Audio support for the HP iPAQ RX1950"
	depends on SND_SOC_SAMSUNG && MACH_RX1950
	select SND_S3C24XX_I2S
	select SND_SOC_UDA1380
	help
	  This driver provides audio support for HP iPAQ RX1950 PDA.

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

config SND_SOC_SMARTQ
	tristate "SoC I2S Audio support for SmartQ board"
	depends on SND_SOC_SAMSUNG && MACH_SMARTQ
	select SND_SAMSUNG_I2S
	select SND_SOC_WM8750

config SND_SOC_GONI_AQUILA_WM8994
	tristate "SoC I2S Audio support for AQUILA/GONI - WM8994"
	depends on SND_SOC_SAMSUNG && (MACH_GONI || MACH_AQUILA)
	depends on I2C=y
	select SND_SAMSUNG_I2S
	select MFD_WM8994
	select SND_SOC_WM8994
	help
	  Say Y if you want to add support for SoC audio on goni or aquila
	  with the WM8994.

config SND_SOC_SAMSUNG_SMDK_SPDIF
	tristate "SoC S/PDIF Audio support for SMDK"
	depends on SND_SOC_SAMSUNG
	select SND_SAMSUNG_SPDIF
	help
	  Say Y if you want to add support for SoC S/PDIF audio on the SMDK.

config SND_SOC_SMDK_WM8580_PCM
	tristate "SoC PCM Audio support for WM8580 on SMDK"
	depends on SND_SOC_SAMSUNG && (MACH_SMDK6450 || MACH_SMDKV210 || MACH_SMDKC110)
	select SND_SOC_WM8580
	select SND_SAMSUNG_PCM
	help
	  Say Y if you want to add support for SoC audio on the SMDK.

config SND_SOC_SMDK_WM8994_PCM
	tristate "SoC PCM Audio support for WM8994 on SMDK"
	depends on SND_SOC_SAMSUNG
	depends on I2C=y
	select MFD_WM8994
	select SND_SOC_WM8994
	select SND_SAMSUNG_PCM
	help
	  Say Y if you want to add support for SoC audio on the SMDK

config SND_SOC_SPEYSIDE
	tristate "Audio support for Wolfson Speyside"
	depends on SND_SOC_SAMSUNG && MACH_WLF_CRAGG_6410
	select SND_SAMSUNG_I2S
	select SND_SOC_WM8996
	select SND_SOC_WM9081
	select SND_SOC_WM0010
	select SND_SOC_WM1250_EV1

config SND_SOC_TOBERMORY
	tristate "Audio support for Wolfson Tobermory"
	depends on SND_SOC_SAMSUNG && MACH_WLF_CRAGG_6410
	select SND_SAMSUNG_I2S
	select SND_SOC_WM8962

config SND_SOC_BELLS
	tristate "Audio support for Wolfson Bells"
	depends on SND_SOC_SAMSUNG && MACH_WLF_CRAGG_6410 && MFD_ARIZONA
	select SND_SAMSUNG_I2S
	select SND_SOC_WM5102
	select SND_SOC_WM5110
	select SND_SOC_WM9081
	select SND_SOC_WM0010
	select SND_SOC_WM1250_EV1

config SND_SOC_LOWLAND
	tristate "Audio support for Wolfson Lowland"
	depends on SND_SOC_SAMSUNG && MACH_WLF_CRAGG_6410
	select SND_SAMSUNG_I2S
	select SND_SOC_WM5100
	select SND_SOC_WM9081

config SND_SOC_LITTLEMILL
	tristate "Audio support for Wolfson Littlemill"
	depends on SND_SOC_SAMSUNG && MACH_WLF_CRAGG_6410
	select SND_SAMSUNG_I2S
	select MFD_WM8994
	select SND_SOC_WM8994
