xref: /openbmc/linux/sound/soc/cirrus/Kconfig (revision 1ac731c529cd4d6adbce134754b51ff7d822b145)
1 # SPDX-License-Identifier: GPL-2.0-only
2 config SND_EP93XX_SOC
3 	tristate "SoC Audio support for the Cirrus Logic EP93xx series"
4 	depends on ARCH_EP93XX || COMPILE_TEST
5 	select SND_SOC_GENERIC_DMAENGINE_PCM
6 	help
7 	  Say Y or M if you want to add support for codecs attached to
8 	  the EP93xx I2S or AC97 interfaces.
9 
10 config SND_EP93XX_SOC_I2S
11 	tristate "I2S controller support for the Cirrus Logic EP93xx series"
12 	depends on SND_EP93XX_SOC
13 	help
14 	  Say Y or M if you want to add support for codecs attached to
15 	  the EP93xx I2S interface.
16 
17 if SND_EP93XX_SOC_I2S
18 
19 config SND_EP93XX_SOC_I2S_WATCHDOG
20 	bool "IRQ based underflow watchdog workaround"
21 	default y
22 	help
23 	  I2S controller on EP93xx seems to have undocumented HW issue.
24 	  Underflow of internal I2S controller FIFO could confuse the
25 	  state machine and the whole stream can be shifted by one byte
26 	  until I2S is disabled. This option enables IRQ based watchdog
27 	  which disables and re-enables I2S in case of underflow and
28 	  fills FIFO with zeroes.
29 
30 	  If you are unsure how to answer this question, answer Y.
31 
32 endif # if SND_EP93XX_SOC_I2S
33 
34 config SND_EP93XX_SOC_EDB93XX
35 	tristate "SoC Audio support for Cirrus Logic EDB93xx boards"
36 	depends on SND_EP93XX_SOC && (MACH_EDB9301 || MACH_EDB9302 || MACH_EDB9302A || MACH_EDB9307A || MACH_EDB9315A)
37 	select SND_EP93XX_SOC_I2S
38 	select SND_SOC_CS4271_I2C if I2C
39 	select SND_SOC_CS4271_SPI if SPI_MASTER
40 	help
41 	  Say Y or M here if you want to add support for I2S audio on the
42 	  Cirrus Logic EDB93xx boards.
43