blob: 2329b880085de92104ce7ab6a928f9a9a1d7f8a2 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001
2 Advanced Linux Sound Architecture - Driver
3 ==========================================
4 Configuration guide
5
6
7Kernel Configuration
8====================
9
10To enable ALSA support you need at least to build the kernel with
11primary sound card support (CONFIG_SOUND). Since ALSA can emulate OSS,
12you don't have to choose any of the OSS modules.
13
14Enable "OSS API emulation" (CONFIG_SND_OSSEMUL) and both OSS mixer and
15PCM supports if you want to run OSS applications with ALSA.
16
17If you want to support the WaveTable functionality on cards such as
18SB Live! then you need to enable "Sequencer support"
19(CONFIG_SND_SEQUENCER).
20
21To make ALSA debug messages more verbose, enable the "Verbose printk"
22and "Debug" options. To check for memory leaks, turn on "Debug memory"
23too. "Debug detection" will add checks for the detection of cards.
24
25Please note that all the ALSA ISA drivers support the Linux isapnp API
26(if the card supports ISA PnP). You don't need to configure the cards
27using isapnptools.
28
29
30Creating ALSA devices
31=====================
32
33This depends on your distribution, but normally you use the /dev/MAKEDEV
34script to create the necessary device nodes. On some systems you use a
35script named 'snddevices'.
36
37
38Module parameters
39=================
40
41The user can load modules with options. If the module supports more than
42one card and you have more than one card of the same type then you can
43specify multiple values for the option separated by commas.
44
45Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
46
47 Module snd
48 ----------
49
50 The core ALSA module. It is used by all ALSA card drivers.
51 It takes the following options which have global effects.
52
53 major - major number for sound driver
54 - Default: 116
55 cards_limit
56 - limiting card index for auto-loading (1-8)
57 - Default: 1
58 - For auto-loading more than one card, specify this
59 option together with snd-card-X aliases.
Linus Torvalds1da177e2005-04-16 15:20:36 -070060
61
62 Module snd-pcm-oss
63 ------------------
64
65 The PCM OSS emulation module.
66 This module takes options which change the mapping of devices.
67
68 dsp_map - PCM device number maps assigned to the 1st OSS device.
69 - Default: 0
70 adsp_map - PCM device number maps assigned to the 2st OSS device.
71 - Default: 1
72 nonblock_open
Takashi Iwai62430082005-09-05 17:12:29 +020073 - Don't block opening busy PCM devices. Default: 1
Linus Torvalds1da177e2005-04-16 15:20:36 -070074
75 For example, when dsp_map=2, /dev/dsp will be mapped to PCM #2 of
76 the card #0. Similarly, when adsp_map=0, /dev/adsp will be mapped
77 to PCM #0 of the card #0.
78 For changing the second or later card, specify the option with
79 commas, such like "dsp_map=0,1".
80
81 nonblock_open option is used to change the behavior of the PCM
82 regarding opening the device. When this option is non-zero,
83 opening a busy OSS PCM device won't be blocked but return
84 immediately with EAGAIN (just like O_NONBLOCK flag).
85
86 Module snd-rawmidi
87 ------------------
88
89 This module takes options which change the mapping of devices.
90 similar to those of the snd-pcm-oss module.
91
92 midi_map - MIDI device number maps assigned to the 1st OSS device.
93 - Default: 0
94 amidi_map - MIDI device number maps assigned to the 2st OSS device.
95 - Default: 1
96
97 Common parameters for top sound card modules
98 --------------------------------------------
99
100 Each of top level sound card module takes the following options.
101
102 index - index (slot #) of sound card
Clemens Ladisch0ef797c2005-11-21 07:30:20 +0100103 - Values: 0 through 31 or negative
Linus Torvalds1da177e2005-04-16 15:20:36 -0700104 - If nonnegative, assign that index number
105 - if negative, interpret as a bitmask of permissible
106 indices; the first free permitted index is assigned
107 - Default: -1
108 id - card ID (identifier or name)
109 - Can be up to 15 characters long
110 - Default: the card type
111 - A directory by this name is created under /proc/asound/
112 containing information about the card
113 - This ID can be used instead of the index number in
114 identifying the card
115 enable - enable card
116 - Default: enabled, for PCI and ISA PnP cards
117
Rene Hermancf40a312006-03-28 12:38:20 +0200118 Module snd-adlib
119 ----------------
120
121 Module for AdLib FM cards.
122
123 port - port # for OPL chip
124
125 This module supports multiple cards. It does not support autoprobe, so
126 the port must be specified. For actual AdLib FM cards it will be 0x388.
127 Note that this card does not have PCM support and no mixer; only FM
128 synthesis.
129
130 Make sure you have "sbiload" from the alsa-tools package available and,
131 after loading the module, find out the assigned ALSA sequencer port
132 number through "sbiload -l". Example output:
133
134 Port Client name Port name
135 64:0 OPL2 FM synth OPL2 FM Port
136
137 Load the std.sb and drums.sb patches also supplied by sbiload:
138
139 sbiload -p 64:0 std.sb drums.sb
140
141 If you use this driver to drive an OPL3, you can use std.o3 and drums.o3
142 instead. To have the card produce sound, use aplaymidi from alsa-utils:
143
144 aplaymidi -p 64:0 foo.mid
145
Linus Torvalds1da177e2005-04-16 15:20:36 -0700146 Module snd-ad1816a
147 ------------------
148
149 Module for sound cards based on Analog Devices AD1816A/AD1815 ISA chips.
150
151 port - port # for AD1816A chip (PnP setup)
152 mpu_port - port # for MPU-401 UART (PnP setup)
153 fm_port - port # for OPL3 (PnP setup)
154 irq - IRQ # for AD1816A chip (PnP setup)
155 mpu_irq - IRQ # for MPU-401 UART (PnP setup)
156 dma1 - first DMA # for AD1816A chip (PnP setup)
157 dma2 - second DMA # for AD1816A chip (PnP setup)
Takashi Iwai506d4c62005-08-03 14:02:47 +0200158 clockfreq - Clock frequency for AD1816A chip (default = 0, 33000Hz)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700159
Clemens Ladisch0ef797c2005-11-21 07:30:20 +0100160 This module supports multiple cards, autoprobe and PnP.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700161
162 Module snd-ad1848
163 -----------------
164
165 Module for sound cards based on AD1848/AD1847/CS4248 ISA chips.
166
167 port - port # for AD1848 chip
168 irq - IRQ # for AD1848 chip
169 dma1 - DMA # for AD1848 chip (0,1,3)
170
Clemens Ladisch0ef797c2005-11-21 07:30:20 +0100171 This module supports multiple cards. It does not support autoprobe
Linus Torvalds1da177e2005-04-16 15:20:36 -0700172 thus main port must be specified!!! Other ports are optional.
173
Takashi Iwaia4efc232005-11-17 17:24:26 +0100174 The power-management is supported.
175
Clemens Ladisch84010e62005-09-02 07:57:59 +0200176 Module snd-ad1889
177 -----------------
178
179 Module for Analog Devices AD1889 chips.
180
181 ac97_quirk - AC'97 workaround for strange hardware
182 See the description of intel8x0 module for details.
183
Clemens Ladisch0ef797c2005-11-21 07:30:20 +0100184 This module supports multiple cards.
Clemens Ladisch84010e62005-09-02 07:57:59 +0200185
Linus Torvalds1da177e2005-04-16 15:20:36 -0700186 Module snd-ali5451
187 ------------------
188
189 Module for ALi M5451 PCI chip.
190
191 pcm_channels - Number of hardware channels assigned for PCM
192 spdif - Support SPDIF I/O
193 - Default: disabled
194
Takashi Iwai8a3fb4d2005-10-20 17:10:49 +0200195 This module supports one chip and autoprobe.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700196
197 The power-management is supported.
198
199 Module snd-als100
200 -----------------
201
202 Module for sound cards based on Avance Logic ALS100/ALS120 ISA chips.
203
204 port - port # for ALS100 (SB16) chip (PnP setup)
205 irq - IRQ # for ALS100 (SB16) chip (PnP setup)
206 dma8 - 8-bit DMA # for ALS100 (SB16) chip (PnP setup)
207 dma16 - 16-bit DMA # for ALS100 (SB16) chip (PnP setup)
208 mpu_port - port # for MPU-401 UART (PnP setup)
209 mpu_irq - IRQ # for MPU-401 (PnP setup)
210 fm_port - port # for OPL3 FM (PnP setup)
211
Clemens Ladisch0ef797c2005-11-21 07:30:20 +0100212 This module supports multiple cards, autoprobe and PnP.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700213
Takashi Iwaia4efc232005-11-17 17:24:26 +0100214 The power-management is supported.
215
Ash Willisb3a70d52006-03-27 13:20:40 +0200216 Module snd-als300
217 -----------------
218
219 Module for Avance Logic ALS300 and ALS300+
220
221 This module supports multiple cards.
222
223 The power-management is supported.
224
Linus Torvalds1da177e2005-04-16 15:20:36 -0700225 Module snd-als4000
226 ------------------
227
228 Module for sound cards based on Avance Logic ALS4000 PCI chip.
229
230 joystick_port - port # for legacy joystick support.
231 0 = disabled (default), 1 = auto-detect
232
Clemens Ladisch0ef797c2005-11-21 07:30:20 +0100233 This module supports multiple cards, autoprobe and PnP.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700234
Takashi Iwaia4efc232005-11-17 17:24:26 +0100235 The power-management is supported.
236
Linus Torvalds1da177e2005-04-16 15:20:36 -0700237 Module snd-atiixp
238 -----------------
239
Takashi Iwai62430082005-09-05 17:12:29 +0200240 Module for ATI IXP 150/200/250/400 AC97 controllers.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700241
Takashi Iwai62430082005-09-05 17:12:29 +0200242 ac97_clock - AC'97 clock (default = 48000)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700243 ac97_quirk - AC'97 workaround for strange hardware
Takashi Iwai62430082005-09-05 17:12:29 +0200244 See "AC97 Quirk Option" section below.
Dan Carpenter14e1d352006-11-20 16:35:18 +0100245 ac97_codec - Workaround to specify which AC'97 codec
246 instead of probing. If this works for you
247 file a bug with your `lspci -vn` output.
248 -2 -- Force probing.
249 -1 -- Default behavior.
250 0-2 -- Use the specified codec.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700251 spdif_aclink - S/PDIF transfer over AC-link (default = 1)
252
Clemens Ladischb7fe4622005-10-04 08:46:51 +0200253 This module supports one card and autoprobe.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700254
Takashi Iwai62430082005-09-05 17:12:29 +0200255 ATI IXP has two different methods to control SPDIF output. One is
256 over AC-link and another is over the "direct" SPDIF output. The
257 implementation depends on the motherboard, and you'll need to
258 choose the correct one via spdif_aclink module option.
259
Takashi Iwaia4efc232005-11-17 17:24:26 +0100260 The power-management is supported.
261
Linus Torvalds1da177e2005-04-16 15:20:36 -0700262 Module snd-atiixp-modem
263 -----------------------
264
265 Module for ATI IXP 150/200/250 AC97 modem controllers.
266
Clemens Ladischb7fe4622005-10-04 08:46:51 +0200267 This module supports one card and autoprobe.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700268
269 Note: The default index value of this module is -2, i.e. the first
270 slot is excluded.
271
Takashi Iwaia4efc232005-11-17 17:24:26 +0100272 The power-management is supported.
273
Linus Torvalds1da177e2005-04-16 15:20:36 -0700274 Module snd-au8810, snd-au8820, snd-au8830
275 -----------------------------------------
276
277 Module for Aureal Vortex, Vortex2 and Advantage device.
278
279 pcifix - Control PCI workarounds
280 0 = Disable all workarounds
281 1 = Force the PCI latency of the Aureal card to 0xff
282 2 = Force the Extend PCI#2 Internal Master for Efficient
283 Handling of Dummy Requests on the VIA KT133 AGP Bridge
284 3 = Force both settings
285 255 = Autodetect what is required (default)
286
287 This module supports all ADB PCM channels, ac97 mixer, SPDIF, hardware
288 EQ, mpu401, gameport. A3D and wavetable support are still in development.
289 Development and reverse engineering work is being coordinated at
290 http://savannah.nongnu.org/projects/openvortex/
291 SPDIF output has a copy of the AC97 codec output, unless you use the
292 "spdif" pcm device, which allows raw data passthru.
293 The hardware EQ hardware and SPDIF is only present in the Vortex2 and
294 Advantage.
295
Takashi Iwai62430082005-09-05 17:12:29 +0200296 Note: Some ALSA mixer applications don't handle the SPDIF sample rate
Linus Torvalds1da177e2005-04-16 15:20:36 -0700297 control correctly. If you have problems regarding this, try
298 another ALSA compliant mixer (alsamixer works).
299
300 Module snd-azt2320
301 ------------------
302
303 Module for sound cards based on Aztech System AZT2320 ISA chip (PnP only).
304
305 port - port # for AZT2320 chip (PnP setup)
306 wss_port - port # for WSS (PnP setup)
307 mpu_port - port # for MPU-401 UART (PnP setup)
308 fm_port - FM port # for AZT2320 chip (PnP setup)
309 irq - IRQ # for AZT2320 (WSS) chip (PnP setup)
310 mpu_irq - IRQ # for MPU-401 UART (PnP setup)
311 dma1 - 1st DMA # for AZT2320 (WSS) chip (PnP setup)
312 dma2 - 2nd DMA # for AZT2320 (WSS) chip (PnP setup)
313
Clemens Ladisch0ef797c2005-11-21 07:30:20 +0100314 This module supports multiple cards, PnP and autoprobe.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700315
Takashi Iwaia4efc232005-11-17 17:24:26 +0100316 The power-management is supported.
317
Linus Torvalds1da177e2005-04-16 15:20:36 -0700318 Module snd-azt3328
319 ------------------
320
321 Module for sound cards based on Aztech AZF3328 PCI chip.
322
323 joystick - Enable joystick (default off)
324
Clemens Ladisch0ef797c2005-11-21 07:30:20 +0100325 This module supports multiple cards.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700326
327 Module snd-bt87x
328 ----------------
329
330 Module for video cards based on Bt87x chips.
331
332 digital_rate - Override the default digital rate (Hz)
333 load_all - Load the driver even if the card model isn't known
334
Clemens Ladisch0ef797c2005-11-21 07:30:20 +0100335 This module supports multiple cards.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700336
337 Note: The default index value of this module is -2, i.e. the first
338 slot is excluded.
339
340 Module snd-ca0106
341 -----------------
342
343 Module for Creative Audigy LS and SB Live 24bit
344
Clemens Ladisch0ef797c2005-11-21 07:30:20 +0100345 This module supports multiple cards.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700346
347
348 Module snd-cmi8330
349 ------------------
350
351 Module for sound cards based on C-Media CMI8330 ISA chips.
352
353 wssport - port # for CMI8330 chip (WSS)
354 wssirq - IRQ # for CMI8330 chip (WSS)
355 wssdma - first DMA # for CMI8330 chip (WSS)
356 sbport - port # for CMI8330 chip (SB16)
357 sbirq - IRQ # for CMI8330 chip (SB16)
358 sbdma8 - 8bit DMA # for CMI8330 chip (SB16)
359 sbdma16 - 16bit DMA # for CMI8330 chip (SB16)
360
Clemens Ladisch0ef797c2005-11-21 07:30:20 +0100361 This module supports multiple cards and autoprobe.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700362
Takashi Iwaia4efc232005-11-17 17:24:26 +0100363 The power-management is supported.
364
Linus Torvalds1da177e2005-04-16 15:20:36 -0700365 Module snd-cmipci
366 -----------------
367
Clemens Ladisch45c41b42007-08-22 09:45:03 +0200368 Module for C-Media CMI8338/8738/8768/8770 PCI sound cards.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700369
Clemens Ladischc78c950d2007-09-03 09:55:49 +0200370 mpu_port - port address of MIDI interface (8338 only):
Clemens Ladisch45c41b42007-08-22 09:45:03 +0200371 0x300,0x310,0x320,0x330 = legacy port,
Takashi Iwaicab5c4c2006-05-04 14:36:08 +0200372 0 = disable (default)
Clemens Ladisch45c41b42007-08-22 09:45:03 +0200373 fm_port - port address of OPL-3 FM synthesizer (8x38 only):
374 0x388 = legacy port,
375 1 = integrated PCI port (default on 8738),
Takashi Iwai2f24d1592007-02-15 18:56:43 +0100376 0 = disable
Takashi Iwai62430082005-09-05 17:12:29 +0200377 soft_ac3 - Software-conversion of raw SPDIF packets (model 033 only)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700378 (default = 1)
379 joystick_port - Joystick port address (0 = disable, 1 = auto-detect)
380
Clemens Ladisch0ef797c2005-11-21 07:30:20 +0100381 This module supports autoprobe and multiple cards.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700382
Takashi Iwaia4efc232005-11-17 17:24:26 +0100383 The power-management is supported.
384
Linus Torvalds1da177e2005-04-16 15:20:36 -0700385 Module snd-cs4231
386 -----------------
387
388 Module for sound cards based on CS4231 ISA chips.
389
390 port - port # for CS4231 chip
391 mpu_port - port # for MPU-401 UART (optional), -1 = disable
392 irq - IRQ # for CS4231 chip
393 mpu_irq - IRQ # for MPU-401 UART
394 dma1 - first DMA # for CS4231 chip
395 dma2 - second DMA # for CS4231 chip
396
Clemens Ladisch0ef797c2005-11-21 07:30:20 +0100397 This module supports multiple cards. This module does not support autoprobe
Linus Torvalds1da177e2005-04-16 15:20:36 -0700398 thus main port must be specified!!! Other ports are optional.
399
400 The power-management is supported.
401
402 Module snd-cs4232
403 -----------------
404
405 Module for sound cards based on CS4232/CS4232A ISA chips.
406
407 port - port # for CS4232 chip (PnP setup - 0x534)
408 cport - control port # for CS4232 chip (PnP setup - 0x120,0x210,0xf00)
409 mpu_port - port # for MPU-401 UART (PnP setup - 0x300), -1 = disable
410 fm_port - FM port # for CS4232 chip (PnP setup - 0x388), -1 = disable
411 irq - IRQ # for CS4232 chip (5,7,9,11,12,15)
412 mpu_irq - IRQ # for MPU-401 UART (9,11,12,15)
413 dma1 - first DMA # for CS4232 chip (0,1,3)
414 dma2 - second DMA # for Yamaha CS4232 chip (0,1,3), -1 = disable
415 isapnp - ISA PnP detection - 0 = disable, 1 = enable (default)
416
Clemens Ladisch0ef797c2005-11-21 07:30:20 +0100417 This module supports multiple cards. This module does not support autoprobe
Linus Torvalds1da177e2005-04-16 15:20:36 -0700418 thus main port must be specified!!! Other ports are optional.
419
420 The power-management is supported.
421
422 Module snd-cs4236
423 -----------------
424
425 Module for sound cards based on CS4235/CS4236/CS4236B/CS4237B/
426 CS4238B/CS4239 ISA chips.
427
428 port - port # for CS4236 chip (PnP setup - 0x534)
429 cport - control port # for CS4236 chip (PnP setup - 0x120,0x210,0xf00)
430 mpu_port - port # for MPU-401 UART (PnP setup - 0x300), -1 = disable
431 fm_port - FM port # for CS4236 chip (PnP setup - 0x388), -1 = disable
432 irq - IRQ # for CS4236 chip (5,7,9,11,12,15)
433 mpu_irq - IRQ # for MPU-401 UART (9,11,12,15)
434 dma1 - first DMA # for CS4236 chip (0,1,3)
435 dma2 - second DMA # for CS4236 chip (0,1,3), -1 = disable
436 isapnp - ISA PnP detection - 0 = disable, 1 = enable (default)
437
Clemens Ladisch0ef797c2005-11-21 07:30:20 +0100438 This module supports multiple cards. This module does not support autoprobe
Linus Torvalds1da177e2005-04-16 15:20:36 -0700439 (if ISA PnP is not used) thus main port and control port must be
440 specified!!! Other ports are optional.
441
442 The power-management is supported.
443
444 Module snd-cs4281
445 -----------------
446
447 Module for Cirrus Logic CS4281 soundchip.
448
449 dual_codec - Secondary codec ID (0 = disable, default)
450
Clemens Ladisch0ef797c2005-11-21 07:30:20 +0100451 This module supports multiple cards.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700452
453 The power-management is supported.
454
455 Module snd-cs46xx
456 -----------------
457
458 Module for PCI sound cards based on CS4610/CS4612/CS4614/CS4615/CS4622/
459 CS4624/CS4630/CS4280 PCI chips.
460
Takashi Iwai62430082005-09-05 17:12:29 +0200461 external_amp - Force to enable external amplifier.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700462 thinkpad - Force to enable Thinkpad's CLKRUN control.
463 mmap_valid - Support OSS mmap mode (default = 0).
464
Clemens Ladisch0ef797c2005-11-21 07:30:20 +0100465 This module supports multiple cards and autoprobe.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700466 Usually external amp and CLKRUN controls are detected automatically
467 from PCI sub vendor/device ids. If they don't work, give the options
468 above explicitly.
469
470 The power-management is supported.
Takashi Iwai621887a2007-05-24 18:46:54 +0200471
472 Module snd-cs5530
473 _________________
474
475 Module for Cyrix/NatSemi Geode 5530 chip.
476
Takashi Iwai3e873172005-11-17 10:15:37 +0100477 Module snd-cs5535audio
478 ----------------------
479
480 Module for multifunction CS5535 companion PCI device
481
Takashi Iwaic00bd742006-05-19 19:22:34 +0200482 The power-management is supported.
Takashi Iwai3e873172005-11-17 10:15:37 +0100483
Giuliano Pochinidd7b2542006-06-28 13:53:41 +0200484 Module snd-darla20
485 ------------------
486
487 Module for Echoaudio Darla20
488
489 This module supports multiple cards.
490 The driver requires the firmware loader support on kernel.
491
492 Module snd-darla24
493 ------------------
494
495 Module for Echoaudio Darla24
496
497 This module supports multiple cards.
498 The driver requires the firmware loader support on kernel.
499
Linus Torvalds1da177e2005-04-16 15:20:36 -0700500 Module snd-dt019x
501 -----------------
502
503 Module for Diamond Technologies DT-019X / Avance Logic ALS-007 (PnP
504 only)
505
506 port - Port # (PnP setup)
507 mpu_port - Port # for MPU-401 (PnP setup)
508 fm_port - Port # for FM OPL-3 (PnP setup)
509 irq - IRQ # (PnP setup)
510 mpu_irq - IRQ # for MPU-401 (PnP setup)
511 dma8 - DMA # (PnP setup)
512
Clemens Ladisch0ef797c2005-11-21 07:30:20 +0100513 This module supports multiple cards. This module is enabled only with
Linus Torvalds1da177e2005-04-16 15:20:36 -0700514 ISA PnP support.
515
Takashi Iwaia4efc232005-11-17 17:24:26 +0100516 The power-management is supported.
517
Linus Torvalds1da177e2005-04-16 15:20:36 -0700518 Module snd-dummy
519 ----------------
520
521 Module for the dummy sound card. This "card" doesn't do any output
522 or input, but you may use this module for any application which
523 requires a sound card (like RealPlayer).
524
Takashi Iwaia4efc232005-11-17 17:24:26 +0100525 The power-management is supported.
526
Giuliano Pochinidd7b2542006-06-28 13:53:41 +0200527 Module snd-echo3g
528 -----------------
529
530 Module for Echoaudio 3G cards (Gina3G/Layla3G)
531
532 This module supports multiple cards.
533 The driver requires the firmware loader support on kernel.
534
Linus Torvalds1da177e2005-04-16 15:20:36 -0700535 Module snd-emu10k1
536 ------------------
537
538 Module for EMU10K1/EMU10k2 based PCI sound cards.
539 * Sound Blaster Live!
540 * Sound Blaster PCI 512
541 * Emu APS (partially supported)
542 * Sound Blaster Audigy
543
544 extin - bitmap of available external inputs for FX8010 (see bellow)
545 extout - bitmap of available external outputs for FX8010 (see bellow)
546 seq_ports - allocated sequencer ports (4 by default)
547 max_synth_voices - limit of voices used for wavetable (64 by default)
548 max_buffer_size - specifies the maximum size of wavetable/pcm buffers
549 given in MB unit. Default value is 128.
550 enable_ir - enable IR
551
Clemens Ladisch0ef797c2005-11-21 07:30:20 +0100552 This module supports multiple cards and autoprobe.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700553
554 Input & Output configurations [extin/extout]
555 * Creative Card wo/Digital out [0x0003/0x1f03]
556 * Creative Card w/Digital out [0x0003/0x1f0f]
557 * Creative Card w/Digital CD in [0x000f/0x1f0f]
558 * Creative Card wo/Digital out + LiveDrive [0x3fc3/0x1fc3]
559 * Creative Card w/Digital out + LiveDrive [0x3fc3/0x1fcf]
560 * Creative Card w/Digital CD in + LiveDrive [0x3fcf/0x1fcf]
561 * Creative Card wo/Digital out + Digital I/O 2 [0x0fc3/0x1f0f]
562 * Creative Card w/Digital out + Digital I/O 2 [0x0fc3/0x1f0f]
563 * Creative Card w/Digital CD in + Digital I/O 2 [0x0fcf/0x1f0f]
564 * Creative Card 5.1/w Digital out + LiveDrive [0x3fc3/0x1fff]
565 * Creative Card 5.1 (c) 2003 [0x3fc3/0x7cff]
566 * Creative Card all ins and outs [0x3fff/0x7fff]
567
Takashi Iwaia4efc232005-11-17 17:24:26 +0100568 The power-management is supported.
569
Linus Torvalds1da177e2005-04-16 15:20:36 -0700570 Module snd-emu10k1x
571 -------------------
572
573 Module for Creative Emu10k1X (SB Live Dell OEM version)
574
Clemens Ladisch0ef797c2005-11-21 07:30:20 +0100575 This module supports multiple cards.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700576
577 Module snd-ens1370
578 ------------------
579
580 Module for Ensoniq AudioPCI ES1370 PCI sound cards.
581 * SoundBlaster PCI 64
582 * SoundBlaster PCI 128
583
584 joystick - Enable joystick (default off)
585
Clemens Ladisch0ef797c2005-11-21 07:30:20 +0100586 This module supports multiple cards and autoprobe.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700587
Takashi Iwaid6ec8942006-01-20 14:05:06 +0100588 The power-management is supported.
589
Linus Torvalds1da177e2005-04-16 15:20:36 -0700590 Module snd-ens1371
591 ------------------
592
593 Module for Ensoniq AudioPCI ES1371 PCI sound cards.
594 * SoundBlaster PCI 64
595 * SoundBlaster PCI 128
596 * SoundBlaster Vibra PCI
597
598 joystick_port - port # for joystick (0x200,0x208,0x210,0x218),
599 0 = disable (default), 1 = auto-detect
600
Clemens Ladisch0ef797c2005-11-21 07:30:20 +0100601 This module supports multiple cards and autoprobe.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700602
Takashi Iwaid6ec8942006-01-20 14:05:06 +0100603 The power-management is supported.
604
Linus Torvalds1da177e2005-04-16 15:20:36 -0700605 Module snd-es968
606 ----------------
607
608 Module for sound cards based on ESS ES968 chip (PnP only).
609
610 port - port # for ES968 (SB8) chip (PnP setup)
611 irq - IRQ # for ES968 (SB8) chip (PnP setup)
612 dma1 - DMA # for ES968 (SB8) chip (PnP setup)
613
Clemens Ladisch0ef797c2005-11-21 07:30:20 +0100614 This module supports multiple cards, PnP and autoprobe.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700615
Takashi Iwaia4efc232005-11-17 17:24:26 +0100616 The power-management is supported.
617
Linus Torvalds1da177e2005-04-16 15:20:36 -0700618 Module snd-es1688
619 -----------------
620
621 Module for ESS AudioDrive ES-1688 and ES-688 sound cards.
622
623 port - port # for ES-1688 chip (0x220,0x240,0x260)
624 mpu_port - port # for MPU-401 port (0x300,0x310,0x320,0x330), -1 = disable (default)
625 irq - IRQ # for ES-1688 chip (5,7,9,10)
626 mpu_irq - IRQ # for MPU-401 port (5,7,9,10)
627 dma8 - DMA # for ES-1688 chip (0,1,3)
628
Clemens Ladisch0ef797c2005-11-21 07:30:20 +0100629 This module supports multiple cards and autoprobe (without MPU-401 port).
Linus Torvalds1da177e2005-04-16 15:20:36 -0700630
631 Module snd-es18xx
632 -----------------
633
634 Module for ESS AudioDrive ES-18xx sound cards.
635
636 port - port # for ES-18xx chip (0x220,0x240,0x260)
637 mpu_port - port # for MPU-401 port (0x300,0x310,0x320,0x330), -1 = disable (default)
638 fm_port - port # for FM (optional, not used)
639 irq - IRQ # for ES-18xx chip (5,7,9,10)
640 dma1 - first DMA # for ES-18xx chip (0,1,3)
641 dma2 - first DMA # for ES-18xx chip (0,1,3)
642 isapnp - ISA PnP detection - 0 = disable, 1 = enable (default)
643
Clemens Ladisch0ef797c2005-11-21 07:30:20 +0100644 This module supports multiple cards, ISA PnP and autoprobe (without MPU-401
645 port if native ISA PnP routines are not used).
Linus Torvalds1da177e2005-04-16 15:20:36 -0700646 When dma2 is equal with dma1, the driver works as half-duplex.
647
648 The power-management is supported.
649
650 Module snd-es1938
651 -----------------
652
653 Module for sound cards based on ESS Solo-1 (ES1938,ES1946) chips.
654
Clemens Ladisch0ef797c2005-11-21 07:30:20 +0100655 This module supports multiple cards and autoprobe.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700656
Takashi Iwaia4efc232005-11-17 17:24:26 +0100657 The power-management is supported.
658
Linus Torvalds1da177e2005-04-16 15:20:36 -0700659 Module snd-es1968
660 -----------------
661
662 Module for sound cards based on ESS Maestro-1/2/2E (ES1968/ES1978) chips.
663
664 total_bufsize - total buffer size in kB (1-4096kB)
665 pcm_substreams_p - playback channels (1-8, default=2)
666 pcm_substreams_c - capture channels (1-8, default=0)
667 clock - clock (0 = auto-detection)
668 use_pm - support the power-management (0 = off, 1 = on,
669 2 = auto (default))
670 enable_mpu - enable MPU401 (0 = off, 1 = on, 2 = auto (default))
671 joystick - enable joystick (default off)
672
Clemens Ladisch0ef797c2005-11-21 07:30:20 +0100673 This module supports multiple cards and autoprobe.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700674
675 The power-management is supported.
676
677 Module snd-fm801
678 ----------------
679
680 Module for ForteMedia FM801 based PCI sound cards.
681
682 tea575x_tuner - Enable TEA575x tuner
683 - 1 = MediaForte 256-PCS
684 - 2 = MediaForte 256-PCPR
685 - 3 = MediaForte 64-PCR
686 - High 16-bits are video (radio) device number + 1
687 - example: 0x10002 (MediaForte 256-PCPR, device 1)
688
Clemens Ladisch0ef797c2005-11-21 07:30:20 +0100689 This module supports multiple cards and autoprobe.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700690
Takashi Iwaia4efc232005-11-17 17:24:26 +0100691 The power-management is supported.
692
Giuliano Pochinidd7b2542006-06-28 13:53:41 +0200693 Module snd-gina20
694 -----------------
695
696 Module for Echoaudio Gina20
697
698 This module supports multiple cards.
699 The driver requires the firmware loader support on kernel.
700
701 Module snd-gina24
702 -----------------
703
704 Module for Echoaudio Gina24
705
706 This module supports multiple cards.
707 The driver requires the firmware loader support on kernel.
708
Linus Torvalds1da177e2005-04-16 15:20:36 -0700709 Module snd-gusclassic
710 ---------------------
711
712 Module for Gravis UltraSound Classic sound card.
713
714 port - port # for GF1 chip (0x220,0x230,0x240,0x250,0x260)
715 irq - IRQ # for GF1 chip (3,5,9,11,12,15)
716 dma1 - DMA # for GF1 chip (1,3,5,6,7)
717 dma2 - DMA # for GF1 chip (1,3,5,6,7,-1=disable)
718 joystick_dac - 0 to 31, (0.59V-4.52V or 0.389V-2.98V)
719 voices - GF1 voices limit (14-32)
720 pcm_voices - reserved PCM voices
721
Clemens Ladisch0ef797c2005-11-21 07:30:20 +0100722 This module supports multiple cards and autoprobe.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700723
724 Module snd-gusextreme
725 ---------------------
726
727 Module for Gravis UltraSound Extreme (Synergy ViperMax) sound card.
728
729 port - port # for ES-1688 chip (0x220,0x230,0x240,0x250,0x260)
730 gf1_port - port # for GF1 chip (0x210,0x220,0x230,0x240,0x250,0x260,0x270)
731 mpu_port - port # for MPU-401 port (0x300,0x310,0x320,0x330), -1 = disable
732 irq - IRQ # for ES-1688 chip (5,7,9,10)
733 gf1_irq - IRQ # for GF1 chip (3,5,9,11,12,15)
734 mpu_irq - IRQ # for MPU-401 port (5,7,9,10)
735 dma8 - DMA # for ES-1688 chip (0,1,3)
736 dma1 - DMA # for GF1 chip (1,3,5,6,7)
737 joystick_dac - 0 to 31, (0.59V-4.52V or 0.389V-2.98V)
738 voices - GF1 voices limit (14-32)
739 pcm_voices - reserved PCM voices
740
Clemens Ladisch0ef797c2005-11-21 07:30:20 +0100741 This module supports multiple cards and autoprobe (without MPU-401 port).
Linus Torvalds1da177e2005-04-16 15:20:36 -0700742
743 Module snd-gusmax
744 -----------------
745
746 Module for Gravis UltraSound MAX sound card.
747
748 port - port # for GF1 chip (0x220,0x230,0x240,0x250,0x260)
749 irq - IRQ # for GF1 chip (3,5,9,11,12,15)
750 dma1 - DMA # for GF1 chip (1,3,5,6,7)
751 dma2 - DMA # for GF1 chip (1,3,5,6,7,-1=disable)
752 joystick_dac - 0 to 31, (0.59V-4.52V or 0.389V-2.98V)
753 voices - GF1 voices limit (14-32)
754 pcm_voices - reserved PCM voices
755
Clemens Ladisch0ef797c2005-11-21 07:30:20 +0100756 This module supports multiple cards and autoprobe.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700757
758 Module snd-hda-intel
759 --------------------
760
Takashi Iwai9b878192006-05-17 11:26:39 +0200761 Module for Intel HD Audio (ICH6, ICH6M, ESB2, ICH7, ICH8),
762 ATI SB450, SB600, RS600,
763 VIA VT8251/VT8237A,
764 SIS966, ULI M5461
Linus Torvalds1da177e2005-04-16 15:20:36 -0700765
766 model - force the model name
Takashi Iwai62430082005-09-05 17:12:29 +0200767 position_fix - Fix DMA pointer (0 = auto, 1 = none, 2 = POSBUF, 3 = FIFO size)
Takashi Iwai95904742007-05-19 17:06:42 +0200768 probe_mask - Bitmask to probe codecs (default = -1, meaning all slots)
Takashi Iwai27346162006-01-12 18:28:44 +0100769 single_cmd - Use single immediate commands to communicate with
770 codecs (for debugging only)
Takashi Iwai134a11f2006-11-10 12:08:37 +0100771 enable_msi - Enable Message Signaled Interrupt (MSI) (default = off)
Takashi Iwaidee1b662007-08-13 16:10:30 +0200772 power_save - Automatic power-saving timtout (in second, 0 =
773 disable, default = 10)
774 power_save_controller - Reset HD-audio controller in power-saving mode
775 (default = on)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700776
Clemens Ladischb7fe4622005-10-04 08:46:51 +0200777 This module supports one card and autoprobe.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700778
779 Each codec may have a model table for different configurations.
780 If your machine isn't listed there, the default (usually minimal)
781 configuration is set up. You can pass "model=<name>" option to
782 specify a certain model in such a case. There are different
783 models depending on the codec chip.
784
785 Model name Description
786 ---------- -----------
787 ALC880
788 3stack 3-jack in back and a headphone out
789 3stack-digout 3-jack in back, a HP out and a SPDIF out
790 5stack 5-jack in back, 2-jack in front
791 5stack-digout 5-jack in back, 2-jack in front, a SPDIF out
Takashi Iwaib6482d42005-06-27 15:32:43 +0200792 6stack 6-jack in back, 2-jack in front
793 6stack-digout 6-jack with a SPDIF out
Linus Torvalds1da177e2005-04-16 15:20:36 -0700794 w810 3-jack
Takashi Iwaidfc0ff62005-05-12 14:31:49 +0200795 z71v 3-jack (HP shared SPDIF)
Takashi Iwai4b146cb2006-07-28 14:42:36 +0200796 asus 3-jack (ASUS Mobo)
797 asus-w1v ASUS W1V
798 asus-dig ASUS with SPDIF out
799 asus-dig2 ASUS with SPDIF out (using GPIO2)
Takashi Iwaie9edcee2005-06-13 14:16:38 +0200800 uniwill 3-jack
Tobin Davis2cf9f0f2007-02-07 16:04:25 +0100801 fujitsu Fujitsu Laptops (Pi1536)
Takashi Iwaie9edcee2005-06-13 14:16:38 +0200802 F1734 2-jack
Takashi Iwaiae6b8132006-03-03 16:47:17 +0100803 lg LG laptop (m1 express dual)
Takashi Iwaicd417d42006-09-06 16:03:11 +0200804 lg-lw LG LW20/LW25 laptop
Takashi Iwai4b146cb2006-07-28 14:42:36 +0200805 tcl TCL S700
Takashi Iwai5a053d02006-07-25 14:51:15 +0200806 clevo Clevo laptops (m520G, m665n)
Takashi Iwaib6482d42005-06-27 15:32:43 +0200807 test for testing/debugging purpose, almost all controls can be
808 adjusted. Appearing only when compiled with
809 $CONFIG_SND_DEBUG=y
Takashi Iwaied345f82006-03-01 14:16:53 +0100810 auto auto-config reading BIOS (default)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700811
Takashi Iwai21be3d12005-09-16 19:18:56 +0200812 ALC260
813 hp HP machines
Takashi Iwai4b146cb2006-07-28 14:42:36 +0200814 hp-3013 HP machines (3013-variant)
Takashi Iwai21be3d12005-09-16 19:18:56 +0200815 fujitsu Fujitsu S7020
Takashi Iwaied345f82006-03-01 14:16:53 +0100816 acer Acer TravelMate
Takashi Iwai940d2442007-07-06 12:24:55 +0200817 will Will laptops (PB V7900)
818 replacer Replacer 672V
Takashi Iwaied345f82006-03-01 14:16:53 +0100819 basic fixed pin assignment (old default model)
820 auto auto-config reading BIOS (default)
821
822 ALC262
823 fujitsu Fujitsu Laptop
Takashi Iwai6d177ba72006-07-25 14:51:15 +0200824 hp-bpc HP xw4400/6400/8400/9400 laptops
Kailang Yangcd7509a2007-01-26 18:33:17 +0100825 hp-bpc-d7000 HP BPC D7000
Takashi Iwai304dcaa2006-07-25 14:51:16 +0200826 benq Benq ED8
Takashi Iwai940d2442007-07-06 12:24:55 +0200827 benq-t31 Benq T31
Takashi Iwaid1f67542006-11-14 12:30:52 +0100828 hippo Hippo (ATI) with jack detection, Sony UX-90s
Kailang Yangccc656c2006-10-17 12:32:26 +0200829 hippo_1 Hippo (Benq) with jack detection
Takashi Iwai940d2442007-07-06 12:24:55 +0200830 sony-assamd Sony ASSAMD
Takashi Iwaied345f82006-03-01 14:16:53 +0100831 basic fixed pin assignment w/o SPDIF
832 auto auto-config reading BIOS (default)
833
Kailang Yanga361d842007-06-05 12:30:55 +0200834 ALC268
835 3stack 3-stack model
Takashi Iwai983f8ae2007-08-15 16:44:04 +0200836 toshiba Toshiba A205
Takashi Iwaid2738092007-08-16 14:59:45 +0200837 acer Acer laptops
Kailang Yanga361d842007-06-05 12:30:55 +0200838 auto auto-config reading BIOS (default)
839
Takashi Iwai940d2442007-07-06 12:24:55 +0200840 ALC662
841 3stack-dig 3-stack (2-channel) with SPDIF
842 3stack-6ch 3-stack (6-channel)
843 3stack-6ch-dig 3-stack (6-channel) with SPDIF
844 6stack-dig 6-stack with SPDIF
845 lenovo-101e Lenovo laptop
846 auto auto-config reading BIOS (default)
847
Takashi Iwai9c7f8522006-06-28 15:08:22 +0200848 ALC882/885
Takashi Iwaied345f82006-03-01 14:16:53 +0100849 3stack-dig 3-jack with SPDIF I/O
Tobin Davis518f6a62006-12-28 13:55:41 +0100850 6stack-dig 6-jack digital with SPDIF I/O
Takashi Iwai4b146cb2006-07-28 14:42:36 +0200851 arima Arima W820Di1
Tobin Davis518f6a62006-12-28 13:55:41 +0100852 macpro MacPro support
Takashi Iwai87350ad2007-08-16 18:19:38 +0200853 mbp3 Macbook Pro rev3
Nicola Fagnanic54728d2007-07-19 23:28:52 +0200854 imac24 iMac 24'' with jack detection
Kailang Yangbdd148a2007-05-08 15:19:08 +0200855 w2jc ASUS W2JC
Takashi Iwaied345f82006-03-01 14:16:53 +0100856 auto auto-config reading BIOS (default)
857
Takashi Iwai9c7f8522006-06-28 15:08:22 +0200858 ALC883/888
859 3stack-dig 3-jack with SPDIF I/O
860 6stack-dig 6-jack digital with SPDIF I/O
Takashi Iwai4b146cb2006-07-28 14:42:36 +0200861 3stack-6ch 3-jack 6-channel
862 3stack-6ch-dig 3-jack 6-channel with SPDIF I/O
863 6stack-dig-demo 6-jack digital for Intel demo board
Vladimir Avdoninbab282b92006-08-22 13:31:58 +0200864 acer Acer laptops (Travelmate 3012WTMi, Aspire 5600, etc)
Takashi Iwai983f8ae2007-08-15 16:44:04 +0200865 acer-aspire Acer Aspire 9810
Tobin Davisc07584c2006-10-13 12:32:16 +0200866 medion Medion Laptops
Takashi Iwai940d2442007-07-06 12:24:55 +0200867 medion-md2 Medion MD2
Kailang Yangccc656c2006-10-17 12:32:26 +0200868 targa-dig Targa/MSI
869 targa-2ch-dig Targs/MSI with 2-channel
Andrew L. Neporadab373bde2006-11-07 11:37:08 +0100870 laptop-eapd 3-jack with SPDIF I/O and EAPD (Clevo M540JE, M550JE)
Takashi Iwai940d2442007-07-06 12:24:55 +0200871 lenovo-101e Lenovo 101E
872 lenovo-nb0763 Lenovo NB0763
873 lenovo-ms7195-dig Lenovo MS7195
Kailang Yang189609a2007-08-20 11:31:23 +0200874 haier-w66 Haier W66
Claudio Matsuoka4723c022007-07-13 14:36:19 +0200875 6stack-hp HP machines with 6stack (Nettle boards)
876 3stack-hp HP machines with 3stack (Lucknow, Samba boards)
Takashi Iwai9c7f8522006-06-28 15:08:22 +0200877 auto auto-config reading BIOS (default)
878
879 ALC861/660
Takashi Iwaied345f82006-03-01 14:16:53 +0100880 3stack 3-jack
881 3stack-dig 3-jack with SPDIF I/O
882 6stack-dig 6-jack with SPDIF I/O
Takashi Iwai4b146cb2006-07-28 14:42:36 +0200883 3stack-660 3-jack (for ALC660)
Takashi Iwai22309c32006-08-09 16:57:28 +0200884 uniwill-m31 Uniwill M31 laptop
Tobin Davisa53d1ae2006-10-17 12:00:28 +0200885 toshiba Toshiba laptop support
Mariusz Domanski7cdbff92006-10-23 13:42:56 +0200886 asus Asus laptop support
Takashi Iwai56bb0ca2006-11-22 11:52:52 +0100887 asus-laptop ASUS F2/F3 laptops
Takashi Iwaied345f82006-03-01 14:16:53 +0100888 auto auto-config reading BIOS (default)
Takashi Iwai21be3d12005-09-16 19:18:56 +0200889
Jakub Schmidtkef32610e2007-02-02 18:17:27 +0100890 ALC861VD/660VD
891 3stack 3-jack
892 3stack-dig 3-jack with SPDIF OUT
893 6stack-dig 6-jack with SPDIF OUT
894 3stack-660 3-jack (for ALC660VD)
Mike Crash6963f842007-06-25 12:12:51 +0200895 3stack-660-digout 3-jack with SPDIF OUT (for ALC660VD)
Kailang Yangbdd148a2007-05-08 15:19:08 +0200896 lenovo Lenovo 3000 C200
Takashi Iwai940d2442007-07-06 12:24:55 +0200897 dallas Dallas laptops
Takashi Iwai983f8ae2007-08-15 16:44:04 +0200898 hp HP TX1000
Jakub Schmidtkef32610e2007-02-02 18:17:27 +0100899 auto auto-config reading BIOS (default)
900
Linus Torvalds1da177e2005-04-16 15:20:36 -0700901 CMI9880
902 minimal 3-jack in back
903 min_fp 3-jack in back, 2-jack in front
904 full 6-jack in back, 2-jack in front
905 full_dig 6-jack in back, 2-jack in front, SPDIF I/O
906 allout 5-jack in back, 2-jack in front, SPDIF out
Takashi Iwaie9edcee2005-06-13 14:16:38 +0200907 auto auto-config reading BIOS (default)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700908
Takashi Iwai0ac85512007-06-20 15:46:13 +0200909 AD1882
910 3stack 3-stack mode (default)
911 6stack 6-stack mode
912
Takashi Iwai2bac6472007-05-18 18:21:41 +0200913 AD1884
914 N/A
915
Takashi Iwai9230d212006-03-13 13:49:49 +0100916 AD1981
917 basic 3-jack (default)
918 hp HP nx6320
Takashi Iwai01686c5f2006-04-18 12:54:11 +0200919 thinkpad Lenovo Thinkpad T60/X60/Z60
Tobin Davis18768992007-03-12 22:20:51 +0100920 toshiba Toshiba U205
Takashi Iwai9230d212006-03-13 13:49:49 +0100921
Takashi Iwai2bac6472007-05-18 18:21:41 +0200922 AD1983
923 N/A
924
925 AD1984
926 basic default configuration
927 thinkpad Lenovo Thinkpad T61/X61
928
Takashi Iwai9230d212006-03-13 13:49:49 +0100929 AD1986A
930 6stack 6-jack, separate surrounds (default)
931 3stack 3-stack, shared surrounds
932 laptop 2-channel only (FSC V2060, Samsung M50)
Takashi Iwai825aa9722006-03-17 10:50:49 +0100933 laptop-eapd 2-channel with EAPD (Samsung R65, ASUS A6J)
Tobin Davisf36090f2007-01-08 11:07:12 +0100934 ultra 2-channel with EAPD (Samsung Ultra tablet PC)
Takashi Iwai9230d212006-03-13 13:49:49 +0100935
936 AD1988
937 6stack 6-jack
938 6stack-dig ditto with SPDIF
939 3stack 3-jack
940 3stack-dig ditto with SPDIF
941 laptop 3-jack with hp-jack automute
942 laptop-dig ditto with SPDIF
Guillaume Munch99ccc562006-08-16 19:35:12 +0200943 auto auto-config reading BIOS (default)
Tobin Davisc9b443d2006-11-14 12:13:39 +0100944
945 Conexant 5045
946 laptop Laptop config
947 test for testing/debugging purpose, almost all controls
948 can be adjusted. Appearing only when compiled with
949 $CONFIG_SND_DEBUG=y
950
951 Conexant 5047
952 laptop Basic Laptop config
953 laptop-hp Laptop config for some HP models (subdevice 30A5)
954 laptop-eapd Laptop config with EAPD support
955 test for testing/debugging purpose, almost all controls
956 can be adjusted. Appearing only when compiled with
957 $CONFIG_SND_DEBUG=y
Takashi Iwai9230d212006-03-13 13:49:49 +0100958
Takashi Iwaidfe495d2007-08-23 19:04:28 +0200959 STAC9200
Takashi Iwai3fc24d82007-02-16 13:27:18 +0100960 ref Reference board
Takashi Iwai966a4d52007-09-05 23:48:45 +0200961 dell-d21 Dell (unknown)
962 dell-d22 Dell (unknown)
963 dell-d23 Dell (unknown)
Takashi Iwaidfe495d2007-08-23 19:04:28 +0200964 dell-m21 Dell Inspiron 630m, Dell Inspiron 640m
965 dell-m22 Dell Latitude D620, Dell Latitude D820
966 dell-m23 Dell XPS M1710, Dell Precision M90
967 dell-m24 Dell Latitude 120L
968 dell-m25 Dell Inspiron E1505n
969 dell-m26 Dell Inspiron 1501
970 dell-m27 Dell Inspiron E1705/9400
971
972 STAC9205/9254
973 ref Reference board
974 dell-m42 Dell (unknown)
Tobin Davisae0a8ed2007-08-13 15:50:29 +0200975 dell-m43 Dell Precision
976 dell-m44 Dell Inspiron
Takashi Iwai3fc24d82007-02-16 13:27:18 +0100977
978 STAC9220/9221
Tobin Davis93ed1502006-09-01 21:03:12 +0200979 ref Reference board
980 3stack D945 3stack
981 5stack D945 5stack + SPDIF
Ivan N. Zlatev5d5d3bc2007-05-29 16:03:00 +0200982 intel-mac-v1 Intel Mac Type 1
983 intel-mac-v2 Intel Mac Type 2
984 intel-mac-v3 Intel Mac Type 3
985 intel-mac-v4 Intel Mac Type 4
986 intel-mac-v5 Intel Mac Type 5
987 macmini Intel Mac Mini (equivalent with type 3)
988 macbook Intel Mac Book (eq. type 5)
989 macbook-pro-v1 Intel Mac Book Pro 1st generation (eq. type 3)
990 macbook-pro Intel Mac Book Pro 2nd generation (eq. type 3)
991 imac-intel Intel iMac (eq. type 2)
992 imac-intel-20 Intel iMac (newer version) (eq. type 3)
Takashi Iwaidfe495d2007-08-23 19:04:28 +0200993 dell-d81 Dell (unknown)
994 dell-d82 Dell (unknown)
995 dell-m81 Dell (unknown)
996 dell-m82 Dell XPS M1210
Tobin Davis93ed1502006-09-01 21:03:12 +0200997
Tobin Davis8e21c342007-01-08 11:04:17 +0100998 STAC9202/9250/9251
999 ref Reference board, base config
1000 m2-2 Some Gateway MX series laptops
1001 m6 Some Gateway NX series laptops
Tobin Davis2c11f952007-05-17 09:36:34 +02001002 pa6 Gateway NX860 series
Tobin Davis8e21c342007-01-08 11:04:17 +01001003
Tobin Davis93ed1502006-09-01 21:03:12 +02001004 STAC9227/9228/9229/927x
1005 ref Reference board
1006 3stack D965 3stack
1007 5stack D965 5stack + SPDIF
Takashi Iwaidfe495d2007-08-23 19:04:28 +02001008 dell-3stack Dell Dimension E520
Tobin Davis93ed1502006-09-01 21:03:12 +02001009
Guillaume Munch6d859062006-08-22 17:15:47 +02001010 STAC9872
1011 vaio Setup for VAIO FE550G/SZ110
1012 vaio-ar Setup for VAIO AR
Takashi Iwaidb064e52006-03-16 16:04:58 +01001013
Takashi Iwai6d7b1d72007-02-26 15:56:46 +01001014 The model name "genric" is treated as a special case. When this
1015 model is given, the driver uses the generic codec parser without
1016 "codec-patch". It's sometimes good for testing and debugging.
1017
Takashi Iwai62430082005-09-05 17:12:29 +02001018 If the default configuration doesn't work and one of the above
1019 matches with your device, report it together with the PCI
1020 subsystem ID (output of "lspci -nv") to ALSA BTS or alsa-devel
1021 ML (see the section "Links and Addresses").
1022
Takashi Iwaidee1b662007-08-13 16:10:30 +02001023 When CONFIG_SND_HDA_POWER_SAVE is set, two options, power_save and
1024 power_save_controller become available. power_save specifies the
1025 time to turn off the power automatically at idle status. When
1026 power_save_controller is true, the controller is also turned off.
1027 This might result in more obvious click noise at turning on/off.
1028
Takashi Iwaic74db862005-05-12 14:26:27 +02001029 Note 2: If you get click noises on output, try the module option
1030 position_fix=1 or 2. position_fix=1 will use the SD_LPIB
1031 register value without FIFO size correction as the current
1032 DMA pointer. position_fix=2 will make the driver to use
1033 the position buffer instead of reading SD_LPIB register.
1034 (Usually SD_LPLIB register is more accurate than the
1035 position buffer.)
1036
Takashi Iwai27346162006-01-12 18:28:44 +01001037 NB: If you get many "azx_get_response timeout" messages at
1038 loading, it's likely a problem of interrupts (e.g. ACPI irq
1039 routing). Try to boot with options like "pci=noacpi". Also, you
1040 can try "single_cmd=1" module option. This will switch the
1041 communication method between HDA controller and codecs to the
1042 single immediate commands instead of CORB/RIRB. Basically, the
1043 single command mode is provided only for BIOS, and you won't get
1044 unsolicited events, too. But, at least, this works independently
1045 from the irq. Remember this is a last resort, and should be
1046 avoided as much as possible...
1047
Takashi Iwai95904742007-05-19 17:06:42 +02001048 MORE NOTES ON "azx_get_response timeout" PROBLEMS:
1049 On some hardwares, you may need to add a proper probe_mask option
1050 to avoid the "azx_get_response timeout" problem above, instead.
1051 This occurs when the access to non-existing or non-working codec slot
1052 (likely a modem one) causes a stall of the communication via HD-audio
1053 bus. You can see which codec slots are probed by enabling
1054 CONFIG_SND_DEBUG_DETECT, or simply from the file name of the codec
1055 proc files. Then limit the slots to probe by probe_mask option.
1056 For example, probe_mask=1 means to probe only the first slot, and
1057 probe_mask=4 means only the third slot.
1058
Takashi Iwaia4efc232005-11-17 17:24:26 +01001059 The power-management is supported.
1060
Linus Torvalds1da177e2005-04-16 15:20:36 -07001061 Module snd-hdsp
1062 ---------------
1063
1064 Module for RME Hammerfall DSP audio interface(s)
1065
Clemens Ladisch0ef797c2005-11-21 07:30:20 +01001066 This module supports multiple cards.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001067
1068 Note: The firmware data can be automatically loaded via hotplug
1069 when CONFIG_FW_LOADER is set. Otherwise, you need to load
1070 the firmware via hdsploader utility included in alsa-tools
1071 package.
1072 The firmware data is found in alsa-firmware package.
1073
1074 Note: snd-page-alloc module does the job which snd-hammerfall-mem
1075 module did formerly. It will allocate the buffers in advance
1076 when any HDSP cards are found. To make the buffer
1077 allocation sure, load snd-page-alloc module in the early
Takashi Iwaib6a96912005-05-30 18:27:03 +02001078 stage of boot sequence. See "Early Buffer Allocation"
1079 section.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001080
Takashi Iwai54704402005-06-03 11:27:00 +02001081 Module snd-hdspm
1082 ----------------
1083
1084 Module for RME HDSP MADI board.
1085
1086 precise_ptr - Enable precise pointer, or disable.
1087 line_outs_monitor - Send playback streams to analog outs by default.
1088 enable_monitor - Enable Analog Out on Channel 63/64 by default.
1089
1090 See hdspm.txt for details.
1091
Linus Torvalds1da177e2005-04-16 15:20:36 -07001092 Module snd-ice1712
1093 ------------------
1094
1095 Module for Envy24 (ICE1712) based PCI sound cards.
1096 * MidiMan M Audio Delta 1010
1097 * MidiMan M Audio Delta 1010LT
1098 * MidiMan M Audio Delta DiO 2496
1099 * MidiMan M Audio Delta 66
1100 * MidiMan M Audio Delta 44
1101 * MidiMan M Audio Delta 410
1102 * MidiMan M Audio Audiophile 2496
1103 * TerraTec EWS 88MT
1104 * TerraTec EWS 88D
1105 * TerraTec EWX 24/96
1106 * TerraTec DMX 6Fire
Takashi Iwaic9bce912005-05-24 13:41:03 +02001107 * TerraTec Phase 88
Linus Torvalds1da177e2005-04-16 15:20:36 -07001108 * Hoontech SoundTrack DSP 24
1109 * Hoontech SoundTrack DSP 24 Value
1110 * Hoontech SoundTrack DSP 24 Media 7.1
Takashi Iwaic9bce912005-05-24 13:41:03 +02001111 * Event Electronics, EZ8
Linus Torvalds1da177e2005-04-16 15:20:36 -07001112 * Digigram VX442
Takashi Iwaic9bce912005-05-24 13:41:03 +02001113 * Lionstracs, Mediastaton
Linus Torvalds1da177e2005-04-16 15:20:36 -07001114
1115 model - Use the given board model, one of the following:
1116 delta1010, dio2496, delta66, delta44, audiophile, delta410,
1117 delta1010lt, vx442, ewx2496, ews88mt, ews88mt_new, ews88d,
Takashi Iwaic9bce912005-05-24 13:41:03 +02001118 dmx6fire, dsp24, dsp24_value, dsp24_71, ez8,
1119 phase88, mediastation
Linus Torvalds1da177e2005-04-16 15:20:36 -07001120 omni - Omni I/O support for MidiMan M-Audio Delta44/66
Matt LaPlantefa00e7e2006-11-30 04:55:36 +01001121 cs8427_timeout - reset timeout for the CS8427 chip (S/PDIF transceiver)
Linus Torvalds1da177e2005-04-16 15:20:36 -07001122 in msec resolution, default value is 500 (0.5 sec)
1123
Clemens Ladisch0ef797c2005-11-21 07:30:20 +01001124 This module supports multiple cards and autoprobe. Note: The consumer part
Linus Torvalds1da177e2005-04-16 15:20:36 -07001125 is not used with all Envy24 based cards (for example in the MidiMan Delta
1126 serie).
1127
Takashi Iwaic9bce912005-05-24 13:41:03 +02001128 Note: The supported board is detected by reading EEPROM or PCI
1129 SSID (if EEPROM isn't available). You can override the
1130 model by passing "model" module option in case that the
1131 driver isn't configured properly or you want to try another
1132 type for testing.
1133
Linus Torvalds1da177e2005-04-16 15:20:36 -07001134 Module snd-ice1724
1135 ------------------
1136
Takashi Iwaic9bce912005-05-24 13:41:03 +02001137 Module for Envy24HT (VT/ICE1724), Envy24PT (VT1720) based PCI sound cards.
Takashi Iwai7a6c8ff2006-01-13 13:56:33 +01001138 * MidiMan M Audio Revolution 5.1
Linus Torvalds1da177e2005-04-16 15:20:36 -07001139 * MidiMan M Audio Revolution 7.1
Takashi Iwai56255062006-11-09 16:47:26 +01001140 * MidiMan M Audio Audiophile 192
Linus Torvalds1da177e2005-04-16 15:20:36 -07001141 * AMP Ltd AUDIO2000
Takashi Iwaic9bce912005-05-24 13:41:03 +02001142 * TerraTec Aureon 5.1 Sky
1143 * TerraTec Aureon 7.1 Space
1144 * TerraTec Aureon 7.1 Universe
1145 * TerraTec Phase 22
1146 * TerraTec Phase 28
1147 * AudioTrak Prodigy 7.1
Takashi Iwai7a6c8ff2006-01-13 13:56:33 +01001148 * AudioTrak Prodigy 7.1LT
Takashi Iwaic9bce912005-05-24 13:41:03 +02001149 * AudioTrak Prodigy 192
1150 * Pontis MS300
1151 * Albatron K8X800 Pro II
1152 * Chaintech ZNF3-150
1153 * Chaintech ZNF3-250
1154 * Chaintech 9CJS
Takashi Iwai8cfbbac2005-05-27 12:10:40 +02001155 * Chaintech AV-710
Takashi Iwaic9bce912005-05-24 13:41:03 +02001156 * Shuttle SN25P
Linus Torvalds1da177e2005-04-16 15:20:36 -07001157
1158 model - Use the given board model, one of the following:
Takashi Iwai7a6c8ff2006-01-13 13:56:33 +01001159 revo51, revo71, amp2000, prodigy71, prodigy71lt,
Takashi Iwai56255062006-11-09 16:47:26 +01001160 prodigy192, aureon51, aureon71, universe, ap192,
Takashi Iwai7a6c8ff2006-01-13 13:56:33 +01001161 k8x800, phase22, phase28, ms300, av710
Linus Torvalds1da177e2005-04-16 15:20:36 -07001162
Clemens Ladisch0ef797c2005-11-21 07:30:20 +01001163 This module supports multiple cards and autoprobe.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001164
Takashi Iwaic9bce912005-05-24 13:41:03 +02001165 Note: The supported board is detected by reading EEPROM or PCI
1166 SSID (if EEPROM isn't available). You can override the
1167 model by passing "model" module option in case that the
1168 driver isn't configured properly or you want to try another
1169 type for testing.
1170
Giuliano Pochinidd7b2542006-06-28 13:53:41 +02001171 Module snd-indigo
1172 -----------------
1173
1174 Module for Echoaudio Indigo
1175
1176 This module supports multiple cards.
1177 The driver requires the firmware loader support on kernel.
1178
1179 Module snd-indigodj
1180 -------------------
1181
1182 Module for Echoaudio Indigo DJ
1183
1184 This module supports multiple cards.
1185 The driver requires the firmware loader support on kernel.
1186
1187 Module snd-indigoio
1188 -------------------
1189
1190 Module for Echoaudio Indigo IO
1191
1192 This module supports multiple cards.
1193 The driver requires the firmware loader support on kernel.
1194
Linus Torvalds1da177e2005-04-16 15:20:36 -07001195 Module snd-intel8x0
1196 -------------------
1197
1198 Module for AC'97 motherboards from Intel and compatibles.
1199 * Intel i810/810E, i815, i820, i830, i84x, MX440
Takashi Iwai89ac9c22006-01-24 10:36:57 +01001200 ICH5, ICH6, ICH7, ESB2
Linus Torvalds1da177e2005-04-16 15:20:36 -07001201 * SiS 7012 (SiS 735)
Takashi Iwai89ac9c22006-01-24 10:36:57 +01001202 * NVidia NForce, NForce2, NForce3, MCP04, CK804
1203 CK8, CK8S, MCP501
Linus Torvalds1da177e2005-04-16 15:20:36 -07001204 * AMD AMD768, AMD8111
1205 * ALi m5455
1206
1207 ac97_clock - AC'97 codec clock base (0 = auto-detect)
1208 ac97_quirk - AC'97 workaround for strange hardware
Takashi Iwai62430082005-09-05 17:12:29 +02001209 See "AC97 Quirk Option" section below.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001210 buggy_irq - Enable workaround for buggy interrupts on some
Takashi Iwaia06147d2005-09-08 19:54:17 +02001211 motherboards (default yes on nForce chips,
1212 otherwise off)
1213 buggy_semaphore - Enable workaround for hardwares with buggy
1214 semaphores (e.g. on some ASUS laptops)
1215 (default off)
Takashi Iwai6c5cfd92006-11-28 17:18:25 +01001216 spdif_aclink - Use S/PDIF over AC-link instead of direct connection
1217 from the controller chip
1218 (0 = off, 1 = on, -1 = default)
Linus Torvalds1da177e2005-04-16 15:20:36 -07001219
Clemens Ladischb7fe4622005-10-04 08:46:51 +02001220 This module supports one chip and autoprobe.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001221
1222 Note: the latest driver supports auto-detection of chip clock.
1223 if you still encounter too fast playback, specify the clock
1224 explicitly via the module option "ac97_clock=41194".
1225
1226 Joystick/MIDI ports are not supported by this driver. If your
1227 motherboard has these devices, use the ns558 or snd-mpu401
1228 modules, respectively.
1229
Linus Torvalds1da177e2005-04-16 15:20:36 -07001230 The power-management is supported.
1231
1232 Module snd-intel8x0m
1233 --------------------
1234
1235 Module for Intel ICH (i8x0) chipset MC97 modems.
Takashi Iwai89ac9c22006-01-24 10:36:57 +01001236 * Intel i810/810E, i815, i820, i830, i84x, MX440
1237 ICH5, ICH6, ICH7
1238 * SiS 7013 (SiS 735)
1239 * NVidia NForce, NForce2, NForce2s, NForce3
1240 * AMD AMD8111
1241 * ALi m5455
Linus Torvalds1da177e2005-04-16 15:20:36 -07001242
1243 ac97_clock - AC'97 codec clock base (0 = auto-detect)
1244
Clemens Ladischb7fe4622005-10-04 08:46:51 +02001245 This module supports one card and autoprobe.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001246
1247 Note: The default index value of this module is -2, i.e. the first
1248 slot is excluded.
1249
Takashi Iwaia4efc232005-11-17 17:24:26 +01001250 The power-management is supported.
1251
Linus Torvalds1da177e2005-04-16 15:20:36 -07001252 Module snd-interwave
1253 --------------------
1254
1255 Module for Gravis UltraSound PnP, Dynasonic 3-D/Pro, STB Sound Rage 32
1256 and other sound cards based on AMD InterWave (tm) chip.
1257
1258 port - port # for InterWave chip (0x210,0x220,0x230,0x240,0x250,0x260)
1259 irq - IRQ # for InterWave chip (3,5,9,11,12,15)
1260 dma1 - DMA # for InterWave chip (0,1,3,5,6,7)
1261 dma2 - DMA # for InterWave chip (0,1,3,5,6,7,-1=disable)
1262 joystick_dac - 0 to 31, (0.59V-4.52V or 0.389V-2.98V)
1263 midi - 1 = MIDI UART enable, 0 = MIDI UART disable (default)
1264 pcm_voices - reserved PCM voices for the synthesizer (default 2)
1265 effect - 1 = InterWave effects enable (default 0);
1266 requires 8 voices
1267
Clemens Ladisch0ef797c2005-11-21 07:30:20 +01001268 This module supports multiple cards, autoprobe and ISA PnP.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001269
1270 Module snd-interwave-stb
1271 ------------------------
1272
1273 Module for UltraSound 32-Pro (sound card from STB used by Compaq)
1274 and other sound cards based on AMD InterWave (tm) chip with TEA6330T
1275 circuit for extended control of bass, treble and master volume.
1276
1277 port - port # for InterWave chip (0x210,0x220,0x230,0x240,0x250,0x260)
1278 port_tc - tone control (i2c bus) port # for TEA6330T chip (0x350,0x360,0x370,0x380)
1279 irq - IRQ # for InterWave chip (3,5,9,11,12,15)
1280 dma1 - DMA # for InterWave chip (0,1,3,5,6,7)
1281 dma2 - DMA # for InterWave chip (0,1,3,5,6,7,-1=disable)
1282 joystick_dac - 0 to 31, (0.59V-4.52V or 0.389V-2.98V)
1283 midi - 1 = MIDI UART enable, 0 = MIDI UART disable (default)
1284 pcm_voices - reserved PCM voices for the synthesizer (default 2)
1285 effect - 1 = InterWave effects enable (default 0);
1286 requires 8 voices
1287
Clemens Ladisch0ef797c2005-11-21 07:30:20 +01001288 This module supports multiple cards, autoprobe and ISA PnP.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001289
1290 Module snd-korg1212
1291 -------------------
1292
1293 Module for Korg 1212 IO PCI card
1294
Clemens Ladisch0ef797c2005-11-21 07:30:20 +01001295 This module supports multiple cards.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001296
Giuliano Pochinidd7b2542006-06-28 13:53:41 +02001297 Module snd-layla20
1298 ------------------
1299
1300 Module for Echoaudio Layla20
1301
1302 This module supports multiple cards.
1303 The driver requires the firmware loader support on kernel.
1304
1305 Module snd-layla24
1306 ------------------
1307
1308 Module for Echoaudio Layla24
1309
1310 This module supports multiple cards.
1311 The driver requires the firmware loader support on kernel.
1312
Linus Torvalds1da177e2005-04-16 15:20:36 -07001313 Module snd-maestro3
1314 -------------------
1315
1316 Module for Allegro/Maestro3 chips
1317
1318 external_amp - enable external amp (enabled by default)
1319 amp_gpio - GPIO pin number for external amp (0-15) or
1320 -1 for default pin (8 for allegro, 1 for
1321 others)
1322
Clemens Ladisch0ef797c2005-11-21 07:30:20 +01001323 This module supports autoprobe and multiple chips.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001324
1325 Note: the binding of amplifier is dependent on hardware.
1326 If there is no sound even though all channels are unmuted, try to
1327 specify other gpio connection via amp_gpio option.
1328 For example, a Panasonic notebook might need "amp_gpio=0x0d"
1329 option.
1330
1331 The power-management is supported.
1332
Giuliano Pochinidd7b2542006-06-28 13:53:41 +02001333 Module snd-mia
1334 ---------------
1335
1336 Module for Echoaudio Mia
1337
1338 This module supports multiple cards.
1339 The driver requires the firmware loader support on kernel.
1340
Martin Langer1841f6132006-03-27 12:41:01 +02001341 Module snd-miro
1342 ---------------
1343
1344 Module for Miro soundcards: miroSOUND PCM 1 pro,
1345 miroSOUND PCM 12,
1346 miroSOUND PCM 20 Radio.
1347
1348 port - Port # (0x530,0x604,0xe80,0xf40)
1349 irq - IRQ # (5,7,9,10,11)
1350 dma1 - 1st dma # (0,1,3)
1351 dma2 - 2nd dma # (0,1)
1352 mpu_port - MPU-401 port # (0x300,0x310,0x320,0x330)
1353 mpu_irq - MPU-401 irq # (5,7,9,10)
1354 fm_port - FM Port # (0x388)
1355 wss - enable WSS mode
1356 ide - enable onboard ide support
1357
Linus Torvalds1da177e2005-04-16 15:20:36 -07001358 Module snd-mixart
1359 -----------------
1360
1361 Module for Digigram miXart8 sound cards.
1362
Clemens Ladisch0ef797c2005-11-21 07:30:20 +01001363 This module supports multiple cards.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001364 Note: One miXart8 board will be represented as 4 alsa cards.
1365 See MIXART.txt for details.
1366
1367 When the driver is compiled as a module and the hotplug firmware
1368 is supported, the firmware data is loaded via hotplug automatically.
1369 Install the necessary firmware files in alsa-firmware package.
1370 When no hotplug fw loader is available, you need to load the
1371 firmware via mixartloader utility in alsa-tools package.
1372
Giuliano Pochinidd7b2542006-06-28 13:53:41 +02001373 Module snd-mona
1374 ---------------
1375
1376 Module for Echoaudio Mona
1377
1378 This module supports multiple cards.
1379 The driver requires the firmware loader support on kernel.
1380
Linus Torvalds1da177e2005-04-16 15:20:36 -07001381 Module snd-mpu401
1382 -----------------
1383
1384 Module for MPU-401 UART devices.
1385
1386 port - port number or -1 (disable)
1387 irq - IRQ number or -1 (disable)
1388 pnp - PnP detection - 0 = disable, 1 = enable (default)
Takashi Iwai8f7ba052007-02-22 16:07:21 +01001389 uart_enter - Issue UART_ENTER command at open - bool, default = on
Linus Torvalds1da177e2005-04-16 15:20:36 -07001390
Clemens Ladisch0ef797c2005-11-21 07:30:20 +01001391 This module supports multiple devices and PnP.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001392
1393 Module snd-mtpav
1394 ----------------
1395
1396 Module for MOTU MidiTimePiece AV multiport MIDI (on the parallel
1397 port).
1398
1399 port - I/O port # for MTPAV (0x378,0x278, default=0x378)
1400 irq - IRQ # for MTPAV (7,5, default=7)
1401 hwports - number of supported hardware ports, default=8.
1402
1403 Module supports only 1 card. This module has no enable option.
1404
Matthias Koenig68ab8012006-07-27 16:59:23 +02001405 Module snd-mts64
1406 ----------------
1407
1408 Module for Ego Systems (ESI) Miditerminal 4140
1409
1410 This module supports multiple devices.
1411 Requires parport (CONFIG_PARPORT).
1412
Linus Torvalds1da177e2005-04-16 15:20:36 -07001413 Module snd-nm256
1414 ----------------
1415
1416 Module for NeoMagic NM256AV/ZX chips
1417
1418 playback_bufsize - max playback frame size in kB (4-128kB)
1419 capture_bufsize - max capture frame size in kB (4-128kB)
1420 force_ac97 - 0 or 1 (disabled by default)
1421 buffer_top - specify buffer top address
1422 use_cache - 0 or 1 (disabled by default)
1423 vaio_hack - alias buffer_top=0x25a800
1424 reset_workaround - enable AC97 RESET workaround for some laptops
Takashi Iwaid1f38cf2005-10-19 16:04:27 +02001425 reset_workaround2 - enable extended AC97 RESET workaround for some
1426 other laptops
Linus Torvalds1da177e2005-04-16 15:20:36 -07001427
Takashi Iwai8a3fb4d2005-10-20 17:10:49 +02001428 This module supports one chip and autoprobe.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001429
1430 The power-management is supported.
1431
1432 Note: on some notebooks the buffer address cannot be detected
1433 automatically, or causes hang-up during initialization.
Matt LaPlantefff92892006-10-03 22:47:42 +02001434 In such a case, specify the buffer top address explicitly via
1435 the buffer_top option.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001436 For example,
1437 Sony F250: buffer_top=0x25a800
1438 Sony F270: buffer_top=0x272800
1439 The driver supports only ac97 codec. It's possible to force
1440 to initialize/use ac97 although it's not detected. In such a
1441 case, use force_ac97=1 option - but *NO* guarantee whether it
1442 works!
1443
1444 Note: The NM256 chip can be linked internally with non-AC97
1445 codecs. This driver supports only the AC97 codec, and won't work
1446 with machines with other (most likely CS423x or OPL3SAx) chips,
1447 even though the device is detected in lspci. In such a case, try
1448 other drivers, e.g. snd-cs4232 or snd-opl3sa2. Some has ISA-PnP
Takashi Iwai62430082005-09-05 17:12:29 +02001449 but some doesn't have ISA PnP. You'll need to specify isapnp=0
Linus Torvalds1da177e2005-04-16 15:20:36 -07001450 and proper hardware parameters in the case without ISA PnP.
1451
1452 Note: some laptops need a workaround for AC97 RESET. For the
1453 known hardware like Dell Latitude LS and Sony PCG-F305, this
1454 workaround is enabled automatically. For other laptops with a
1455 hard freeze, you can try reset_workaround=1 option.
1456
Takashi Iwaid1f38cf2005-10-19 16:04:27 +02001457 Note: Dell Latitude CSx laptops have another problem regarding
1458 AC97 RESET. On these laptops, reset_workaround2 option is
1459 turned on as default. This option is worth to try if the
1460 previous reset_workaround option doesn't help.
1461
Linus Torvalds1da177e2005-04-16 15:20:36 -07001462 Note: This driver is really crappy. It's a porting from the
1463 OSS driver, which is a result of black-magic reverse engineering.
1464 The detection of codec will fail if the driver is loaded *after*
1465 X-server as described above. You might be able to force to load
1466 the module, but it may result in hang-up. Hence, make sure that
1467 you load this module *before* X if you encounter this kind of
1468 problem.
1469
1470 Module snd-opl3sa2
1471 ------------------
1472
1473 Module for Yamaha OPL3-SA2/SA3 sound cards.
1474
1475 port - control port # for OPL3-SA chip (0x370)
1476 sb_port - SB port # for OPL3-SA chip (0x220,0x240)
1477 wss_port - WSS port # for OPL3-SA chip (0x530,0xe80,0xf40,0x604)
1478 midi_port - port # for MPU-401 UART (0x300,0x330), -1 = disable
1479 fm_port - FM port # for OPL3-SA chip (0x388), -1 = disable
1480 irq - IRQ # for OPL3-SA chip (5,7,9,10)
1481 dma1 - first DMA # for Yamaha OPL3-SA chip (0,1,3)
1482 dma2 - second DMA # for Yamaha OPL3-SA chip (0,1,3), -1 = disable
1483 isapnp - ISA PnP detection - 0 = disable, 1 = enable (default)
1484
Clemens Ladisch0ef797c2005-11-21 07:30:20 +01001485 This module supports multiple cards and ISA PnP. It does not support
Linus Torvalds1da177e2005-04-16 15:20:36 -07001486 autoprobe (if ISA PnP is not used) thus all ports must be specified!!!
1487
1488 The power-management is supported.
1489
1490 Module snd-opti92x-ad1848
1491 -------------------------
1492
1493 Module for sound cards based on OPTi 82c92x and Analog Devices AD1848 chips.
1494 Module works with OAK Mozart cards as well.
1495
1496 port - port # for WSS chip (0x530,0xe80,0xf40,0x604)
1497 mpu_port - port # for MPU-401 UART (0x300,0x310,0x320,0x330)
1498 fm_port - port # for OPL3 device (0x388)
1499 irq - IRQ # for WSS chip (5,7,9,10,11)
1500 mpu_irq - IRQ # for MPU-401 UART (5,7,9,10)
1501 dma1 - first DMA # for WSS chip (0,1,3)
1502
1503 This module supports only one card, autoprobe and PnP.
1504
1505 Module snd-opti92x-cs4231
1506 -------------------------
1507
1508 Module for sound cards based on OPTi 82c92x and Crystal CS4231 chips.
1509
1510 port - port # for WSS chip (0x530,0xe80,0xf40,0x604)
1511 mpu_port - port # for MPU-401 UART (0x300,0x310,0x320,0x330)
1512 fm_port - port # for OPL3 device (0x388)
1513 irq - IRQ # for WSS chip (5,7,9,10,11)
1514 mpu_irq - IRQ # for MPU-401 UART (5,7,9,10)
1515 dma1 - first DMA # for WSS chip (0,1,3)
1516 dma2 - second DMA # for WSS chip (0,1,3)
1517
1518 This module supports only one card, autoprobe and PnP.
1519
1520 Module snd-opti93x
1521 ------------------
1522
1523 Module for sound cards based on OPTi 82c93x chips.
1524
1525 port - port # for WSS chip (0x530,0xe80,0xf40,0x604)
1526 mpu_port - port # for MPU-401 UART (0x300,0x310,0x320,0x330)
1527 fm_port - port # for OPL3 device (0x388)
1528 irq - IRQ # for WSS chip (5,7,9,10,11)
1529 mpu_irq - IRQ # for MPU-401 UART (5,7,9,10)
1530 dma1 - first DMA # for WSS chip (0,1,3)
1531 dma2 - second DMA # for WSS chip (0,1,3)
1532
1533 This module supports only one card, autoprobe and PnP.
1534
Markus Bollingere12229b2005-12-06 13:55:26 +01001535 Module snd-pcxhr
1536 ----------------
1537
1538 Module for Digigram PCXHR boards
1539
1540 This module supports multiple cards.
1541
Matthias Koenig757e1192007-01-25 13:15:05 +01001542 Module snd-portman2x4
1543 ---------------------
1544
1545 Module for Midiman Portman 2x4 parallel port MIDI interface
1546
1547 This module supports multiple cards.
1548
Linus Torvalds1da177e2005-04-16 15:20:36 -07001549 Module snd-powermac (on ppc only)
1550 ---------------------------------
1551
1552 Module for PowerMac, iMac and iBook on-board soundchips
1553
1554 enable_beep - enable beep using PCM (enabled as default)
1555
1556 Module supports autoprobe a chip.
1557
1558 Note: the driver may have problems regarding endianess.
1559
1560 The power-management is supported.
1561
Takashi Iwai2c484df2005-06-30 18:54:04 +02001562 Module snd-pxa2xx-ac97 (on arm only)
1563 ------------------------------------
1564
1565 Module for AC97 driver for the Intel PXA2xx chip
1566
1567 For ARM architecture only.
1568
Takashi Iwaia4efc232005-11-17 17:24:26 +01001569 The power-management is supported.
1570
Peter Gruber109a9632006-03-27 13:10:28 +02001571 Module snd-riptide
1572 ------------------
1573
1574 Module for Conexant Riptide chip
1575
1576 joystick_port - Joystick port # (default: 0x200)
1577 mpu_port - MPU401 port # (default: 0x330)
1578 opl3_port - OPL3 port # (default: 0x388)
1579
1580 This module supports multiple cards.
1581 The driver requires the firmware loader support on kernel.
1582 You need to install the firmware file "riptide.hex" to the standard
1583 firmware path (e.g. /lib/firmware).
1584
Linus Torvalds1da177e2005-04-16 15:20:36 -07001585 Module snd-rme32
1586 ----------------
1587
1588 Module for RME Digi32, Digi32 Pro and Digi32/8 (Sek'd Prodif32,
1589 Prodif96 and Prodif Gold) sound cards.
1590
Clemens Ladisch0ef797c2005-11-21 07:30:20 +01001591 This module supports multiple cards.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001592
1593 Module snd-rme96
1594 ----------------
1595
1596 Module for RME Digi96, Digi96/8 and Digi96/8 PRO/PAD/PST sound cards.
1597
Clemens Ladisch0ef797c2005-11-21 07:30:20 +01001598 This module supports multiple cards.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001599
1600 Module snd-rme9652
1601 ------------------
1602
1603 Module for RME Digi9652 (Hammerfall, Hammerfall-Light) sound cards.
1604
1605 precise_ptr - Enable precise pointer (doesn't work reliably).
1606 (default = 0)
1607
Clemens Ladisch0ef797c2005-11-21 07:30:20 +01001608 This module supports multiple cards.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001609
1610 Note: snd-page-alloc module does the job which snd-hammerfall-mem
1611 module did formerly. It will allocate the buffers in advance
1612 when any RME9652 cards are found. To make the buffer
1613 allocation sure, load snd-page-alloc module in the early
Takashi Iwaib6a96912005-05-30 18:27:03 +02001614 stage of boot sequence. See "Early Buffer Allocation"
1615 section.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001616
1617 Module snd-sa11xx-uda1341 (on arm only)
1618 ---------------------------------------
1619
1620 Module for Philips UDA1341TS on Compaq iPAQ H3600 sound card.
1621
1622 Module supports only one card.
1623 Module has no enable and index options.
1624
Takashi Iwaia4efc232005-11-17 17:24:26 +01001625 The power-management is supported.
1626
Linus Torvalds1da177e2005-04-16 15:20:36 -07001627 Module snd-sb8
1628 --------------
1629
1630 Module for 8-bit SoundBlaster cards: SoundBlaster 1.0,
1631 SoundBlaster 2.0,
1632 SoundBlaster Pro
1633
1634 port - port # for SB DSP chip (0x220,0x240,0x260)
1635 irq - IRQ # for SB DSP chip (5,7,9,10)
1636 dma8 - DMA # for SB DSP chip (1,3)
1637
Clemens Ladisch0ef797c2005-11-21 07:30:20 +01001638 This module supports multiple cards and autoprobe.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001639
Takashi Iwaia4efc232005-11-17 17:24:26 +01001640 The power-management is supported.
1641
Linus Torvalds1da177e2005-04-16 15:20:36 -07001642 Module snd-sb16 and snd-sbawe
1643 -----------------------------
1644
1645 Module for 16-bit SoundBlaster cards: SoundBlaster 16 (PnP),
1646 SoundBlaster AWE 32 (PnP),
1647 SoundBlaster AWE 64 PnP
1648
1649 port - port # for SB DSP 4.x chip (0x220,0x240,0x260)
1650 mpu_port - port # for MPU-401 UART (0x300,0x330), -1 = disable
1651 awe_port - base port # for EMU8000 synthesizer (0x620,0x640,0x660)
1652 (snd-sbawe module only)
1653 irq - IRQ # for SB DSP 4.x chip (5,7,9,10)
1654 dma8 - 8-bit DMA # for SB DSP 4.x chip (0,1,3)
1655 dma16 - 16-bit DMA # for SB DSP 4.x chip (5,6,7)
1656 mic_agc - Mic Auto-Gain-Control - 0 = disable, 1 = enable (default)
1657 csp - ASP/CSP chip support - 0 = disable (default), 1 = enable
1658 isapnp - ISA PnP detection - 0 = disable, 1 = enable (default)
1659
Clemens Ladisch0ef797c2005-11-21 07:30:20 +01001660 This module supports multiple cards, autoprobe and ISA PnP.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001661
1662 Note: To use Vibra16X cards in 16-bit half duplex mode, you must
1663 disable 16bit DMA with dma16 = -1 module parameter.
1664 Also, all Sound Blaster 16 type cards can operate in 16-bit
1665 half duplex mode through 8-bit DMA channel by disabling their
1666 16-bit DMA channel.
1667
Takashi Iwaia4efc232005-11-17 17:24:26 +01001668 The power-management is supported.
1669
Linus Torvalds1da177e2005-04-16 15:20:36 -07001670 Module snd-sgalaxy
1671 ------------------
1672
1673 Module for Aztech Sound Galaxy sound card.
1674
1675 sbport - Port # for SB16 interface (0x220,0x240)
1676 wssport - Port # for WSS interface (0x530,0xe80,0xf40,0x604)
1677 irq - IRQ # (7,9,10,11)
1678 dma1 - DMA #
1679
Clemens Ladisch0ef797c2005-11-21 07:30:20 +01001680 This module supports multiple cards.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001681
Takashi Iwaia4efc232005-11-17 17:24:26 +01001682 The power-management is supported.
1683
Linus Torvalds1da177e2005-04-16 15:20:36 -07001684 Module snd-sscape
1685 -----------------
1686
1687 Module for ENSONIQ SoundScape PnP cards.
1688
1689 port - Port # (PnP setup)
1690 irq - IRQ # (PnP setup)
1691 mpu_irq - MPU-401 IRQ # (PnP setup)
1692 dma - DMA # (PnP setup)
1693
Clemens Ladisch0ef797c2005-11-21 07:30:20 +01001694 This module supports multiple cards. ISA PnP must be enabled.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001695 You need sscape_ctl tool in alsa-tools package for loading
1696 the microcode.
1697
1698 Module snd-sun-amd7930 (on sparc only)
1699 --------------------------------------
1700
1701 Module for AMD7930 sound chips found on Sparcs.
1702
Clemens Ladisch0ef797c2005-11-21 07:30:20 +01001703 This module supports multiple cards.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001704
1705 Module snd-sun-cs4231 (on sparc only)
1706 -------------------------------------
1707
1708 Module for CS4231 sound chips found on Sparcs.
1709
Clemens Ladisch0ef797c2005-11-21 07:30:20 +01001710 This module supports multiple cards.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001711
Takashi Iwai1bd9deb2005-06-30 18:26:20 +02001712 Module snd-sun-dbri (on sparc only)
1713 -----------------------------------
1714
1715 Module for DBRI sound chips found on Sparcs.
1716
Clemens Ladisch0ef797c2005-11-21 07:30:20 +01001717 This module supports multiple cards.
Takashi Iwai1bd9deb2005-06-30 18:26:20 +02001718
Linus Torvalds1da177e2005-04-16 15:20:36 -07001719 Module snd-wavefront
1720 --------------------
1721
1722 Module for Turtle Beach Maui, Tropez and Tropez+ sound cards.
1723
1724 cs4232_pcm_port - Port # for CS4232 PCM interface.
1725 cs4232_pcm_irq - IRQ # for CS4232 PCM interface (5,7,9,11,12,15).
1726 cs4232_mpu_port - Port # for CS4232 MPU-401 interface.
1727 cs4232_mpu_irq - IRQ # for CS4232 MPU-401 interface (9,11,12,15).
1728 use_cs4232_midi - Use CS4232 MPU-401 interface
1729 (inaccessibly located inside your computer)
1730 ics2115_port - Port # for ICS2115
1731 ics2115_irq - IRQ # for ICS2115
1732 fm_port - FM OPL-3 Port #
1733 dma1 - DMA1 # for CS4232 PCM interface.
1734 dma2 - DMA2 # for CS4232 PCM interface.
1735 isapnp - ISA PnP detection - 0 = disable, 1 = enable (default)
1736
Takashi Iwaic2b12392007-08-21 15:20:26 +02001737 The below are options for wavefront_synth features:
1738 wf_raw - Assume that we need to boot the OS (default:no)
1739 If yes, then during driver loading, the state of the board is
1740 ignored, and we reset the board and load the firmware anyway.
1741 fx_raw - Assume that the FX process needs help (default:yes)
1742 If false, we'll leave the FX processor in whatever state it is
1743 when the driver is loaded. The default is to download the
1744 microprogram and associated coefficients to set it up for
1745 "default" operation, whatever that means.
1746 debug_default - Debug parameters for card initialization
1747 wait_usecs - How long to wait without sleeping, usecs
1748 (default:150)
1749 This magic number seems to give pretty optimal throughput
1750 based on my limited experimentation.
1751 If you want to play around with it and find a better value, be
1752 my guest. Remember, the idea is to get a number that causes us
1753 to just busy wait for as many WaveFront commands as possible,
1754 without coming up with a number so large that we hog the whole
1755 CPU.
1756 Specifically, with this number, out of about 134,000 status
1757 waits, only about 250 result in a sleep.
1758 sleep_interval - How long to sleep when waiting for reply
1759 (default: 100)
1760 sleep_tries - How many times to try sleeping during a wait
1761 (default: 50)
1762 ospath - Pathname to processed ICS2115 OS firmware
1763 (default:wavefront.os)
1764 The path name of the ISC2115 OS firmware. In the recent
1765 version, it's handled via firmware loader framework, so it
1766 must be installed in the proper path, typically,
1767 /lib/firmware.
1768 reset_time - How long to wait for a reset to take effect
1769 (default:2)
1770 ramcheck_time - How many seconds to wait for the RAM test
1771 (default:20)
1772 osrun_time - How many seconds to wait for the ICS2115 OS
1773 (default:10)
1774
Clemens Ladisch0ef797c2005-11-21 07:30:20 +01001775 This module supports multiple cards and ISA PnP.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001776
Takashi Iwaic2b12392007-08-21 15:20:26 +02001777 Note: the firmware file "wavefront.os" was located in the earlier
1778 version in /etc. Now it's loaded via firmware loader, and
1779 must be in the proper firmware path, such as /lib/firmware.
1780 Copy (or symlink) the file appropriately if you get an error
1781 regarding firmware downloading after upgrading the kernel.
1782
Linus Torvalds1da177e2005-04-16 15:20:36 -07001783 Module snd-sonicvibes
1784 ---------------------
1785
1786 Module for S3 SonicVibes PCI sound cards.
1787 * PINE Schubert 32 PCI
1788
1789 reverb - Reverb Enable - 1 = enable, 0 = disable (default)
1790 - SoundCard must have onboard SRAM for this.
1791 mge - Mic Gain Enable - 1 = enable, 0 = disable (default)
1792
Clemens Ladisch0ef797c2005-11-21 07:30:20 +01001793 This module supports multiple cards and autoprobe.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001794
1795 Module snd-serial-u16550
1796 ------------------------
1797
1798 Module for UART16550A serial MIDI ports.
1799
1800 port - port # for UART16550A chip
1801 irq - IRQ # for UART16550A chip, -1 = poll mode
1802 speed - speed in bauds (9600,19200,38400,57600,115200)
1803 38400 = default
1804 base - base for divisor in bauds (57600,115200,230400,460800)
1805 115200 = default
1806 outs - number of MIDI ports in a serial port (1-4)
1807 1 = default
1808 adaptor - Type of adaptor.
1809 0 = Soundcanvas, 1 = MS-124T, 2 = MS-124W S/A,
1810 3 = MS-124W M/B, 4 = Generic
1811
Clemens Ladisch0ef797c2005-11-21 07:30:20 +01001812 This module supports multiple cards. This module does not support autoprobe
Linus Torvalds1da177e2005-04-16 15:20:36 -07001813 thus the main port must be specified!!! Other options are optional.
1814
1815 Module snd-trident
1816 ------------------
1817
1818 Module for Trident 4DWave DX/NX sound cards.
1819 * Best Union Miss Melody 4DWave PCI
1820 * HIS 4DWave PCI
1821 * Warpspeed ONSpeed 4DWave PCI
1822 * AzTech PCI 64-Q3D
1823 * Addonics SV 750
1824 * CHIC True Sound 4Dwave
1825 * Shark Predator4D-PCI
1826 * Jaton SonicWave 4D
1827
1828 pcm_channels - max channels (voices) reserved for PCM
1829 wavetable_size - max wavetable size in kB (4-?kb)
1830
Clemens Ladisch0ef797c2005-11-21 07:30:20 +01001831 This module supports multiple cards and autoprobe.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001832
1833 The power-management is supported.
1834
1835 Module snd-usb-audio
1836 --------------------
1837
1838 Module for USB audio and USB MIDI devices.
1839
1840 vid - Vendor ID for the device (optional)
1841 pid - Product ID for the device (optional)
Thibault LE MEURe3113342006-03-14 11:44:53 +01001842 device_setup - Device specific magic number (optional)
1843 - Influence depends on the device
1844 - Default: 0x0000
Linus Torvalds1da177e2005-04-16 15:20:36 -07001845
Clemens Ladisch0ef797c2005-11-21 07:30:20 +01001846 This module supports multiple devices, autoprobe and hotplugging.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001847
Daniel Mack523f1dc2007-03-26 19:11:24 +02001848 Module snd-usb-caiaq
1849 --------------------
1850
1851 Module for caiaq UB audio interfaces,
1852 * Native Instruments RigKontrol2
1853 * Native Instruments Kore Controller
1854 * Native Instruments Audio Kontrol 1
1855 * Native Instruments Audio 8 DJ
1856
1857 This module supports multiple devices, autoprobe and hotplugging.
1858
Linus Torvalds1da177e2005-04-16 15:20:36 -07001859 Module snd-usb-usx2y
1860 --------------------
1861
1862 Module for Tascam USB US-122, US-224 and US-428 devices.
1863
Clemens Ladisch0ef797c2005-11-21 07:30:20 +01001864 This module supports multiple devices, autoprobe and hotplugging.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001865
1866 Note: you need to load the firmware via usx2yloader utility included
1867 in alsa-tools and alsa-firmware packages.
1868
1869 Module snd-via82xx
1870 ------------------
1871
1872 Module for AC'97 motherboards based on VIA 82C686A/686B, 8233,
Sergey Vlasov2d7eb7c2005-04-11 15:04:33 +02001873 8233A, 8233C, 8235, 8237 (south) bridge.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001874
1875 mpu_port - 0x300,0x310,0x320,0x330, otherwise obtain BIOS setup
1876 [VIA686A/686B only]
1877 joystick - Enable joystick (default off) [VIA686A/686B only]
1878 ac97_clock - AC'97 codec clock base (default 48000Hz)
1879 dxs_support - support DXS channels,
Sergey Vlasov2d7eb7c2005-04-11 15:04:33 +02001880 0 = auto (default), 1 = enable, 2 = disable,
1881 3 = 48k only, 4 = no VRA, 5 = enable any sample
1882 rate and different sample rates on different
1883 channels
1884 [VIA8233/C, 8235, 8237 only]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001885 ac97_quirk - AC'97 workaround for strange hardware
Takashi Iwai62430082005-09-05 17:12:29 +02001886 See "AC97 Quirk Option" section below.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001887
Clemens Ladischb7fe4622005-10-04 08:46:51 +02001888 This module supports one chip and autoprobe.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001889
1890 Note: on some SMP motherboards like MSI 694D the interrupts might
1891 not be generated properly. In such a case, please try to
1892 set the SMP (or MPS) version on BIOS to 1.1 instead of
1893 default value 1.4. Then the interrupt number will be
1894 assigned under 15. You might also upgrade your BIOS.
1895
Sergey Vlasov2d7eb7c2005-04-11 15:04:33 +02001896 Note: VIA8233/5/7 (not VIA8233A) can support DXS (direct sound)
Linus Torvalds1da177e2005-04-16 15:20:36 -07001897 channels as the first PCM. On these channels, up to 4
Sergey Vlasov2d7eb7c2005-04-11 15:04:33 +02001898 streams can be played at the same time, and the controller
1899 can perform sample rate conversion with separate rates for
1900 each channel.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001901 As default (dxs_support = 0), 48k fixed rate is chosen
1902 except for the known devices since the output is often
1903 noisy except for 48k on some mother boards due to the
1904 bug of BIOS.
Sergey Vlasov2d7eb7c2005-04-11 15:04:33 +02001905 Please try once dxs_support=5 and if it works on other
Linus Torvalds1da177e2005-04-16 15:20:36 -07001906 sample rates (e.g. 44.1kHz of mp3 playback), please let us
1907 know the PCI subsystem vendor/device id's (output of
1908 "lspci -nv").
Takashi Iwaicdc27f32005-05-27 11:11:02 +02001909 If dxs_support=5 does not work, try dxs_support=4; if it
1910 doesn't work too, try dxs_support=1. (dxs_support=1 is
Takashi Iwai62430082005-09-05 17:12:29 +02001911 usually for old motherboards. The correct implemented
Takashi Iwaicdc27f32005-05-27 11:11:02 +02001912 board should work with 4 or 5.) If it still doesn't
Linus Torvalds1da177e2005-04-16 15:20:36 -07001913 work and the default setting is ok, dxs_support=3 is the
1914 right choice. If the default setting doesn't work at all,
1915 try dxs_support=2 to disable the DXS channels.
1916 In any cases, please let us know the result and the
Takashi Iwai62430082005-09-05 17:12:29 +02001917 subsystem vendor/device ids. See "Links and Addresses"
1918 below.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001919
1920 Note: for the MPU401 on VIA823x, use snd-mpu401 driver
Takashi Iwai62430082005-09-05 17:12:29 +02001921 additionally. The mpu_port option is for VIA686 chips only.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001922
Takashi Iwaia4efc232005-11-17 17:24:26 +01001923 The power-management is supported.
1924
Linus Torvalds1da177e2005-04-16 15:20:36 -07001925 Module snd-via82xx-modem
1926 ------------------------
1927
1928 Module for VIA82xx AC97 modem
1929
1930 ac97_clock - AC'97 codec clock base (default 48000Hz)
1931
Clemens Ladischb7fe4622005-10-04 08:46:51 +02001932 This module supports one card and autoprobe.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001933
1934 Note: The default index value of this module is -2, i.e. the first
1935 slot is excluded.
1936
Takashi Iwaia4efc232005-11-17 17:24:26 +01001937 The power-management is supported.
1938
Linus Torvalds1da177e2005-04-16 15:20:36 -07001939 Module snd-virmidi
1940 ------------------
1941
1942 Module for virtual rawmidi devices.
1943 This module creates virtual rawmidi devices which communicate
1944 to the corresponding ALSA sequencer ports.
1945
Clemens Ladisch0ef797c2005-11-21 07:30:20 +01001946 midi_devs - MIDI devices # (1-4, default=4)
Linus Torvalds1da177e2005-04-16 15:20:36 -07001947
Clemens Ladisch0ef797c2005-11-21 07:30:20 +01001948 This module supports multiple cards.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001949
1950 Module snd-vx222
1951 ----------------
1952
1953 Module for Digigram VX-Pocket VX222, V222 v2 and Mic cards.
1954
1955 mic - Enable Microphone on V222 Mic (NYI)
1956 ibl - Capture IBL size. (default = 0, minimum size)
1957
Clemens Ladisch0ef797c2005-11-21 07:30:20 +01001958 This module supports multiple cards.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001959
1960 When the driver is compiled as a module and the hotplug firmware
1961 is supported, the firmware data is loaded via hotplug automatically.
1962 Install the necessary firmware files in alsa-firmware package.
1963 When no hotplug fw loader is available, you need to load the
1964 firmware via vxloader utility in alsa-tools package. To invoke
1965 vxloader automatically, add the following to /etc/modprobe.conf
1966
1967 install snd-vx222 /sbin/modprobe --first-time -i snd-vx222 && /usr/bin/vxloader
1968
1969 (for 2.2/2.4 kernels, add "post-install /usr/bin/vxloader" to
1970 /etc/modules.conf, instead.)
1971 IBL size defines the interrupts period for PCM. The smaller size
1972 gives smaller latency but leads to more CPU consumption, too.
1973 The size is usually aligned to 126. As default (=0), the smallest
1974 size is chosen. The possible IBL values can be found in
1975 /proc/asound/cardX/vx-status proc file.
1976
Takashi Iwaia4efc232005-11-17 17:24:26 +01001977 The power-management is supported.
1978
Linus Torvalds1da177e2005-04-16 15:20:36 -07001979 Module snd-vxpocket
1980 -------------------
1981
Takashi Iwai6d00a3122005-06-30 13:40:51 +02001982 Module for Digigram VX-Pocket VX2 and 440 PCMCIA cards.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001983
1984 ibl - Capture IBL size. (default = 0, minimum size)
1985
Clemens Ladisch0ef797c2005-11-21 07:30:20 +01001986 This module supports multiple cards. The module is compiled only when
Linus Torvalds1da177e2005-04-16 15:20:36 -07001987 PCMCIA is supported on kernel.
1988
Takashi Iwai62430082005-09-05 17:12:29 +02001989 With the older 2.6.x kernel, to activate the driver via the card
1990 manager, you'll need to set up /etc/pcmcia/vxpocket.conf. See the
1991 sound/pcmcia/vx/vxpocket.c. 2.6.13 or later kernel requires no
1992 longer require a config file.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001993
1994 When the driver is compiled as a module and the hotplug firmware
1995 is supported, the firmware data is loaded via hotplug automatically.
1996 Install the necessary firmware files in alsa-firmware package.
1997 When no hotplug fw loader is available, you need to load the
1998 firmware via vxloader utility in alsa-tools package.
1999
2000 About capture IBL, see the description of snd-vx222 module.
2001
Takashi Iwaied7cbe32006-05-11 11:30:10 +02002002 Note: snd-vxp440 driver is merged to snd-vxpocket driver since
Takashi Iwai62430082005-09-05 17:12:29 +02002003 ALSA 1.0.10.
2004
Takashi Iwaia4efc232005-11-17 17:24:26 +01002005 The power-management is supported.
2006
Linus Torvalds1da177e2005-04-16 15:20:36 -07002007 Module snd-ymfpci
2008 -----------------
2009
2010 Module for Yamaha PCI chips (YMF72x, YMF74x & YMF75x).
2011
2012 mpu_port - 0x300,0x330,0x332,0x334, 0 (disable) by default,
2013 1 (auto-detect for YMF744/754 only)
2014 fm_port - 0x388,0x398,0x3a0,0x3a8, 0 (disable) by default
2015 1 (auto-detect for YMF744/754 only)
2016 joystick_port - 0x201,0x202,0x204,0x205, 0 (disable) by default,
2017 1 (auto-detect)
2018 rear_switch - enable shared rear/line-in switch (bool)
2019
Clemens Ladisch0ef797c2005-11-21 07:30:20 +01002020 This module supports autoprobe and multiple chips.
Linus Torvalds1da177e2005-04-16 15:20:36 -07002021
2022 The power-management is supported.
2023
2024 Module snd-pdaudiocf
2025 --------------------
2026
2027 Module for Sound Core PDAudioCF sound card.
2028
Takashi Iwaia4efc232005-11-17 17:24:26 +01002029 The power-management is supported.
2030
Linus Torvalds1da177e2005-04-16 15:20:36 -07002031
Takashi Iwai62430082005-09-05 17:12:29 +02002032AC97 Quirk Option
2033=================
2034
2035The ac97_quirk option is used to enable/override the workaround for
2036specific devices on drivers for on-board AC'97 controllers like
2037snd-intel8x0. Some hardware have swapped output pins between Master
2038and Headphone, or Surround (thanks to confusion of AC'97
2039specifications from version to version :-)
2040
2041The driver provides the auto-detection of known problematic devices,
2042but some might be unknown or wrongly detected. In such a case, pass
2043the proper value with this option.
2044
2045The following strings are accepted:
2046 - default Don't override the default setting
Takashi Iwai10e4097f2005-11-17 11:04:55 +01002047 - none Disable the quirk
Takashi Iwai62430082005-09-05 17:12:29 +02002048 - hp_only Bind Master and Headphone controls as a single control
2049 - swap_hp Swap headphone and master controls
2050 - swap_surround Swap master and surround controls
2051 - ad_sharing For AD1985, turn on OMS bit and use headphone
2052 - alc_jack For ALC65x, turn on the jack sense mode
2053 - inv_eapd Inverted EAPD implementation
2054 - mute_led Bind EAPD bit for turning on/off mute LED
2055
2056For backward compatibility, the corresponding integer value -1, 0,
2057... are accepted, too.
2058
2059For example, if "Master" volume control has no effect on your device
2060but only "Headphone" does, pass ac97_quirk=hp_only module option.
2061
2062
Linus Torvalds1da177e2005-04-16 15:20:36 -07002063Configuring Non-ISAPNP Cards
2064============================
2065
2066When the kernel is configured with ISA-PnP support, the modules
2067supporting the isapnp cards will have module options "isapnp".
2068If this option is set, *only* the ISA-PnP devices will be probed.
2069For probing the non ISA-PnP cards, you have to pass "isapnp=0" option
2070together with the proper i/o and irq configuration.
2071
2072When the kernel is configured without ISA-PnP support, isapnp option
2073will be not built in.
2074
2075
2076Module Autoloading Support
2077==========================
2078
2079The ALSA drivers can be loaded automatically on demand by defining
2080module aliases. The string 'snd-card-%1' is requested for ALSA native
2081devices where %i is sound card number from zero to seven.
2082
2083To auto-load an ALSA driver for OSS services, define the string
2084'sound-slot-%i' where %i means the slot number for OSS, which
2085corresponds to the card index of ALSA. Usually, define this
Tobias Klauserd533f672005-09-10 00:26:46 -07002086as the same card module.
Linus Torvalds1da177e2005-04-16 15:20:36 -07002087
2088An example configuration for a single emu10k1 card is like below:
2089----- /etc/modprobe.conf
2090alias snd-card-0 snd-emu10k1
2091alias sound-slot-0 snd-emu10k1
2092----- /etc/modprobe.conf
2093
2094The available number of auto-loaded sound cards depends on the module
2095option "cards_limit" of snd module. As default it's set to 1.
2096To enable the auto-loading of multiple cards, specify the number of
2097sound cards in that option.
2098
2099When multiple cards are available, it'd better to specify the index
2100number for each card via module option, too, so that the order of
2101cards is kept consistent.
2102
2103An example configuration for two sound cards is like below:
2104
2105----- /etc/modprobe.conf
2106# ALSA portion
2107options snd cards_limit=2
2108alias snd-card-0 snd-interwave
2109alias snd-card-1 snd-ens1371
2110options snd-interwave index=0
2111options snd-ens1371 index=1
2112# OSS/Free portion
2113alias sound-slot-0 snd-interwave
2114alias sound-slot-1 snd-ens1371
Matt LaPlante2fe0ae72006-10-03 22:50:39 +02002115----- /etc/modprobe.conf
Linus Torvalds1da177e2005-04-16 15:20:36 -07002116
2117In this example, the interwave card is always loaded as the first card
2118(index 0) and ens1371 as the second (index 1).
2119
2120
2121ALSA PCM devices to OSS devices mapping
2122=======================================
2123
2124/dev/snd/pcmC0D0[c|p] -> /dev/audio0 (/dev/audio) -> minor 4
2125/dev/snd/pcmC0D0[c|p] -> /dev/dsp0 (/dev/dsp) -> minor 3
2126/dev/snd/pcmC0D1[c|p] -> /dev/adsp0 (/dev/adsp) -> minor 12
2127/dev/snd/pcmC1D0[c|p] -> /dev/audio1 -> minor 4+16 = 20
2128/dev/snd/pcmC1D0[c|p] -> /dev/dsp1 -> minor 3+16 = 19
2129/dev/snd/pcmC1D1[c|p] -> /dev/adsp1 -> minor 12+16 = 28
2130/dev/snd/pcmC2D0[c|p] -> /dev/audio2 -> minor 4+32 = 36
2131/dev/snd/pcmC2D0[c|p] -> /dev/dsp2 -> minor 3+32 = 39
2132/dev/snd/pcmC2D1[c|p] -> /dev/adsp2 -> minor 12+32 = 44
2133
2134The first number from /dev/snd/pcmC{X}D{Y}[c|p] expression means
2135sound card number and second means device number. The ALSA devices
2136have either 'c' or 'p' suffix indicating the direction, capture and
2137playback, respectively.
2138
2139Please note that the device mapping above may be varied via the module
2140options of snd-pcm-oss module.
2141
2142
Linus Torvalds1da177e2005-04-16 15:20:36 -07002143Proc interfaces (/proc/asound)
2144==============================
2145
2146/proc/asound/card#/pcm#[cp]/oss
2147-------------------------------
2148 String "erase" - erase all additional informations about OSS applications
2149 String "<app_name> <fragments> <fragment_size> [<options>]"
2150
2151 <app_name> - name of application with (higher priority) or without path
2152 <fragments> - number of fragments or zero if auto
2153 <fragment_size> - size of fragment in bytes or zero if auto
2154 <options> - optional parameters
2155 - disable the application tries to open a pcm device for
2156 this channel but does not want to use it.
2157 (Cause a bug or mmap needs)
2158 It's good for Quake etc...
2159 - direct don't use plugins
2160 - block force block mode (rvplayer)
2161 - non-block force non-block mode
2162 - whole-frag write only whole fragments (optimization affecting
2163 playback only)
2164 - no-silence do not fill silence ahead to avoid clicks
Takashi Iwai10f69f92005-09-08 13:48:34 +02002165 - buggy-ptr Returns the whitespace blocks in GETOPTR ioctl
2166 instead of filled blocks
Linus Torvalds1da177e2005-04-16 15:20:36 -07002167
2168 Example: echo "x11amp 128 16384" > /proc/asound/card0/pcm0p/oss
2169 echo "squake 0 0 disable" > /proc/asound/card0/pcm0c/oss
2170 echo "rvplayer 0 0 block" > /proc/asound/card0/pcm0p/oss
2171
2172
Takashi Iwaib6a96912005-05-30 18:27:03 +02002173Early Buffer Allocation
2174=======================
2175
2176Some drivers (e.g. hdsp) require the large contiguous buffers, and
2177sometimes it's too late to find such spaces when the driver module is
2178actually loaded due to memory fragmentation. You can pre-allocate the
2179PCM buffers by loading snd-page-alloc module and write commands to its
2180proc file in prior, for example, in the early boot stage like
2181/etc/init.d/*.local scripts.
2182
2183Reading the proc file /proc/drivers/snd-page-alloc shows the current
2184usage of page allocation. In writing, you can send the following
2185commands to the snd-page-alloc driver:
2186
2187 - add VENDOR DEVICE MASK SIZE BUFFERS
2188
2189 VENDOR and DEVICE are PCI vendor and device IDs. They take
2190 integer numbers (0x prefix is needed for the hex).
2191 MASK is the PCI DMA mask. Pass 0 if not restricted.
2192 SIZE is the size of each buffer to allocate. You can pass
2193 k and m suffix for KB and MB. The max number is 16MB.
2194 BUFFERS is the number of buffers to allocate. It must be greater
2195 than 0. The max number is 4.
2196
2197 - erase
2198
2199 This will erase the all pre-allocated buffers which are not in
2200 use.
2201
2202
Takashi Iwai62430082005-09-05 17:12:29 +02002203Links and Addresses
2204===================
Linus Torvalds1da177e2005-04-16 15:20:36 -07002205
2206 ALSA project homepage
2207 http://www.alsa-project.org
2208
Takashi Iwai62430082005-09-05 17:12:29 +02002209 ALSA Bug Tracking System
2210 https://bugtrack.alsa-project.org/bugs/
2211
2212 ALSA Developers ML
Rene Herman45051792007-03-21 12:05:06 +01002213 mailto:alsa-devel@alsa-project.org