config SND_DAVINCI_SOC
	tristate "SoC Audio for the TI DAVINCI or AM33XX chip"
	depends on ARCH_DAVINCI || SOC_AM33XX
	help
	  Platform driver for daVinci or AM33xx
	  Say Y or M if you want to add support for codecs attached to
	  the DAVINCI AC97, I2S, or McASP interface. You will also need
	  to select the audio interfaces to support below.

config SND_DAVINCI_SOC_I2S
	tristate

config SND_DAVINCI_SOC_MCASP
	tristate

config SND_DAVINCI_SOC_VCIF
	tristate

config SND_AM33XX_SOC_EVM
	tristate "SoC Audio for the AM33XX chip based boards"
	depends on SND_DAVINCI_SOC && SOC_AM33XX
	select SND_SOC_TLV320AIC3X
	select SND_DAVINCI_SOC_MCASP
	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_I2S
	select SND_SOC_TLV320AIC3X
	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_MCASP
	select SND_SOC_TLV320AIC3X
	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_MCASP
	select SND_SOC_TLV320AIC3X

	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_MCASP
	select SND_SOC_TLV320AIC3X
	help
	  Say Y if you want to add support for SoC audio on TI
	  DA850/OMAP-L138 EVM

