[ALSA] Add snd-als300 driver for Avance Logic ALS300/ALS300+ soundcards
[linux-2.6.git] / Documentation / sound / alsa / ALSA-Configuration.txt
1
2                 Advanced Linux Sound Architecture - Driver
3                 ==========================================
4                             Configuration guide
5
6
7 Kernel Configuration
8 ====================
9
10 To enable ALSA support you need at least to build the kernel with
11 primary sound card support (CONFIG_SOUND).  Since ALSA can emulate OSS,
12 you don't have to choose any of the OSS modules.
13
14 Enable "OSS API emulation" (CONFIG_SND_OSSEMUL) and both OSS mixer and
15 PCM supports if you want to run OSS applications with ALSA.
16
17 If you want to support the WaveTable functionality on cards such as
18 SB Live! then you need to enable "Sequencer support"
19 (CONFIG_SND_SEQUENCER).
20
21 To make ALSA debug messages more verbose, enable the "Verbose printk"
22 and "Debug" options.  To check for memory leaks, turn on "Debug memory"
23 too.  "Debug detection" will add checks for the detection of cards.
24
25 Please 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
27 using isapnptools.
28
29
30 Creating ALSA devices
31 =====================
32
33 This depends on your distribution, but normally you use the /dev/MAKEDEV
34 script to create the necessary device nodes.  On some systems you use a
35 script named 'snddevices'.
36
37
38 Module parameters
39 =================
40
41 The user can load modules with options. If the module supports more than
42 one card and you have more than one card of the same type then you can
43 specify multiple values for the option separated by commas.
44
45 Prior 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.
60     device_mode
61                 - permission mask for dynamic sound device filesystem
62                 - This is available only when DEVFS is enabled
63                 - Default: 0666
64                 - E.g.: device_mode=0660
65
66   
67   Module snd-pcm-oss
68   ------------------
69
70     The PCM OSS emulation module.
71     This module takes options which change the mapping of devices.
72
73     dsp_map     - PCM device number maps assigned to the 1st OSS device.
74                 - Default: 0
75     adsp_map    - PCM device number maps assigned to the 2st OSS device.
76                 - Default: 1
77     nonblock_open
78                 - Don't block opening busy PCM devices.  Default: 1
79
80     For example, when dsp_map=2, /dev/dsp will be mapped to PCM #2 of
81     the card #0.  Similarly, when adsp_map=0, /dev/adsp will be mapped
82     to PCM #0 of the card #0.
83     For changing the second or later card, specify the option with
84     commas, such like "dsp_map=0,1".
85
86     nonblock_open option is used to change the behavior of the PCM
87     regarding opening the device.  When this option is non-zero,
88     opening a busy OSS PCM device won't be blocked but return
89     immediately with EAGAIN (just like O_NONBLOCK flag).
90     
91   Module snd-rawmidi
92   ------------------
93
94     This module takes options which change the mapping of devices.
95     similar to those of the snd-pcm-oss module.
96
97     midi_map    - MIDI device number maps assigned to the 1st OSS device.
98                 - Default: 0
99     amidi_map   - MIDI device number maps assigned to the 2st OSS device.
100                 - Default: 1
101
102   Common parameters for top sound card modules
103   --------------------------------------------
104
105     Each of top level sound card module takes the following options.
106
107     index       - index (slot #) of sound card
108                 - Values: 0 through 31 or negative
109                 - If nonnegative, assign that index number
110                 - if negative, interpret as a bitmask of permissible
111                   indices; the first free permitted index is assigned
112                 - Default: -1
113     id          - card ID (identifier or name)
114                 - Can be up to 15 characters long
115                 - Default: the card type
116                 - A directory by this name is created under /proc/asound/
117                   containing information about the card
118                 - This ID can be used instead of the index number in
119                   identifying the card
120     enable      - enable card
121                 - Default: enabled, for PCI and ISA PnP cards
122
123   Module snd-ad1816a
124   ------------------
125
126     Module for sound cards based on Analog Devices AD1816A/AD1815 ISA chips.
127
128     port        - port # for AD1816A chip (PnP setup)
129     mpu_port    - port # for MPU-401 UART (PnP setup)
130     fm_port     - port # for OPL3 (PnP setup)
131     irq         - IRQ # for AD1816A chip (PnP setup)
132     mpu_irq     - IRQ # for MPU-401 UART (PnP setup)
133     dma1        - first DMA # for AD1816A chip (PnP setup)
134     dma2        - second DMA # for AD1816A chip (PnP setup)
135     clockfreq   - Clock frequency for AD1816A chip (default = 0, 33000Hz)
136     
137     This module supports multiple cards, autoprobe and PnP.
138     
139   Module snd-ad1848
140   -----------------
141
142     Module for sound cards based on AD1848/AD1847/CS4248 ISA chips.
143
144     port        - port # for AD1848 chip
145     irq         - IRQ # for AD1848  chip
146     dma1        - DMA # for AD1848 chip (0,1,3)
147     
148     This module supports multiple cards.  It does not support autoprobe
149     thus main port must be specified!!! Other ports are optional.
150     
151     The power-management is supported.
152
153   Module snd-ad1889
154   -----------------
155
156     Module for Analog Devices AD1889 chips.
157
158     ac97_quirk  - AC'97 workaround for strange hardware
159                   See the description of intel8x0 module for details.
160
161     This module supports multiple cards.
162
163   Module snd-ali5451
164   ------------------
165
166     Module for ALi M5451 PCI chip.
167
168     pcm_channels    - Number of hardware channels assigned for PCM
169     spdif           - Support SPDIF I/O
170                     - Default: disabled
171
172     This module supports one chip and autoprobe.
173
174     The power-management is supported.
175
176   Module snd-als100
177   -----------------
178
179     Module for sound cards based on Avance Logic ALS100/ALS120 ISA chips.
180
181     port        - port # for ALS100 (SB16) chip (PnP setup)
182     irq         - IRQ # for ALS100 (SB16) chip (PnP setup)
183     dma8        - 8-bit DMA # for ALS100 (SB16) chip (PnP setup)
184     dma16       - 16-bit DMA # for ALS100 (SB16) chip (PnP setup)
185     mpu_port    - port # for MPU-401 UART (PnP setup)
186     mpu_irq     - IRQ # for MPU-401 (PnP setup)
187     fm_port     - port # for OPL3 FM (PnP setup)
188     
189     This module supports multiple cards, autoprobe and PnP.
190
191     The power-management is supported.
192
193   Module snd-als300
194   -----------------
195
196     Module for  Avance Logic ALS300 and ALS300+
197
198     This module supports multiple cards.
199
200     The power-management is supported.
201
202   Module snd-als4000
203   ------------------
204
205     Module for sound cards based on Avance Logic ALS4000 PCI chip.
206
207     joystick_port - port # for legacy joystick support.
208                     0 = disabled (default), 1 = auto-detect
209     
210     This module supports multiple cards, autoprobe and PnP.
211
212     The power-management is supported.
213
214   Module snd-atiixp
215   -----------------
216
217     Module for ATI IXP 150/200/250/400 AC97 controllers.
218
219     ac97_clock          - AC'97 clock (default = 48000)
220     ac97_quirk          - AC'97 workaround for strange hardware
221                           See "AC97 Quirk Option" section below.
222     spdif_aclink        - S/PDIF transfer over AC-link (default = 1)
223
224     This module supports one card and autoprobe.
225
226     ATI IXP has two different methods to control SPDIF output.  One is
227     over AC-link and another is over the "direct" SPDIF output.  The
228     implementation depends on the motherboard, and you'll need to
229     choose the correct one via spdif_aclink module option.
230
231     The power-management is supported.
232
233   Module snd-atiixp-modem
234   -----------------------
235
236     Module for ATI IXP 150/200/250 AC97 modem controllers.
237
238     This module supports one card and autoprobe.
239
240     Note: The default index value of this module is -2, i.e. the first
241           slot is excluded.
242
243     The power-management is supported.
244
245   Module snd-au8810, snd-au8820, snd-au8830
246   -----------------------------------------
247
248     Module for Aureal Vortex, Vortex2 and Advantage device.
249
250     pcifix      - Control PCI workarounds
251                   0 = Disable all workarounds
252                   1 = Force the PCI latency of the Aureal card to 0xff
253                   2 = Force the Extend PCI#2 Internal Master for Efficient
254                       Handling of Dummy Requests on the VIA KT133 AGP Bridge
255                   3 = Force both settings
256                   255 = Autodetect what is required (default)
257
258     This module supports all ADB PCM channels, ac97 mixer, SPDIF, hardware
259     EQ, mpu401, gameport. A3D and wavetable support are still in development.
260     Development and reverse engineering work is being coordinated at
261     http://savannah.nongnu.org/projects/openvortex/
262     SPDIF output has a copy of the AC97 codec output, unless you use the
263     "spdif" pcm device, which allows raw data passthru.
264     The hardware EQ hardware and SPDIF is only present in the Vortex2 and 
265     Advantage.
266
267     Note: Some ALSA mixer applications don't handle the SPDIF sample rate 
268            control correctly. If you have problems regarding this, try
269            another ALSA compliant mixer (alsamixer works).
270
271   Module snd-azt2320
272   ------------------
273
274     Module for sound cards based on Aztech System AZT2320 ISA chip (PnP only).
275
276     port        - port # for AZT2320 chip (PnP setup)
277     wss_port    - port # for WSS (PnP setup)
278     mpu_port    - port # for MPU-401 UART (PnP setup)
279     fm_port     - FM port # for AZT2320 chip (PnP setup)
280     irq         - IRQ # for AZT2320 (WSS) chip (PnP setup)
281     mpu_irq     - IRQ # for MPU-401 UART (PnP setup)
282     dma1        - 1st DMA # for AZT2320 (WSS) chip (PnP setup)
283     dma2        - 2nd DMA # for AZT2320 (WSS) chip (PnP setup)
284     
285     This module supports multiple cards, PnP and autoprobe.
286     
287     The power-management is supported.
288
289   Module snd-azt3328
290   ------------------
291
292     Module for sound cards based on Aztech AZF3328 PCI chip.
293
294     joystick    - Enable joystick (default off)
295
296     This module supports multiple cards.
297
298   Module snd-bt87x
299   ----------------
300
301     Module for video cards based on Bt87x chips.
302
303     digital_rate - Override the default digital rate (Hz)
304     load_all    - Load the driver even if the card model isn't known
305
306     This module supports multiple cards.
307
308     Note: The default index value of this module is -2, i.e. the first
309           slot is excluded.
310
311   Module snd-ca0106
312   -----------------
313
314     Module for Creative Audigy LS and SB Live 24bit
315
316     This module supports multiple cards.
317
318
319   Module snd-cmi8330
320   ------------------
321
322     Module for sound cards based on C-Media CMI8330 ISA chips.
323
324     wssport     - port # for CMI8330 chip (WSS)
325     wssirq      - IRQ # for CMI8330 chip (WSS)
326     wssdma      - first DMA # for CMI8330 chip (WSS)
327     sbport      - port # for CMI8330 chip (SB16)
328     sbirq       - IRQ # for CMI8330 chip (SB16)
329     sbdma8      - 8bit DMA # for CMI8330 chip (SB16)
330     sbdma16     - 16bit DMA # for CMI8330 chip (SB16)
331
332     This module supports multiple cards and autoprobe.
333
334     The power-management is supported.
335
336   Module snd-cmipci
337   -----------------
338
339     Module for C-Media CMI8338 and 8738 PCI sound cards.
340
341     mpu_port    - 0x300,0x310,0x320,0x330, 0 = disable (default)
342     fm_port     - 0x388 (default), 0 = disable (default)
343     soft_ac3    - Software-conversion of raw SPDIF packets (model 033 only)
344                   (default = 1)
345     joystick_port - Joystick port address (0 = disable, 1 = auto-detect)
346
347     This module supports autoprobe and multiple cards.
348     
349     The power-management is supported.
350
351   Module snd-cs4231
352   -----------------
353
354     Module for sound cards based on CS4231 ISA chips.
355
356     port        - port # for CS4231 chip
357     mpu_port    - port # for MPU-401 UART (optional), -1 = disable
358     irq         - IRQ # for CS4231 chip
359     mpu_irq     - IRQ # for MPU-401 UART
360     dma1        - first DMA # for CS4231 chip
361     dma2        - second DMA # for CS4231 chip
362     
363     This module supports multiple cards. This module does not support autoprobe
364     thus main port must be specified!!! Other ports are optional.
365
366     The power-management is supported.
367     
368   Module snd-cs4232
369   -----------------
370
371     Module for sound cards based on CS4232/CS4232A ISA chips.
372
373     port        - port # for CS4232 chip (PnP setup - 0x534)
374     cport       - control port # for CS4232 chip (PnP setup - 0x120,0x210,0xf00)
375     mpu_port    - port # for MPU-401 UART (PnP setup - 0x300), -1 = disable
376     fm_port     - FM port # for CS4232 chip (PnP setup - 0x388), -1 = disable
377     irq         - IRQ # for CS4232 chip (5,7,9,11,12,15)
378     mpu_irq     - IRQ # for MPU-401 UART (9,11,12,15)
379     dma1        - first DMA # for CS4232 chip (0,1,3)
380     dma2        - second DMA # for Yamaha CS4232 chip (0,1,3), -1 = disable
381     isapnp      - ISA PnP detection - 0 = disable, 1 = enable (default)
382     
383     This module supports multiple cards. This module does not support autoprobe
384     thus main port must be specified!!! Other ports are optional.
385
386     The power-management is supported.
387     
388   Module snd-cs4236
389   -----------------
390
391     Module for sound cards based on CS4235/CS4236/CS4236B/CS4237B/
392                                    CS4238B/CS4239 ISA chips.
393
394     port        - port # for CS4236 chip (PnP setup - 0x534)
395     cport       - control port # for CS4236 chip (PnP setup - 0x120,0x210,0xf00)
396     mpu_port    - port # for MPU-401 UART (PnP setup - 0x300), -1 = disable
397     fm_port     - FM port # for CS4236 chip (PnP setup - 0x388), -1 = disable
398     irq         - IRQ # for CS4236 chip (5,7,9,11,12,15)
399     mpu_irq     - IRQ # for MPU-401 UART (9,11,12,15)
400     dma1        - first DMA # for CS4236 chip (0,1,3)
401     dma2        - second DMA # for CS4236 chip (0,1,3), -1 = disable
402     isapnp      - ISA PnP detection - 0 = disable, 1 = enable (default)
403     
404     This module supports multiple cards. This module does not support autoprobe
405     (if ISA PnP is not used) thus main port and control port must be
406     specified!!! Other ports are optional.
407
408     The power-management is supported.
409
410   Module snd-cs4281
411   -----------------
412
413     Module for Cirrus Logic CS4281 soundchip.
414
415     dual_codec  - Secondary codec ID (0 = disable, default)
416
417     This module supports multiple cards.
418
419     The power-management is supported.
420
421   Module snd-cs46xx
422   -----------------
423
424     Module for PCI sound cards based on CS4610/CS4612/CS4614/CS4615/CS4622/
425                                        CS4624/CS4630/CS4280 PCI chips.
426
427     external_amp     - Force to enable external amplifier.
428     thinkpad         - Force to enable Thinkpad's CLKRUN control.
429     mmap_valid       - Support OSS mmap mode (default = 0).
430
431     This module supports multiple cards and autoprobe.
432     Usually external amp and CLKRUN controls are detected automatically
433     from PCI sub vendor/device ids.  If they don't work, give the options
434     above explicitly.
435
436     The power-management is supported.
437     
438   Module snd-cs5535audio
439   ----------------------
440
441     Module for multifunction CS5535 companion PCI device
442
443     This module supports multiple cards.
444
445   Module snd-dt019x
446   -----------------
447
448     Module for Diamond Technologies DT-019X / Avance Logic ALS-007 (PnP
449     only)
450
451     port        - Port # (PnP setup)
452     mpu_port    - Port # for MPU-401 (PnP setup)
453     fm_port     - Port # for FM OPL-3 (PnP setup)
454     irq         - IRQ # (PnP setup)
455     mpu_irq     - IRQ # for MPU-401 (PnP setup)
456     dma8        - DMA # (PnP setup)
457
458     This module supports multiple cards.  This module is enabled only with
459     ISA PnP support.
460
461     The power-management is supported.
462
463   Module snd-dummy
464   ----------------
465
466     Module for the dummy sound card. This "card" doesn't do any output
467     or input, but you may use this module for any application which
468     requires a sound card (like RealPlayer).
469
470     The power-management is supported.
471
472   Module snd-emu10k1
473   ------------------
474
475     Module for EMU10K1/EMU10k2 based PCI sound cards.
476                         * Sound Blaster Live!
477                         * Sound Blaster PCI 512
478                         * Emu APS (partially supported)
479                         * Sound Blaster Audigy
480
481     extin   - bitmap of available external inputs for FX8010 (see bellow)
482     extout  - bitmap of available external outputs for FX8010 (see bellow)
483     seq_ports - allocated sequencer ports (4 by default)
484     max_synth_voices - limit of voices used for wavetable (64 by default)
485     max_buffer_size  - specifies the maximum size of wavetable/pcm buffers
486                        given in MB unit.  Default value is 128.
487     enable_ir - enable IR
488
489     This module supports multiple cards and autoprobe.
490
491     Input & Output configurations                       [extin/extout]
492         * Creative Card wo/Digital out                  [0x0003/0x1f03]
493         * Creative Card w/Digital out                   [0x0003/0x1f0f]
494         * Creative Card w/Digital CD in                 [0x000f/0x1f0f]
495         * Creative Card wo/Digital out + LiveDrive      [0x3fc3/0x1fc3]
496         * Creative Card w/Digital out + LiveDrive       [0x3fc3/0x1fcf]
497         * Creative Card w/Digital CD in + LiveDrive     [0x3fcf/0x1fcf]
498         * Creative Card wo/Digital out + Digital I/O 2  [0x0fc3/0x1f0f]
499         * Creative Card w/Digital out + Digital I/O 2   [0x0fc3/0x1f0f]
500         * Creative Card w/Digital CD in + Digital I/O 2 [0x0fcf/0x1f0f]
501         * Creative Card 5.1/w Digital out + LiveDrive   [0x3fc3/0x1fff]
502         * Creative Card 5.1 (c) 2003                    [0x3fc3/0x7cff]
503         * Creative Card all ins and outs                [0x3fff/0x7fff]
504     
505     The power-management is supported.
506
507   Module snd-emu10k1x
508   -------------------
509
510     Module for Creative Emu10k1X (SB Live Dell OEM version)
511
512     This module supports multiple cards.
513
514   Module snd-ens1370
515   ------------------
516
517     Module for Ensoniq AudioPCI ES1370 PCI sound cards.
518                         * SoundBlaster PCI 64
519                         * SoundBlaster PCI 128
520
521     joystick            - Enable joystick (default off)
522
523     This module supports multiple cards and autoprobe.
524     
525     The power-management is supported.
526
527   Module snd-ens1371
528   ------------------
529
530     Module for Ensoniq AudioPCI ES1371 PCI sound cards.
531                         * SoundBlaster PCI 64
532                         * SoundBlaster PCI 128
533                         * SoundBlaster Vibra PCI
534
535     joystick_port       - port # for joystick (0x200,0x208,0x210,0x218),
536                           0 = disable (default), 1 = auto-detect
537
538     This module supports multiple cards and autoprobe.
539     
540     The power-management is supported.
541
542   Module snd-es968
543   ----------------
544
545     Module for sound cards based on ESS ES968 chip (PnP only).
546
547     port        - port # for ES968 (SB8) chip (PnP setup)
548     irq         - IRQ # for ES968 (SB8) chip (PnP setup)
549     dma1        - DMA # for ES968 (SB8) chip (PnP setup)
550     
551     This module supports multiple cards, PnP and autoprobe.
552     
553     The power-management is supported.
554
555   Module snd-es1688
556   -----------------
557
558     Module for ESS AudioDrive ES-1688 and ES-688 sound cards.
559
560     port        - port # for ES-1688 chip (0x220,0x240,0x260)
561     mpu_port    - port # for MPU-401 port (0x300,0x310,0x320,0x330), -1 = disable (default)
562     irq         - IRQ # for ES-1688 chip (5,7,9,10)
563     mpu_irq     - IRQ # for MPU-401 port (5,7,9,10)
564     dma8        - DMA # for ES-1688 chip (0,1,3)
565
566     This module supports multiple cards and autoprobe (without MPU-401 port).
567
568   Module snd-es18xx
569   -----------------
570
571     Module for ESS AudioDrive ES-18xx sound cards.
572
573     port        - port # for ES-18xx chip (0x220,0x240,0x260)
574     mpu_port    - port # for MPU-401 port (0x300,0x310,0x320,0x330), -1 = disable (default)
575     fm_port     - port # for FM (optional, not used)
576     irq         - IRQ # for ES-18xx chip (5,7,9,10)
577     dma1        - first DMA # for ES-18xx chip (0,1,3)
578     dma2        - first DMA # for ES-18xx chip (0,1,3)
579     isapnp      - ISA PnP detection - 0 = disable, 1 = enable (default)
580
581     This module supports multiple cards, ISA PnP and autoprobe (without MPU-401
582     port if native ISA PnP routines are not used).
583     When dma2 is equal with dma1, the driver works as half-duplex.
584
585     The power-management is supported.
586
587   Module snd-es1938
588   -----------------
589
590     Module for sound cards based on ESS Solo-1 (ES1938,ES1946) chips.
591
592     This module supports multiple cards and autoprobe.
593
594     The power-management is supported.
595
596   Module snd-es1968
597   -----------------
598
599     Module for sound cards based on ESS Maestro-1/2/2E (ES1968/ES1978) chips.
600
601     total_bufsize       - total buffer size in kB (1-4096kB)
602     pcm_substreams_p    - playback channels (1-8, default=2)
603     pcm_substreams_c    - capture channels (1-8, default=0)
604     clock               - clock (0 = auto-detection)
605     use_pm              - support the power-management (0 = off, 1 = on,
606                           2 = auto (default))
607     enable_mpu          - enable MPU401 (0 = off, 1 = on, 2 = auto (default))
608     joystick            - enable joystick (default off)       
609
610     This module supports multiple cards and autoprobe.
611
612     The power-management is supported.
613
614   Module snd-fm801
615   ----------------
616
617     Module for ForteMedia FM801 based PCI sound cards.
618
619     tea575x_tuner       - Enable TEA575x tuner
620                           - 1 = MediaForte 256-PCS
621                           - 2 = MediaForte 256-PCPR
622                           - 3 = MediaForte 64-PCR  
623                           - High 16-bits are video (radio) device number + 1
624                           - example: 0x10002 (MediaForte 256-PCPR, device 1)
625
626     This module supports multiple cards and autoprobe.
627     
628     The power-management is supported.
629
630   Module snd-gusclassic
631   ---------------------
632
633     Module for Gravis UltraSound Classic sound card.
634
635     port        - port # for GF1 chip (0x220,0x230,0x240,0x250,0x260)
636     irq         - IRQ # for GF1 chip (3,5,9,11,12,15)
637     dma1        - DMA # for GF1 chip (1,3,5,6,7)
638     dma2        - DMA # for GF1 chip (1,3,5,6,7,-1=disable)
639     joystick_dac - 0 to 31, (0.59V-4.52V or 0.389V-2.98V)
640     voices      - GF1 voices limit (14-32)
641     pcm_voices  - reserved PCM voices
642
643     This module supports multiple cards and autoprobe.
644
645   Module snd-gusextreme
646   ---------------------
647
648     Module for Gravis UltraSound Extreme (Synergy ViperMax) sound card.
649
650     port        - port # for ES-1688 chip (0x220,0x230,0x240,0x250,0x260)
651     gf1_port    - port # for GF1 chip (0x210,0x220,0x230,0x240,0x250,0x260,0x270)
652     mpu_port    - port # for MPU-401 port (0x300,0x310,0x320,0x330), -1 = disable
653     irq         - IRQ # for ES-1688 chip (5,7,9,10)
654     gf1_irq     - IRQ # for GF1 chip (3,5,9,11,12,15)
655     mpu_irq     - IRQ # for MPU-401 port (5,7,9,10)
656     dma8        - DMA # for ES-1688 chip (0,1,3)
657     dma1        - DMA # for GF1 chip (1,3,5,6,7)
658     joystick_dac - 0 to 31, (0.59V-4.52V or 0.389V-2.98V)
659     voices      - GF1 voices limit (14-32)
660     pcm_voices  - reserved PCM voices
661
662     This module supports multiple cards and autoprobe (without MPU-401 port).
663
664   Module snd-gusmax
665   -----------------
666
667     Module for Gravis UltraSound MAX sound card.
668
669     port        - port # for GF1 chip (0x220,0x230,0x240,0x250,0x260)
670     irq         - IRQ # for GF1 chip (3,5,9,11,12,15)
671     dma1        - DMA # for GF1 chip (1,3,5,6,7)
672     dma2        - DMA # for GF1 chip (1,3,5,6,7,-1=disable)
673     joystick_dac - 0 to 31, (0.59V-4.52V or 0.389V-2.98V)
674     voices      - GF1 voices limit (14-32)
675     pcm_voices  - reserved PCM voices
676
677     This module supports multiple cards and autoprobe.
678     
679   Module snd-hda-intel
680   --------------------
681
682     Module for Intel HD Audio (ICH6, ICH6M, ICH7), ATI SB450,
683                VIA VT8251/VT8237A
684
685     model       - force the model name
686     position_fix - Fix DMA pointer (0 = auto, 1 = none, 2 = POSBUF, 3 = FIFO size)
687     single_cmd  - Use single immediate commands to communicate with
688                 codecs (for debugging only)
689
690     This module supports one card and autoprobe.
691
692     Each codec may have a model table for different configurations.
693     If your machine isn't listed there, the default (usually minimal)
694     configuration is set up.  You can pass "model=<name>" option to
695     specify a certain model in such a case.  There are different
696     models depending on the codec chip.
697
698           Model name    Description
699           ----------    -----------
700         ALC880
701           3stack        3-jack in back and a headphone out
702           3stack-digout 3-jack in back, a HP out and a SPDIF out
703           5stack        5-jack in back, 2-jack in front
704           5stack-digout 5-jack in back, 2-jack in front, a SPDIF out
705           6stack        6-jack in back, 2-jack in front
706           6stack-digout 6-jack with a SPDIF out
707           w810          3-jack
708           z71v          3-jack (HP shared SPDIF)
709           asus          3-jack
710           uniwill       3-jack
711           F1734         2-jack
712           lg            LG laptop (m1 express dual)
713           lg-lw         LG LW20 laptop
714           test          for testing/debugging purpose, almost all controls can be
715                         adjusted.  Appearing only when compiled with
716                         $CONFIG_SND_DEBUG=y
717           auto          auto-config reading BIOS (default)
718
719         ALC260
720           hp            HP machines
721           fujitsu       Fujitsu S7020
722           acer          Acer TravelMate
723           basic         fixed pin assignment (old default model)
724           auto          auto-config reading BIOS (default)
725
726         ALC262
727           fujitsu       Fujitsu Laptop
728           basic         fixed pin assignment w/o SPDIF
729           auto          auto-config reading BIOS (default)
730
731         ALC882/883/885
732           3stack-dig    3-jack with SPDIF I/O
733           6stck-dig     6-jack digital with SPDIF I/O
734           auto          auto-config reading BIOS (default)
735
736         ALC861
737           3stack        3-jack
738           3stack-dig    3-jack with SPDIF I/O
739           6stack-dig    6-jack with SPDIF I/O
740           auto          auto-config reading BIOS (default)
741
742         CMI9880
743           minimal       3-jack in back
744           min_fp        3-jack in back, 2-jack in front
745           full          6-jack in back, 2-jack in front
746           full_dig      6-jack in back, 2-jack in front, SPDIF I/O
747           allout        5-jack in back, 2-jack in front, SPDIF out
748           auto          auto-config reading BIOS (default)
749
750         AD1981
751           basic         3-jack (default)
752           hp            HP nx6320
753
754         AD1986A
755           6stack        6-jack, separate surrounds (default)
756           3stack        3-stack, shared surrounds
757           laptop        2-channel only (FSC V2060, Samsung M50)
758           laptop-eapd   2-channel with EAPD (Samsung R65, ASUS A6J)
759
760         AD1988
761           6stack        6-jack
762           6stack-dig    ditto with SPDIF
763           3stack        3-jack
764           3stack-dig    ditto with SPDIF
765           laptop        3-jack with hp-jack automute
766           laptop-dig    ditto with SPDIF
767           auto          auto-confgi reading BIOS (default)
768
769         STAC7661(?)
770           vaio          Setup for VAIO FE550G/SZ110
771
772     If the default configuration doesn't work and one of the above
773     matches with your device, report it together with the PCI
774     subsystem ID (output of "lspci -nv") to ALSA BTS or alsa-devel
775     ML (see the section "Links and Addresses").
776
777     Note 2: If you get click noises on output, try the module option
778             position_fix=1 or 2.  position_fix=1 will use the SD_LPIB
779             register value without FIFO size correction as the current
780             DMA pointer.  position_fix=2 will make the driver to use
781             the position buffer instead of reading SD_LPIB register.
782             (Usually SD_LPLIB register is more accurate than the
783             position buffer.)
784
785     NB: If you get many "azx_get_response timeout" messages at
786     loading, it's likely a problem of interrupts (e.g. ACPI irq
787     routing).  Try to boot with options like "pci=noacpi".  Also, you
788     can try "single_cmd=1" module option.  This will switch the
789     communication method between HDA controller and codecs to the
790     single immediate commands instead of CORB/RIRB.  Basically, the
791     single command mode is provided only for BIOS, and you won't get
792     unsolicited events, too.  But, at least, this works independently
793     from the irq.  Remember this is a last resort, and should be
794     avoided as much as possible...
795     
796     The power-management is supported.
797
798   Module snd-hdsp
799   ---------------
800
801     Module for RME Hammerfall DSP audio interface(s)
802
803     This module supports multiple cards.
804
805     Note: The firmware data can be automatically loaded via hotplug
806           when CONFIG_FW_LOADER is set.  Otherwise, you need to load
807           the firmware via hdsploader utility included in alsa-tools
808           package.
809           The firmware data is found in alsa-firmware package.
810
811     Note: snd-page-alloc module does the job which snd-hammerfall-mem
812           module did formerly.  It will allocate the buffers in advance
813           when any HDSP cards are found.  To make the buffer
814           allocation sure, load snd-page-alloc module in the early
815           stage of boot sequence.  See "Early Buffer Allocation"
816           section.
817
818   Module snd-hdspm
819   ----------------
820
821     Module for RME HDSP MADI board.
822
823     precise_ptr         - Enable precise pointer, or disable.
824     line_outs_monitor   - Send playback streams to analog outs by default.
825     enable_monitor      - Enable Analog Out on Channel 63/64 by default.
826
827     See hdspm.txt for details.
828
829   Module snd-ice1712
830   ------------------
831
832     Module for Envy24 (ICE1712) based PCI sound cards.
833                         * MidiMan M Audio Delta 1010
834                         * MidiMan M Audio Delta 1010LT
835                         * MidiMan M Audio Delta DiO 2496
836                         * MidiMan M Audio Delta 66
837                         * MidiMan M Audio Delta 44
838                         * MidiMan M Audio Delta 410
839                         * MidiMan M Audio Audiophile 2496
840                         * TerraTec EWS 88MT
841                         * TerraTec EWS 88D
842                         * TerraTec EWX 24/96
843                         * TerraTec DMX 6Fire
844                         * TerraTec Phase 88
845                         * Hoontech SoundTrack DSP 24
846                         * Hoontech SoundTrack DSP 24 Value
847                         * Hoontech SoundTrack DSP 24 Media 7.1
848                         * Event Electronics, EZ8
849                         * Digigram VX442
850                         * Lionstracs, Mediastaton
851
852     model       - Use the given board model, one of the following:
853                   delta1010, dio2496, delta66, delta44, audiophile, delta410,
854                   delta1010lt, vx442, ewx2496, ews88mt, ews88mt_new, ews88d,
855                   dmx6fire, dsp24, dsp24_value, dsp24_71, ez8,
856                   phase88, mediastation
857     omni        - Omni I/O support for MidiMan M-Audio Delta44/66
858     cs8427_timeout - reset timeout for the CS8427 chip (S/PDIF transciever)
859                      in msec resolution, default value is 500 (0.5 sec)
860
861     This module supports multiple cards and autoprobe. Note: The consumer part
862     is not used with all Envy24 based cards (for example in the MidiMan Delta
863     serie).
864
865     Note: The supported board is detected by reading EEPROM or PCI
866           SSID (if EEPROM isn't available).  You can override the
867           model by passing "model" module option in case that the
868           driver isn't configured properly or you want to try another
869           type for testing.
870
871   Module snd-ice1724
872   ------------------
873
874     Module for Envy24HT (VT/ICE1724), Envy24PT (VT1720) based PCI sound cards.
875                         * MidiMan M Audio Revolution 5.1
876                         * MidiMan M Audio Revolution 7.1
877                         * AMP Ltd AUDIO2000
878                         * TerraTec Aureon 5.1 Sky
879                         * TerraTec Aureon 7.1 Space
880                         * TerraTec Aureon 7.1 Universe
881                         * TerraTec Phase 22
882                         * TerraTec Phase 28
883                         * AudioTrak Prodigy 7.1
884                         * AudioTrak Prodigy 7.1LT
885                         * AudioTrak Prodigy 192
886                         * Pontis MS300
887                         * Albatron K8X800 Pro II 
888                         * Chaintech ZNF3-150
889                         * Chaintech ZNF3-250
890                         * Chaintech 9CJS
891                         * Chaintech AV-710
892                         * Shuttle SN25P
893
894     model       - Use the given board model, one of the following:
895                   revo51, revo71, amp2000, prodigy71, prodigy71lt,
896                   prodigy192, aureon51, aureon71, universe,
897                   k8x800, phase22, phase28, ms300, av710
898
899     This module supports multiple cards and autoprobe.
900
901     Note: The supported board is detected by reading EEPROM or PCI
902           SSID (if EEPROM isn't available).  You can override the
903           model by passing "model" module option in case that the
904           driver isn't configured properly or you want to try another
905           type for testing.
906
907   Module snd-intel8x0
908   -------------------
909
910     Module for AC'97 motherboards from Intel and compatibles.
911                         * Intel i810/810E, i815, i820, i830, i84x, MX440
912                                 ICH5, ICH6, ICH7, ESB2
913                         * SiS 7012 (SiS 735)
914                         * NVidia NForce, NForce2, NForce3, MCP04, CK804
915                                  CK8, CK8S, MCP501
916                         * AMD AMD768, AMD8111
917                         * ALi m5455
918
919     ac97_clock    - AC'97 codec clock base (0 = auto-detect)
920     ac97_quirk    - AC'97 workaround for strange hardware
921                     See "AC97 Quirk Option" section below.
922     buggy_irq     - Enable workaround for buggy interrupts on some
923                     motherboards (default yes on nForce chips,
924                     otherwise off)
925     buggy_semaphore - Enable workaround for hardwares with buggy
926                     semaphores (e.g. on some ASUS laptops)
927                     (default off)
928
929     This module supports one chip and autoprobe.
930
931     Note: the latest driver supports auto-detection of chip clock.
932     if you still encounter too fast playback, specify the clock
933     explicitly via the module option "ac97_clock=41194".
934
935     Joystick/MIDI ports are not supported by this driver.  If your
936     motherboard has these devices, use the ns558 or snd-mpu401
937     modules, respectively.
938
939     The power-management is supported.
940     
941   Module snd-intel8x0m
942   --------------------
943
944     Module for Intel ICH (i8x0) chipset MC97 modems.
945                         * Intel i810/810E, i815, i820, i830, i84x, MX440
946                                 ICH5, ICH6, ICH7
947                         * SiS 7013 (SiS 735)
948                         * NVidia NForce, NForce2, NForce2s, NForce3
949                         * AMD AMD8111
950                         * ALi m5455
951
952     ac97_clock    - AC'97 codec clock base (0 = auto-detect)
953
954     This module supports one card and autoprobe.
955
956     Note: The default index value of this module is -2, i.e. the first
957           slot is excluded.
958
959     The power-management is supported.
960
961   Module snd-interwave
962   --------------------
963
964     Module for Gravis UltraSound PnP, Dynasonic 3-D/Pro, STB Sound Rage 32
965     and other sound cards based on AMD InterWave (tm) chip.
966   
967     port        - port # for InterWave chip (0x210,0x220,0x230,0x240,0x250,0x260)
968     irq         - IRQ # for InterWave chip (3,5,9,11,12,15)
969     dma1        - DMA # for InterWave chip (0,1,3,5,6,7)
970     dma2        - DMA # for InterWave chip (0,1,3,5,6,7,-1=disable)
971     joystick_dac - 0 to 31, (0.59V-4.52V or 0.389V-2.98V)
972     midi        - 1 = MIDI UART enable, 0 = MIDI UART disable (default)
973     pcm_voices  - reserved PCM voices for the synthesizer (default 2)
974     effect      - 1 = InterWave effects enable (default 0);
975                   requires 8 voices
976
977     This module supports multiple cards, autoprobe and ISA PnP.
978
979   Module snd-interwave-stb
980   ------------------------
981
982     Module for UltraSound 32-Pro (sound card from STB used by Compaq)
983     and other sound cards based on AMD InterWave (tm) chip with TEA6330T
984     circuit for extended control of bass, treble and master volume.
985   
986     port        - port # for InterWave chip (0x210,0x220,0x230,0x240,0x250,0x260)
987     port_tc     - tone control (i2c bus) port # for TEA6330T chip (0x350,0x360,0x370,0x380)
988     irq         - IRQ # for InterWave chip (3,5,9,11,12,15)
989     dma1        - DMA # for InterWave chip (0,1,3,5,6,7)
990     dma2        - DMA # for InterWave chip (0,1,3,5,6,7,-1=disable)
991     joystick_dac - 0 to 31, (0.59V-4.52V or 0.389V-2.98V)
992     midi        - 1 = MIDI UART enable, 0 = MIDI UART disable (default)
993     pcm_voices  - reserved PCM voices for the synthesizer (default 2)
994     effect      - 1 = InterWave effects enable (default 0);
995                   requires 8 voices
996
997     This module supports multiple cards, autoprobe and ISA PnP.
998
999   Module snd-korg1212
1000   -------------------
1001
1002     Module for Korg 1212 IO PCI card
1003
1004     This module supports multiple cards.
1005
1006   Module snd-maestro3
1007   -------------------
1008
1009     Module for Allegro/Maestro3 chips
1010
1011     external_amp     - enable external amp (enabled by default)
1012     amp_gpio         - GPIO pin number for external amp (0-15) or
1013                        -1 for default pin (8 for allegro, 1 for
1014                        others) 
1015
1016     This module supports autoprobe and multiple chips.
1017
1018     Note: the binding of amplifier is dependent on hardware.
1019     If there is no sound even though all channels are unmuted, try to
1020     specify other gpio connection via amp_gpio option. 
1021     For example, a Panasonic notebook might need "amp_gpio=0x0d"
1022     option.
1023
1024     The power-management is supported.
1025
1026   Module snd-miro
1027   ---------------
1028
1029     Module for Miro soundcards: miroSOUND PCM 1 pro, 
1030                                 miroSOUND PCM 12,
1031                                 miroSOUND PCM 20 Radio.
1032
1033     port        - Port # (0x530,0x604,0xe80,0xf40)
1034     irq         - IRQ # (5,7,9,10,11)
1035     dma1        - 1st dma # (0,1,3)
1036     dma2        - 2nd dma # (0,1)
1037     mpu_port    - MPU-401 port # (0x300,0x310,0x320,0x330)
1038     mpu_irq     - MPU-401 irq # (5,7,9,10)
1039     fm_port     - FM Port # (0x388)
1040     wss         - enable WSS mode
1041     ide         - enable onboard ide support
1042
1043   Module snd-mixart
1044   -----------------
1045
1046     Module for Digigram miXart8 sound cards.
1047
1048     This module supports multiple cards.
1049     Note: One miXart8 board will be represented as 4 alsa cards.
1050           See MIXART.txt for details.
1051
1052     When the driver is compiled as a module and the hotplug firmware
1053     is supported, the firmware data is loaded via hotplug automatically.
1054     Install the necessary firmware files in alsa-firmware package.
1055     When no hotplug fw loader is available, you need to load the
1056     firmware via mixartloader utility in alsa-tools package.
1057
1058   Module snd-mpu401
1059   -----------------
1060
1061     Module for MPU-401 UART devices.
1062
1063     port        - port number or -1 (disable)
1064     irq         - IRQ number or -1 (disable)
1065     pnp         - PnP detection - 0 = disable, 1 = enable (default)
1066
1067     This module supports multiple devices and PnP.
1068     
1069   Module snd-mtpav
1070   ----------------
1071
1072     Module for MOTU MidiTimePiece AV multiport MIDI (on the parallel
1073     port).
1074
1075     port        - I/O port # for MTPAV (0x378,0x278, default=0x378)
1076     irq         - IRQ # for MTPAV (7,5, default=7)
1077     hwports     - number of supported hardware ports, default=8.
1078     
1079     Module supports only 1 card.  This module has no enable option.
1080
1081   Module snd-nm256
1082   ----------------
1083
1084     Module for NeoMagic NM256AV/ZX chips
1085
1086     playback_bufsize - max playback frame size in kB (4-128kB)
1087     capture_bufsize  - max capture frame size in kB (4-128kB)
1088     force_ac97       - 0 or 1 (disabled by default)
1089     buffer_top       - specify buffer top address
1090     use_cache        - 0 or 1 (disabled by default)
1091     vaio_hack        - alias buffer_top=0x25a800
1092     reset_workaround - enable AC97 RESET workaround for some laptops
1093     reset_workaround2 - enable extended AC97 RESET workaround for some
1094                       other laptops
1095
1096     This module supports one chip and autoprobe.
1097
1098     The power-management is supported.
1099
1100     Note: on some notebooks the buffer address cannot be detected
1101     automatically, or causes hang-up during initialization.
1102     In such a case, specify the buffer top address explicity via
1103     buffer_top option.
1104     For example,
1105       Sony F250: buffer_top=0x25a800
1106       Sony F270: buffer_top=0x272800
1107     The driver supports only ac97 codec.  It's possible to force
1108     to initialize/use ac97 although it's not detected.  In such a
1109     case, use force_ac97=1 option - but *NO* guarantee whether it
1110     works!
1111
1112     Note: The NM256 chip can be linked internally with non-AC97
1113     codecs.  This driver supports only the AC97 codec, and won't work
1114     with machines with other (most likely CS423x or OPL3SAx) chips,
1115     even though the device is detected in lspci.  In such a case, try
1116     other drivers, e.g. snd-cs4232 or snd-opl3sa2.  Some has ISA-PnP
1117     but some doesn't have ISA PnP.  You'll need to specify isapnp=0
1118     and proper hardware parameters in the case without ISA PnP.
1119
1120     Note: some laptops need a workaround for AC97 RESET.  For the
1121     known hardware like Dell Latitude LS and Sony PCG-F305, this
1122     workaround is enabled automatically.  For other laptops with a
1123     hard freeze, you can try reset_workaround=1 option.
1124
1125     Note: Dell Latitude CSx laptops have another problem regarding
1126     AC97 RESET.  On these laptops, reset_workaround2 option is
1127     turned on as default.  This option is worth to try if the
1128     previous reset_workaround option doesn't help.
1129
1130     Note: This driver is really crappy.  It's a porting from the
1131     OSS driver, which is a result of black-magic reverse engineering.
1132     The detection of codec will fail if the driver is loaded *after*
1133     X-server as described above.  You might be able to force to load
1134     the module, but it may result in hang-up.   Hence, make sure that
1135     you load this module *before* X if you encounter this kind of
1136     problem.
1137
1138   Module snd-opl3sa2
1139   ------------------
1140
1141     Module for Yamaha OPL3-SA2/SA3 sound cards.
1142
1143     port        - control port # for OPL3-SA chip (0x370)
1144     sb_port     - SB port # for OPL3-SA chip (0x220,0x240)
1145     wss_port    - WSS port # for OPL3-SA chip (0x530,0xe80,0xf40,0x604)
1146     midi_port   - port # for MPU-401 UART (0x300,0x330), -1 = disable
1147     fm_port     - FM port # for OPL3-SA chip (0x388), -1 = disable
1148     irq         - IRQ # for OPL3-SA chip (5,7,9,10)
1149     dma1        - first DMA # for Yamaha OPL3-SA chip (0,1,3)
1150     dma2        - second DMA # for Yamaha OPL3-SA chip (0,1,3), -1 = disable
1151     isapnp      - ISA PnP detection - 0 = disable, 1 = enable (default)
1152     
1153     This module supports multiple cards and ISA PnP.  It does not support
1154     autoprobe (if ISA PnP is not used) thus all ports must be specified!!!
1155     
1156     The power-management is supported.
1157
1158   Module snd-opti92x-ad1848
1159   -------------------------
1160
1161     Module for sound cards based on OPTi 82c92x and Analog Devices AD1848 chips.
1162     Module works with OAK Mozart cards as well.
1163     
1164     port      - port # for WSS chip (0x530,0xe80,0xf40,0x604)
1165     mpu_port  - port # for MPU-401 UART (0x300,0x310,0x320,0x330)
1166     fm_port   - port # for OPL3 device (0x388)
1167     irq       - IRQ # for WSS chip (5,7,9,10,11)
1168     mpu_irq   - IRQ # for MPU-401 UART (5,7,9,10)
1169     dma1      - first DMA # for WSS chip (0,1,3)
1170
1171     This module supports only one card, autoprobe and PnP.
1172
1173   Module snd-opti92x-cs4231
1174   -------------------------
1175
1176     Module for sound cards based on OPTi 82c92x and Crystal CS4231 chips.
1177     
1178     port      - port # for WSS chip (0x530,0xe80,0xf40,0x604)
1179     mpu_port  - port # for MPU-401 UART (0x300,0x310,0x320,0x330)
1180     fm_port   - port # for OPL3 device (0x388)
1181     irq       - IRQ # for WSS chip (5,7,9,10,11)
1182     mpu_irq   - IRQ # for MPU-401 UART (5,7,9,10)
1183     dma1      - first DMA # for WSS chip (0,1,3)
1184     dma2      - second DMA # for WSS chip (0,1,3)
1185
1186     This module supports only one card, autoprobe and PnP.
1187
1188   Module snd-opti93x
1189   ------------------
1190
1191     Module for sound cards based on OPTi 82c93x chips.
1192     
1193     port      - port # for WSS chip (0x530,0xe80,0xf40,0x604)
1194     mpu_port  - port # for MPU-401 UART (0x300,0x310,0x320,0x330)
1195     fm_port   - port # for OPL3 device (0x388)
1196     irq       - IRQ # for WSS chip (5,7,9,10,11)
1197     mpu_irq   - IRQ # for MPU-401 UART (5,7,9,10)
1198     dma1      - first DMA # for WSS chip (0,1,3)
1199     dma2      - second DMA # for WSS chip (0,1,3)
1200
1201     This module supports only one card, autoprobe and PnP.
1202
1203   Module snd-pcxhr
1204   ----------------
1205
1206     Module for Digigram PCXHR boards
1207
1208     This module supports multiple cards.
1209
1210   Module snd-powermac (on ppc only)
1211   ---------------------------------
1212
1213     Module for PowerMac, iMac and iBook on-board soundchips
1214
1215     enable_beep     - enable beep using PCM (enabled as default)
1216
1217     Module supports autoprobe a chip.
1218
1219     Note: the driver may have problems regarding endianess.
1220
1221     The power-management is supported.
1222
1223   Module snd-pxa2xx-ac97 (on arm only)
1224   ------------------------------------
1225
1226     Module for AC97 driver for the Intel PXA2xx chip
1227
1228     For ARM architecture only.
1229
1230     The power-management is supported.
1231
1232   Module snd-riptide
1233   ------------------
1234
1235     Module for Conexant Riptide chip
1236
1237       joystick_port     - Joystick port # (default: 0x200)
1238       mpu_port          - MPU401 port # (default: 0x330)
1239       opl3_port         - OPL3 port # (default: 0x388)
1240
1241     This module supports multiple cards.
1242     The driver requires the firmware loader support on kernel.
1243     You need to install the firmware file "riptide.hex" to the standard
1244     firmware path (e.g. /lib/firmware).
1245
1246   Module snd-rme32
1247   ----------------
1248
1249     Module for RME Digi32, Digi32 Pro and Digi32/8 (Sek'd Prodif32, 
1250     Prodif96 and Prodif Gold) sound cards.
1251
1252     This module supports multiple cards.
1253
1254   Module snd-rme96
1255   ----------------
1256
1257     Module for RME Digi96, Digi96/8 and Digi96/8 PRO/PAD/PST sound cards.
1258
1259     This module supports multiple cards.
1260
1261   Module snd-rme9652
1262   ------------------
1263
1264     Module for RME Digi9652 (Hammerfall, Hammerfall-Light) sound cards.
1265
1266     precise_ptr - Enable precise pointer (doesn't work reliably).
1267                   (default = 0)
1268
1269     This module supports multiple cards.
1270
1271     Note: snd-page-alloc module does the job which snd-hammerfall-mem
1272           module did formerly.  It will allocate the buffers in advance
1273           when any RME9652 cards are found.  To make the buffer
1274           allocation sure, load snd-page-alloc module in the early
1275           stage of boot sequence.  See "Early Buffer Allocation"
1276           section.
1277
1278   Module snd-sa11xx-uda1341 (on arm only)
1279   ---------------------------------------
1280
1281     Module for Philips UDA1341TS on Compaq iPAQ H3600 sound card.
1282
1283     Module supports only one card.
1284     Module has no enable and index options.
1285
1286     The power-management is supported.
1287
1288   Module snd-sb8
1289   --------------
1290
1291     Module for 8-bit SoundBlaster cards: SoundBlaster 1.0,
1292                                          SoundBlaster 2.0,
1293                                          SoundBlaster Pro
1294
1295     port        - port # for SB DSP chip (0x220,0x240,0x260)
1296     irq         - IRQ # for SB DSP chip (5,7,9,10)
1297     dma8        - DMA # for SB DSP chip (1,3)
1298
1299     This module supports multiple cards and autoprobe.
1300     
1301     The power-management is supported.
1302
1303   Module snd-sb16 and snd-sbawe
1304   -----------------------------
1305
1306     Module for 16-bit SoundBlaster cards: SoundBlaster 16 (PnP),
1307                                           SoundBlaster AWE 32 (PnP),
1308                                           SoundBlaster AWE 64 PnP
1309
1310     port        - port # for SB DSP 4.x chip (0x220,0x240,0x260)
1311     mpu_port    - port # for MPU-401 UART (0x300,0x330), -1 = disable
1312     awe_port    - base port # for EMU8000 synthesizer (0x620,0x640,0x660)
1313                    (snd-sbawe module only)
1314     irq         - IRQ # for SB DSP 4.x chip (5,7,9,10)
1315     dma8        - 8-bit DMA # for SB DSP 4.x chip (0,1,3)
1316     dma16       - 16-bit DMA # for SB DSP 4.x chip (5,6,7)
1317     mic_agc     - Mic Auto-Gain-Control - 0 = disable, 1 = enable (default)
1318     csp         - ASP/CSP chip support - 0 = disable (default), 1 = enable
1319     isapnp      - ISA PnP detection - 0 = disable, 1 = enable (default)
1320     
1321     This module supports multiple cards, autoprobe and ISA PnP.
1322
1323     Note: To use Vibra16X cards in 16-bit half duplex mode, you must
1324           disable 16bit DMA with dma16 = -1 module parameter.
1325           Also, all Sound Blaster 16 type cards can operate in 16-bit
1326           half duplex mode through 8-bit DMA channel by disabling their
1327           16-bit DMA channel.
1328     
1329     The power-management is supported.
1330
1331   Module snd-sgalaxy
1332   ------------------
1333
1334     Module for Aztech Sound Galaxy sound card.
1335
1336     sbport      - Port # for SB16 interface (0x220,0x240)
1337     wssport     - Port # for WSS interface (0x530,0xe80,0xf40,0x604)
1338     irq         - IRQ # (7,9,10,11)
1339     dma1        - DMA #
1340
1341     This module supports multiple cards.
1342
1343     The power-management is supported.
1344
1345   Module snd-sscape
1346   -----------------
1347
1348     Module for ENSONIQ SoundScape PnP cards.
1349
1350     port        - Port # (PnP setup)
1351     irq         - IRQ # (PnP setup)
1352     mpu_irq     - MPU-401 IRQ # (PnP setup)
1353     dma         - DMA # (PnP setup)
1354
1355     This module supports multiple cards.  ISA PnP must be enabled.
1356     You need sscape_ctl tool in alsa-tools package for loading
1357     the microcode.
1358
1359   Module snd-sun-amd7930 (on sparc only)
1360   --------------------------------------
1361
1362     Module for AMD7930 sound chips found on Sparcs.
1363
1364     This module supports multiple cards.
1365
1366   Module snd-sun-cs4231 (on sparc only)
1367   -------------------------------------
1368
1369     Module for CS4231 sound chips found on Sparcs.
1370
1371     This module supports multiple cards.
1372
1373   Module snd-sun-dbri (on sparc only)
1374   -----------------------------------
1375
1376     Module for DBRI sound chips found on Sparcs.
1377
1378     This module supports multiple cards.
1379
1380   Module snd-wavefront
1381   --------------------
1382
1383     Module for Turtle Beach Maui, Tropez and Tropez+ sound cards.
1384
1385     cs4232_pcm_port - Port # for CS4232 PCM interface.
1386     cs4232_pcm_irq  - IRQ # for CS4232 PCM interface (5,7,9,11,12,15).
1387     cs4232_mpu_port - Port # for CS4232 MPU-401 interface.
1388     cs4232_mpu_irq  - IRQ # for CS4232 MPU-401 interface (9,11,12,15).
1389     use_cs4232_midi - Use CS4232 MPU-401 interface
1390                       (inaccessibly located inside your computer)
1391     ics2115_port    - Port # for ICS2115
1392     ics2115_irq     - IRQ # for ICS2115
1393     fm_port         - FM OPL-3 Port #
1394     dma1            - DMA1 # for CS4232 PCM interface.
1395     dma2            - DMA2 # for CS4232 PCM interface.
1396     isapnp          - ISA PnP detection - 0 = disable, 1 = enable (default)
1397
1398     This module supports multiple cards and ISA PnP.
1399
1400   Module snd-sonicvibes
1401   ---------------------
1402
1403     Module for S3 SonicVibes PCI sound cards.
1404                         * PINE Schubert 32 PCI
1405
1406     reverb    - Reverb Enable - 1 = enable, 0 = disable (default)
1407                   - SoundCard must have onboard SRAM for this.
1408     mge       - Mic Gain Enable - 1 = enable, 0 = disable (default)
1409     
1410     This module supports multiple cards and autoprobe.
1411
1412   Module snd-serial-u16550
1413   ------------------------
1414
1415     Module for UART16550A serial MIDI ports.
1416
1417     port        - port # for UART16550A chip
1418     irq         - IRQ # for UART16550A chip, -1 = poll mode
1419     speed       - speed in bauds (9600,19200,38400,57600,115200)
1420                   38400 = default
1421     base        - base for divisor in bauds (57600,115200,230400,460800)
1422                   115200 = default
1423     outs        - number of MIDI ports in a serial port (1-4)
1424                   1 = default
1425     adaptor     - Type of adaptor.
1426                   0 = Soundcanvas, 1 = MS-124T, 2 = MS-124W S/A,
1427                   3 = MS-124W M/B, 4 = Generic
1428     
1429     This module supports multiple cards. This module does not support autoprobe
1430     thus the main port must be specified!!! Other options are optional.
1431
1432   Module snd-trident
1433   ------------------
1434
1435     Module for Trident 4DWave DX/NX sound cards.
1436                         * Best Union  Miss Melody 4DWave PCI
1437                         * HIS  4DWave PCI
1438                         * Warpspeed  ONSpeed 4DWave PCI
1439                         * AzTech  PCI 64-Q3D
1440                         * Addonics  SV 750
1441                         * CHIC  True Sound 4Dwave
1442                         * Shark  Predator4D-PCI
1443                         * Jaton  SonicWave 4D
1444
1445     pcm_channels   - max channels (voices) reserved for PCM
1446     wavetable_size - max wavetable size in kB (4-?kb)
1447
1448     This module supports multiple cards and autoprobe.
1449
1450     The power-management is supported.
1451
1452   Module snd-usb-audio
1453   --------------------
1454
1455     Module for USB audio and USB MIDI devices.
1456
1457     vid             - Vendor ID for the device (optional)
1458     pid             - Product ID for the device (optional)
1459     device_setup    - Device specific magic number (optional)
1460                     - Influence depends on the device
1461                     - Default: 0x0000 
1462
1463     This module supports multiple devices, autoprobe and hotplugging.
1464
1465   Module snd-usb-usx2y
1466   --------------------
1467
1468     Module for Tascam USB US-122, US-224 and US-428 devices.
1469
1470     This module supports multiple devices, autoprobe and hotplugging.
1471
1472     Note: you need to load the firmware via usx2yloader utility included
1473           in alsa-tools and alsa-firmware packages.
1474
1475   Module snd-via82xx
1476   ------------------
1477
1478     Module for AC'97 motherboards based on VIA 82C686A/686B, 8233,
1479     8233A, 8233C, 8235, 8237 (south) bridge.
1480
1481     mpu_port    - 0x300,0x310,0x320,0x330, otherwise obtain BIOS setup
1482                   [VIA686A/686B only]
1483     joystick    - Enable joystick (default off) [VIA686A/686B only]
1484     ac97_clock  - AC'97 codec clock base (default 48000Hz)
1485     dxs_support - support DXS channels,
1486                   0 = auto (default), 1 = enable, 2 = disable,
1487                   3 = 48k only, 4 = no VRA, 5 = enable any sample
1488                   rate and different sample rates on different
1489                   channels
1490                   [VIA8233/C, 8235, 8237 only]
1491     ac97_quirk  - AC'97 workaround for strange hardware
1492                   See "AC97 Quirk Option" section below.
1493
1494     This module supports one chip and autoprobe.
1495
1496     Note: on some SMP motherboards like MSI 694D the interrupts might
1497           not be generated properly.  In such a case, please try to
1498           set the SMP (or MPS) version on BIOS to 1.1 instead of
1499           default value 1.4.  Then the interrupt number will be
1500           assigned under 15. You might also upgrade your BIOS.
1501     
1502     Note: VIA8233/5/7 (not VIA8233A) can support DXS (direct sound)
1503           channels as the first PCM.  On these channels, up to 4
1504           streams can be played at the same time, and the controller
1505           can perform sample rate conversion with separate rates for
1506           each channel.
1507           As default (dxs_support = 0), 48k fixed rate is chosen
1508           except for the known devices since the output is often
1509           noisy except for 48k on some mother boards due to the
1510           bug of BIOS.
1511           Please try once dxs_support=5 and if it works on other
1512           sample rates (e.g. 44.1kHz of mp3 playback), please let us
1513           know the PCI subsystem vendor/device id's (output of
1514           "lspci -nv").
1515           If dxs_support=5 does not work, try dxs_support=4; if it
1516           doesn't work too, try dxs_support=1.  (dxs_support=1 is
1517           usually for old motherboards.  The correct implemented
1518           board should work with 4 or 5.)  If it still doesn't
1519           work and the default setting is ok, dxs_support=3 is the
1520           right choice.  If the default setting doesn't work at all,
1521           try dxs_support=2 to disable the DXS channels.
1522           In any cases, please let us know the result and the
1523           subsystem vendor/device ids.  See "Links and Addresses"
1524           below.
1525
1526     Note: for the MPU401 on VIA823x, use snd-mpu401 driver
1527           additionally.  The mpu_port option is for VIA686 chips only.
1528
1529     The power-management is supported.
1530
1531   Module snd-via82xx-modem
1532   ------------------------
1533
1534     Module for VIA82xx AC97 modem
1535
1536     ac97_clock  - AC'97 codec clock base (default 48000Hz)
1537
1538     This module supports one card and autoprobe.
1539
1540     Note: The default index value of this module is -2, i.e. the first
1541           slot is excluded.
1542
1543     The power-management is supported.
1544
1545   Module snd-virmidi
1546   ------------------
1547
1548     Module for virtual rawmidi devices.
1549     This module creates virtual rawmidi devices which communicate
1550     to the corresponding ALSA sequencer ports.
1551
1552     midi_devs   - MIDI devices # (1-4, default=4)
1553     
1554     This module supports multiple cards.
1555
1556   Module snd-vx222
1557   ----------------
1558
1559     Module for Digigram VX-Pocket VX222, V222 v2 and Mic cards.
1560
1561     mic         - Enable Microphone on V222 Mic (NYI)
1562     ibl         - Capture IBL size. (default = 0, minimum size)
1563
1564     This module supports multiple cards.
1565
1566     When the driver is compiled as a module and the hotplug firmware
1567     is supported, the firmware data is loaded via hotplug automatically.
1568     Install the necessary firmware files in alsa-firmware package.
1569     When no hotplug fw loader is available, you need to load the
1570     firmware via vxloader utility in alsa-tools package.  To invoke
1571     vxloader automatically, add the following to /etc/modprobe.conf
1572
1573         install snd-vx222 /sbin/modprobe --first-time -i snd-vx222 && /usr/bin/vxloader
1574
1575     (for 2.2/2.4 kernels, add "post-install /usr/bin/vxloader" to
1576      /etc/modules.conf, instead.)
1577     IBL size defines the interrupts period for PCM.  The smaller size
1578     gives smaller latency but leads to more CPU consumption, too.
1579     The size is usually aligned to 126.  As default (=0), the smallest
1580     size is chosen.  The possible IBL values can be found in
1581     /proc/asound/cardX/vx-status proc file.
1582
1583     The power-management is supported.
1584
1585   Module snd-vxpocket
1586   -------------------
1587
1588     Module for Digigram VX-Pocket VX2 and 440 PCMCIA cards.
1589
1590     ibl      - Capture IBL size. (default = 0, minimum size)
1591
1592     This module supports multiple cards.  The module is compiled only when
1593     PCMCIA is supported on kernel.
1594
1595     With the older 2.6.x kernel, to activate the driver via the card
1596     manager, you'll need to set up /etc/pcmcia/vxpocket.conf.  See the
1597     sound/pcmcia/vx/vxpocket.c.  2.6.13 or later kernel requires no
1598     longer require a config file.
1599
1600     When the driver is compiled as a module and the hotplug firmware
1601     is supported, the firmware data is loaded via hotplug automatically.
1602     Install the necessary firmware files in alsa-firmware package.
1603     When no hotplug fw loader is available, you need to load the
1604     firmware via vxloader utility in alsa-tools package.
1605
1606     About capture IBL, see the description of snd-vx222 module.
1607
1608     Note: the driver is build only when CONFIG_ISA is set.
1609     
1610     Note2: snd-vxp440 driver is merged to snd-vxpocket driver since
1611            ALSA 1.0.10.
1612
1613     The power-management is supported.
1614
1615   Module snd-ymfpci
1616   -----------------
1617
1618     Module for Yamaha PCI chips (YMF72x, YMF74x & YMF75x).
1619
1620     mpu_port      - 0x300,0x330,0x332,0x334, 0 (disable) by default,
1621                     1 (auto-detect for YMF744/754 only)
1622     fm_port       - 0x388,0x398,0x3a0,0x3a8, 0 (disable) by default
1623                     1 (auto-detect for YMF744/754 only)
1624     joystick_port - 0x201,0x202,0x204,0x205, 0 (disable) by default,
1625                     1 (auto-detect)
1626     rear_switch   - enable shared rear/line-in switch (bool)
1627
1628     This module supports autoprobe and multiple chips.
1629
1630     The power-management is supported.
1631
1632   Module snd-pdaudiocf
1633   --------------------
1634
1635     Module for Sound Core PDAudioCF sound card.
1636
1637     Note: the driver is build only when CONFIG_ISA is set.
1638
1639     The power-management is supported.
1640
1641
1642 AC97 Quirk Option
1643 =================
1644
1645 The ac97_quirk option is used to enable/override the workaround for
1646 specific devices on drivers for on-board AC'97 controllers like
1647 snd-intel8x0.  Some hardware have swapped output pins between Master
1648 and Headphone, or Surround (thanks to confusion of AC'97
1649 specifications from version to version :-)
1650
1651 The driver provides the auto-detection of known problematic devices,
1652 but some might be unknown or wrongly detected.  In such a case, pass
1653 the proper value with this option.
1654
1655 The following strings are accepted:
1656     - default   Don't override the default setting
1657     - none      Disable the quirk
1658     - hp_only   Bind Master and Headphone controls as a single control
1659     - swap_hp   Swap headphone and master controls
1660     - swap_surround  Swap master and surround controls
1661     - ad_sharing  For AD1985, turn on OMS bit and use headphone
1662     - alc_jack  For ALC65x, turn on the jack sense mode
1663     - inv_eapd  Inverted EAPD implementation
1664     - mute_led  Bind EAPD bit for turning on/off mute LED
1665
1666 For backward compatibility, the corresponding integer value -1, 0,
1667 ... are  accepted, too.
1668
1669 For example, if "Master" volume control has no effect on your device
1670 but only "Headphone" does, pass ac97_quirk=hp_only module option.
1671
1672
1673 Configuring Non-ISAPNP Cards
1674 ============================
1675
1676 When the kernel is configured with ISA-PnP support, the modules
1677 supporting the isapnp cards will have module options "isapnp".
1678 If this option is set, *only* the ISA-PnP devices will be probed.
1679 For probing the non ISA-PnP cards, you have to pass "isapnp=0" option
1680 together with the proper i/o and irq configuration.
1681
1682 When the kernel is configured without ISA-PnP support, isapnp option
1683 will be not built in.
1684
1685
1686 Module Autoloading Support
1687 ==========================
1688
1689 The ALSA drivers can be loaded automatically on demand by defining
1690 module aliases.  The string 'snd-card-%1' is requested for ALSA native
1691 devices where %i is sound card number from zero to seven.
1692
1693 To auto-load an ALSA driver for OSS services, define the string
1694 'sound-slot-%i' where %i means the slot number for OSS, which
1695 corresponds to the card index of ALSA.  Usually, define this
1696 as the same card module.
1697
1698 An example configuration for a single emu10k1 card is like below:
1699 ----- /etc/modprobe.conf
1700 alias snd-card-0 snd-emu10k1
1701 alias sound-slot-0 snd-emu10k1
1702 ----- /etc/modprobe.conf
1703
1704 The available number of auto-loaded sound cards depends on the module
1705 option "cards_limit" of snd module.  As default it's set to 1.
1706 To enable the auto-loading of multiple cards, specify the number of
1707 sound cards in that option.
1708
1709 When multiple cards are available, it'd better to specify the index
1710 number for each card via module option, too, so that the order of
1711 cards is kept consistent.
1712
1713 An example configuration for two sound cards is like below:
1714
1715 ----- /etc/modprobe.conf
1716 # ALSA portion
1717 options snd cards_limit=2
1718 alias snd-card-0 snd-interwave
1719 alias snd-card-1 snd-ens1371
1720 options snd-interwave index=0
1721 options snd-ens1371 index=1
1722 # OSS/Free portion
1723 alias sound-slot-0 snd-interwave
1724 alias sound-slot-1 snd-ens1371
1725 ----- /etc/moprobe.conf
1726
1727 In this example, the interwave card is always loaded as the first card
1728 (index 0) and ens1371 as the second (index 1).
1729
1730
1731 ALSA PCM devices to OSS devices mapping
1732 =======================================
1733
1734 /dev/snd/pcmC0D0[c|p]  -> /dev/audio0 (/dev/audio) -> minor 4
1735 /dev/snd/pcmC0D0[c|p]  -> /dev/dsp0 (/dev/dsp)     -> minor 3
1736 /dev/snd/pcmC0D1[c|p]  -> /dev/adsp0 (/dev/adsp)   -> minor 12
1737 /dev/snd/pcmC1D0[c|p]  -> /dev/audio1              -> minor 4+16 = 20
1738 /dev/snd/pcmC1D0[c|p]  -> /dev/dsp1                -> minor 3+16 = 19
1739 /dev/snd/pcmC1D1[c|p]  -> /dev/adsp1               -> minor 12+16 = 28
1740 /dev/snd/pcmC2D0[c|p]  -> /dev/audio2              -> minor 4+32 = 36
1741 /dev/snd/pcmC2D0[c|p]  -> /dev/dsp2                -> minor 3+32 = 39
1742 /dev/snd/pcmC2D1[c|p]  -> /dev/adsp2               -> minor 12+32 = 44
1743
1744 The first number from /dev/snd/pcmC{X}D{Y}[c|p] expression means
1745 sound card number and second means device number.  The ALSA devices
1746 have either 'c' or 'p' suffix indicating the direction, capture and
1747 playback, respectively.
1748
1749 Please note that the device mapping above may be varied via the module
1750 options of snd-pcm-oss module.
1751
1752
1753 DEVFS support
1754 =============
1755
1756 The ALSA driver fully supports the devfs extension.
1757 You should add lines below to your devfsd.conf file:
1758
1759 LOOKUP snd MODLOAD ACTION snd
1760 REGISTER ^sound/.* PERMISSIONS root.audio 660
1761 REGISTER ^snd/.* PERMISSIONS root.audio 660
1762
1763 Warning: These lines assume that you have the audio group in your system.
1764          Otherwise replace audio word with another group name (root for
1765          example).
1766
1767
1768 Proc interfaces (/proc/asound)
1769 ==============================
1770
1771 /proc/asound/card#/pcm#[cp]/oss
1772 -------------------------------
1773   String "erase" - erase all additional informations about OSS applications
1774   String "<app_name> <fragments> <fragment_size> [<options>]"
1775
1776    <app_name> - name of application with (higher priority) or without path
1777    <fragments> - number of fragments or zero if auto
1778    <fragment_size> - size of fragment in bytes or zero if auto
1779    <options> - optional parameters
1780           - disable   the application tries to open a pcm device for
1781                       this channel but does not want to use it.
1782                       (Cause a bug or mmap needs)
1783                       It's good for Quake etc...
1784           - direct    don't use plugins
1785           - block     force block mode (rvplayer)
1786           - non-block force non-block mode
1787           - whole-frag  write only whole fragments (optimization affecting
1788                         playback only)
1789           - no-silence  do not fill silence ahead to avoid clicks
1790           - buggy-ptr   Returns the whitespace blocks in GETOPTR ioctl
1791                         instead of filled blocks
1792
1793   Example: echo "x11amp 128 16384" > /proc/asound/card0/pcm0p/oss
1794            echo "squake 0 0 disable" > /proc/asound/card0/pcm0c/oss
1795            echo "rvplayer 0 0 block" > /proc/asound/card0/pcm0p/oss
1796
1797
1798 Early Buffer Allocation
1799 =======================
1800
1801 Some drivers (e.g. hdsp) require the large contiguous buffers, and
1802 sometimes it's too late to find such spaces when the driver module is
1803 actually loaded due to memory fragmentation.  You can pre-allocate the
1804 PCM buffers by loading snd-page-alloc module and write commands to its
1805 proc file in prior, for example, in the early boot stage like
1806 /etc/init.d/*.local scripts.
1807
1808 Reading the proc file /proc/drivers/snd-page-alloc shows the current
1809 usage of page allocation.  In writing, you can send the following
1810 commands to the snd-page-alloc driver:
1811
1812   - add VENDOR DEVICE MASK SIZE BUFFERS
1813
1814     VENDOR and DEVICE are PCI vendor and device IDs.  They take
1815     integer numbers (0x prefix is needed for the hex).
1816     MASK is the PCI DMA mask.  Pass 0 if not restricted.
1817     SIZE is the size of each buffer to allocate.  You can pass
1818     k and m suffix for KB and MB.  The max number is 16MB.
1819     BUFFERS is the number of buffers to allocate.  It must be greater
1820     than 0.  The max number is 4.
1821
1822   - erase
1823
1824     This will erase the all pre-allocated buffers which are not in
1825     use.
1826
1827
1828 Links and Addresses
1829 ===================
1830
1831   ALSA project homepage
1832        http://www.alsa-project.org
1833
1834   ALSA Bug Tracking System
1835        https://bugtrack.alsa-project.org/bugs/
1836
1837   ALSA Developers ML
1838        mailto:alsa-devel@lists.sourceforge.net