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