1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only 21da177e4SLinus Torvaldsconfig SND_MPU401_UART 31da177e4SLinus Torvalds tristate 41da177e4SLinus Torvalds select SND_RAWMIDI 51da177e4SLinus Torvalds 61da177e4SLinus Torvaldsconfig SND_OPL3_LIB 71da177e4SLinus Torvalds tristate 81da177e4SLinus Torvalds select SND_TIMER 91da177e4SLinus Torvalds select SND_HWDEP 10111b0cdbSTakashi Iwai select SND_SEQ_DEVICE if SND_SEQUENCER != n 111da177e4SLinus Torvalds 121da177e4SLinus Torvaldsconfig SND_OPL4_LIB 131da177e4SLinus Torvalds tristate 141da177e4SLinus Torvalds select SND_TIMER 151da177e4SLinus Torvalds select SND_HWDEP 16111b0cdbSTakashi Iwai select SND_SEQ_DEVICE if SND_SEQUENCER != n 171da177e4SLinus Torvalds 180181307aSTakashi Iwai# select SEQ stuff to min(SND_SEQUENCER,SND_XXX) 190181307aSTakashi Iwaiconfig SND_OPL3_LIB_SEQ 200181307aSTakashi Iwai def_tristate SND_SEQUENCER && SND_OPL3_LIB 210181307aSTakashi Iwai select SND_SEQ_MIDI_EMUL 220181307aSTakashi Iwai select SND_SEQ_MIDI_EVENT 230181307aSTakashi Iwai 240181307aSTakashi Iwaiconfig SND_OPL4_LIB_SEQ 250181307aSTakashi Iwai def_tristate SND_SEQUENCER && SND_OPL4_LIB 260181307aSTakashi Iwai select SND_SEQ_MIDI_EMUL 270181307aSTakashi Iwai select SND_SEQ_MIDI_EVENT 280181307aSTakashi Iwai 291da177e4SLinus Torvaldsconfig SND_VX_LIB 301da177e4SLinus Torvalds tristate 310d144de9STakashi Iwai select FW_LOADER 321da177e4SLinus Torvalds select SND_HWDEP 331da177e4SLinus Torvalds select SND_PCM 341da177e4SLinus Torvalds 359056412fSRandy Dunlapconfig SND_AC97_CODEC 369056412fSRandy Dunlap tristate 379056412fSRandy Dunlap select SND_PCM 38e1036502SNicolas Pitre select AC97_BUS 3987af38daSDaniel Jacobowitz select SND_VMASTER 401da177e4SLinus Torvalds 4189fe5117STakashi Iwaimenuconfig SND_DRIVERS 4289fe5117STakashi Iwai bool "Generic sound devices" 4389fe5117STakashi Iwai default y 4489fe5117STakashi Iwai help 4589fe5117STakashi Iwai Support for generic sound devices. 4689fe5117STakashi Iwai 4789fe5117STakashi Iwaiif SND_DRIVERS 4889fe5117STakashi Iwai 4989fe5117STakashi Iwaiconfig SND_PCSP 5089fe5117STakashi Iwai tristate "PC-Speaker support (READ HELP!)" 514272ebfbSYinghai Lu depends on PCSPKR_PLATFORM && X86 && HIGH_RES_TIMERS 5289fe5117STakashi Iwai depends on INPUT 5389fe5117STakashi Iwai select SND_PCM 5489fe5117STakashi Iwai help 5589fe5117STakashi Iwai If you don't have a sound card in your computer, you can include a 5689fe5117STakashi Iwai driver for the PC speaker which allows it to act like a primitive 5789fe5117STakashi Iwai sound card. 5889fe5117STakashi Iwai This driver also replaces the pcspkr driver for beeps. 5989fe5117STakashi Iwai 6089fe5117STakashi Iwai You can compile this as a module which will be called snd-pcsp. 6189fe5117STakashi Iwai 6289fe5117STakashi Iwai WARNING: if you already have a soundcard, enabling this 6389fe5117STakashi Iwai driver may lead to a problem. Namely, it may get loaded 6489fe5117STakashi Iwai before the other sound driver of yours, making the 6589fe5117STakashi Iwai pc-speaker a default sound device. Which is likely not 6689fe5117STakashi Iwai what you want. To make this driver play nicely with other 67970e2486SLucas De Marchi sound driver, you can add this in a configuration file under 68970e2486SLucas De Marchi /etc/modprobe.d/ directory: 6989fe5117STakashi Iwai options snd-pcsp index=2 7089fe5117STakashi Iwai 7189fe5117STakashi Iwai You don't need this driver if you only want your pc-speaker to beep. 7289fe5117STakashi Iwai You don't need this driver if you have a tablet piezo beeper 7389fe5117STakashi Iwai in your PC instead of the real speaker. 7489fe5117STakashi Iwai 7589fe5117STakashi Iwai Say N if you have a sound card. 7689fe5117STakashi Iwai Say M if you don't. 7789fe5117STakashi Iwai Say Y only if you really know what you do. 7889fe5117STakashi Iwai 791da177e4SLinus Torvaldsconfig SND_DUMMY 801da177e4SLinus Torvalds tristate "Dummy (/dev/null) soundcard" 811da177e4SLinus Torvalds select SND_PCM 821da177e4SLinus Torvalds help 831da177e4SLinus Torvalds Say Y here to include the dummy driver. This driver does 841da177e4SLinus Torvalds nothing, but emulates various mixer controls and PCM devices. 851da177e4SLinus Torvalds 861da177e4SLinus Torvalds You don't need this unless you're testing the hardware support 871da177e4SLinus Torvalds of programs using the ALSA API. 881da177e4SLinus Torvalds 891da177e4SLinus Torvalds To compile this driver as a module, choose M here: the module 901da177e4SLinus Torvalds will be called snd-dummy. 911da177e4SLinus Torvalds 92597603d6SJaroslav Kyselaconfig SND_ALOOP 93597603d6SJaroslav Kysela tristate "Generic loopback driver (PCM)" 94597603d6SJaroslav Kysela select SND_PCM 95c6b6fc20STakashi Iwai select SND_TIMER 96597603d6SJaroslav Kysela help 97597603d6SJaroslav Kysela Say 'Y' or 'M' to include support for the PCM loopback device. 98597603d6SJaroslav Kysela This module returns played samples back to the user space using 99597603d6SJaroslav Kysela the standard ALSA PCM device. The devices are routed 0->1 and 100597603d6SJaroslav Kysela 1->0, where first number is the playback PCM device and second 101597603d6SJaroslav Kysela number is the capture device. Module creates two PCM devices and 102597603d6SJaroslav Kysela configured number of substreams (see the pcm_substreams module 103597603d6SJaroslav Kysela parameter). 104597603d6SJaroslav Kysela 105e6c0a088SColin Ian King The loopback device allows time synchronization with an external 106597603d6SJaroslav Kysela timing source using the time shift universal control (+-20% 107597603d6SJaroslav Kysela of system time). 108597603d6SJaroslav Kysela 109597603d6SJaroslav Kysela To compile this driver as a module, choose M here: the module 110597603d6SJaroslav Kysela will be called snd-aloop. 111597603d6SJaroslav Kysela 112315a3d57SIvan Orlovconfig SND_PCMTEST 113315a3d57SIvan Orlov tristate "Virtual PCM test driver" 114*828b871aSRuan Jinjie depends on DEBUG_FS 115315a3d57SIvan Orlov select SND_PCM 116315a3d57SIvan Orlov help 117315a3d57SIvan Orlov Say 'Y' or 'M' to include support for the Virtual PCM test driver. 118315a3d57SIvan Orlov This driver is aimed at extended testing of the userspace applications 119315a3d57SIvan Orlov which use the ALSA API, as well as the PCM middle layer testing. 120315a3d57SIvan Orlov 121315a3d57SIvan Orlov It can generate random or pattern-based data into the capture stream, 122315a3d57SIvan Orlov check the playback stream for containing the selected pattern, inject 123315a3d57SIvan Orlov time delays during capture/playback, redefine the RESET ioctl operation 124315a3d57SIvan Orlov to perform the PCM middle layer testing and inject errors during the 125315a3d57SIvan Orlov PCM callbacks. It supports both interleaved and non-interleaved access 126315a3d57SIvan Orlov modes. You can find the corresponding selftest in the 'alsa' 127315a3d57SIvan Orlov selftests folder. 128315a3d57SIvan Orlov 1291da177e4SLinus Torvaldsconfig SND_VIRMIDI 1301da177e4SLinus Torvalds tristate "Virtual MIDI soundcard" 1311da177e4SLinus Torvalds depends on SND_SEQUENCER 1321da177e4SLinus Torvalds select SND_TIMER 1331da177e4SLinus Torvalds select SND_RAWMIDI 1340181307aSTakashi Iwai select SND_SEQ_VIRMIDI 1350181307aSTakashi Iwai select SND_SEQ_MIDI_EVENT 1361da177e4SLinus Torvalds help 1371da177e4SLinus Torvalds Say Y here to include the virtual MIDI driver. This driver 1381da177e4SLinus Torvalds allows to connect applications using raw MIDI devices to 1391da177e4SLinus Torvalds sequencer clients. 1401da177e4SLinus Torvalds 1411da177e4SLinus Torvalds If you don't know what MIDI is, say N here. 1421da177e4SLinus Torvalds 1431da177e4SLinus Torvalds To compile this driver as a module, choose M here: the module 1441da177e4SLinus Torvalds will be called snd-virmidi. 1451da177e4SLinus Torvalds 1461da177e4SLinus Torvaldsconfig SND_MTPAV 1471da177e4SLinus Torvalds tristate "MOTU MidiTimePiece AV multiport MIDI" 14836a52ae6SNiklas Schnelle depends on HAS_IOPORT 1491da177e4SLinus Torvalds select SND_RAWMIDI 1501da177e4SLinus Torvalds help 1511da177e4SLinus Torvalds To use a MOTU MidiTimePiece AV multiport MIDI adapter 1521da177e4SLinus Torvalds connected to the parallel port, say Y here and make sure that 1531da177e4SLinus Torvalds the standard parallel port driver isn't used for the port. 1541da177e4SLinus Torvalds 1551da177e4SLinus Torvalds To compile this driver as a module, choose M here: the module 1561da177e4SLinus Torvalds will be called snd-mtpav. 1571da177e4SLinus Torvalds 15868ab801eSMatthias Koenigconfig SND_MTS64 15968ab801eSMatthias Koenig tristate "ESI Miditerminal 4140 driver" 16089fe5117STakashi Iwai depends on PARPORT 16168ab801eSMatthias Koenig select SND_RAWMIDI 16268ab801eSMatthias Koenig help 16368ab801eSMatthias Koenig The ESI Miditerminal 4140 is a 4 In 4 Out MIDI Interface with 16468ab801eSMatthias Koenig additional SMPTE Timecode capabilities for the parallel port. 16568ab801eSMatthias Koenig 16668ab801eSMatthias Koenig Say 'Y' to include support for this device. 16768ab801eSMatthias Koenig 16868ab801eSMatthias Koenig To compile this driver as a module, chose 'M' here: the module 16968ab801eSMatthias Koenig will be called snd-mts64. 17068ab801eSMatthias Koenig 1711da177e4SLinus Torvaldsconfig SND_SERIAL_U16550 1721da177e4SLinus Torvalds tristate "UART16550 serial MIDI driver" 17336a52ae6SNiklas Schnelle depends on HAS_IOPORT 1741da177e4SLinus Torvalds select SND_RAWMIDI 1751da177e4SLinus Torvalds help 1761da177e4SLinus Torvalds To include support for MIDI serial port interfaces, say Y here 1775fb94e9cSMauro Carvalho Chehab and read <file:Documentation/sound/cards/serial-u16550.rst>. 1781da177e4SLinus Torvalds This driver works with serial UARTs 16550 and better. 1791da177e4SLinus Torvalds 1801da177e4SLinus Torvalds This driver accesses the serial port hardware directly, so 1811da177e4SLinus Torvalds make sure that the standard serial driver isn't used or 1821da177e4SLinus Torvalds deactivated with setserial before loading this driver. 1831da177e4SLinus Torvalds 1841da177e4SLinus Torvalds To compile this driver as a module, choose M here: the module 1851da177e4SLinus Torvalds will be called snd-serial-u16550. 1861da177e4SLinus Torvalds 18754235050SDaniel Kaehnconfig SND_SERIAL_GENERIC 18854235050SDaniel Kaehn tristate "Generic serial MIDI driver" 18954235050SDaniel Kaehn depends on SERIAL_DEV_BUS 19054235050SDaniel Kaehn depends on OF 19154235050SDaniel Kaehn select SND_RAWMIDI 19254235050SDaniel Kaehn help 19354235050SDaniel Kaehn To include support for mapping generic serial devices as raw 19454235050SDaniel Kaehn ALSA MIDI devices, say Y here. The driver only supports setting 19554235050SDaniel Kaehn the serial port to standard baudrates. To attain the standard MIDI 19654235050SDaniel Kaehn baudrate of 31.25 kBaud, configure the clock of the underlying serial 19754235050SDaniel Kaehn device so that a requested 38.4 kBaud will result in the standard speed. 19854235050SDaniel Kaehn 19954235050SDaniel Kaehn Use this devicetree binding to configure serial port mapping 20054235050SDaniel Kaehn <file:Documentation/devicetree/bindings/sound/serial-midi.yaml> 20154235050SDaniel Kaehn 20254235050SDaniel Kaehn To compile this driver as a module, choose M here: the module 20354235050SDaniel Kaehn will be called snd-serial-generic. 20454235050SDaniel Kaehn 2051da177e4SLinus Torvaldsconfig SND_MPU401 2061da177e4SLinus Torvalds tristate "Generic MPU-401 UART driver" 20736a52ae6SNiklas Schnelle depends on HAS_IOPORT 2081da177e4SLinus Torvalds select SND_MPU401_UART 2091da177e4SLinus Torvalds help 2101da177e4SLinus Torvalds Say Y here to include support for MIDI ports compatible with 2111da177e4SLinus Torvalds the Roland MPU-401 interface in UART mode. 2121da177e4SLinus Torvalds 2131da177e4SLinus Torvalds To compile this driver as a module, choose M here: the module 2141da177e4SLinus Torvalds will be called snd-mpu401. 2151da177e4SLinus Torvalds 216757e119bSMatthias Koenigconfig SND_PORTMAN2X4 217757e119bSMatthias Koenig tristate "Portman 2x4 driver" 21889fe5117STakashi Iwai depends on PARPORT 219757e119bSMatthias Koenig select SND_RAWMIDI 220757e119bSMatthias Koenig help 221757e119bSMatthias Koenig Say Y here to include support for Midiman Portman 2x4 parallel 222757e119bSMatthias Koenig port MIDI device. 223757e119bSMatthias Koenig 224757e119bSMatthias Koenig To compile this driver as a module, choose M here: the module 225757e119bSMatthias Koenig will be called snd-portman2x4. 226757e119bSMatthias Koenig 2276938d6b2STakashi Iwaiconfig SND_AC97_POWER_SAVE 2286938d6b2STakashi Iwai bool "AC97 Power-Saving Mode" 22902834f11STakashi Iwai depends on SND_AC97_CODEC 2306938d6b2STakashi Iwai default n 2316938d6b2STakashi Iwai help 2326938d6b2STakashi Iwai Say Y here to enable the aggressive power-saving support of 2336938d6b2STakashi Iwai AC97 codecs. In this mode, the power-mode is dynamically 2346938d6b2STakashi Iwai controlled at each open/close. 2356938d6b2STakashi Iwai 2361d8c1100SMichael Witten The mode is activated by passing 'power_save=X' to the 2371d8c1100SMichael Witten snd-ac97-codec driver module, where 'X' is the time-out 2381d8c1100SMichael Witten value, a nonnegative integer that specifies how many 2391d8c1100SMichael Witten seconds of idle time the driver must count before it may 2401d8c1100SMichael Witten put the AC97 into power-save mode; a value of 0 (zero) 2411d8c1100SMichael Witten disables the use of this power-save mode. 2421d8c1100SMichael Witten 2431d8c1100SMichael Witten After the snd-ac97-codec driver module has been loaded, 2441d8c1100SMichael Witten the 'power_save' parameter can be set via sysfs as follows: 2451d8c1100SMichael Witten 2461d8c1100SMichael Witten echo 10 > /sys/module/snd_ac97_codec/parameters/power_save 2471d8c1100SMichael Witten 2481d8c1100SMichael Witten In this case, the time-out is set to 10 seconds; setting 2491d8c1100SMichael Witten the time-out to 1 second (the minimum activation value) 2501d8c1100SMichael Witten isn't recommended because many applications try to reopen 2511d8c1100SMichael Witten the device frequently. A value of 10 seconds would be a 2521d8c1100SMichael Witten good choice for normal operations. 2531d8c1100SMichael Witten 2545fb94e9cSMauro Carvalho Chehab See Documentation/sound/designs/powersave.rst for more details. 2556938d6b2STakashi Iwai 2566938d6b2STakashi Iwaiconfig SND_AC97_POWER_SAVE_DEFAULT 2576938d6b2STakashi Iwai int "Default time-out for AC97 power-save mode" 2586938d6b2STakashi Iwai depends on SND_AC97_POWER_SAVE 2596938d6b2STakashi Iwai default 0 2606938d6b2STakashi Iwai help 2616938d6b2STakashi Iwai The default time-out value in seconds for AC97 automatic 2626938d6b2STakashi Iwai power-save mode. 0 means to disable the power-save mode. 2636938d6b2STakashi Iwai 2641d8c1100SMichael Witten See SND_AC97_POWER_SAVE for more details. 2651d8c1100SMichael Witten 26689fe5117STakashi Iwaiendif # SND_DRIVERS 267