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 112*315a3d57SIvan Orlovconfig SND_PCMTEST 113*315a3d57SIvan Orlov tristate "Virtual PCM test driver" 114*315a3d57SIvan Orlov select SND_PCM 115*315a3d57SIvan Orlov help 116*315a3d57SIvan Orlov Say 'Y' or 'M' to include support for the Virtual PCM test driver. 117*315a3d57SIvan Orlov This driver is aimed at extended testing of the userspace applications 118*315a3d57SIvan Orlov which use the ALSA API, as well as the PCM middle layer testing. 119*315a3d57SIvan Orlov 120*315a3d57SIvan Orlov It can generate random or pattern-based data into the capture stream, 121*315a3d57SIvan Orlov check the playback stream for containing the selected pattern, inject 122*315a3d57SIvan Orlov time delays during capture/playback, redefine the RESET ioctl operation 123*315a3d57SIvan Orlov to perform the PCM middle layer testing and inject errors during the 124*315a3d57SIvan Orlov PCM callbacks. It supports both interleaved and non-interleaved access 125*315a3d57SIvan Orlov modes. You can find the corresponding selftest in the 'alsa' 126*315a3d57SIvan Orlov selftests folder. 127*315a3d57SIvan Orlov 1281da177e4SLinus Torvaldsconfig SND_VIRMIDI 1291da177e4SLinus Torvalds tristate "Virtual MIDI soundcard" 1301da177e4SLinus Torvalds depends on SND_SEQUENCER 1311da177e4SLinus Torvalds select SND_TIMER 1321da177e4SLinus Torvalds select SND_RAWMIDI 1330181307aSTakashi Iwai select SND_SEQ_VIRMIDI 1340181307aSTakashi Iwai select SND_SEQ_MIDI_EVENT 1351da177e4SLinus Torvalds help 1361da177e4SLinus Torvalds Say Y here to include the virtual MIDI driver. This driver 1371da177e4SLinus Torvalds allows to connect applications using raw MIDI devices to 1381da177e4SLinus Torvalds sequencer clients. 1391da177e4SLinus Torvalds 1401da177e4SLinus Torvalds If you don't know what MIDI is, say N here. 1411da177e4SLinus Torvalds 1421da177e4SLinus Torvalds To compile this driver as a module, choose M here: the module 1431da177e4SLinus Torvalds will be called snd-virmidi. 1441da177e4SLinus Torvalds 1451da177e4SLinus Torvaldsconfig SND_MTPAV 1461da177e4SLinus Torvalds tristate "MOTU MidiTimePiece AV multiport MIDI" 14736a52ae6SNiklas Schnelle depends on HAS_IOPORT 1481da177e4SLinus Torvalds select SND_RAWMIDI 1491da177e4SLinus Torvalds help 1501da177e4SLinus Torvalds To use a MOTU MidiTimePiece AV multiport MIDI adapter 1511da177e4SLinus Torvalds connected to the parallel port, say Y here and make sure that 1521da177e4SLinus Torvalds the standard parallel port driver isn't used for the port. 1531da177e4SLinus Torvalds 1541da177e4SLinus Torvalds To compile this driver as a module, choose M here: the module 1551da177e4SLinus Torvalds will be called snd-mtpav. 1561da177e4SLinus Torvalds 15768ab801eSMatthias Koenigconfig SND_MTS64 15868ab801eSMatthias Koenig tristate "ESI Miditerminal 4140 driver" 15989fe5117STakashi Iwai depends on PARPORT 16068ab801eSMatthias Koenig select SND_RAWMIDI 16168ab801eSMatthias Koenig help 16268ab801eSMatthias Koenig The ESI Miditerminal 4140 is a 4 In 4 Out MIDI Interface with 16368ab801eSMatthias Koenig additional SMPTE Timecode capabilities for the parallel port. 16468ab801eSMatthias Koenig 16568ab801eSMatthias Koenig Say 'Y' to include support for this device. 16668ab801eSMatthias Koenig 16768ab801eSMatthias Koenig To compile this driver as a module, chose 'M' here: the module 16868ab801eSMatthias Koenig will be called snd-mts64. 16968ab801eSMatthias Koenig 1701da177e4SLinus Torvaldsconfig SND_SERIAL_U16550 1711da177e4SLinus Torvalds tristate "UART16550 serial MIDI driver" 17236a52ae6SNiklas Schnelle depends on HAS_IOPORT 1731da177e4SLinus Torvalds select SND_RAWMIDI 1741da177e4SLinus Torvalds help 1751da177e4SLinus Torvalds To include support for MIDI serial port interfaces, say Y here 1765fb94e9cSMauro Carvalho Chehab and read <file:Documentation/sound/cards/serial-u16550.rst>. 1771da177e4SLinus Torvalds This driver works with serial UARTs 16550 and better. 1781da177e4SLinus Torvalds 1791da177e4SLinus Torvalds This driver accesses the serial port hardware directly, so 1801da177e4SLinus Torvalds make sure that the standard serial driver isn't used or 1811da177e4SLinus Torvalds deactivated with setserial before loading this driver. 1821da177e4SLinus Torvalds 1831da177e4SLinus Torvalds To compile this driver as a module, choose M here: the module 1841da177e4SLinus Torvalds will be called snd-serial-u16550. 1851da177e4SLinus Torvalds 18654235050SDaniel Kaehnconfig SND_SERIAL_GENERIC 18754235050SDaniel Kaehn tristate "Generic serial MIDI driver" 18854235050SDaniel Kaehn depends on SERIAL_DEV_BUS 18954235050SDaniel Kaehn depends on OF 19054235050SDaniel Kaehn select SND_RAWMIDI 19154235050SDaniel Kaehn help 19254235050SDaniel Kaehn To include support for mapping generic serial devices as raw 19354235050SDaniel Kaehn ALSA MIDI devices, say Y here. The driver only supports setting 19454235050SDaniel Kaehn the serial port to standard baudrates. To attain the standard MIDI 19554235050SDaniel Kaehn baudrate of 31.25 kBaud, configure the clock of the underlying serial 19654235050SDaniel Kaehn device so that a requested 38.4 kBaud will result in the standard speed. 19754235050SDaniel Kaehn 19854235050SDaniel Kaehn Use this devicetree binding to configure serial port mapping 19954235050SDaniel Kaehn <file:Documentation/devicetree/bindings/sound/serial-midi.yaml> 20054235050SDaniel Kaehn 20154235050SDaniel Kaehn To compile this driver as a module, choose M here: the module 20254235050SDaniel Kaehn will be called snd-serial-generic. 20354235050SDaniel Kaehn 2041da177e4SLinus Torvaldsconfig SND_MPU401 2051da177e4SLinus Torvalds tristate "Generic MPU-401 UART driver" 20636a52ae6SNiklas Schnelle depends on HAS_IOPORT 2071da177e4SLinus Torvalds select SND_MPU401_UART 2081da177e4SLinus Torvalds help 2091da177e4SLinus Torvalds Say Y here to include support for MIDI ports compatible with 2101da177e4SLinus Torvalds the Roland MPU-401 interface in UART mode. 2111da177e4SLinus Torvalds 2121da177e4SLinus Torvalds To compile this driver as a module, choose M here: the module 2131da177e4SLinus Torvalds will be called snd-mpu401. 2141da177e4SLinus Torvalds 215757e119bSMatthias Koenigconfig SND_PORTMAN2X4 216757e119bSMatthias Koenig tristate "Portman 2x4 driver" 21789fe5117STakashi Iwai depends on PARPORT 218757e119bSMatthias Koenig select SND_RAWMIDI 219757e119bSMatthias Koenig help 220757e119bSMatthias Koenig Say Y here to include support for Midiman Portman 2x4 parallel 221757e119bSMatthias Koenig port MIDI device. 222757e119bSMatthias Koenig 223757e119bSMatthias Koenig To compile this driver as a module, choose M here: the module 224757e119bSMatthias Koenig will be called snd-portman2x4. 225757e119bSMatthias Koenig 2266938d6b2STakashi Iwaiconfig SND_AC97_POWER_SAVE 2276938d6b2STakashi Iwai bool "AC97 Power-Saving Mode" 22802834f11STakashi Iwai depends on SND_AC97_CODEC 2296938d6b2STakashi Iwai default n 2306938d6b2STakashi Iwai help 2316938d6b2STakashi Iwai Say Y here to enable the aggressive power-saving support of 2326938d6b2STakashi Iwai AC97 codecs. In this mode, the power-mode is dynamically 2336938d6b2STakashi Iwai controlled at each open/close. 2346938d6b2STakashi Iwai 2351d8c1100SMichael Witten The mode is activated by passing 'power_save=X' to the 2361d8c1100SMichael Witten snd-ac97-codec driver module, where 'X' is the time-out 2371d8c1100SMichael Witten value, a nonnegative integer that specifies how many 2381d8c1100SMichael Witten seconds of idle time the driver must count before it may 2391d8c1100SMichael Witten put the AC97 into power-save mode; a value of 0 (zero) 2401d8c1100SMichael Witten disables the use of this power-save mode. 2411d8c1100SMichael Witten 2421d8c1100SMichael Witten After the snd-ac97-codec driver module has been loaded, 2431d8c1100SMichael Witten the 'power_save' parameter can be set via sysfs as follows: 2441d8c1100SMichael Witten 2451d8c1100SMichael Witten echo 10 > /sys/module/snd_ac97_codec/parameters/power_save 2461d8c1100SMichael Witten 2471d8c1100SMichael Witten In this case, the time-out is set to 10 seconds; setting 2481d8c1100SMichael Witten the time-out to 1 second (the minimum activation value) 2491d8c1100SMichael Witten isn't recommended because many applications try to reopen 2501d8c1100SMichael Witten the device frequently. A value of 10 seconds would be a 2511d8c1100SMichael Witten good choice for normal operations. 2521d8c1100SMichael Witten 2535fb94e9cSMauro Carvalho Chehab See Documentation/sound/designs/powersave.rst for more details. 2546938d6b2STakashi Iwai 2556938d6b2STakashi Iwaiconfig SND_AC97_POWER_SAVE_DEFAULT 2566938d6b2STakashi Iwai int "Default time-out for AC97 power-save mode" 2576938d6b2STakashi Iwai depends on SND_AC97_POWER_SAVE 2586938d6b2STakashi Iwai default 0 2596938d6b2STakashi Iwai help 2606938d6b2STakashi Iwai The default time-out value in seconds for AC97 automatic 2616938d6b2STakashi Iwai power-save mode. 0 means to disable the power-save mode. 2626938d6b2STakashi Iwai 2631d8c1100SMichael Witten See SND_AC97_POWER_SAVE for more details. 2641d8c1100SMichael Witten 26589fe5117STakashi Iwaiendif # SND_DRIVERS 266