1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0-only 2*4882a593Smuzhiyunconfig SND_MPU401_UART 3*4882a593Smuzhiyun tristate 4*4882a593Smuzhiyun select SND_RAWMIDI 5*4882a593Smuzhiyun 6*4882a593Smuzhiyunconfig SND_OPL3_LIB 7*4882a593Smuzhiyun tristate 8*4882a593Smuzhiyun select SND_TIMER 9*4882a593Smuzhiyun select SND_HWDEP 10*4882a593Smuzhiyun select SND_SEQ_DEVICE if SND_SEQUENCER != n 11*4882a593Smuzhiyun 12*4882a593Smuzhiyunconfig SND_OPL4_LIB 13*4882a593Smuzhiyun tristate 14*4882a593Smuzhiyun select SND_TIMER 15*4882a593Smuzhiyun select SND_HWDEP 16*4882a593Smuzhiyun select SND_SEQ_DEVICE if SND_SEQUENCER != n 17*4882a593Smuzhiyun 18*4882a593Smuzhiyun# select SEQ stuff to min(SND_SEQUENCER,SND_XXX) 19*4882a593Smuzhiyunconfig SND_OPL3_LIB_SEQ 20*4882a593Smuzhiyun def_tristate SND_SEQUENCER && SND_OPL3_LIB 21*4882a593Smuzhiyun select SND_SEQ_MIDI_EMUL 22*4882a593Smuzhiyun select SND_SEQ_MIDI_EVENT 23*4882a593Smuzhiyun 24*4882a593Smuzhiyunconfig SND_OPL4_LIB_SEQ 25*4882a593Smuzhiyun def_tristate SND_SEQUENCER && SND_OPL4_LIB 26*4882a593Smuzhiyun select SND_SEQ_MIDI_EMUL 27*4882a593Smuzhiyun select SND_SEQ_MIDI_EVENT 28*4882a593Smuzhiyun 29*4882a593Smuzhiyunconfig SND_VX_LIB 30*4882a593Smuzhiyun tristate 31*4882a593Smuzhiyun select FW_LOADER 32*4882a593Smuzhiyun select SND_HWDEP 33*4882a593Smuzhiyun select SND_PCM 34*4882a593Smuzhiyun 35*4882a593Smuzhiyunconfig SND_AC97_CODEC 36*4882a593Smuzhiyun tristate 37*4882a593Smuzhiyun select SND_PCM 38*4882a593Smuzhiyun select AC97_BUS 39*4882a593Smuzhiyun select SND_VMASTER 40*4882a593Smuzhiyun 41*4882a593Smuzhiyunmenuconfig SND_DRIVERS 42*4882a593Smuzhiyun bool "Generic sound devices" 43*4882a593Smuzhiyun default y 44*4882a593Smuzhiyun help 45*4882a593Smuzhiyun Support for generic sound devices. 46*4882a593Smuzhiyun 47*4882a593Smuzhiyunif SND_DRIVERS 48*4882a593Smuzhiyun 49*4882a593Smuzhiyunconfig SND_PCSP 50*4882a593Smuzhiyun tristate "PC-Speaker support (READ HELP!)" 51*4882a593Smuzhiyun depends on PCSPKR_PLATFORM && X86 && HIGH_RES_TIMERS 52*4882a593Smuzhiyun depends on INPUT 53*4882a593Smuzhiyun select SND_PCM 54*4882a593Smuzhiyun help 55*4882a593Smuzhiyun If you don't have a sound card in your computer, you can include a 56*4882a593Smuzhiyun driver for the PC speaker which allows it to act like a primitive 57*4882a593Smuzhiyun sound card. 58*4882a593Smuzhiyun This driver also replaces the pcspkr driver for beeps. 59*4882a593Smuzhiyun 60*4882a593Smuzhiyun You can compile this as a module which will be called snd-pcsp. 61*4882a593Smuzhiyun 62*4882a593Smuzhiyun WARNING: if you already have a soundcard, enabling this 63*4882a593Smuzhiyun driver may lead to a problem. Namely, it may get loaded 64*4882a593Smuzhiyun before the other sound driver of yours, making the 65*4882a593Smuzhiyun pc-speaker a default sound device. Which is likely not 66*4882a593Smuzhiyun what you want. To make this driver play nicely with other 67*4882a593Smuzhiyun sound driver, you can add this in a configuration file under 68*4882a593Smuzhiyun /etc/modprobe.d/ directory: 69*4882a593Smuzhiyun options snd-pcsp index=2 70*4882a593Smuzhiyun 71*4882a593Smuzhiyun You don't need this driver if you only want your pc-speaker to beep. 72*4882a593Smuzhiyun You don't need this driver if you have a tablet piezo beeper 73*4882a593Smuzhiyun in your PC instead of the real speaker. 74*4882a593Smuzhiyun 75*4882a593Smuzhiyun Say N if you have a sound card. 76*4882a593Smuzhiyun Say M if you don't. 77*4882a593Smuzhiyun Say Y only if you really know what you do. 78*4882a593Smuzhiyun 79*4882a593Smuzhiyunconfig SND_DUMMY 80*4882a593Smuzhiyun tristate "Dummy (/dev/null) soundcard" 81*4882a593Smuzhiyun select SND_PCM 82*4882a593Smuzhiyun help 83*4882a593Smuzhiyun Say Y here to include the dummy driver. This driver does 84*4882a593Smuzhiyun nothing, but emulates various mixer controls and PCM devices. 85*4882a593Smuzhiyun 86*4882a593Smuzhiyun You don't need this unless you're testing the hardware support 87*4882a593Smuzhiyun of programs using the ALSA API. 88*4882a593Smuzhiyun 89*4882a593Smuzhiyun To compile this driver as a module, choose M here: the module 90*4882a593Smuzhiyun will be called snd-dummy. 91*4882a593Smuzhiyun 92*4882a593Smuzhiyunconfig SND_ALOOP 93*4882a593Smuzhiyun tristate "Generic loopback driver (PCM)" 94*4882a593Smuzhiyun select SND_PCM 95*4882a593Smuzhiyun select SND_TIMER 96*4882a593Smuzhiyun help 97*4882a593Smuzhiyun Say 'Y' or 'M' to include support for the PCM loopback device. 98*4882a593Smuzhiyun This module returns played samples back to the user space using 99*4882a593Smuzhiyun the standard ALSA PCM device. The devices are routed 0->1 and 100*4882a593Smuzhiyun 1->0, where first number is the playback PCM device and second 101*4882a593Smuzhiyun number is the capture device. Module creates two PCM devices and 102*4882a593Smuzhiyun configured number of substreams (see the pcm_substreams module 103*4882a593Smuzhiyun parameter). 104*4882a593Smuzhiyun 105*4882a593Smuzhiyun The loopback device allows time sychronization with an external 106*4882a593Smuzhiyun timing source using the time shift universal control (+-20% 107*4882a593Smuzhiyun of system time). 108*4882a593Smuzhiyun 109*4882a593Smuzhiyun To compile this driver as a module, choose M here: the module 110*4882a593Smuzhiyun will be called snd-aloop. 111*4882a593Smuzhiyun 112*4882a593Smuzhiyunconfig SND_VIRMIDI 113*4882a593Smuzhiyun tristate "Virtual MIDI soundcard" 114*4882a593Smuzhiyun depends on SND_SEQUENCER 115*4882a593Smuzhiyun select SND_TIMER 116*4882a593Smuzhiyun select SND_RAWMIDI 117*4882a593Smuzhiyun select SND_SEQ_VIRMIDI 118*4882a593Smuzhiyun select SND_SEQ_MIDI_EVENT 119*4882a593Smuzhiyun help 120*4882a593Smuzhiyun Say Y here to include the virtual MIDI driver. This driver 121*4882a593Smuzhiyun allows to connect applications using raw MIDI devices to 122*4882a593Smuzhiyun sequencer clients. 123*4882a593Smuzhiyun 124*4882a593Smuzhiyun If you don't know what MIDI is, say N here. 125*4882a593Smuzhiyun 126*4882a593Smuzhiyun To compile this driver as a module, choose M here: the module 127*4882a593Smuzhiyun will be called snd-virmidi. 128*4882a593Smuzhiyun 129*4882a593Smuzhiyunconfig SND_MTPAV 130*4882a593Smuzhiyun tristate "MOTU MidiTimePiece AV multiport MIDI" 131*4882a593Smuzhiyun select SND_RAWMIDI 132*4882a593Smuzhiyun help 133*4882a593Smuzhiyun To use a MOTU MidiTimePiece AV multiport MIDI adapter 134*4882a593Smuzhiyun connected to the parallel port, say Y here and make sure that 135*4882a593Smuzhiyun the standard parallel port driver isn't used for the port. 136*4882a593Smuzhiyun 137*4882a593Smuzhiyun To compile this driver as a module, choose M here: the module 138*4882a593Smuzhiyun will be called snd-mtpav. 139*4882a593Smuzhiyun 140*4882a593Smuzhiyunconfig SND_MTS64 141*4882a593Smuzhiyun tristate "ESI Miditerminal 4140 driver" 142*4882a593Smuzhiyun depends on PARPORT 143*4882a593Smuzhiyun select SND_RAWMIDI 144*4882a593Smuzhiyun help 145*4882a593Smuzhiyun The ESI Miditerminal 4140 is a 4 In 4 Out MIDI Interface with 146*4882a593Smuzhiyun additional SMPTE Timecode capabilities for the parallel port. 147*4882a593Smuzhiyun 148*4882a593Smuzhiyun Say 'Y' to include support for this device. 149*4882a593Smuzhiyun 150*4882a593Smuzhiyun To compile this driver as a module, chose 'M' here: the module 151*4882a593Smuzhiyun will be called snd-mts64. 152*4882a593Smuzhiyun 153*4882a593Smuzhiyunconfig SND_SERIAL_U16550 154*4882a593Smuzhiyun tristate "UART16550 serial MIDI driver" 155*4882a593Smuzhiyun select SND_RAWMIDI 156*4882a593Smuzhiyun help 157*4882a593Smuzhiyun To include support for MIDI serial port interfaces, say Y here 158*4882a593Smuzhiyun and read <file:Documentation/sound/cards/serial-u16550.rst>. 159*4882a593Smuzhiyun This driver works with serial UARTs 16550 and better. 160*4882a593Smuzhiyun 161*4882a593Smuzhiyun This driver accesses the serial port hardware directly, so 162*4882a593Smuzhiyun make sure that the standard serial driver isn't used or 163*4882a593Smuzhiyun deactivated with setserial before loading this driver. 164*4882a593Smuzhiyun 165*4882a593Smuzhiyun To compile this driver as a module, choose M here: the module 166*4882a593Smuzhiyun will be called snd-serial-u16550. 167*4882a593Smuzhiyun 168*4882a593Smuzhiyunconfig SND_MPU401 169*4882a593Smuzhiyun tristate "Generic MPU-401 UART driver" 170*4882a593Smuzhiyun select SND_MPU401_UART 171*4882a593Smuzhiyun help 172*4882a593Smuzhiyun Say Y here to include support for MIDI ports compatible with 173*4882a593Smuzhiyun the Roland MPU-401 interface in UART mode. 174*4882a593Smuzhiyun 175*4882a593Smuzhiyun To compile this driver as a module, choose M here: the module 176*4882a593Smuzhiyun will be called snd-mpu401. 177*4882a593Smuzhiyun 178*4882a593Smuzhiyunconfig SND_PORTMAN2X4 179*4882a593Smuzhiyun tristate "Portman 2x4 driver" 180*4882a593Smuzhiyun depends on PARPORT 181*4882a593Smuzhiyun select SND_RAWMIDI 182*4882a593Smuzhiyun help 183*4882a593Smuzhiyun Say Y here to include support for Midiman Portman 2x4 parallel 184*4882a593Smuzhiyun port MIDI device. 185*4882a593Smuzhiyun 186*4882a593Smuzhiyun To compile this driver as a module, choose M here: the module 187*4882a593Smuzhiyun will be called snd-portman2x4. 188*4882a593Smuzhiyun 189*4882a593Smuzhiyunconfig SND_AC97_POWER_SAVE 190*4882a593Smuzhiyun bool "AC97 Power-Saving Mode" 191*4882a593Smuzhiyun depends on SND_AC97_CODEC 192*4882a593Smuzhiyun default n 193*4882a593Smuzhiyun help 194*4882a593Smuzhiyun Say Y here to enable the aggressive power-saving support of 195*4882a593Smuzhiyun AC97 codecs. In this mode, the power-mode is dynamically 196*4882a593Smuzhiyun controlled at each open/close. 197*4882a593Smuzhiyun 198*4882a593Smuzhiyun The mode is activated by passing 'power_save=X' to the 199*4882a593Smuzhiyun snd-ac97-codec driver module, where 'X' is the time-out 200*4882a593Smuzhiyun value, a nonnegative integer that specifies how many 201*4882a593Smuzhiyun seconds of idle time the driver must count before it may 202*4882a593Smuzhiyun put the AC97 into power-save mode; a value of 0 (zero) 203*4882a593Smuzhiyun disables the use of this power-save mode. 204*4882a593Smuzhiyun 205*4882a593Smuzhiyun After the snd-ac97-codec driver module has been loaded, 206*4882a593Smuzhiyun the 'power_save' parameter can be set via sysfs as follows: 207*4882a593Smuzhiyun 208*4882a593Smuzhiyun echo 10 > /sys/module/snd_ac97_codec/parameters/power_save 209*4882a593Smuzhiyun 210*4882a593Smuzhiyun In this case, the time-out is set to 10 seconds; setting 211*4882a593Smuzhiyun the time-out to 1 second (the minimum activation value) 212*4882a593Smuzhiyun isn't recommended because many applications try to reopen 213*4882a593Smuzhiyun the device frequently. A value of 10 seconds would be a 214*4882a593Smuzhiyun good choice for normal operations. 215*4882a593Smuzhiyun 216*4882a593Smuzhiyun See Documentation/sound/designs/powersave.rst for more details. 217*4882a593Smuzhiyun 218*4882a593Smuzhiyunconfig SND_AC97_POWER_SAVE_DEFAULT 219*4882a593Smuzhiyun int "Default time-out for AC97 power-save mode" 220*4882a593Smuzhiyun depends on SND_AC97_POWER_SAVE 221*4882a593Smuzhiyun default 0 222*4882a593Smuzhiyun help 223*4882a593Smuzhiyun The default time-out value in seconds for AC97 automatic 224*4882a593Smuzhiyun power-save mode. 0 means to disable the power-save mode. 225*4882a593Smuzhiyun 226*4882a593Smuzhiyun See SND_AC97_POWER_SAVE for more details. 227*4882a593Smuzhiyun 228*4882a593Smuzhiyunendif # SND_DRIVERS 229