18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
28c2ecf20Sopenharmony_ciconfig SND_EP93XX_SOC
38c2ecf20Sopenharmony_ci	tristate "SoC Audio support for the Cirrus Logic EP93xx series"
48c2ecf20Sopenharmony_ci	depends on ARCH_EP93XX || COMPILE_TEST
58c2ecf20Sopenharmony_ci	select SND_SOC_GENERIC_DMAENGINE_PCM
68c2ecf20Sopenharmony_ci	help
78c2ecf20Sopenharmony_ci	  Say Y or M if you want to add support for codecs attached to
88c2ecf20Sopenharmony_ci	  the EP93xx I2S or AC97 interfaces.
98c2ecf20Sopenharmony_ci
108c2ecf20Sopenharmony_ciconfig SND_EP93XX_SOC_I2S
118c2ecf20Sopenharmony_ci	tristate
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_ciif SND_EP93XX_SOC_I2S
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_ciconfig SND_EP93XX_SOC_I2S_WATCHDOG
168c2ecf20Sopenharmony_ci	bool "IRQ based underflow watchdog workaround"
178c2ecf20Sopenharmony_ci	default y
188c2ecf20Sopenharmony_ci	help
198c2ecf20Sopenharmony_ci	  I2S controller on EP93xx seems to have undocumented HW issue.
208c2ecf20Sopenharmony_ci	  Underflow of internal I2S controller FIFO could confuse the
218c2ecf20Sopenharmony_ci	  state machine and the whole stream can be shifted by one byte
228c2ecf20Sopenharmony_ci	  until I2S is disabled. This option enables IRQ based watchdog
238c2ecf20Sopenharmony_ci	  which disables and re-enables I2S in case of underflow and
248c2ecf20Sopenharmony_ci	  fills FIFO with zeroes.
258c2ecf20Sopenharmony_ci
268c2ecf20Sopenharmony_ci	  If you are unsure how to answer this question, answer Y.
278c2ecf20Sopenharmony_ci
288c2ecf20Sopenharmony_ciendif # if SND_EP93XX_SOC_I2S
298c2ecf20Sopenharmony_ci
308c2ecf20Sopenharmony_ciconfig SND_EP93XX_SOC_AC97
318c2ecf20Sopenharmony_ci	tristate
328c2ecf20Sopenharmony_ci	select AC97_BUS
338c2ecf20Sopenharmony_ci	select SND_SOC_AC97_BUS
348c2ecf20Sopenharmony_ci
358c2ecf20Sopenharmony_ciconfig SND_EP93XX_SOC_SNAPPERCL15
368c2ecf20Sopenharmony_ci	tristate "SoC Audio support for Bluewater Systems Snapper CL15 module"
378c2ecf20Sopenharmony_ci	depends on SND_EP93XX_SOC && MACH_SNAPPER_CL15 && I2C
388c2ecf20Sopenharmony_ci	select SND_EP93XX_SOC_I2S
398c2ecf20Sopenharmony_ci	select SND_SOC_TLV320AIC23_I2C
408c2ecf20Sopenharmony_ci	help
418c2ecf20Sopenharmony_ci	  Say Y or M here if you want to add support for I2S audio on the
428c2ecf20Sopenharmony_ci	  Bluewater Systems Snapper CL15 module.
438c2ecf20Sopenharmony_ci
448c2ecf20Sopenharmony_ciconfig SND_EP93XX_SOC_SIMONE
458c2ecf20Sopenharmony_ci	tristate "SoC Audio support for Simplemachines Sim.One board"
468c2ecf20Sopenharmony_ci	depends on SND_EP93XX_SOC && MACH_SIM_ONE
478c2ecf20Sopenharmony_ci	select SND_EP93XX_SOC_AC97
488c2ecf20Sopenharmony_ci	select SND_SOC_AC97_CODEC
498c2ecf20Sopenharmony_ci	help
508c2ecf20Sopenharmony_ci	  Say Y or M here if you want to add support for AC97 audio on the
518c2ecf20Sopenharmony_ci	  Simplemachines Sim.One board.
528c2ecf20Sopenharmony_ci
538c2ecf20Sopenharmony_ciconfig SND_EP93XX_SOC_EDB93XX
548c2ecf20Sopenharmony_ci	tristate "SoC Audio support for Cirrus Logic EDB93xx boards"
558c2ecf20Sopenharmony_ci	depends on SND_EP93XX_SOC && (MACH_EDB9301 || MACH_EDB9302 || MACH_EDB9302A || MACH_EDB9307A || MACH_EDB9315A)
568c2ecf20Sopenharmony_ci	select SND_EP93XX_SOC_I2S
578c2ecf20Sopenharmony_ci	select SND_SOC_CS4271_I2C if I2C
588c2ecf20Sopenharmony_ci	select SND_SOC_CS4271_SPI if SPI_MASTER
598c2ecf20Sopenharmony_ci	help
608c2ecf20Sopenharmony_ci	  Say Y or M here if you want to add support for I2S audio on the
618c2ecf20Sopenharmony_ci	  Cirrus Logic EDB93xx boards.
62