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

config SND_OMAP_SOC_DMIC
	tristate

config SND_OMAP_SOC_MCBSP
	tristate

config SND_OMAP_SOC_MCPDM
	tristate

config SND_OMAP_SOC_HDMI
	tristate

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

config SND_OMAP_SOC_RX51
	tristate "SoC Audio support for Nokia RX-51"
	depends on SND_OMAP_SOC && MACH_NOKIA_RX51
	select SND_OMAP_SOC_MCBSP
	select SND_SOC_TLV320AIC3X
	select SND_SOC_TPA6130A2
	help
	  Say Y if you want to add support for SoC audio on Nokia RX-51
	  hardware. This is also known as Nokia N900 product.

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 and CompuLab CM-T35"
	depends on TWL4030_CORE && SND_OMAP_SOC && (MACH_OVERO || MACH_CM_T35)
	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 or CompuLab CM-T35

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_AM3517EVM
	tristate "SoC Audio support for OMAP3517 / AM3517 EVM"
	depends on SND_OMAP_SOC && MACH_OMAP3517EVM && I2C
	select SND_OMAP_SOC_MCBSP
	select SND_SOC_TLV320AIC23
	help
	  Say Y if you want to add support for SoC audio on the OMAP3517 / AM3517
	  EVM.

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_OMAP_ABE_TWL6040
	tristate "SoC Audio support for OMAP boards using ABE and twl6040 codec"
	depends on TWL6040_CORE && SND_OMAP_SOC && ARCH_OMAP4
	select SND_OMAP_SOC_DMIC
	select SND_OMAP_SOC_MCPDM
	select SND_SOC_TWL6040
	select SND_SOC_DMIC
	help
	  Say Y if you want to add support for SoC audio on OMAP boards using
	  ABE and twl6040 codec. This driver currently supports:
	  - SDP4430/Blaze boards
	  - PandaBoard (4430)
	  - PandaBoardES (4460)

config SND_OMAP_SOC_OMAP4_HDMI
	tristate "SoC Audio support for Texas Instruments OMAP4 HDMI"
	depends on SND_OMAP_SOC && OMAP4_DSS_HDMI && OMAP2_DSS && ARCH_OMAP4
	select SND_OMAP_SOC_HDMI
	help
	  Say Y if you want to add support for SoC HDMI audio on Texas Instruments
	  OMAP4 chips

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 and Devkit8000"
	depends on TWL4030_CORE && SND_OMAP_SOC
	depends on (MACH_OMAP3_BEAGLE || MACH_DEVKIT8000)
	select SND_OMAP_SOC_MCBSP
	select SND_SOC_TWL4030
	help
	  Say Y if you want to add support for SoC audio on the Beagleboard or
	  the clone Devkit8000.

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.

config SND_OMAP_SOC_IGEP0020
	tristate "SoC Audio support for IGEP v2"
	depends on TWL4030_CORE && SND_OMAP_SOC && MACH_IGEP0020
	select SND_OMAP_SOC_MCBSP
	select SND_SOC_TWL4030
	help
	  Say Y if you want to add support for Soc audio on IGEP v2 board.
