# SPDX-License-Identifier: GPL-2.0-only
# ALSA ARM drivers

menuconfig SND_ARM
	bool "ARM sound devices"
	depends on ARM
	default y
	help
	  Support for sound devices specific to ARM architectures.
	  Drivers that are implemented on ASoC can be found in
	  "ALSA for SoC audio support" section.

if SND_ARM

config SND_ARMAACI
	tristate "ARM PrimeCell PL041 AC Link support"
	depends on ARM_AMBA
	select SND_PCM
	select SND_AC97_CODEC

config SND_PXA2XX_AC97
	tristate "AC97 driver for the Intel PXA2xx chip"
	depends on ARCH_PXA
	select SND_AC97_CODEC
	select SND_PXA2XX_LIB
	select SND_PXA2XX_LIB_AC97
	help
	  Say Y or M if you want to support any AC97 codec attached to
	  the PXA2xx AC97 interface.

endif	# SND_ARM

config SND_PXA2XX_LIB
	tristate
	select SND_DMAENGINE_PCM

config SND_PXA2XX_LIB_AC97
	bool
