Merge tag 'drm-next-2023-09-08' of git://anongit.freedesktop.org/drm/drm
[platform/kernel/linux-rpi.git] / sound / drivers / Kconfig
1 # SPDX-License-Identifier: GPL-2.0-only
2 config SND_MPU401_UART
3         tristate
4         select SND_RAWMIDI
5
6 config SND_OPL3_LIB
7         tristate
8         select SND_TIMER
9         select SND_HWDEP
10         select SND_SEQ_DEVICE if SND_SEQUENCER != n
11
12 config 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)
19 config 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
24 config 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
29 config SND_VX_LIB
30         tristate
31         select FW_LOADER
32         select SND_HWDEP
33         select SND_PCM
34
35 config SND_AC97_CODEC
36         tristate
37         select SND_PCM
38         select AC97_BUS
39         select SND_VMASTER
40
41 menuconfig SND_DRIVERS
42         bool "Generic sound devices"
43         default y
44         help
45           Support for generic sound devices.
46   
47 if SND_DRIVERS
48
49 config 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
79 config 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
92 config 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
112 config SND_PCMTEST
113         tristate "Virtual PCM test driver"
114         depends on DEBUG_FS
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
129 config SND_VIRMIDI
130         tristate "Virtual MIDI soundcard"
131         depends on SND_SEQUENCER
132         select SND_TIMER
133         select SND_RAWMIDI
134         select SND_SEQ_VIRMIDI
135         select SND_SEQ_MIDI_EVENT
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
146 config SND_MTPAV
147         tristate "MOTU MidiTimePiece AV multiport MIDI"
148         depends on HAS_IOPORT
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
158 config SND_MTS64
159         tristate "ESI Miditerminal 4140 driver"
160         depends on PARPORT
161         select SND_RAWMIDI
162         help
163           The ESI Miditerminal 4140 is a 4 In 4 Out MIDI Interface with 
164           additional SMPTE Timecode capabilities for the parallel port.
165
166           Say 'Y' to include support for this device.
167
168           To compile this driver as a module, chose 'M' here: the module 
169           will be called snd-mts64.
170
171 config SND_SERIAL_U16550
172         tristate "UART16550 serial MIDI driver"
173         depends on HAS_IOPORT
174         select SND_RAWMIDI
175         help
176           To include support for MIDI serial port interfaces, say Y here
177           and read <file:Documentation/sound/cards/serial-u16550.rst>.
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
187 config 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
205 config SND_MPU401
206         tristate "Generic MPU-401 UART driver"
207         depends on HAS_IOPORT
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
216 config SND_PORTMAN2X4
217         tristate "Portman 2x4 driver"
218         depends on PARPORT
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
227 config SND_AC97_POWER_SAVE
228         bool "AC97 Power-Saving Mode"
229         depends on SND_AC97_CODEC
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
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
254           See Documentation/sound/designs/powersave.rst for more details.
255
256 config 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
264           See SND_AC97_POWER_SAVE for more details.
265
266 endif   # SND_DRIVERS