config SND_SOC_SAMSUNG
	tristate "ASoC support for Samsung Legacy Audio"
	depends on SOC_SAMSUNG
	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.

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

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_SAMSUNG_COMPR
	tristate

config SND_SAMSUNG_AUDSS
	tristate

config SND_SAMSUNG_XYREF
	tristate

config SND_ESA_SA_EFFECT
	tristate "Use Sound Alive Effect"
	depends on SND_SAMSUNG_COMPR
	default y
	help
		Say Y if you want to add support for Sound Alive.

config SND_SAMSUNG_IOMMU
	tristate "IOMMU support for Samsung Audio sub system"
	depends on SND_SOC_SAMSUNG && SND_SAMSUNG_AUDSS
	help
		Say Y if you want to add support for iommu.


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 && 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 SND_SOC_SAMSUNG && (MACH_SMDK6410 || MACH_SMDKC100 || 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 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 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 && I2C
	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_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 && I2C
	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 && I2C
	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 && 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_ODROIDX2
	tristate "Audio support for Odroid-X2 and Odroid-U3"
	depends on SND_SOC_SAMSUNG
	select SND_SOC_MAX98090
	select SND_SAMSUNG_I2S
	help
	  Say Y here to enable audio support for the Odroid-X2/U3.

config SND_SOC_SAMSUNG_ESPRESSO8890_WM5110
	tristate "SoC I2S Audio support for WM5110 on ESPRESSO8890"
	depends on SND_SOC_SAMSUNG
	select SND_SAMSUNG_I2S
	select SND_SAMSUNG_AUDSS
	select SND_SAMSUNG_IOMMU
	select SND_SOC_DUMMY_CODEC
	select SND_SOC_WM5110
	select MFD_WM5110
	select MFD_ARIZONA
	select MFD_ARIZONA_SPI
	select REGULATOR_ARIZONA
	select GPIO_ARIZONA
	select SWITCH
	select SWITCH_ARIZONA
	help
	  Say Y if you want to add support for SoC audio on the ESPRESSO8890.

config SND_SOC_SAMSUNG_UNIVERSAL8890_DUMMY
	tristate "SoC I2S Audio support for DUMMY on UNIVERSAL8890"
	depends on SND_SOC_SAMSUNG
	select SND_SAMSUNG_I2S
	select SND_SAMSUNG_AUDSS
	select SND_SAMSUNG_IOMMU
	select SND_SOC_DUMMY_CODEC
	select SND_DYNAMIC_MINORS
	help
	  Say Y if you want to add support for SoC audio on the UNIVERSAL8890.

config SND_SOC_SAMSUNG_ZERO_CLEARWATER
	tristate "SoC I2S Audio support for Clearwater on Zero"
	depends on SND_SOC_SAMSUNG
	select SND_SOC_CLEARWATER
	select MFD_CLEARWATER
	select MFD_ARIZONA_DEFERRED_RESUME
	select SND_SOC_SAMSUNG_ARIZONA
	help
	  Say Y if you want to add support for SoC audio on the Pacific.

config SND_SOC_SAMSUNG_LUCKY_MOON
    tristate "SoC I2S Audio support for Moon on Lucky"
    depends on SND_SOC_SAMSUNG
    select SND_SOC_MOON
    select MFD_MOON
    select MFD_ARIZONA_DEFERRED_RESUME
    select SND_SOC_SAMSUNG_ARIZONA
    help
        Say Y if you want to add support for SoC audio on the Zero.

config SND_SOC_SAMSUNG_ESPRESSO8890_CLEARWATER
	tristate "SoC I2S Audio support for Clearwater on ESPRESSO8890"
	depends on SND_SOC_SAMSUNG
	select SND_SOC_CLEARWATER
	select MFD_CLEARWATER
	select MFD_ARIZONA_DEFERRED_RESUME
	select SND_SOC_SAMSUNG_ARIZONA
	help
	  Say Y if you want to add support for SoC audio on the Pacific.

config SND_SOC_SAMSUNG_ARIZONA
        tristate "Audio support for arizona platform on the Exynos7420"
        depends on SND_SOC_SAMSUNG
        select SND_SAMSUNG_I2S
        select SND_SAMSUNG_AUDSS
        select SND_SAMSUNG_IOMMU
        select SND_SOC_DUMMY_CODEC
        select MFD_ARIZONA
        select MFD_ARIZONA_SPI
        select REGULATOR_ARIZONA
        select GPIO_ARIZONA
        select SWITCH
        select SWITCH_ARIZONA
        select SND_DYNAMIC_MINORS
        help
                Say Y if you want to add support for Arizona Platform on the Exynos7420.

config SND_SOC_SAMSUNG_EXYNOS8895
	tristate "Audio support on exynos8895"
	select SND_SOC_SAMSUNG_ABOX
	select SND_SOC_SAMSUNG_VTS
	select SND_SOC_SAMSUNG_MAILBOX
	help
		Say Y if you want to add support for audio on the Exynos8895.

config SND_SOC_SAMSUNG_EXYNOS8895_MOON
	tristate "Moon audio codec support on exynos8895"
	select SND_SOC_CS47L92
	select MFD_MADERA_SPI
	select MFD_CS47L92
	select REGULATOR_MADERA_LDO1
	select REGULATOR_MADERA_MICSUPP
	select SWITCH
	select SWITCH_MADERA

config SND_SOC_SAMSUNG_EXYNOS8895_COD3033
	tristate "S.LSI audio codec COD3033 support on exynos8895"
	select SND_SOC_COD3033X

config SND_SOC_SAMSUNG_EXYNOS7885
	tristate "Audio support on exynos7885"
	select SND_SOC_SAMSUNG_ABOX
	select SND_SOC_SAMSUNG_MAILBOX

config SND_SOC_SAMSUNG_EXYNOS7885_COD3035
	tristate "S.LSI audio codec COD3035 support on exynos7885"
	select SND_SOC_COD3035X

config SND_SOC_SAMSUNG_EXYNOS7885_COD3035_MULTI
	tristate "S.LSI audio codec COD3035 support on exynos7885 with multi codec"
	select SND_SOC_COD3035X

config SND_SOC_I2S_TXSLOT_NUMBER
	int "Number of tx slots including audio sample"
	depends on SND_SAMSUNG_I2S && SND_SAMSUNG_AUDSS
	default 2
	help
	  An audio sample is included in a slot in the I2S. Thus, slot number will be 2
	  in the stereo audio transmission, so it's default number. In the TDM mode,
	  you have to change number of slot for transmitting more slots.

config SND_SOC_I2S_RXSLOT_NUMBER
	int "Number of rx slots including audio sample"
	depends on SND_SAMSUNG_I2S && SND_SAMSUNG_AUDSS
	default 2
	help
	  An audio sample is included in a slot in the I2S. Thus, slot number will be 2
	  in the stereo audio transmission, so it's default number. In the TDM mode,
	  you have to change number of slot for receiving more slots.

config SND_SOC_I2S_1840_TDM
	bool "Enable TDM mode on Universal7890"
	depends on SND_SAMSUNG_AUDSS && SND_SOC_SAMSUNG_ZERO_CLEARWATER
	default n
	help
	  Say Y if you want to add support for I2S TDM on the Universal7890

config SND_SOC_EAX_SLOWPATH
	bool "Enable eax slowapth on Universal8890"
	depends on SND_SAMSUNG_AUDSS
	default n
	help
	  Say Y if you want to add support for EAX slowpath on the Universal8890

config SND_SOC_EAX_NONE_KMIXING
	bool "Enable eax none kthread mixing on Universal8890"
	depends on SND_SAMSUNG_AUDSS
	default n
	help
	  Say Y if you want to add support for EAX slowpath on the Universal8890

# For support SEIREN audio
source "sound/soc/samsung/seiren/Kconfig"
source "sound/soc/samsung/abox/Kconfig"
source "sound/soc/samsung/vts/Kconfig"
