# SPDX-License-Identifier: GPL-2.0-only
config SND_PXA2XX_SOC
	tristate "SoC Audio for the Intel PXA2xx chip"
	depends on ARCH_PXA || COMPILE_TEST
	select SND_PXA2XX_LIB
	help
	  Say Y or M if you want to add support for codecs attached to
	  the PXA2xx AC97, I2S or SSP interface. You will also need
	  to select the audio interfaces to support below.

config SND_PXA2XX_AC97
	tristate

config SND_PXA2XX_SOC_AC97
	tristate "SoC AC97 support for PXA2xx"
	depends on SND_PXA2XX_SOC
	depends on AC97_BUS=n
	default y
	select AC97_BUS_NEW
	select SND_PXA2XX_LIB
	select SND_PXA2XX_LIB_AC97
	select SND_SOC_AC97_BUS_NEW

config SND_PXA2XX_SOC_I2S
	select SND_PXA2XX_LIB
	tristate

config SND_PXA_SOC_SSP
	tristate "Soc Audio via PXA2xx/PXA3xx SSP ports"
	depends on PLAT_PXA
	select PXA_SSP
	select SND_PXA2XX_LIB

config SND_MMP_SOC_SSPA
	tristate "SoC Audio via MMP SSPA ports"
	depends on ARCH_MMP
	select SND_SOC_GENERIC_DMAENGINE_PCM
	select SND_ARM
	help
	  Say Y if you want to add support for codecs attached to
	  the MMP SSPA interface.

config SND_PXA2XX_SOC_SPITZ
	tristate "SoC Audio support for Sharp Zaurus SL-Cxx00"
	depends on SND_PXA2XX_SOC && PXA_SHARP_Cxx00 && I2C
	select SND_PXA2XX_SOC_I2S
	select SND_SOC_WM8750
	help
	  Say Y if you want to add support for SoC audio on Sharp
	  Zaurus SL-Cxx00 models (Spitz, Borzoi and Akita).

config SND_PXA910_SOC
	tristate "SoC Audio for Marvell PXA910 chip"
	depends on ARCH_MMP && SND
	select SND_PCM
	help
	  Say Y if you want to add support for SoC audio on the
	  Marvell PXA910 reference platform.
