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
	  Say 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)
	depends on REGMAP_I2C
	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 && I2C
	select SND_S3C24XX_I2S
	select SND_SOC_TLV320AIC23_I2C
	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 && I2C
	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 && I2C
	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 && I2C
	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)
	select SND_SOC_WM9713
	select SND_SAMSUNG_AC97
	help
	  Say 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)
	depends on REGMAP_I2C
	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 && INPUT
	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

config SND_SOC_SNOW
	tristate "Audio support for Google Snow boards"
	depends on SND_SOC_SAMSUNG
	select SND_SOC_MAX98090
	select SND_SOC_MAX98095
	select SND_SAMSUNG_I2S
	help
	  Say Y if you want to add audio support for various Snow
	  boards based on Exynos5 series of SoCs.
