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 1121da177e4SLinus Torvaldsconfig SND_VIRMIDI 1131da177e4SLinus Torvalds tristate "Virtual MIDI soundcard" 1141da177e4SLinus Torvalds depends on SND_SEQUENCER 1151da177e4SLinus Torvalds select SND_TIMER 1161da177e4SLinus Torvalds select SND_RAWMIDI 1170181307aSTakashi Iwai select SND_SEQ_VIRMIDI 1180181307aSTakashi Iwai select SND_SEQ_MIDI_EVENT 1191da177e4SLinus Torvalds help 1201da177e4SLinus Torvalds Say Y here to include the virtual MIDI driver. This driver 1211da177e4SLinus Torvalds allows to connect applications using raw MIDI devices to 1221da177e4SLinus Torvalds sequencer clients. 1231da177e4SLinus Torvalds 1241da177e4SLinus Torvalds If you don't know what MIDI is, say N here. 1251da177e4SLinus Torvalds 1261da177e4SLinus Torvalds To compile this driver as a module, choose M here: the module 1271da177e4SLinus Torvalds will be called snd-virmidi. 1281da177e4SLinus Torvalds 1291da177e4SLinus Torvaldsconfig SND_MTPAV 1301da177e4SLinus Torvalds tristate "MOTU MidiTimePiece AV multiport MIDI" 1311da177e4SLinus Torvalds select SND_RAWMIDI 1321da177e4SLinus Torvalds help 1331da177e4SLinus Torvalds To use a MOTU MidiTimePiece AV multiport MIDI adapter 1341da177e4SLinus Torvalds connected to the parallel port, say Y here and make sure that 1351da177e4SLinus Torvalds the standard parallel port driver isn't used for the port. 1361da177e4SLinus Torvalds 1371da177e4SLinus Torvalds To compile this driver as a module, choose M here: the module 1381da177e4SLinus Torvalds will be called snd-mtpav. 1391da177e4SLinus Torvalds 14068ab801eSMatthias Koenigconfig SND_MTS64 14168ab801eSMatthias Koenig tristate "ESI Miditerminal 4140 driver" 14289fe5117STakashi Iwai depends on PARPORT 14368ab801eSMatthias Koenig select SND_RAWMIDI 14468ab801eSMatthias Koenig help 14568ab801eSMatthias Koenig The ESI Miditerminal 4140 is a 4 In 4 Out MIDI Interface with 14668ab801eSMatthias Koenig additional SMPTE Timecode capabilities for the parallel port. 14768ab801eSMatthias Koenig 14868ab801eSMatthias Koenig Say 'Y' to include support for this device. 14968ab801eSMatthias Koenig 15068ab801eSMatthias Koenig To compile this driver as a module, chose 'M' here: the module 15168ab801eSMatthias Koenig will be called snd-mts64. 15268ab801eSMatthias Koenig 1531da177e4SLinus Torvaldsconfig SND_SERIAL_U16550 1541da177e4SLinus Torvalds tristate "UART16550 serial MIDI driver" 1551da177e4SLinus Torvalds select SND_RAWMIDI 1561da177e4SLinus Torvalds help 1571da177e4SLinus Torvalds To include support for MIDI serial port interfaces, say Y here 1585fb94e9cSMauro Carvalho Chehab and read <file:Documentation/sound/cards/serial-u16550.rst>. 1591da177e4SLinus Torvalds This driver works with serial UARTs 16550 and better. 1601da177e4SLinus Torvalds 1611da177e4SLinus Torvalds This driver accesses the serial port hardware directly, so 1621da177e4SLinus Torvalds make sure that the standard serial driver isn't used or 1631da177e4SLinus Torvalds deactivated with setserial before loading this driver. 1641da177e4SLinus Torvalds 1651da177e4SLinus Torvalds To compile this driver as a module, choose M here: the module 1661da177e4SLinus Torvalds will be called snd-serial-u16550. 1671da177e4SLinus Torvalds 168*54235050SDaniel Kaehnconfig SND_SERIAL_GENERIC 169*54235050SDaniel Kaehn tristate "Generic serial MIDI driver" 170*54235050SDaniel Kaehn depends on SERIAL_DEV_BUS 171*54235050SDaniel Kaehn depends on OF 172*54235050SDaniel Kaehn select SND_RAWMIDI 173*54235050SDaniel Kaehn help 174*54235050SDaniel Kaehn To include support for mapping generic serial devices as raw 175*54235050SDaniel Kaehn ALSA MIDI devices, say Y here. The driver only supports setting 176*54235050SDaniel Kaehn the serial port to standard baudrates. To attain the standard MIDI 177*54235050SDaniel Kaehn baudrate of 31.25 kBaud, configure the clock of the underlying serial 178*54235050SDaniel Kaehn device so that a requested 38.4 kBaud will result in the standard speed. 179*54235050SDaniel Kaehn 180*54235050SDaniel Kaehn Use this devicetree binding to configure serial port mapping 181*54235050SDaniel Kaehn <file:Documentation/devicetree/bindings/sound/serial-midi.yaml> 182*54235050SDaniel Kaehn 183*54235050SDaniel Kaehn To compile this driver as a module, choose M here: the module 184*54235050SDaniel Kaehn will be called snd-serial-generic. 185*54235050SDaniel Kaehn 1861da177e4SLinus Torvaldsconfig SND_MPU401 1871da177e4SLinus Torvalds tristate "Generic MPU-401 UART driver" 1881da177e4SLinus Torvalds select SND_MPU401_UART 1891da177e4SLinus Torvalds help 1901da177e4SLinus Torvalds Say Y here to include support for MIDI ports compatible with 1911da177e4SLinus Torvalds the Roland MPU-401 interface in UART mode. 1921da177e4SLinus Torvalds 1931da177e4SLinus Torvalds To compile this driver as a module, choose M here: the module 1941da177e4SLinus Torvalds will be called snd-mpu401. 1951da177e4SLinus Torvalds 196757e119bSMatthias Koenigconfig SND_PORTMAN2X4 197757e119bSMatthias Koenig tristate "Portman 2x4 driver" 19889fe5117STakashi Iwai depends on PARPORT 199757e119bSMatthias Koenig select SND_RAWMIDI 200757e119bSMatthias Koenig help 201757e119bSMatthias Koenig Say Y here to include support for Midiman Portman 2x4 parallel 202757e119bSMatthias Koenig port MIDI device. 203757e119bSMatthias Koenig 204757e119bSMatthias Koenig To compile this driver as a module, choose M here: the module 205757e119bSMatthias Koenig will be called snd-portman2x4. 206757e119bSMatthias Koenig 2076938d6b2STakashi Iwaiconfig SND_AC97_POWER_SAVE 2086938d6b2STakashi Iwai bool "AC97 Power-Saving Mode" 20902834f11STakashi Iwai depends on SND_AC97_CODEC 2106938d6b2STakashi Iwai default n 2116938d6b2STakashi Iwai help 2126938d6b2STakashi Iwai Say Y here to enable the aggressive power-saving support of 2136938d6b2STakashi Iwai AC97 codecs. In this mode, the power-mode is dynamically 2146938d6b2STakashi Iwai controlled at each open/close. 2156938d6b2STakashi Iwai 2161d8c1100SMichael Witten The mode is activated by passing 'power_save=X' to the 2171d8c1100SMichael Witten snd-ac97-codec driver module, where 'X' is the time-out 2181d8c1100SMichael Witten value, a nonnegative integer that specifies how many 2191d8c1100SMichael Witten seconds of idle time the driver must count before it may 2201d8c1100SMichael Witten put the AC97 into power-save mode; a value of 0 (zero) 2211d8c1100SMichael Witten disables the use of this power-save mode. 2221d8c1100SMichael Witten 2231d8c1100SMichael Witten After the snd-ac97-codec driver module has been loaded, 2241d8c1100SMichael Witten the 'power_save' parameter can be set via sysfs as follows: 2251d8c1100SMichael Witten 2261d8c1100SMichael Witten echo 10 > /sys/module/snd_ac97_codec/parameters/power_save 2271d8c1100SMichael Witten 2281d8c1100SMichael Witten In this case, the time-out is set to 10 seconds; setting 2291d8c1100SMichael Witten the time-out to 1 second (the minimum activation value) 2301d8c1100SMichael Witten isn't recommended because many applications try to reopen 2311d8c1100SMichael Witten the device frequently. A value of 10 seconds would be a 2321d8c1100SMichael Witten good choice for normal operations. 2331d8c1100SMichael Witten 2345fb94e9cSMauro Carvalho Chehab See Documentation/sound/designs/powersave.rst for more details. 2356938d6b2STakashi Iwai 2366938d6b2STakashi Iwaiconfig SND_AC97_POWER_SAVE_DEFAULT 2376938d6b2STakashi Iwai int "Default time-out for AC97 power-save mode" 2386938d6b2STakashi Iwai depends on SND_AC97_POWER_SAVE 2396938d6b2STakashi Iwai default 0 2406938d6b2STakashi Iwai help 2416938d6b2STakashi Iwai The default time-out value in seconds for AC97 automatic 2426938d6b2STakashi Iwai power-save mode. 0 means to disable the power-save mode. 2436938d6b2STakashi Iwai 2441d8c1100SMichael Witten See SND_AC97_POWER_SAVE for more details. 2451d8c1100SMichael Witten 24689fe5117STakashi Iwaiendif # SND_DRIVERS 247