xref: /openbmc/linux/sound/soc/cirrus/Kconfig (revision ec8f24b7)
1*ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only
20ed275efSAlexander Shiyanconfig SND_EP93XX_SOC
30ed275efSAlexander Shiyan	tristate "SoC Audio support for the Cirrus Logic EP93xx series"
417cb37aaSAlexander Shiyan	depends on ARCH_EP93XX || COMPILE_TEST
5e27e8a60SLars-Peter Clausen	select SND_SOC_GENERIC_DMAENGINE_PCM
60ed275efSAlexander Shiyan	help
70ed275efSAlexander Shiyan	  Say Y or M if you want to add support for codecs attached to
80ed275efSAlexander Shiyan	  the EP93xx I2S or AC97 interfaces.
90ed275efSAlexander Shiyan
100ed275efSAlexander Shiyanconfig SND_EP93XX_SOC_I2S
110ed275efSAlexander Shiyan	tristate
120ed275efSAlexander Shiyan
1398e1241cSAlexander Sverdlinif SND_EP93XX_SOC_I2S
1498e1241cSAlexander Sverdlin
1598e1241cSAlexander Sverdlinconfig SND_EP93XX_SOC_I2S_WATCHDOG
1698e1241cSAlexander Sverdlin	bool "IRQ based underflow watchdog workaround"
1798e1241cSAlexander Sverdlin	default y
1898e1241cSAlexander Sverdlin	help
1998e1241cSAlexander Sverdlin	  I2S controller on EP93xx seems to have undocumented HW issue.
2098e1241cSAlexander Sverdlin	  Underflow of internal I2S controller FIFO could confuse the
2198e1241cSAlexander Sverdlin	  state machine and the whole stream can be shifted by one byte
2298e1241cSAlexander Sverdlin	  until I2S is disabled. This option enables IRQ based watchdog
2398e1241cSAlexander Sverdlin	  which disables and re-enables I2S in case of underflow and
2498e1241cSAlexander Sverdlin	  fills FIFO with zeroes.
2598e1241cSAlexander Sverdlin
2698e1241cSAlexander Sverdlin	  If you are unsure how to answer this question, answer Y.
2798e1241cSAlexander Sverdlin
2898e1241cSAlexander Sverdlinendif # if SND_EP93XX_SOC_I2S
2998e1241cSAlexander Sverdlin
300ed275efSAlexander Shiyanconfig SND_EP93XX_SOC_AC97
310ed275efSAlexander Shiyan	tristate
320ed275efSAlexander Shiyan	select AC97_BUS
330ed275efSAlexander Shiyan	select SND_SOC_AC97_BUS
340ed275efSAlexander Shiyan
350ed275efSAlexander Shiyanconfig SND_EP93XX_SOC_SNAPPERCL15
360ed275efSAlexander Shiyan        tristate "SoC Audio support for Bluewater Systems Snapper CL15 module"
3752554fbdSArnd Bergmann        depends on SND_EP93XX_SOC && MACH_SNAPPER_CL15 && I2C
380ed275efSAlexander Shiyan        select SND_EP93XX_SOC_I2S
39cc1bc54aSMax Filippov        select SND_SOC_TLV320AIC23_I2C
400ed275efSAlexander Shiyan        help
410ed275efSAlexander Shiyan          Say Y or M here if you want to add support for I2S audio on the
420ed275efSAlexander Shiyan          Bluewater Systems Snapper CL15 module.
430ed275efSAlexander Shiyan
440ed275efSAlexander Shiyanconfig SND_EP93XX_SOC_SIMONE
450ed275efSAlexander Shiyan	tristate "SoC Audio support for Simplemachines Sim.One board"
460ed275efSAlexander Shiyan	depends on SND_EP93XX_SOC && MACH_SIM_ONE
470ed275efSAlexander Shiyan	select SND_EP93XX_SOC_AC97
480ed275efSAlexander Shiyan	select SND_SOC_AC97_CODEC
490ed275efSAlexander Shiyan	help
500ed275efSAlexander Shiyan	  Say Y or M here if you want to add support for AC97 audio on the
510ed275efSAlexander Shiyan	  Simplemachines Sim.One board.
520ed275efSAlexander Shiyan
530ed275efSAlexander Shiyanconfig SND_EP93XX_SOC_EDB93XX
540ed275efSAlexander Shiyan	tristate "SoC Audio support for Cirrus Logic EDB93xx boards"
550ed275efSAlexander Shiyan	depends on SND_EP93XX_SOC && (MACH_EDB9301 || MACH_EDB9302 || MACH_EDB9302A || MACH_EDB9307A || MACH_EDB9315A)
560ed275efSAlexander Shiyan	select SND_EP93XX_SOC_I2S
57c973b8a7SAxel Lin	select SND_SOC_CS4271_I2C if I2C
58c973b8a7SAxel Lin	select SND_SOC_CS4271_SPI if SPI_MASTER
590ed275efSAlexander Shiyan	help
600ed275efSAlexander Shiyan	  Say Y or M here if you want to add support for I2S audio on the
610ed275efSAlexander Shiyan	  Cirrus Logic EDB93xx boards.
62