# 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_SA11XX_UDA1341
	tristate "SA11xx UDA1341TS driver (iPaq H3600)"
	depends on ARCH_SA1100 && L3
	select SND_PCM
	help
	  Say Y here if you have a Compaq iPaq H3x00 handheld computer
	  and want to use its Philips UDA 1341 audio chip.

	  To compile this driver as a module, choose M here: the module
	  will be called snd-sa11xx-uda1341.

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

config SND_PXA2XX_PCM
	tristate
	select SND_PCM

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

endif	# SND_ARM

