# ALSA PowerMac drivers

menuconfig SND_PPC
	bool "PowerPC sound devices"
	depends on PPC64 || PPC32
	default y
	help
	  Support for sound devices specific to PowerPC architectures.

if SND_PPC

config SND_POWERMAC
	tristate "PowerMac (AWACS, DACA, Burgundy, Tumbler, Keywest)"
	depends on I2C && INPUT && PPC_PMAC
	select SND_PCM
	select SND_VMASTER
	help
	  Say Y here to include support for the integrated sound device.

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

config SND_POWERMAC_AUTO_DRC
	bool "Toggle DRC automatically at headphone/line plug-in"
	depends on SND_POWERMAC
	default y
	help
	  Say Y here to enable the automatic toggle of DRC (dynamic
	  range compression) on Tumbler/Snapper.
	  If this feature is enabled, DRC is turned off when the
	  headphone/line jack is plugged, and turned on when unplugged.

	  Note that you can turn on/off DRC manually even without this
	  option.

config SND_PS3
	tristate "PS3 Audio support"
	depends on PS3_PS3AV
	select SND_PCM
	default m
	help
	  Say Y here to include support for audio on the PS3

	  To compile this driver as a module, choose M here: the module
	  will be called snd_ps3.

config SND_PS3_DEFAULT_START_DELAY
	int "Startup delay time in ms"
	depends on SND_PS3
	default "2000"

endif	# SND_PPC
