xref: /OK3568_Linux_fs/kernel/sound/soc/cirrus/Kconfig (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0-only
2*4882a593Smuzhiyunconfig SND_EP93XX_SOC
3*4882a593Smuzhiyun	tristate "SoC Audio support for the Cirrus Logic EP93xx series"
4*4882a593Smuzhiyun	depends on ARCH_EP93XX || COMPILE_TEST
5*4882a593Smuzhiyun	select SND_SOC_GENERIC_DMAENGINE_PCM
6*4882a593Smuzhiyun	help
7*4882a593Smuzhiyun	  Say Y or M if you want to add support for codecs attached to
8*4882a593Smuzhiyun	  the EP93xx I2S or AC97 interfaces.
9*4882a593Smuzhiyun
10*4882a593Smuzhiyunconfig SND_EP93XX_SOC_I2S
11*4882a593Smuzhiyun	tristate
12*4882a593Smuzhiyun
13*4882a593Smuzhiyunif SND_EP93XX_SOC_I2S
14*4882a593Smuzhiyun
15*4882a593Smuzhiyunconfig SND_EP93XX_SOC_I2S_WATCHDOG
16*4882a593Smuzhiyun	bool "IRQ based underflow watchdog workaround"
17*4882a593Smuzhiyun	default y
18*4882a593Smuzhiyun	help
19*4882a593Smuzhiyun	  I2S controller on EP93xx seems to have undocumented HW issue.
20*4882a593Smuzhiyun	  Underflow of internal I2S controller FIFO could confuse the
21*4882a593Smuzhiyun	  state machine and the whole stream can be shifted by one byte
22*4882a593Smuzhiyun	  until I2S is disabled. This option enables IRQ based watchdog
23*4882a593Smuzhiyun	  which disables and re-enables I2S in case of underflow and
24*4882a593Smuzhiyun	  fills FIFO with zeroes.
25*4882a593Smuzhiyun
26*4882a593Smuzhiyun	  If you are unsure how to answer this question, answer Y.
27*4882a593Smuzhiyun
28*4882a593Smuzhiyunendif # if SND_EP93XX_SOC_I2S
29*4882a593Smuzhiyun
30*4882a593Smuzhiyunconfig SND_EP93XX_SOC_AC97
31*4882a593Smuzhiyun	tristate
32*4882a593Smuzhiyun	select AC97_BUS
33*4882a593Smuzhiyun	select SND_SOC_AC97_BUS
34*4882a593Smuzhiyun
35*4882a593Smuzhiyunconfig SND_EP93XX_SOC_SNAPPERCL15
36*4882a593Smuzhiyun	tristate "SoC Audio support for Bluewater Systems Snapper CL15 module"
37*4882a593Smuzhiyun	depends on SND_EP93XX_SOC && MACH_SNAPPER_CL15 && I2C
38*4882a593Smuzhiyun	select SND_EP93XX_SOC_I2S
39*4882a593Smuzhiyun	select SND_SOC_TLV320AIC23_I2C
40*4882a593Smuzhiyun	help
41*4882a593Smuzhiyun	  Say Y or M here if you want to add support for I2S audio on the
42*4882a593Smuzhiyun	  Bluewater Systems Snapper CL15 module.
43*4882a593Smuzhiyun
44*4882a593Smuzhiyunconfig SND_EP93XX_SOC_SIMONE
45*4882a593Smuzhiyun	tristate "SoC Audio support for Simplemachines Sim.One board"
46*4882a593Smuzhiyun	depends on SND_EP93XX_SOC && MACH_SIM_ONE
47*4882a593Smuzhiyun	select SND_EP93XX_SOC_AC97
48*4882a593Smuzhiyun	select SND_SOC_AC97_CODEC
49*4882a593Smuzhiyun	help
50*4882a593Smuzhiyun	  Say Y or M here if you want to add support for AC97 audio on the
51*4882a593Smuzhiyun	  Simplemachines Sim.One board.
52*4882a593Smuzhiyun
53*4882a593Smuzhiyunconfig SND_EP93XX_SOC_EDB93XX
54*4882a593Smuzhiyun	tristate "SoC Audio support for Cirrus Logic EDB93xx boards"
55*4882a593Smuzhiyun	depends on SND_EP93XX_SOC && (MACH_EDB9301 || MACH_EDB9302 || MACH_EDB9302A || MACH_EDB9307A || MACH_EDB9315A)
56*4882a593Smuzhiyun	select SND_EP93XX_SOC_I2S
57*4882a593Smuzhiyun	select SND_SOC_CS4271_I2C if I2C
58*4882a593Smuzhiyun	select SND_SOC_CS4271_SPI if SPI_MASTER
59*4882a593Smuzhiyun	help
60*4882a593Smuzhiyun	  Say Y or M here if you want to add support for I2S audio on the
61*4882a593Smuzhiyun	  Cirrus Logic EDB93xx boards.
62