# SPDX-License-Identifier: GPL-2.0-only
#
# Ux500 SoC audio configuration
#
menuconfig SND_SOC_UX500
	tristate "SoC Audio support for Ux500 platform"
	depends on SND_SOC
	depends on MFD_DB8500_PRCMU
	help
		Say Y if you want to enable ASoC-support for
		any of the Ux500 platforms (e.g. U8500).

config SND_SOC_UX500_PLAT_MSP_I2S
	tristate
	depends on SND_SOC_UX500

config SND_SOC_UX500_PLAT_DMA
	tristate "Platform - DB8500 (DMA)"
	depends on SND_SOC_UX500
	select SND_SOC_GENERIC_DMAENGINE_PCM
	help
		Say Y if you want to enable the Ux500 platform-driver.

config SND_SOC_UX500_MACH_MOP500
	tristate "Machine - MOP500 (Ux500 + AB8500)"
	depends on AB8500_CORE && AB8500_GPADC && SND_SOC_UX500
	select SND_SOC_AB8500_CODEC
	select SND_SOC_UX500_PLAT_MSP_I2S
	select SND_SOC_UX500_PLAT_DMA
	help
		Select this to enable the MOP500 machine-driver.
		This will enable platform-drivers for: Ux500
		This will enable codec-drivers for: AB8500
