xref: /OK3568_Linux_fs/kernel/sound/drivers/Kconfig (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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