menuconfig SND_IMX_SOC
	tristate "SoC Audio for Freescale i.MX CPUs"
	depends on ARCH_MXC
	help
	  Say Y or M if you want to add support for codecs attached to
	  the i.MX SSI interface.


if SND_IMX_SOC

config SND_SOC_IMX_SSI
	tristate

config SND_SOC_IMX_PCM
	tristate

config SND_MXC_SOC_FIQ
	tristate
	select FIQ
	select SND_SOC_IMX_PCM

config SND_MXC_SOC_MX2
	select SND_SOC_DMAENGINE_PCM
	tristate
	select SND_SOC_IMX_PCM

config SND_SOC_IMX_AUDMUX
	tristate

config SND_MXC_SOC_WM1133_EV1
	tristate "Audio on the the i.MX31ADS with WM1133-EV1 fitted"
	depends on MACH_MX31ADS_WM1133_EV1 && EXPERIMENTAL
	select SND_SOC_WM8350
	select SND_MXC_SOC_FIQ
	select SND_SOC_IMX_AUDMUX
	select SND_SOC_IMX_SSI
	help
	  Enable support for audio on the i.MX31ADS with the WM1133-EV1
	  PMIC board with WM8835x fitted.

config SND_SOC_MX27VIS_AIC32X4
	tristate "SoC audio support for Visstrim M10 boards"
	depends on MACH_IMX27_VISSTRIM_M10 && I2C
	select SND_SOC_TLV320AIC32X4
	select SND_MXC_SOC_MX2
	select SND_SOC_IMX_AUDMUX
	select SND_SOC_IMX_SSI
	help
	  Say Y if you want to add support for SoC audio on Visstrim SM10
	  board with TLV320AIC32X4 codec.

config SND_SOC_PHYCORE_AC97
	tristate "SoC Audio support for Phytec phyCORE (and phyCARD) boards"
	depends on MACH_PCM043 || MACH_PCA100
	select SND_SOC_AC97_BUS
	select SND_SOC_WM9712
	select SND_MXC_SOC_FIQ
	select SND_SOC_IMX_AUDMUX
	select SND_SOC_IMX_SSI
	help
	  Say Y if you want to add support for SoC audio on Phytec phyCORE
	  and phyCARD boards in AC97 mode

config SND_SOC_EUKREA_TLV320
	tristate "Eukrea TLV320"
	depends on MACH_EUKREA_MBIMX27_BASEBOARD \
		|| MACH_EUKREA_MBIMXSD25_BASEBOARD \
		|| MACH_EUKREA_MBIMXSD35_BASEBOARD \
		|| MACH_EUKREA_MBIMXSD51_BASEBOARD
	depends on I2C
	select SND_SOC_TLV320AIC23
	select SND_MXC_SOC_FIQ
	select SND_SOC_IMX_AUDMUX
	select SND_SOC_IMX_SSI
	help
	  Enable I2S based access to the TLV320AIC23B codec attached
	  to the SSI interface

endif	# SND_IMX_SOC
