# SPDX-License-Identifier: GPL-2.0-only
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 "I2S controller support for the Cirrus Logic EP93xx series"
	depends on SND_EP93XX_SOC
	help
	  Say Y or M if you want to add support for codecs attached to
	  the EP93xx I2S interface.

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_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.