Merge branch 'rework/misc-cleanups' into for-linus
[linux-block.git] / sound / drivers / Kconfig
CommitLineData
ec8f24b7 1# SPDX-License-Identifier: GPL-2.0-only
89fe5117 2config SND_MPU401_UART
82e8d723
KK
3 tristate
4 select SND_RAWMIDI
1da177e4 5
89fe5117
TI
6config SND_OPL3_LIB
7 tristate
8 select SND_TIMER
9 select SND_HWDEP
111b0cdb 10 select SND_SEQ_DEVICE if SND_SEQUENCER != n
1da177e4 11
89fe5117
TI
12config SND_OPL4_LIB
13 tristate
14 select SND_TIMER
15 select SND_HWDEP
111b0cdb 16 select SND_SEQ_DEVICE if SND_SEQUENCER != n
89fe5117 17
0181307a
TI
18# select SEQ stuff to min(SND_SEQUENCER,SND_XXX)
19config SND_OPL3_LIB_SEQ
20 def_tristate SND_SEQUENCER && SND_OPL3_LIB
21 select SND_SEQ_MIDI_EMUL
22 select SND_SEQ_MIDI_EVENT
23
24config SND_OPL4_LIB_SEQ
25 def_tristate SND_SEQUENCER && SND_OPL4_LIB
26 select SND_SEQ_MIDI_EMUL
27 select SND_SEQ_MIDI_EVENT
28
89fe5117
TI
29config SND_VX_LIB
30 tristate
0d144de9 31 select FW_LOADER
89fe5117
TI
32 select SND_HWDEP
33 select SND_PCM
34
35config SND_AC97_CODEC
36 tristate
37 select SND_PCM
38 select AC97_BUS
39 select SND_VMASTER
40
41menuconfig SND_DRIVERS
42 bool "Generic sound devices"
43 default y
44 help
45 Support for generic sound devices.
46
47if SND_DRIVERS
1da177e4 48
9ab4d072 49config SND_PCSP
3ccee690 50 tristate "PC-Speaker support (READ HELP!)"
4272ebfb 51 depends on PCSPKR_PLATFORM && X86 && HIGH_RES_TIMERS
73bdd2ad 52 depends on INPUT
bad7785d 53 select SND_PCM
9ab4d072
SS
54 help
55 If you don't have a sound card in your computer, you can include a
56 driver for the PC speaker which allows it to act like a primitive
57 sound card.
58 This driver also replaces the pcspkr driver for beeps.
59
60 You can compile this as a module which will be called snd-pcsp.
61
3ccee690
SS
62 WARNING: if you already have a soundcard, enabling this
63 driver may lead to a problem. Namely, it may get loaded
64 before the other sound driver of yours, making the
65 pc-speaker a default sound device. Which is likely not
66 what you want. To make this driver play nicely with other
970e2486
LDM
67 sound driver, you can add this in a configuration file under
68 /etc/modprobe.d/ directory:
3ccee690
SS
69 options snd-pcsp index=2
70
9ab4d072
SS
71 You don't need this driver if you only want your pc-speaker to beep.
72 You don't need this driver if you have a tablet piezo beeper
73 in your PC instead of the real speaker.
74
3ccee690
SS
75 Say N if you have a sound card.
76 Say M if you don't.
77 Say Y only if you really know what you do.
9ab4d072 78
1da177e4
LT
79config SND_DUMMY
80 tristate "Dummy (/dev/null) soundcard"
1da177e4
LT
81 select SND_PCM
82 help
83 Say Y here to include the dummy driver. This driver does
84 nothing, but emulates various mixer controls and PCM devices.
85
86 You don't need this unless you're testing the hardware support
87 of programs using the ALSA API.
88
89 To compile this driver as a module, choose M here: the module
90 will be called snd-dummy.
91
597603d6 92config SND_ALOOP
82e8d723
KK
93 tristate "Generic loopback driver (PCM)"
94 select SND_PCM
c6b6fc20 95 select SND_TIMER
82e8d723
KK
96 help
97 Say 'Y' or 'M' to include support for the PCM loopback device.
597603d6
JK
98 This module returns played samples back to the user space using
99 the standard ALSA PCM device. The devices are routed 0->1 and
82e8d723 100 1->0, where first number is the playback PCM device and second
597603d6
JK
101 number is the capture device. Module creates two PCM devices and
102 configured number of substreams (see the pcm_substreams module
82e8d723 103 parameter).
597603d6 104
e6c0a088 105 The loopback device allows time synchronization with an external
597603d6
JK
106 timing source using the time shift universal control (+-20%
107 of system time).
108
109 To compile this driver as a module, choose M here: the module
110 will be called snd-aloop.
111
315a3d57
IO
112config SND_PCMTEST
113 tristate "Virtual PCM test driver"
828b871a 114 depends on DEBUG_FS
315a3d57
IO
115 select SND_PCM
116 help
117 Say 'Y' or 'M' to include support for the Virtual PCM test driver.
118 This driver is aimed at extended testing of the userspace applications
119 which use the ALSA API, as well as the PCM middle layer testing.
120
121 It can generate random or pattern-based data into the capture stream,
122 check the playback stream for containing the selected pattern, inject
123 time delays during capture/playback, redefine the RESET ioctl operation
124 to perform the PCM middle layer testing and inject errors during the
125 PCM callbacks. It supports both interleaved and non-interleaved access
126 modes. You can find the corresponding selftest in the 'alsa'
127 selftests folder.
128
1da177e4
LT
129config SND_VIRMIDI
130 tristate "Virtual MIDI soundcard"
131 depends on SND_SEQUENCER
132 select SND_TIMER
133 select SND_RAWMIDI
0181307a
TI
134 select SND_SEQ_VIRMIDI
135 select SND_SEQ_MIDI_EVENT
1da177e4
LT
136 help
137 Say Y here to include the virtual MIDI driver. This driver
138 allows to connect applications using raw MIDI devices to
139 sequencer clients.
140
141 If you don't know what MIDI is, say N here.
142
143 To compile this driver as a module, choose M here: the module
144 will be called snd-virmidi.
145
146config SND_MTPAV
147 tristate "MOTU MidiTimePiece AV multiport MIDI"
36a52ae6 148 depends on HAS_IOPORT
1da177e4
LT
149 select SND_RAWMIDI
150 help
151 To use a MOTU MidiTimePiece AV multiport MIDI adapter
152 connected to the parallel port, say Y here and make sure that
153 the standard parallel port driver isn't used for the port.
154
155 To compile this driver as a module, choose M here: the module
156 will be called snd-mtpav.
157
68ab801e
MK
158config SND_MTS64
159 tristate "ESI Miditerminal 4140 driver"
89fe5117 160 depends on PARPORT
68ab801e
MK
161 select SND_RAWMIDI
162 help
163 The ESI Miditerminal 4140 is a 4 In 4 Out MIDI Interface with
82e8d723 164 additional SMPTE Timecode capabilities for the parallel port.
68ab801e
MK
165
166 Say 'Y' to include support for this device.
167
168 To compile this driver as a module, chose 'M' here: the module
82e8d723 169 will be called snd-mts64.
68ab801e 170
1da177e4
LT
171config SND_SERIAL_U16550
172 tristate "UART16550 serial MIDI driver"
36a52ae6 173 depends on HAS_IOPORT
1da177e4
LT
174 select SND_RAWMIDI
175 help
176 To include support for MIDI serial port interfaces, say Y here
5fb94e9c 177 and read <file:Documentation/sound/cards/serial-u16550.rst>.
1da177e4
LT
178 This driver works with serial UARTs 16550 and better.
179
180 This driver accesses the serial port hardware directly, so
181 make sure that the standard serial driver isn't used or
182 deactivated with setserial before loading this driver.
183
184 To compile this driver as a module, choose M here: the module
185 will be called snd-serial-u16550.
186
54235050
DK
187config SND_SERIAL_GENERIC
188 tristate "Generic serial MIDI driver"
189 depends on SERIAL_DEV_BUS
190 depends on OF
191 select SND_RAWMIDI
192 help
193 To include support for mapping generic serial devices as raw
194 ALSA MIDI devices, say Y here. The driver only supports setting
195 the serial port to standard baudrates. To attain the standard MIDI
196 baudrate of 31.25 kBaud, configure the clock of the underlying serial
197 device so that a requested 38.4 kBaud will result in the standard speed.
198
199 Use this devicetree binding to configure serial port mapping
200 <file:Documentation/devicetree/bindings/sound/serial-midi.yaml>
201
202 To compile this driver as a module, choose M here: the module
203 will be called snd-serial-generic.
204
1da177e4
LT
205config SND_MPU401
206 tristate "Generic MPU-401 UART driver"
36a52ae6 207 depends on HAS_IOPORT
1da177e4
LT
208 select SND_MPU401_UART
209 help
210 Say Y here to include support for MIDI ports compatible with
211 the Roland MPU-401 interface in UART mode.
212
213 To compile this driver as a module, choose M here: the module
214 will be called snd-mpu401.
215
757e119b
MK
216config SND_PORTMAN2X4
217 tristate "Portman 2x4 driver"
89fe5117 218 depends on PARPORT
757e119b
MK
219 select SND_RAWMIDI
220 help
221 Say Y here to include support for Midiman Portman 2x4 parallel
222 port MIDI device.
223
224 To compile this driver as a module, choose M here: the module
225 will be called snd-portman2x4.
226
6938d6b2
TI
227config SND_AC97_POWER_SAVE
228 bool "AC97 Power-Saving Mode"
02834f11 229 depends on SND_AC97_CODEC
6938d6b2
TI
230 default n
231 help
232 Say Y here to enable the aggressive power-saving support of
233 AC97 codecs. In this mode, the power-mode is dynamically
234 controlled at each open/close.
235
1d8c1100
MW
236 The mode is activated by passing 'power_save=X' to the
237 snd-ac97-codec driver module, where 'X' is the time-out
238 value, a nonnegative integer that specifies how many
239 seconds of idle time the driver must count before it may
240 put the AC97 into power-save mode; a value of 0 (zero)
241 disables the use of this power-save mode.
242
243 After the snd-ac97-codec driver module has been loaded,
244 the 'power_save' parameter can be set via sysfs as follows:
245
246 echo 10 > /sys/module/snd_ac97_codec/parameters/power_save
247
248 In this case, the time-out is set to 10 seconds; setting
249 the time-out to 1 second (the minimum activation value)
250 isn't recommended because many applications try to reopen
251 the device frequently. A value of 10 seconds would be a
252 good choice for normal operations.
253
5fb94e9c 254 See Documentation/sound/designs/powersave.rst for more details.
6938d6b2
TI
255
256config SND_AC97_POWER_SAVE_DEFAULT
257 int "Default time-out for AC97 power-save mode"
258 depends on SND_AC97_POWER_SAVE
259 default 0
260 help
261 The default time-out value in seconds for AC97 automatic
262 power-save mode. 0 means to disable the power-save mode.
263
1d8c1100
MW
264 See SND_AC97_POWER_SAVE for more details.
265
89fe5117 266endif # SND_DRIVERS