config SND_DAVINCI_SOC
	tristate
	depends on ARCH_DAVINCI
	select SND_EDMA_SOC

config SND_EDMA_SOC
	tristate "SoC Audio for Texas Instruments chips using eDMA"
	depends on SOC_AM33XX || SOC_AM43XX || ARCH_DAVINCI
	select SND_SOC_GENERIC_DMAENGINE_PCM
	help
	  Say Y or M here if you want audio support for TI SoC which uses eDMA.
	  The following line of SoCs are supported by this platform driver:
	  - daVinci devices
	  - AM335x
	  - AM437x/AM438x

config SND_DAVINCI_SOC_I2S
	tristate

config SND_DAVINCI_SOC_MCASP
	tristate "Multichannel Audio Serial Port (McASP) support"
	depends on SND_OMAP_SOC || SND_EDMA_SOC
	help
	  Say Y or M here if you want to have support for McASP IP found in
	  various Texas Instruments SoCs like:
	  - daVinci devices
	  - Sitara line of SoCs (AM335x, AM438x, etc)
	  - DRA7x devices

config SND_DAVINCI_SOC_VCIF
	tristate

config SND_DAVINCI_SOC_GENERIC_EVM
	tristate
	select SND_SOC_TLV320AIC3X
	select SND_DAVINCI_SOC_MCASP

config SND_AM33XX_SOC_EVM
	tristate "SoC Audio for the AM33XX chip based boards"
	depends on SND_EDMA_SOC && SOC_AM33XX && I2C
	select SND_DAVINCI_SOC_GENERIC_EVM
	help
	  Say Y or M if you want to add support for SoC audio on AM33XX
	  boards using McASP and TLV320AIC3X codec. For example AM335X-EVM,
	  AM335X-EVMSK, and BeagelBone with AudioCape boards have this
	  setup.

config SND_DAVINCI_SOC_EVM
	tristate "SoC Audio support for DaVinci DM6446, DM355 or DM365 EVM"
	depends on SND_EDMA_SOC && I2C
	depends on MACH_DAVINCI_EVM || MACH_DAVINCI_DM355_EVM || MACH_DAVINCI_DM365_EVM
	select SND_DAVINCI_SOC_GENERIC_EVM
	help
	  Say Y if you want to add support for SoC audio on TI
	  DaVinci DM6446, DM355 or DM365 EVM platforms.

choice
	prompt "DM365 codec select"
	depends on SND_DAVINCI_SOC_EVM
	depends on MACH_DAVINCI_DM365_EVM

config SND_DM365_AIC3X_CODEC
	tristate "Audio Codec - AIC3101"
	help
	  Say Y if you want to add support for AIC3101 audio codec

config SND_DM365_VOICE_CODEC
	tristate "Voice Codec - CQ93VC"
	select MFD_DAVINCI_VOICECODEC
	select SND_DAVINCI_SOC_VCIF
	select SND_SOC_CQ0093VC
	help
	  Say Y if you want to add support for SoC On-chip voice codec
endchoice

config  SND_DM6467_SOC_EVM
	tristate "SoC Audio support for DaVinci DM6467 EVM"
	depends on SND_EDMA_SOC && MACH_DAVINCI_DM6467_EVM && I2C
	select SND_DAVINCI_SOC_GENERIC_EVM
	select SND_SOC_SPDIF

	help
	  Say Y if you want to add support for SoC audio on TI

config  SND_DA830_SOC_EVM
	tristate "SoC Audio support for DA830/OMAP-L137 EVM"
	depends on SND_EDMA_SOC && MACH_DAVINCI_DA830_EVM && I2C
	select SND_DAVINCI_SOC_GENERIC_EVM

	help
	  Say Y if you want to add support for SoC audio on TI
	  DA830/OMAP-L137 EVM

config  SND_DA850_SOC_EVM
	tristate "SoC Audio support for DA850/OMAP-L138 EVM"
	depends on SND_EDMA_SOC && MACH_DAVINCI_DA850_EVM && I2C
	select SND_DAVINCI_SOC_GENERIC_EVM
	help
	  Say Y if you want to add support for SoC audio on TI
	  DA850/OMAP-L138 EVM

