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