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