# ALSA PowerMac drivers

menuconfig SND_PPC
	bool "PowerPC sound devices"
	depends on PPC
	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
