config SND_EP93XX_SOC
	tristate "SoC Audio support for the Cirrus Logic EP93xx series"
	depends on ARCH_EP93XX || COMPILE_TEST
	select SND_SOC_GENERIC_DMAENGINE_PCM
	help
	  Say Y or M if you want to add support for codecs attached to
	  the EP93xx I2S or AC97 interfaces.

config SND_EP93XX_SOC_I2S
	tristate

if SND_EP93XX_SOC_I2S

config SND_EP93XX_SOC_I2S_WATCHDOG
	bool "IRQ based underflow watchdog workaround"
	default y
	help
	  I2S controller on EP93xx seems to have undocumented HW issue.
	  Underflow of internal I2S controller FIFO could confuse the
	  state machine and the whole stream can be shifted by one byte
	  until I2S is disabled. This option enables IRQ based watchdog
	  which disables and re-enables I2S in case of underflow and
	  fills FIFO with zeroes.

	  If you are unsure how to answer this question, answer Y.

endif # if SND_EP93XX_SOC_I2S

config SND_EP93XX_SOC_AC97
	tristate
	select AC97_BUS
	select SND_SOC_AC97_BUS

config SND_EP93XX_SOC_SNAPPERCL15
        tristate "SoC Audio support for Bluewater Systems Snapper CL15 module"
        depends on SND_EP93XX_SOC && MACH_SNAPPER_CL15 && I2C
        select SND_EP93XX_SOC_I2S
        select SND_SOC_TLV320AIC23_I2C
        help
          Say Y or M here if you want to add support for I2S audio on the
          Bluewater Systems Snapper CL15 module.

config SND_EP93XX_SOC_SIMONE
	tristate "SoC Audio support for Simplemachines Sim.One board"
	depends on SND_EP93XX_SOC && MACH_SIM_ONE
	select SND_EP93XX_SOC_AC97
	select SND_SOC_AC97_CODEC
	help
	  Say Y or M here if you want to add support for AC97 audio on the
	  Simplemachines Sim.One board.

config SND_EP93XX_SOC_EDB93XX
	tristate "SoC Audio support for Cirrus Logic EDB93xx boards"
	depends on SND_EP93XX_SOC && (MACH_EDB9301 || MACH_EDB9302 || MACH_EDB9302A || MACH_EDB9307A || MACH_EDB9315A)
	select SND_EP93XX_SOC_I2S
	select SND_SOC_CS4271_I2C if I2C
	select SND_SOC_CS4271_SPI if SPI_MASTER
	help
	  Say Y or M here if you want to add support for I2S audio on the
	  Cirrus Logic EDB93xx boards.
