162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 262306a36Sopenharmony_ciconfig SND_MPU401_UART 362306a36Sopenharmony_ci tristate 462306a36Sopenharmony_ci select SND_RAWMIDI 562306a36Sopenharmony_ci 662306a36Sopenharmony_ciconfig SND_OPL3_LIB 762306a36Sopenharmony_ci tristate 862306a36Sopenharmony_ci select SND_TIMER 962306a36Sopenharmony_ci select SND_HWDEP 1062306a36Sopenharmony_ci select SND_SEQ_DEVICE if SND_SEQUENCER != n 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ciconfig SND_OPL4_LIB 1362306a36Sopenharmony_ci tristate 1462306a36Sopenharmony_ci select SND_TIMER 1562306a36Sopenharmony_ci select SND_HWDEP 1662306a36Sopenharmony_ci select SND_SEQ_DEVICE if SND_SEQUENCER != n 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ci# select SEQ stuff to min(SND_SEQUENCER,SND_XXX) 1962306a36Sopenharmony_ciconfig SND_OPL3_LIB_SEQ 2062306a36Sopenharmony_ci def_tristate SND_SEQUENCER && SND_OPL3_LIB 2162306a36Sopenharmony_ci select SND_SEQ_MIDI_EMUL 2262306a36Sopenharmony_ci select SND_SEQ_MIDI_EVENT 2362306a36Sopenharmony_ci 2462306a36Sopenharmony_ciconfig SND_OPL4_LIB_SEQ 2562306a36Sopenharmony_ci def_tristate SND_SEQUENCER && SND_OPL4_LIB 2662306a36Sopenharmony_ci select SND_SEQ_MIDI_EMUL 2762306a36Sopenharmony_ci select SND_SEQ_MIDI_EVENT 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ciconfig SND_VX_LIB 3062306a36Sopenharmony_ci tristate 3162306a36Sopenharmony_ci select FW_LOADER 3262306a36Sopenharmony_ci select SND_HWDEP 3362306a36Sopenharmony_ci select SND_PCM 3462306a36Sopenharmony_ci 3562306a36Sopenharmony_ciconfig SND_AC97_CODEC 3662306a36Sopenharmony_ci tristate 3762306a36Sopenharmony_ci select SND_PCM 3862306a36Sopenharmony_ci select AC97_BUS 3962306a36Sopenharmony_ci select SND_VMASTER 4062306a36Sopenharmony_ci 4162306a36Sopenharmony_cimenuconfig SND_DRIVERS 4262306a36Sopenharmony_ci bool "Generic sound devices" 4362306a36Sopenharmony_ci default y 4462306a36Sopenharmony_ci help 4562306a36Sopenharmony_ci Support for generic sound devices. 4662306a36Sopenharmony_ci 4762306a36Sopenharmony_ciif SND_DRIVERS 4862306a36Sopenharmony_ci 4962306a36Sopenharmony_ciconfig SND_PCSP 5062306a36Sopenharmony_ci tristate "PC-Speaker support (READ HELP!)" 5162306a36Sopenharmony_ci depends on PCSPKR_PLATFORM && X86 && HIGH_RES_TIMERS 5262306a36Sopenharmony_ci depends on INPUT 5362306a36Sopenharmony_ci select SND_PCM 5462306a36Sopenharmony_ci help 5562306a36Sopenharmony_ci If you don't have a sound card in your computer, you can include a 5662306a36Sopenharmony_ci driver for the PC speaker which allows it to act like a primitive 5762306a36Sopenharmony_ci sound card. 5862306a36Sopenharmony_ci This driver also replaces the pcspkr driver for beeps. 5962306a36Sopenharmony_ci 6062306a36Sopenharmony_ci You can compile this as a module which will be called snd-pcsp. 6162306a36Sopenharmony_ci 6262306a36Sopenharmony_ci WARNING: if you already have a soundcard, enabling this 6362306a36Sopenharmony_ci driver may lead to a problem. Namely, it may get loaded 6462306a36Sopenharmony_ci before the other sound driver of yours, making the 6562306a36Sopenharmony_ci pc-speaker a default sound device. Which is likely not 6662306a36Sopenharmony_ci what you want. To make this driver play nicely with other 6762306a36Sopenharmony_ci sound driver, you can add this in a configuration file under 6862306a36Sopenharmony_ci /etc/modprobe.d/ directory: 6962306a36Sopenharmony_ci options snd-pcsp index=2 7062306a36Sopenharmony_ci 7162306a36Sopenharmony_ci You don't need this driver if you only want your pc-speaker to beep. 7262306a36Sopenharmony_ci You don't need this driver if you have a tablet piezo beeper 7362306a36Sopenharmony_ci in your PC instead of the real speaker. 7462306a36Sopenharmony_ci 7562306a36Sopenharmony_ci Say N if you have a sound card. 7662306a36Sopenharmony_ci Say M if you don't. 7762306a36Sopenharmony_ci Say Y only if you really know what you do. 7862306a36Sopenharmony_ci 7962306a36Sopenharmony_ciconfig SND_DUMMY 8062306a36Sopenharmony_ci tristate "Dummy (/dev/null) soundcard" 8162306a36Sopenharmony_ci select SND_PCM 8262306a36Sopenharmony_ci help 8362306a36Sopenharmony_ci Say Y here to include the dummy driver. This driver does 8462306a36Sopenharmony_ci nothing, but emulates various mixer controls and PCM devices. 8562306a36Sopenharmony_ci 8662306a36Sopenharmony_ci You don't need this unless you're testing the hardware support 8762306a36Sopenharmony_ci of programs using the ALSA API. 8862306a36Sopenharmony_ci 8962306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 9062306a36Sopenharmony_ci will be called snd-dummy. 9162306a36Sopenharmony_ci 9262306a36Sopenharmony_ciconfig SND_ALOOP 9362306a36Sopenharmony_ci tristate "Generic loopback driver (PCM)" 9462306a36Sopenharmony_ci select SND_PCM 9562306a36Sopenharmony_ci select SND_TIMER 9662306a36Sopenharmony_ci help 9762306a36Sopenharmony_ci Say 'Y' or 'M' to include support for the PCM loopback device. 9862306a36Sopenharmony_ci This module returns played samples back to the user space using 9962306a36Sopenharmony_ci the standard ALSA PCM device. The devices are routed 0->1 and 10062306a36Sopenharmony_ci 1->0, where first number is the playback PCM device and second 10162306a36Sopenharmony_ci number is the capture device. Module creates two PCM devices and 10262306a36Sopenharmony_ci configured number of substreams (see the pcm_substreams module 10362306a36Sopenharmony_ci parameter). 10462306a36Sopenharmony_ci 10562306a36Sopenharmony_ci The loopback device allows time synchronization with an external 10662306a36Sopenharmony_ci timing source using the time shift universal control (+-20% 10762306a36Sopenharmony_ci of system time). 10862306a36Sopenharmony_ci 10962306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 11062306a36Sopenharmony_ci will be called snd-aloop. 11162306a36Sopenharmony_ci 11262306a36Sopenharmony_ciconfig SND_PCMTEST 11362306a36Sopenharmony_ci tristate "Virtual PCM test driver" 11462306a36Sopenharmony_ci depends on DEBUG_FS 11562306a36Sopenharmony_ci select SND_PCM 11662306a36Sopenharmony_ci help 11762306a36Sopenharmony_ci Say 'Y' or 'M' to include support for the Virtual PCM test driver. 11862306a36Sopenharmony_ci This driver is aimed at extended testing of the userspace applications 11962306a36Sopenharmony_ci which use the ALSA API, as well as the PCM middle layer testing. 12062306a36Sopenharmony_ci 12162306a36Sopenharmony_ci It can generate random or pattern-based data into the capture stream, 12262306a36Sopenharmony_ci check the playback stream for containing the selected pattern, inject 12362306a36Sopenharmony_ci time delays during capture/playback, redefine the RESET ioctl operation 12462306a36Sopenharmony_ci to perform the PCM middle layer testing and inject errors during the 12562306a36Sopenharmony_ci PCM callbacks. It supports both interleaved and non-interleaved access 12662306a36Sopenharmony_ci modes. You can find the corresponding selftest in the 'alsa' 12762306a36Sopenharmony_ci selftests folder. 12862306a36Sopenharmony_ci 12962306a36Sopenharmony_ciconfig SND_VIRMIDI 13062306a36Sopenharmony_ci tristate "Virtual MIDI soundcard" 13162306a36Sopenharmony_ci depends on SND_SEQUENCER 13262306a36Sopenharmony_ci select SND_TIMER 13362306a36Sopenharmony_ci select SND_RAWMIDI 13462306a36Sopenharmony_ci select SND_SEQ_VIRMIDI 13562306a36Sopenharmony_ci select SND_SEQ_MIDI_EVENT 13662306a36Sopenharmony_ci help 13762306a36Sopenharmony_ci Say Y here to include the virtual MIDI driver. This driver 13862306a36Sopenharmony_ci allows to connect applications using raw MIDI devices to 13962306a36Sopenharmony_ci sequencer clients. 14062306a36Sopenharmony_ci 14162306a36Sopenharmony_ci If you don't know what MIDI is, say N here. 14262306a36Sopenharmony_ci 14362306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 14462306a36Sopenharmony_ci will be called snd-virmidi. 14562306a36Sopenharmony_ci 14662306a36Sopenharmony_ciconfig SND_MTPAV 14762306a36Sopenharmony_ci tristate "MOTU MidiTimePiece AV multiport MIDI" 14862306a36Sopenharmony_ci depends on HAS_IOPORT 14962306a36Sopenharmony_ci select SND_RAWMIDI 15062306a36Sopenharmony_ci help 15162306a36Sopenharmony_ci To use a MOTU MidiTimePiece AV multiport MIDI adapter 15262306a36Sopenharmony_ci connected to the parallel port, say Y here and make sure that 15362306a36Sopenharmony_ci the standard parallel port driver isn't used for the port. 15462306a36Sopenharmony_ci 15562306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 15662306a36Sopenharmony_ci will be called snd-mtpav. 15762306a36Sopenharmony_ci 15862306a36Sopenharmony_ciconfig SND_MTS64 15962306a36Sopenharmony_ci tristate "ESI Miditerminal 4140 driver" 16062306a36Sopenharmony_ci depends on PARPORT 16162306a36Sopenharmony_ci select SND_RAWMIDI 16262306a36Sopenharmony_ci help 16362306a36Sopenharmony_ci The ESI Miditerminal 4140 is a 4 In 4 Out MIDI Interface with 16462306a36Sopenharmony_ci additional SMPTE Timecode capabilities for the parallel port. 16562306a36Sopenharmony_ci 16662306a36Sopenharmony_ci Say 'Y' to include support for this device. 16762306a36Sopenharmony_ci 16862306a36Sopenharmony_ci To compile this driver as a module, chose 'M' here: the module 16962306a36Sopenharmony_ci will be called snd-mts64. 17062306a36Sopenharmony_ci 17162306a36Sopenharmony_ciconfig SND_SERIAL_U16550 17262306a36Sopenharmony_ci tristate "UART16550 serial MIDI driver" 17362306a36Sopenharmony_ci depends on HAS_IOPORT 17462306a36Sopenharmony_ci select SND_RAWMIDI 17562306a36Sopenharmony_ci help 17662306a36Sopenharmony_ci To include support for MIDI serial port interfaces, say Y here 17762306a36Sopenharmony_ci and read <file:Documentation/sound/cards/serial-u16550.rst>. 17862306a36Sopenharmony_ci This driver works with serial UARTs 16550 and better. 17962306a36Sopenharmony_ci 18062306a36Sopenharmony_ci This driver accesses the serial port hardware directly, so 18162306a36Sopenharmony_ci make sure that the standard serial driver isn't used or 18262306a36Sopenharmony_ci deactivated with setserial before loading this driver. 18362306a36Sopenharmony_ci 18462306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 18562306a36Sopenharmony_ci will be called snd-serial-u16550. 18662306a36Sopenharmony_ci 18762306a36Sopenharmony_ciconfig SND_SERIAL_GENERIC 18862306a36Sopenharmony_ci tristate "Generic serial MIDI driver" 18962306a36Sopenharmony_ci depends on SERIAL_DEV_BUS 19062306a36Sopenharmony_ci depends on OF 19162306a36Sopenharmony_ci select SND_RAWMIDI 19262306a36Sopenharmony_ci help 19362306a36Sopenharmony_ci To include support for mapping generic serial devices as raw 19462306a36Sopenharmony_ci ALSA MIDI devices, say Y here. The driver only supports setting 19562306a36Sopenharmony_ci the serial port to standard baudrates. To attain the standard MIDI 19662306a36Sopenharmony_ci baudrate of 31.25 kBaud, configure the clock of the underlying serial 19762306a36Sopenharmony_ci device so that a requested 38.4 kBaud will result in the standard speed. 19862306a36Sopenharmony_ci 19962306a36Sopenharmony_ci Use this devicetree binding to configure serial port mapping 20062306a36Sopenharmony_ci <file:Documentation/devicetree/bindings/sound/serial-midi.yaml> 20162306a36Sopenharmony_ci 20262306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 20362306a36Sopenharmony_ci will be called snd-serial-generic. 20462306a36Sopenharmony_ci 20562306a36Sopenharmony_ciconfig SND_MPU401 20662306a36Sopenharmony_ci tristate "Generic MPU-401 UART driver" 20762306a36Sopenharmony_ci depends on HAS_IOPORT 20862306a36Sopenharmony_ci select SND_MPU401_UART 20962306a36Sopenharmony_ci help 21062306a36Sopenharmony_ci Say Y here to include support for MIDI ports compatible with 21162306a36Sopenharmony_ci the Roland MPU-401 interface in UART mode. 21262306a36Sopenharmony_ci 21362306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 21462306a36Sopenharmony_ci will be called snd-mpu401. 21562306a36Sopenharmony_ci 21662306a36Sopenharmony_ciconfig SND_PORTMAN2X4 21762306a36Sopenharmony_ci tristate "Portman 2x4 driver" 21862306a36Sopenharmony_ci depends on PARPORT 21962306a36Sopenharmony_ci select SND_RAWMIDI 22062306a36Sopenharmony_ci help 22162306a36Sopenharmony_ci Say Y here to include support for Midiman Portman 2x4 parallel 22262306a36Sopenharmony_ci port MIDI device. 22362306a36Sopenharmony_ci 22462306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 22562306a36Sopenharmony_ci will be called snd-portman2x4. 22662306a36Sopenharmony_ci 22762306a36Sopenharmony_ciconfig SND_AC97_POWER_SAVE 22862306a36Sopenharmony_ci bool "AC97 Power-Saving Mode" 22962306a36Sopenharmony_ci depends on SND_AC97_CODEC 23062306a36Sopenharmony_ci default n 23162306a36Sopenharmony_ci help 23262306a36Sopenharmony_ci Say Y here to enable the aggressive power-saving support of 23362306a36Sopenharmony_ci AC97 codecs. In this mode, the power-mode is dynamically 23462306a36Sopenharmony_ci controlled at each open/close. 23562306a36Sopenharmony_ci 23662306a36Sopenharmony_ci The mode is activated by passing 'power_save=X' to the 23762306a36Sopenharmony_ci snd-ac97-codec driver module, where 'X' is the time-out 23862306a36Sopenharmony_ci value, a nonnegative integer that specifies how many 23962306a36Sopenharmony_ci seconds of idle time the driver must count before it may 24062306a36Sopenharmony_ci put the AC97 into power-save mode; a value of 0 (zero) 24162306a36Sopenharmony_ci disables the use of this power-save mode. 24262306a36Sopenharmony_ci 24362306a36Sopenharmony_ci After the snd-ac97-codec driver module has been loaded, 24462306a36Sopenharmony_ci the 'power_save' parameter can be set via sysfs as follows: 24562306a36Sopenharmony_ci 24662306a36Sopenharmony_ci echo 10 > /sys/module/snd_ac97_codec/parameters/power_save 24762306a36Sopenharmony_ci 24862306a36Sopenharmony_ci In this case, the time-out is set to 10 seconds; setting 24962306a36Sopenharmony_ci the time-out to 1 second (the minimum activation value) 25062306a36Sopenharmony_ci isn't recommended because many applications try to reopen 25162306a36Sopenharmony_ci the device frequently. A value of 10 seconds would be a 25262306a36Sopenharmony_ci good choice for normal operations. 25362306a36Sopenharmony_ci 25462306a36Sopenharmony_ci See Documentation/sound/designs/powersave.rst for more details. 25562306a36Sopenharmony_ci 25662306a36Sopenharmony_ciconfig SND_AC97_POWER_SAVE_DEFAULT 25762306a36Sopenharmony_ci int "Default time-out for AC97 power-save mode" 25862306a36Sopenharmony_ci depends on SND_AC97_POWER_SAVE 25962306a36Sopenharmony_ci default 0 26062306a36Sopenharmony_ci help 26162306a36Sopenharmony_ci The default time-out value in seconds for AC97 automatic 26262306a36Sopenharmony_ci power-save mode. 0 means to disable the power-save mode. 26362306a36Sopenharmony_ci 26462306a36Sopenharmony_ci See SND_AC97_POWER_SAVE for more details. 26562306a36Sopenharmony_ci 26662306a36Sopenharmony_ciendif # SND_DRIVERS 267