18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
28c2ecf20Sopenharmony_ciconfig SND_MPU401_UART
38c2ecf20Sopenharmony_ci	tristate
48c2ecf20Sopenharmony_ci	select SND_RAWMIDI
58c2ecf20Sopenharmony_ci
68c2ecf20Sopenharmony_ciconfig SND_OPL3_LIB
78c2ecf20Sopenharmony_ci	tristate
88c2ecf20Sopenharmony_ci	select SND_TIMER
98c2ecf20Sopenharmony_ci	select SND_HWDEP
108c2ecf20Sopenharmony_ci	select SND_SEQ_DEVICE if SND_SEQUENCER != n
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_ciconfig SND_OPL4_LIB
138c2ecf20Sopenharmony_ci	tristate
148c2ecf20Sopenharmony_ci	select SND_TIMER
158c2ecf20Sopenharmony_ci	select SND_HWDEP
168c2ecf20Sopenharmony_ci	select SND_SEQ_DEVICE if SND_SEQUENCER != n
178c2ecf20Sopenharmony_ci
188c2ecf20Sopenharmony_ci# select SEQ stuff to min(SND_SEQUENCER,SND_XXX)
198c2ecf20Sopenharmony_ciconfig SND_OPL3_LIB_SEQ
208c2ecf20Sopenharmony_ci	def_tristate SND_SEQUENCER && SND_OPL3_LIB
218c2ecf20Sopenharmony_ci	select SND_SEQ_MIDI_EMUL
228c2ecf20Sopenharmony_ci	select SND_SEQ_MIDI_EVENT
238c2ecf20Sopenharmony_ci
248c2ecf20Sopenharmony_ciconfig SND_OPL4_LIB_SEQ
258c2ecf20Sopenharmony_ci	def_tristate SND_SEQUENCER && SND_OPL4_LIB
268c2ecf20Sopenharmony_ci	select SND_SEQ_MIDI_EMUL
278c2ecf20Sopenharmony_ci	select SND_SEQ_MIDI_EVENT
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ciconfig SND_VX_LIB
308c2ecf20Sopenharmony_ci	tristate
318c2ecf20Sopenharmony_ci	select FW_LOADER
328c2ecf20Sopenharmony_ci	select SND_HWDEP
338c2ecf20Sopenharmony_ci	select SND_PCM
348c2ecf20Sopenharmony_ci
358c2ecf20Sopenharmony_ciconfig SND_AC97_CODEC
368c2ecf20Sopenharmony_ci	tristate
378c2ecf20Sopenharmony_ci	select SND_PCM
388c2ecf20Sopenharmony_ci	select AC97_BUS
398c2ecf20Sopenharmony_ci	select SND_VMASTER
408c2ecf20Sopenharmony_ci
418c2ecf20Sopenharmony_cimenuconfig SND_DRIVERS
428c2ecf20Sopenharmony_ci	bool "Generic sound devices"
438c2ecf20Sopenharmony_ci	default y
448c2ecf20Sopenharmony_ci	help
458c2ecf20Sopenharmony_ci	  Support for generic sound devices.
468c2ecf20Sopenharmony_ci  
478c2ecf20Sopenharmony_ciif SND_DRIVERS
488c2ecf20Sopenharmony_ci
498c2ecf20Sopenharmony_ciconfig SND_PCSP
508c2ecf20Sopenharmony_ci	tristate "PC-Speaker support (READ HELP!)"
518c2ecf20Sopenharmony_ci	depends on PCSPKR_PLATFORM && X86 && HIGH_RES_TIMERS
528c2ecf20Sopenharmony_ci	depends on INPUT
538c2ecf20Sopenharmony_ci	select SND_PCM
548c2ecf20Sopenharmony_ci	help
558c2ecf20Sopenharmony_ci	  If you don't have a sound card in your computer, you can include a
568c2ecf20Sopenharmony_ci	  driver for the PC speaker which allows it to act like a primitive
578c2ecf20Sopenharmony_ci	  sound card.
588c2ecf20Sopenharmony_ci	  This driver also replaces the pcspkr driver for beeps.
598c2ecf20Sopenharmony_ci
608c2ecf20Sopenharmony_ci	  You can compile this as a module which will be called snd-pcsp.
618c2ecf20Sopenharmony_ci
628c2ecf20Sopenharmony_ci	  WARNING: if you already have a soundcard, enabling this
638c2ecf20Sopenharmony_ci	  driver may lead to a problem. Namely, it may get loaded
648c2ecf20Sopenharmony_ci	  before the other sound driver of yours, making the
658c2ecf20Sopenharmony_ci	  pc-speaker a default sound device. Which is likely not
668c2ecf20Sopenharmony_ci	  what you want. To make this driver play nicely with other
678c2ecf20Sopenharmony_ci	  sound driver, you can add this in a configuration file under
688c2ecf20Sopenharmony_ci	  /etc/modprobe.d/ directory:
698c2ecf20Sopenharmony_ci	  options snd-pcsp index=2
708c2ecf20Sopenharmony_ci
718c2ecf20Sopenharmony_ci	  You don't need this driver if you only want your pc-speaker to beep.
728c2ecf20Sopenharmony_ci	  You don't need this driver if you have a tablet piezo beeper
738c2ecf20Sopenharmony_ci	  in your PC instead of the real speaker.
748c2ecf20Sopenharmony_ci
758c2ecf20Sopenharmony_ci	  Say N if you have a sound card.
768c2ecf20Sopenharmony_ci	  Say M if you don't.
778c2ecf20Sopenharmony_ci	  Say Y only if you really know what you do.
788c2ecf20Sopenharmony_ci
798c2ecf20Sopenharmony_ciconfig SND_DUMMY
808c2ecf20Sopenharmony_ci	tristate "Dummy (/dev/null) soundcard"
818c2ecf20Sopenharmony_ci	select SND_PCM
828c2ecf20Sopenharmony_ci	help
838c2ecf20Sopenharmony_ci	  Say Y here to include the dummy driver.  This driver does
848c2ecf20Sopenharmony_ci	  nothing, but emulates various mixer controls and PCM devices.
858c2ecf20Sopenharmony_ci
868c2ecf20Sopenharmony_ci	  You don't need this unless you're testing the hardware support
878c2ecf20Sopenharmony_ci	  of programs using the ALSA API.
888c2ecf20Sopenharmony_ci
898c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
908c2ecf20Sopenharmony_ci	  will be called snd-dummy.
918c2ecf20Sopenharmony_ci
928c2ecf20Sopenharmony_ciconfig SND_ALOOP
938c2ecf20Sopenharmony_ci	tristate "Generic loopback driver (PCM)"
948c2ecf20Sopenharmony_ci	select SND_PCM
958c2ecf20Sopenharmony_ci	select SND_TIMER
968c2ecf20Sopenharmony_ci	help
978c2ecf20Sopenharmony_ci	  Say 'Y' or 'M' to include support for the PCM loopback device.
988c2ecf20Sopenharmony_ci	  This module returns played samples back to the user space using
998c2ecf20Sopenharmony_ci	  the standard ALSA PCM device. The devices are routed 0->1 and
1008c2ecf20Sopenharmony_ci	  1->0, where first number is the playback PCM device and second
1018c2ecf20Sopenharmony_ci	  number is the capture device. Module creates two PCM devices and
1028c2ecf20Sopenharmony_ci	  configured number of substreams (see the pcm_substreams module
1038c2ecf20Sopenharmony_ci	  parameter).
1048c2ecf20Sopenharmony_ci
1058c2ecf20Sopenharmony_ci	  The loopback device allows time sychronization with an external
1068c2ecf20Sopenharmony_ci	  timing source using the time shift universal control (+-20%
1078c2ecf20Sopenharmony_ci	  of system time).
1088c2ecf20Sopenharmony_ci
1098c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
1108c2ecf20Sopenharmony_ci	  will be called snd-aloop.
1118c2ecf20Sopenharmony_ci
1128c2ecf20Sopenharmony_ciconfig SND_VIRMIDI
1138c2ecf20Sopenharmony_ci	tristate "Virtual MIDI soundcard"
1148c2ecf20Sopenharmony_ci	depends on SND_SEQUENCER
1158c2ecf20Sopenharmony_ci	select SND_TIMER
1168c2ecf20Sopenharmony_ci	select SND_RAWMIDI
1178c2ecf20Sopenharmony_ci	select SND_SEQ_VIRMIDI
1188c2ecf20Sopenharmony_ci	select SND_SEQ_MIDI_EVENT
1198c2ecf20Sopenharmony_ci	help
1208c2ecf20Sopenharmony_ci	  Say Y here to include the virtual MIDI driver.  This driver
1218c2ecf20Sopenharmony_ci	  allows to connect applications using raw MIDI devices to
1228c2ecf20Sopenharmony_ci	  sequencer clients.
1238c2ecf20Sopenharmony_ci
1248c2ecf20Sopenharmony_ci	  If you don't know what MIDI is, say N here.
1258c2ecf20Sopenharmony_ci
1268c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
1278c2ecf20Sopenharmony_ci	  will be called snd-virmidi.
1288c2ecf20Sopenharmony_ci
1298c2ecf20Sopenharmony_ciconfig SND_MTPAV
1308c2ecf20Sopenharmony_ci	tristate "MOTU MidiTimePiece AV multiport MIDI"
1318c2ecf20Sopenharmony_ci	select SND_RAWMIDI
1328c2ecf20Sopenharmony_ci	help
1338c2ecf20Sopenharmony_ci	  To use a MOTU MidiTimePiece AV multiport MIDI adapter
1348c2ecf20Sopenharmony_ci	  connected to the parallel port, say Y here and make sure that
1358c2ecf20Sopenharmony_ci	  the standard parallel port driver isn't used for the port.
1368c2ecf20Sopenharmony_ci
1378c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
1388c2ecf20Sopenharmony_ci	  will be called snd-mtpav.
1398c2ecf20Sopenharmony_ci
1408c2ecf20Sopenharmony_ciconfig SND_MTS64
1418c2ecf20Sopenharmony_ci	tristate "ESI Miditerminal 4140 driver"
1428c2ecf20Sopenharmony_ci	depends on PARPORT
1438c2ecf20Sopenharmony_ci	select SND_RAWMIDI
1448c2ecf20Sopenharmony_ci	help
1458c2ecf20Sopenharmony_ci	  The ESI Miditerminal 4140 is a 4 In 4 Out MIDI Interface with 
1468c2ecf20Sopenharmony_ci	  additional SMPTE Timecode capabilities for the parallel port.
1478c2ecf20Sopenharmony_ci
1488c2ecf20Sopenharmony_ci	  Say 'Y' to include support for this device.
1498c2ecf20Sopenharmony_ci
1508c2ecf20Sopenharmony_ci	  To compile this driver as a module, chose 'M' here: the module 
1518c2ecf20Sopenharmony_ci	  will be called snd-mts64.
1528c2ecf20Sopenharmony_ci
1538c2ecf20Sopenharmony_ciconfig SND_SERIAL_U16550
1548c2ecf20Sopenharmony_ci	tristate "UART16550 serial MIDI driver"
1558c2ecf20Sopenharmony_ci	select SND_RAWMIDI
1568c2ecf20Sopenharmony_ci	help
1578c2ecf20Sopenharmony_ci	  To include support for MIDI serial port interfaces, say Y here
1588c2ecf20Sopenharmony_ci	  and read <file:Documentation/sound/cards/serial-u16550.rst>.
1598c2ecf20Sopenharmony_ci	  This driver works with serial UARTs 16550 and better.
1608c2ecf20Sopenharmony_ci
1618c2ecf20Sopenharmony_ci	  This driver accesses the serial port hardware directly, so
1628c2ecf20Sopenharmony_ci	  make sure that the standard serial driver isn't used or
1638c2ecf20Sopenharmony_ci	  deactivated with setserial before loading this driver.
1648c2ecf20Sopenharmony_ci
1658c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
1668c2ecf20Sopenharmony_ci	  will be called snd-serial-u16550.
1678c2ecf20Sopenharmony_ci
1688c2ecf20Sopenharmony_ciconfig SND_MPU401
1698c2ecf20Sopenharmony_ci	tristate "Generic MPU-401 UART driver"
1708c2ecf20Sopenharmony_ci	select SND_MPU401_UART
1718c2ecf20Sopenharmony_ci	help
1728c2ecf20Sopenharmony_ci	  Say Y here to include support for MIDI ports compatible with
1738c2ecf20Sopenharmony_ci	  the Roland MPU-401 interface in UART mode.
1748c2ecf20Sopenharmony_ci
1758c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
1768c2ecf20Sopenharmony_ci	  will be called snd-mpu401.
1778c2ecf20Sopenharmony_ci
1788c2ecf20Sopenharmony_ciconfig SND_PORTMAN2X4
1798c2ecf20Sopenharmony_ci	tristate "Portman 2x4 driver"
1808c2ecf20Sopenharmony_ci	depends on PARPORT
1818c2ecf20Sopenharmony_ci	select SND_RAWMIDI
1828c2ecf20Sopenharmony_ci	help
1838c2ecf20Sopenharmony_ci	  Say Y here to include support for Midiman Portman 2x4 parallel
1848c2ecf20Sopenharmony_ci	  port MIDI device.
1858c2ecf20Sopenharmony_ci
1868c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
1878c2ecf20Sopenharmony_ci	  will be called snd-portman2x4.
1888c2ecf20Sopenharmony_ci
1898c2ecf20Sopenharmony_ciconfig SND_AC97_POWER_SAVE
1908c2ecf20Sopenharmony_ci	bool "AC97 Power-Saving Mode"
1918c2ecf20Sopenharmony_ci	depends on SND_AC97_CODEC
1928c2ecf20Sopenharmony_ci	default n
1938c2ecf20Sopenharmony_ci	help
1948c2ecf20Sopenharmony_ci	  Say Y here to enable the aggressive power-saving support of
1958c2ecf20Sopenharmony_ci	  AC97 codecs.  In this mode, the power-mode is dynamically
1968c2ecf20Sopenharmony_ci	  controlled at each open/close.
1978c2ecf20Sopenharmony_ci
1988c2ecf20Sopenharmony_ci	  The mode is activated by passing 'power_save=X' to the
1998c2ecf20Sopenharmony_ci	  snd-ac97-codec driver module, where 'X' is the time-out
2008c2ecf20Sopenharmony_ci	  value, a nonnegative integer that specifies how many
2018c2ecf20Sopenharmony_ci	  seconds of idle time the driver must count before it may
2028c2ecf20Sopenharmony_ci	  put the AC97 into power-save mode;  a value of 0 (zero)
2038c2ecf20Sopenharmony_ci	  disables the use of this power-save mode.
2048c2ecf20Sopenharmony_ci
2058c2ecf20Sopenharmony_ci	  After the snd-ac97-codec driver module has been loaded,
2068c2ecf20Sopenharmony_ci	  the 'power_save' parameter can be set via sysfs as follows:
2078c2ecf20Sopenharmony_ci
2088c2ecf20Sopenharmony_ci	    echo 10 > /sys/module/snd_ac97_codec/parameters/power_save
2098c2ecf20Sopenharmony_ci
2108c2ecf20Sopenharmony_ci	  In this case, the time-out is set to 10 seconds; setting
2118c2ecf20Sopenharmony_ci	  the time-out to 1 second (the minimum activation value)
2128c2ecf20Sopenharmony_ci	  isn't recommended because many applications try to reopen
2138c2ecf20Sopenharmony_ci	  the device frequently.  A value of 10 seconds would be a
2148c2ecf20Sopenharmony_ci	  good choice for normal operations.
2158c2ecf20Sopenharmony_ci
2168c2ecf20Sopenharmony_ci	  See Documentation/sound/designs/powersave.rst for more details.
2178c2ecf20Sopenharmony_ci
2188c2ecf20Sopenharmony_ciconfig SND_AC97_POWER_SAVE_DEFAULT
2198c2ecf20Sopenharmony_ci	int "Default time-out for AC97 power-save mode"
2208c2ecf20Sopenharmony_ci	depends on SND_AC97_POWER_SAVE
2218c2ecf20Sopenharmony_ci	default 0
2228c2ecf20Sopenharmony_ci	help
2238c2ecf20Sopenharmony_ci	  The default time-out value in seconds for AC97 automatic
2248c2ecf20Sopenharmony_ci	  power-save mode.  0 means to disable the power-save mode.
2258c2ecf20Sopenharmony_ci
2268c2ecf20Sopenharmony_ci	  See SND_AC97_POWER_SAVE for more details.
2278c2ecf20Sopenharmony_ci
2288c2ecf20Sopenharmony_ciendif	# SND_DRIVERS
229