xref: /linux/sound/drivers/Kconfig (revision 6fd44a30d0297c22406276ffb717f373170943ee)
1# SPDX-License-Identifier: GPL-2.0-only
2config SND_MPU401_UART
3	tristate
4	select SND_RAWMIDI
5
6config SND_OPL3_LIB
7	tristate
8	select SND_TIMER
9	select SND_HWDEP
10	select SND_SEQ_DEVICE if SND_SEQUENCER != n
11
12config SND_OPL4_LIB
13	tristate
14	select SND_TIMER
15	select SND_HWDEP
16	select SND_SEQ_DEVICE if SND_SEQUENCER != n
17
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
29config SND_VX_LIB
30	tristate
31	select FW_LOADER
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
48
49config SND_PCSP
50	tristate "PC-Speaker support (READ HELP!)"
51	depends on PCSPKR_PLATFORM && X86 && HIGH_RES_TIMERS
52	depends on INPUT
53	select SND_PCM
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
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
67	  sound driver, you can add this in a configuration file under
68	  /etc/modprobe.d/ directory:
69	  options snd-pcsp index=2
70
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
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.
78
79config SND_DUMMY
80	tristate "Dummy (/dev/null) soundcard"
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
92config SND_ALOOP
93	tristate "Generic loopback driver (PCM)"
94	select SND_PCM
95	select SND_TIMER
96	help
97	  Say 'Y' or 'M' to include support for the PCM loopback device.
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
100	  1->0, where first number is the playback PCM device and second
101	  number is the capture device. Module creates two PCM devices and
102	  configured number of substreams (see the pcm_substreams module
103	  parameter).
104
105	  The loopback device allows time synchronization with an external
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
112config SND_PCMTEST
113	tristate "Virtual PCM test driver"
114	select SND_PCM
115	help
116	  Say 'Y' or 'M' to include support for the Virtual PCM test driver.
117	  This driver is aimed at extended testing of the userspace applications
118	  which use the ALSA API, as well as the PCM middle layer testing.
119
120	  It can generate random or pattern-based data into the capture stream,
121	  check the playback stream for containing the selected pattern, inject
122	  time delays during capture/playback, redefine the RESET ioctl operation
123	  to perform the PCM middle layer testing and inject errors during the
124	  PCM callbacks. It supports both interleaved and non-interleaved access
125	  modes. You can find the corresponding selftest in the 'alsa'
126	  selftests folder.
127
128config SND_VIRMIDI
129	tristate "Virtual MIDI soundcard"
130	depends on SND_SEQUENCER
131	select SND_TIMER
132	select SND_RAWMIDI
133	select SND_SEQ_VIRMIDI
134	select SND_SEQ_MIDI_EVENT
135	help
136	  Say Y here to include the virtual MIDI driver.  This driver
137	  allows to connect applications using raw MIDI devices to
138	  sequencer clients.
139
140	  If you don't know what MIDI is, say N here.
141
142	  To compile this driver as a module, choose M here: the module
143	  will be called snd-virmidi.
144
145config SND_MTPAV
146	tristate "MOTU MidiTimePiece AV multiport MIDI"
147	depends on HAS_IOPORT
148	select SND_RAWMIDI
149	help
150	  To use a MOTU MidiTimePiece AV multiport MIDI adapter
151	  connected to the parallel port, say Y here and make sure that
152	  the standard parallel port driver isn't used for the port.
153
154	  To compile this driver as a module, choose M here: the module
155	  will be called snd-mtpav.
156
157config SND_MTS64
158	tristate "ESI Miditerminal 4140 driver"
159	depends on PARPORT
160	select SND_RAWMIDI
161	help
162	  The ESI Miditerminal 4140 is a 4 In 4 Out MIDI Interface with
163	  additional SMPTE Timecode capabilities for the parallel port.
164
165	  Say 'Y' to include support for this device.
166
167	  To compile this driver as a module, chose 'M' here: the module
168	  will be called snd-mts64.
169
170config SND_SERIAL_U16550
171	tristate "UART16550 serial MIDI driver"
172	depends on HAS_IOPORT
173	select SND_RAWMIDI
174	help
175	  To include support for MIDI serial port interfaces, say Y here
176	  and read <file:Documentation/sound/cards/serial-u16550.rst>.
177	  This driver works with serial UARTs 16550 and better.
178
179	  This driver accesses the serial port hardware directly, so
180	  make sure that the standard serial driver isn't used or
181	  deactivated with setserial before loading this driver.
182
183	  To compile this driver as a module, choose M here: the module
184	  will be called snd-serial-u16550.
185
186config SND_SERIAL_GENERIC
187	tristate "Generic serial MIDI driver"
188	depends on SERIAL_DEV_BUS
189	depends on OF
190	select SND_RAWMIDI
191	help
192	  To include support for mapping generic serial devices as raw
193	  ALSA MIDI devices, say Y here. The driver only supports setting
194	  the serial port to standard baudrates. To attain the standard MIDI
195	  baudrate of 31.25 kBaud, configure the clock of the underlying serial
196	  device so that a requested 38.4 kBaud will result in the standard speed.
197
198	  Use this devicetree binding to configure serial port mapping
199	  <file:Documentation/devicetree/bindings/sound/serial-midi.yaml>
200
201	  To compile this driver as a module, choose M here: the module
202	  will be called snd-serial-generic.
203
204config SND_MPU401
205	tristate "Generic MPU-401 UART driver"
206	depends on HAS_IOPORT
207	select SND_MPU401_UART
208	help
209	  Say Y here to include support for MIDI ports compatible with
210	  the Roland MPU-401 interface in UART mode.
211
212	  To compile this driver as a module, choose M here: the module
213	  will be called snd-mpu401.
214
215config SND_PORTMAN2X4
216	tristate "Portman 2x4 driver"
217	depends on PARPORT
218	select SND_RAWMIDI
219	help
220	  Say Y here to include support for Midiman Portman 2x4 parallel
221	  port MIDI device.
222
223	  To compile this driver as a module, choose M here: the module
224	  will be called snd-portman2x4.
225
226config SND_AC97_POWER_SAVE
227	bool "AC97 Power-Saving Mode"
228	depends on SND_AC97_CODEC
229	default n
230	help
231	  Say Y here to enable the aggressive power-saving support of
232	  AC97 codecs.  In this mode, the power-mode is dynamically
233	  controlled at each open/close.
234
235	  The mode is activated by passing 'power_save=X' to the
236	  snd-ac97-codec driver module, where 'X' is the time-out
237	  value, a nonnegative integer that specifies how many
238	  seconds of idle time the driver must count before it may
239	  put the AC97 into power-save mode;  a value of 0 (zero)
240	  disables the use of this power-save mode.
241
242	  After the snd-ac97-codec driver module has been loaded,
243	  the 'power_save' parameter can be set via sysfs as follows:
244
245	    echo 10 > /sys/module/snd_ac97_codec/parameters/power_save
246
247	  In this case, the time-out is set to 10 seconds; setting
248	  the time-out to 1 second (the minimum activation value)
249	  isn't recommended because many applications try to reopen
250	  the device frequently.  A value of 10 seconds would be a
251	  good choice for normal operations.
252
253	  See Documentation/sound/designs/powersave.rst for more details.
254
255config SND_AC97_POWER_SAVE_DEFAULT
256	int "Default time-out for AC97 power-save mode"
257	depends on SND_AC97_POWER_SAVE
258	default 0
259	help
260	  The default time-out value in seconds for AC97 automatic
261	  power-save mode.  0 means to disable the power-save mode.
262
263	  See SND_AC97_POWER_SAVE for more details.
264
265endif	# SND_DRIVERS
266