config SND_DAVINCI_SOC
	tristate "SoC Audio for TI DAVINCI or AM33XX/AM43XX chips"
	depends on ARCH_DAVINCI || SOC_AM33XX || SOC_AM43XX

config SND_DAVINCI_SOC_I2S
	tristate

config SND_DAVINCI_SOC_MCASP
	tristate

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_DAVINCI_SOC && SOC_AM33XX
	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_DAVINCI_SOC
	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
	bool "Audio Codec - AIC3101"
	help
	  Say Y if you want to add support for AIC3101 audio codec

config SND_DM365_VOICE_CODEC
	bool "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_DAVINCI_SOC && MACH_DAVINCI_DM6467_EVM
	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_DAVINCI_SOC && MACH_DAVINCI_DA830_EVM
	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_DAVINCI_SOC && MACH_DAVINCI_DA850_EVM
	select SND_DAVINCI_SOC_GENERIC_EVM
	help
	  Say Y if you want to add support for SoC audio on TI
	  DA850/OMAP-L138 EVM

