# 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
	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
