menuconfig SND_SOC_SAMSUNG
	tristate "ASoC support for Samsung"
	depends on (PLAT_SAMSUNG || ARCH_EXYNOS)
	select SND_SOC_GENERIC_DMAENGINE_PCM
	---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.

if SND_SOC_SAMSUNG

config SND_S3C24XX_I2S
	tristate

config SND_S3C_I2SV2_SOC
	tristate

config SND_S3C2412_SOC_I2S
	tristate
	select SND_S3C_I2SV2_SOC

config SND_SAMSUNG_PCM
	tristate "Samsung PCM interface support"

config SND_SAMSUNG_AC97
	tristate
	select SND_SOC_AC97_BUS

config SND_SAMSUNG_SPDIF
	tristate "Samsung SPDIF transmitter support"
	select SND_SOC_SPDIF

config SND_SAMSUNG_I2S
	tristate "Samsung I2S interface support"

config SND_SOC_SAMSUNG_NEO1973_WM8753
	tristate "Audio support for Openmoko Neo1973 Smartphones (GTA02)"
	depends on 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 MACH_JIVE && I2C
	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 MACH_SMDK6410 || MACH_SMDKC100 || MACH_SMDKV210 || MACH_SMDKC110
	depends on 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 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 MACH_SMDK2443
	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 ARCH_S3C24XX
	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 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 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 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 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 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 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 MACH_SMARTQ && I2C
	select SND_SAMSUNG_I2S
	select SND_SOC_WM8750

config SND_SOC_SAMSUNG_SMDK_SPDIF
	tristate "SoC S/PDIF Audio support for SMDK"
	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 MACH_SMDKV210 || MACH_SMDKC110
	depends on 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 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 I2C && SPI_MASTER
	depends on MACH_WLF_CRAGG_6410 || COMPILE_TEST
	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 INPUT && I2C
	depends on MACH_WLF_CRAGG_6410 || COMPILE_TEST
	select SND_SAMSUNG_I2S
	select SND_SOC_WM8962

config SND_SOC_BELLS
	tristate "Audio support for Wolfson Bells"
	depends on MFD_ARIZONA && I2C && SPI_MASTER
	depends on MACH_WLF_CRAGG_6410 || COMPILE_TEST
	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 I2C
	depends on MACH_WLF_CRAGG_6410 || COMPILE_TEST
	select SND_SAMSUNG_I2S
	select SND_SOC_WM5100
	select SND_SOC_WM9081

config SND_SOC_LITTLEMILL
	tristate "Audio support for Wolfson Littlemill"
	depends on I2C
	depends on MACH_WLF_CRAGG_6410 || COMPILE_TEST
	select SND_SAMSUNG_I2S
	select MFD_WM8994
	select SND_SOC_WM8994

config SND_SOC_SNOW
	tristate "Audio support for Google Snow boards"
	depends on I2C
	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.

config SND_SOC_ARNDALE_RT5631_ALC5631
        tristate "Audio support for RT5631(ALC5631) on Arndale Board"
        depends on I2C
        select SND_SAMSUNG_I2S
        select SND_SOC_RT5631

endif #SND_SOC_SAMSUNG
