162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ciconfig SND_EP93XX_SOC
362306a36Sopenharmony_ci	tristate "SoC Audio support for the Cirrus Logic EP93xx series"
462306a36Sopenharmony_ci	depends on ARCH_EP93XX || COMPILE_TEST
562306a36Sopenharmony_ci	select SND_SOC_GENERIC_DMAENGINE_PCM
662306a36Sopenharmony_ci	help
762306a36Sopenharmony_ci	  Say Y or M if you want to add support for codecs attached to
862306a36Sopenharmony_ci	  the EP93xx I2S or AC97 interfaces.
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ciconfig SND_EP93XX_SOC_I2S
1162306a36Sopenharmony_ci	tristate "I2S controller support for the Cirrus Logic EP93xx series"
1262306a36Sopenharmony_ci	depends on SND_EP93XX_SOC
1362306a36Sopenharmony_ci	help
1462306a36Sopenharmony_ci	  Say Y or M if you want to add support for codecs attached to
1562306a36Sopenharmony_ci	  the EP93xx I2S interface.
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ciif SND_EP93XX_SOC_I2S
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ciconfig SND_EP93XX_SOC_I2S_WATCHDOG
2062306a36Sopenharmony_ci	bool "IRQ based underflow watchdog workaround"
2162306a36Sopenharmony_ci	default y
2262306a36Sopenharmony_ci	help
2362306a36Sopenharmony_ci	  I2S controller on EP93xx seems to have undocumented HW issue.
2462306a36Sopenharmony_ci	  Underflow of internal I2S controller FIFO could confuse the
2562306a36Sopenharmony_ci	  state machine and the whole stream can be shifted by one byte
2662306a36Sopenharmony_ci	  until I2S is disabled. This option enables IRQ based watchdog
2762306a36Sopenharmony_ci	  which disables and re-enables I2S in case of underflow and
2862306a36Sopenharmony_ci	  fills FIFO with zeroes.
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ci	  If you are unsure how to answer this question, answer Y.
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ciendif # if SND_EP93XX_SOC_I2S
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_ciconfig SND_EP93XX_SOC_EDB93XX
3562306a36Sopenharmony_ci	tristate "SoC Audio support for Cirrus Logic EDB93xx boards"
3662306a36Sopenharmony_ci	depends on SND_EP93XX_SOC && (MACH_EDB9301 || MACH_EDB9302 || MACH_EDB9302A || MACH_EDB9307A || MACH_EDB9315A)
3762306a36Sopenharmony_ci	select SND_EP93XX_SOC_I2S
3862306a36Sopenharmony_ci	select SND_SOC_CS4271_I2C if I2C
3962306a36Sopenharmony_ci	select SND_SOC_CS4271_SPI if SPI_MASTER
4062306a36Sopenharmony_ci	help
4162306a36Sopenharmony_ci	  Say Y or M here if you want to add support for I2S audio on the
4262306a36Sopenharmony_ci	  Cirrus Logic EDB93xx boards.
43