config SND_OMAP_SOC
	tristate "SoC Audio for the Texas Instruments OMAP chips"
	depends on ARCH_OMAP

config SND_OMAP_SOC_MCBSP
	tristate
	select OMAP_MCBSP

config SND_OMAP_SOC_N810
	tristate "SoC Audio support for Nokia N810"
	depends on SND_OMAP_SOC && MACH_NOKIA_N810 && I2C
	select SND_OMAP_SOC_MCBSP
	select OMAP_MUX
	select SND_SOC_TLV320AIC3X
	help
	  Say Y if you want to add support for SoC audio on Nokia N810.

config SND_OMAP_SOC_AMS_DELTA
	tristate "SoC Audio support for Amstrad E3 (Delta) videophone"
	depends on SND_OMAP_SOC && MACH_AMS_DELTA
	select SND_OMAP_SOC_MCBSP
	select SND_SOC_CX20442
	help
	  Say Y  if you want to add support  for SoC audio device  connected to
	  a handset and a speakerphone found on Amstrad E3 (Delta) videophone.

	  Note that in order to get those devices fully supported,  you have to
	  build  the kernel  with  standard  serial port  driver  included  and
	  configured for at least 4 ports.  Then, from userspace, you must load
	  a line discipline #19 on the modem (ttyS3) serial line.  The simplest
	  way to achieve this is to install util-linux-ng  and use the included
	  ldattach  utility.  This  can be  started  automatically  from  udev,
	  a simple rule like this one should do the trick (it does for me):
	  	ACTION=="add", KERNEL=="controlC0", \
				RUN+="/usr/sbin/ldattach 19 /dev/ttyS3"

config SND_OMAP_SOC_OSK5912
	tristate "SoC Audio support for omap osk5912"
	depends on SND_OMAP_SOC && MACH_OMAP_OSK && I2C
	select SND_OMAP_SOC_MCBSP
	select SND_SOC_TLV320AIC23
	help
	  Say Y if you want to add support for SoC audio on osk5912.

config SND_OMAP_SOC_OVERO
	tristate "SoC Audio support for Gumstix Overo"
	depends on TWL4030_CORE && SND_OMAP_SOC && MACH_OVERO
	select SND_OMAP_SOC_MCBSP
	select SND_SOC_TWL4030
	help
	  Say Y if you want to add support for SoC audio on the Gumstix Overo.

config SND_OMAP_SOC_OMAP2EVM
	tristate "SoC Audio support for OMAP2EVM board"
	depends on TWL4030_CORE && SND_OMAP_SOC && MACH_OMAP2EVM
	select SND_OMAP_SOC_MCBSP
	select SND_SOC_TWL4030
	help
	  Say Y if you want to add support for SoC audio on the omap2evm board.

config SND_OMAP_SOC_OMAP3EVM
	tristate "SoC Audio support for OMAP3EVM board"
	depends on TWL4030_CORE && SND_OMAP_SOC && MACH_OMAP3EVM
	select SND_OMAP_SOC_MCBSP
	select SND_SOC_TWL4030
	help
	  Say Y if you want to add support for SoC audio on the omap3evm board.

config SND_OMAP_SOC_SDP3430
	tristate "SoC Audio support for Texas Instruments SDP3430"
	depends on TWL4030_CORE && SND_OMAP_SOC && MACH_OMAP_3430SDP
	select SND_OMAP_SOC_MCBSP
	select SND_SOC_TWL4030
	help
	  Say Y if you want to add support for SoC audio on Texas Instruments
	  SDP3430.

config SND_OMAP_SOC_OMAP3_PANDORA
	tristate "SoC Audio support for OMAP3 Pandora"
	depends on TWL4030_CORE && SND_OMAP_SOC && MACH_OMAP3_PANDORA
	select SND_OMAP_SOC_MCBSP
	select SND_SOC_TWL4030
	help
	  Say Y if you want to add support for SoC audio on the OMAP3 Pandora.

config SND_OMAP_SOC_OMAP3_BEAGLE
	tristate "SoC Audio support for OMAP3 Beagle"
	depends on TWL4030_CORE && SND_OMAP_SOC && MACH_OMAP3_BEAGLE
	select SND_OMAP_SOC_MCBSP
	select SND_SOC_TWL4030
	help
	  Say Y if you want to add support for SoC audio on the Beagleboard.

config SND_OMAP_SOC_ZOOM2
	tristate "SoC Audio support for Zoom2"
	depends on TWL4030_CORE && SND_OMAP_SOC && MACH_OMAP_ZOOM2
	select SND_OMAP_SOC_MCBSP
	select SND_SOC_TWL4030
	help
	  Say Y if you want to add support for Soc audio on Zoom2 board.

