Linux 6.9-rc1
[linux-2.6-microblaze.git] / Documentation / sound / alsa-configuration.rst
1 ==============================================================
2 Advanced Linux Sound Architecture - Driver Configuration guide
3 ==============================================================
4
5
6 Kernel Configuration
7 ====================
8
9 To enable ALSA support you need at least to build the kernel with
10 primary sound card support (``CONFIG_SOUND``).  Since ALSA can emulate
11 OSS, you don't have to choose any of the OSS modules.
12
13 Enable "OSS API emulation" (``CONFIG_SND_OSSEMUL``) and both OSS mixer
14 and PCM supports if you want to run OSS applications with ALSA.
15
16 If you want to support the WaveTable functionality on cards such as
17 SB Live! then you need to enable "Sequencer support"
18 (``CONFIG_SND_SEQUENCER``).
19
20 To make ALSA debug messages more verbose, enable the "Verbose printk"
21 and "Debug" options.  To check for memory leaks, turn on "Debug memory"
22 too.  "Debug detection" will add checks for the detection of cards.
23
24 Please note that all the ALSA ISA drivers support the Linux isapnp API
25 (if the card supports ISA PnP).  You don't need to configure the cards
26 using isapnptools.
27
28
29 Module parameters
30 =================
31
32 The user can load modules with options. If the module supports more than
33 one card and you have more than one card of the same type then you can
34 specify multiple values for the option separated by commas.
35
36
37 Module snd
38 ----------
39
40 The core ALSA module.  It is used by all ALSA card drivers.
41 It takes the following options which have global effects.
42
43 major
44     major number for sound driver;
45     Default: 116
46 cards_limit
47     limiting card index for auto-loading (1-8);
48     Default: 1;
49     For auto-loading more than one card, specify this option
50     together with snd-card-X aliases.
51 slots
52     Reserve the slot index for the given driver;
53     This option takes multiple strings.
54     See `Module Autoloading Support`_ section for details.
55 debug
56     Specifies the debug message level;
57     (0 = disable debug prints, 1 = normal debug messages,
58     2 = verbose debug messages);
59     This option appears only when ``CONFIG_SND_DEBUG=y``.
60     This option can be dynamically changed via sysfs
61     /sys/modules/snd/parameters/debug file.
62   
63 Module snd-pcm-oss
64 ------------------
65
66 The PCM OSS emulation module.
67 This module takes options which change the mapping of devices.
68
69 dsp_map
70     PCM device number maps assigned to the 1st OSS device;
71     Default: 0
72 adsp_map
73     PCM device number maps assigned to the 2nd OSS device;
74     Default: 1
75 nonblock_open
76     Don't block opening busy PCM devices;
77     Default: 1
78
79 For example, when ``dsp_map=2``, /dev/dsp will be mapped to PCM #2 of
80 the card #0.  Similarly, when ``adsp_map=0``, /dev/adsp will be mapped
81 to PCM #0 of the card #0.
82 For changing the second or later card, specify the option with
83 commas, such like ``dsp_map=0,1``.
84
85 ``nonblock_open`` option is used to change the behavior of the PCM
86 regarding opening the device.  When this option is non-zero,
87 opening a busy OSS PCM device won't be blocked but return
88 immediately with EAGAIN (just like O_NONBLOCK flag).
89     
90 Module snd-rawmidi
91 ------------------
92
93 This module takes options which change the mapping of devices.
94 similar to those of the snd-pcm-oss module.
95
96 midi_map
97     MIDI device number maps assigned to the 1st OSS device;
98     Default: 0
99 amidi_map
100     MIDI device number maps assigned to the 2nd OSS device;
101     Default: 1
102
103 Module snd-soc-core
104 -------------------
105
106 The soc core module. It is used by all ALSA card drivers.
107 It takes the following options which have global effects.
108
109 prealloc_buffer_size_kbytes
110     Specify prealloc buffer size in kbytes (default: 512).
111
112 Common parameters for top sound card modules
113 --------------------------------------------
114
115 Each of top level sound card module takes the following options.
116
117 index
118     index (slot #) of sound card;
119     Values: 0 through 31 or negative;
120     If nonnegative, assign that index number;
121     if negative, interpret as a bitmask of permissible indices;
122     the first free permitted index is assigned;
123     Default: -1
124 id
125     card ID (identifier or name);
126     Can be up to 15 characters long;
127     Default: the card type;
128     A directory by this name is created under /proc/asound/
129     containing information about the card;
130     This ID can be used instead of the index number in
131     identifying the card
132 enable
133     enable card;
134     Default: enabled, for PCI and ISA PnP cards
135
136 These options are used for either specifying the order of instances or
137 controlling enabling and disabling of each one of the devices if there
138 are multiple devices bound with the same driver. For example, there are
139 many machines which have two HD-audio controllers (one for HDMI/DP
140 audio and another for onboard analog). In most cases, the second one is
141 in primary usage, and people would like to assign it as the first
142 appearing card. They can do it by specifying "index=1,0" module
143 parameter, which will swap the assignment slots.
144
145 Today, with the sound backend like PulseAudio and PipeWire which
146 supports dynamic configuration, it's of little use, but that was a
147 help for static configuration in the past.
148
149 Module snd-adlib
150 ----------------
151
152 Module for AdLib FM cards.
153
154 port
155     port # for OPL chip
156
157 This module supports multiple cards. It does not support autoprobe, so
158 the port must be specified. For actual AdLib FM cards it will be 0x388.
159 Note that this card does not have PCM support and no mixer; only FM
160 synthesis.
161
162 Make sure you have ``sbiload`` from the alsa-tools package available and,
163 after loading the module, find out the assigned ALSA sequencer port
164 number through ``sbiload -l``.
165
166 Example output:
167 ::
168
169       Port     Client name                       Port name
170       64:0     OPL2 FM synth                     OPL2 FM Port
171
172 Load the ``std.sb`` and ``drums.sb`` patches also supplied by ``sbiload``:
173 ::
174
175       sbiload -p 64:0 std.sb drums.sb
176
177 If you use this driver to drive an OPL3, you can use ``std.o3`` and ``drums.o3``
178 instead. To have the card produce sound, use ``aplaymidi`` from alsa-utils:
179 ::
180
181       aplaymidi -p 64:0 foo.mid
182
183 Module snd-ad1816a
184 ------------------
185
186 Module for sound cards based on Analog Devices AD1816A/AD1815 ISA chips.
187
188 clockfreq
189     Clock frequency for AD1816A chip (default = 0, 33000Hz)
190     
191 This module supports multiple cards, autoprobe and PnP.
192     
193 Module snd-ad1848
194 -----------------
195
196 Module for sound cards based on AD1848/AD1847/CS4248 ISA chips.
197
198 port
199     port # for AD1848 chip
200 irq
201     IRQ # for AD1848  chip
202 dma1
203     DMA # for AD1848 chip (0,1,3)
204     
205 This module supports multiple cards.  It does not support autoprobe
206 thus main port must be specified!!! Other ports are optional.
207     
208 The power-management is supported.
209
210 Module snd-ad1889
211 -----------------
212
213 Module for Analog Devices AD1889 chips.
214
215 ac97_quirk
216     AC'97 workaround for strange hardware;
217     See the description of intel8x0 module for details.
218
219 This module supports multiple cards.
220
221 Module snd-ali5451
222 ------------------
223
224 Module for ALi M5451 PCI chip.
225
226 pcm_channels
227     Number of hardware channels assigned for PCM
228 spdif
229     Support SPDIF I/O;
230     Default: disabled
231
232 This module supports one chip and autoprobe.
233
234 The power-management is supported.
235
236 Module snd-als100
237 -----------------
238
239 Module for sound cards based on Avance Logic ALS100/ALS120 ISA chips.
240
241 This module supports multiple cards, autoprobe and PnP.
242
243 The power-management is supported.
244
245 Module snd-als300
246 -----------------
247
248 Module for Avance Logic ALS300 and ALS300+
249
250 This module supports multiple cards.
251
252 The power-management is supported.
253
254 Module snd-als4000
255 ------------------
256
257 Module for sound cards based on Avance Logic ALS4000 PCI chip.
258
259 joystick_port
260     port # for legacy joystick support;
261     0 = disabled (default), 1 = auto-detect
262     
263 This module supports multiple cards, autoprobe and PnP.
264
265 The power-management is supported.
266
267 Module snd-asihpi
268 -----------------
269
270 Module for AudioScience ASI soundcards
271
272 enable_hpi_hwdep
273     enable HPI hwdep for AudioScience soundcard
274
275 This module supports multiple cards.
276 The driver requires the firmware loader support on kernel.
277
278 Module snd-atiixp
279 -----------------
280
281 Module for ATI IXP 150/200/250/400 AC97 controllers.
282
283 ac97_clock
284     AC'97 clock (default = 48000)
285 ac97_quirk
286     AC'97 workaround for strange hardware;
287     See `AC97 Quirk Option`_ section below.
288 ac97_codec
289     Workaround to specify which AC'97 codec instead of probing.
290     If this works for you file a bug with your `lspci -vn` output.
291     (-2 = Force probing, -1 = Default behavior, 0-2 = Use the
292     specified codec.)
293 spdif_aclink
294     S/PDIF transfer over AC-link (default = 1)
295
296 This module supports one card and autoprobe.
297
298 ATI IXP has two different methods to control SPDIF output.  One is
299 over AC-link and another is over the "direct" SPDIF output.  The
300 implementation depends on the motherboard, and you'll need to
301 choose the correct one via spdif_aclink module option.
302
303 The power-management is supported.
304
305 Module snd-atiixp-modem
306 -----------------------
307
308 Module for ATI IXP 150/200/250 AC97 modem controllers.
309
310 This module supports one card and autoprobe.
311
312 Note: The default index value of this module is -2, i.e. the first
313 slot is excluded.
314
315 The power-management is supported.
316
317 Module snd-au8810, snd-au8820, snd-au8830
318 -----------------------------------------
319
320 Module for Aureal Vortex, Vortex2 and Advantage device.
321
322 pcifix
323     Control PCI workarounds;
324     0 = Disable all workarounds,
325     1 = Force the PCI latency of the Aureal card to 0xff,
326     2 = Force the Extend PCI#2 Internal Master for Efficient
327     Handling of Dummy Requests on the VIA KT133 AGP Bridge,
328     3 = Force both settings,
329     255 = Autodetect what is required (default)
330
331 This module supports all ADB PCM channels, ac97 mixer, SPDIF, hardware
332 EQ, mpu401, gameport. A3D and wavetable support are still in development.
333 Development and reverse engineering work is being coordinated at
334 https://savannah.nongnu.org/projects/openvortex/
335 SPDIF output has a copy of the AC97 codec output, unless you use the
336 ``spdif`` pcm device, which allows raw data passthru.
337 The hardware EQ hardware and SPDIF is only present in the Vortex2 and 
338 Advantage.
339
340 Note: Some ALSA mixer applications don't handle the SPDIF sample rate 
341 control correctly. If you have problems regarding this, try
342 another ALSA compliant mixer (alsamixer works).
343
344 Module snd-azt1605
345 ------------------
346
347 Module for Aztech Sound Galaxy soundcards based on the Aztech AZT1605
348 chipset.
349
350 port
351     port # for BASE (0x220,0x240,0x260,0x280)
352 wss_port
353     port # for WSS (0x530,0x604,0xe80,0xf40)
354 irq
355     IRQ # for WSS (7,9,10,11)
356 dma1
357     DMA # for WSS playback (0,1,3)
358 dma2
359     DMA # for WSS capture (0,1), -1 = disabled (default)
360 mpu_port
361     port # for MPU-401 UART (0x300,0x330), -1 = disabled (default)
362 mpu_irq
363     IRQ # for MPU-401 UART (3,5,7,9), -1 = disabled (default)
364 fm_port
365     port # for OPL3 (0x388), -1 = disabled (default)
366
367 This module supports multiple cards. It does not support autoprobe:
368 ``port``, ``wss_port``, ``irq`` and ``dma1`` have to be specified.
369 The other values are optional.
370
371 ``port`` needs to match the BASE ADDRESS jumper on the card (0x220 or 0x240)
372 or the value stored in the card's EEPROM for cards that have an EEPROM and
373 their "CONFIG MODE" jumper set to "EEPROM SETTING". The other values can
374 be chosen freely from the options enumerated above.
375
376 If ``dma2`` is specified and different from ``dma1``, the card will operate in
377 full-duplex mode. When ``dma1=3``, only ``dma2=0`` is valid and the only way to
378 enable capture since only channels 0 and 1 are available for capture.
379
380 Generic settings are ``port=0x220 wss_port=0x530 irq=10 dma1=1 dma2=0
381 mpu_port=0x330 mpu_irq=9 fm_port=0x388``.
382
383 Whatever IRQ and DMA channels you pick, be sure to reserve them for
384 legacy ISA in your BIOS.
385
386 Module snd-azt2316
387 ------------------
388
389 Module for Aztech Sound Galaxy soundcards based on the Aztech AZT2316
390 chipset.
391
392 port
393     port # for BASE (0x220,0x240,0x260,0x280)
394 wss_port
395     port # for WSS (0x530,0x604,0xe80,0xf40)
396 irq
397     IRQ # for WSS (7,9,10,11)
398 dma1
399     DMA # for WSS playback (0,1,3)
400 dma2
401     DMA # for WSS capture (0,1), -1 = disabled (default)
402 mpu_port
403     port # for MPU-401 UART (0x300,0x330), -1 = disabled (default)
404 mpu_irq
405     IRQ # for MPU-401 UART (5,7,9,10), -1 = disabled (default)
406 fm_port
407     port # for OPL3 (0x388), -1 = disabled (default)
408
409 This module supports multiple cards. It does not support autoprobe:
410 ``port``, ``wss_port``, ``irq`` and ``dma1`` have to be specified.
411 The other values are optional.
412
413 ``port`` needs to match the BASE ADDRESS jumper on the card (0x220 or 0x240)
414 or the value stored in the card's EEPROM for cards that have an EEPROM and
415 their "CONFIG MODE" jumper set to "EEPROM SETTING". The other values can
416 be chosen freely from the options enumerated above.
417
418 If ``dma2`` is specified and different from ``dma1``, the card will operate in
419 full-duplex mode. When ``dma1=3``, only ``dma2=0`` is valid and the only way to
420 enable capture since only channels 0 and 1 are available for capture.
421
422 Generic settings are ``port=0x220 wss_port=0x530 irq=10 dma1=1 dma2=0
423 mpu_port=0x330 mpu_irq=9 fm_port=0x388``.
424
425 Whatever IRQ and DMA channels you pick, be sure to reserve them for
426 legacy ISA in your BIOS.
427
428 Module snd-aw2
429 --------------
430
431 Module for Audiowerk2 sound card
432
433 This module supports multiple cards.
434
435 Module snd-azt2320
436 ------------------
437
438 Module for sound cards based on Aztech System AZT2320 ISA chip (PnP only).
439
440 This module supports multiple cards, PnP and autoprobe.
441
442 The power-management is supported.
443
444 Module snd-azt3328
445 ------------------
446
447 Module for sound cards based on Aztech AZF3328 PCI chip.
448
449 joystick
450     Enable joystick (default off)
451
452 This module supports multiple cards.
453
454 Module snd-bt87x
455 ----------------
456
457 Module for video cards based on Bt87x chips.
458
459 digital_rate
460     Override the default digital rate (Hz)
461 load_all
462     Load the driver even if the card model isn't known
463
464 This module supports multiple cards.
465
466 Note: The default index value of this module is -2, i.e. the first
467 slot is excluded.
468
469 Module snd-ca0106
470 -----------------
471
472 Module for Creative Audigy LS and SB Live 24bit
473
474 This module supports multiple cards.
475
476
477 Module snd-cmi8330
478 ------------------
479
480 Module for sound cards based on C-Media CMI8330 ISA chips.
481
482 isapnp
483     ISA PnP detection - 0 = disable, 1 = enable (default)
484
485 with ``isapnp=0``, the following options are available:
486
487 wssport
488     port # for CMI8330 chip (WSS)
489 wssirq
490     IRQ # for CMI8330 chip (WSS)
491 wssdma
492     first DMA # for CMI8330 chip (WSS)
493 sbport
494     port # for CMI8330 chip (SB16)
495 sbirq
496     IRQ # for CMI8330 chip (SB16)
497 sbdma8
498     8bit DMA # for CMI8330 chip (SB16)
499 sbdma16
500     16bit DMA # for CMI8330 chip (SB16)
501 fmport
502     (optional) OPL3 I/O port
503 mpuport
504     (optional) MPU401 I/O port
505 mpuirq
506     (optional) MPU401 irq #
507
508 This module supports multiple cards and autoprobe.
509
510 The power-management is supported.
511
512 Module snd-cmipci
513 -----------------
514
515 Module for C-Media CMI8338/8738/8768/8770 PCI sound cards.
516
517 mpu_port
518     port address of MIDI interface (8338 only):
519     0x300,0x310,0x320,0x330 = legacy port,
520     1 = integrated PCI port (default on 8738),
521     0 = disable
522 fm_port
523     port address of OPL-3 FM synthesizer (8x38 only):
524     0x388 = legacy port,
525     1 = integrated PCI port (default on 8738),
526     0 = disable
527 soft_ac3
528     Software-conversion of raw SPDIF packets (model 033 only) (default = 1)
529 joystick_port
530     Joystick port address (0 = disable, 1 = auto-detect)
531
532 This module supports autoprobe and multiple cards.
533
534 The power-management is supported.
535
536 Module snd-cs4231
537 -----------------
538
539 Module for sound cards based on CS4231 ISA chips.
540
541 port
542     port # for CS4231 chip
543 mpu_port
544     port # for MPU-401 UART (optional), -1 = disable
545 irq
546     IRQ # for CS4231 chip
547 mpu_irq
548     IRQ # for MPU-401 UART
549 dma1
550     first DMA # for CS4231 chip
551 dma2
552     second DMA # for CS4231 chip
553
554 This module supports multiple cards. This module does not support autoprobe
555 thus main port must be specified!!! Other ports are optional.
556
557 The power-management is supported.
558
559 Module snd-cs4236
560 -----------------
561
562 Module for sound cards based on CS4232/CS4232A,
563 CS4235/CS4236/CS4236B/CS4237B/CS4238B/CS4239 ISA chips.
564
565 isapnp
566     ISA PnP detection - 0 = disable, 1 = enable (default)
567
568 with ``isapnp=0``, the following options are available:
569
570 port
571     port # for CS4236 chip (PnP setup - 0x534)
572 cport
573     control port # for CS4236 chip (PnP setup - 0x120,0x210,0xf00)
574 mpu_port
575     port # for MPU-401 UART (PnP setup - 0x300), -1 = disable
576 fm_port
577     FM port # for CS4236 chip (PnP setup - 0x388), -1 = disable
578 irq
579     IRQ # for CS4236 chip (5,7,9,11,12,15)
580 mpu_irq
581     IRQ # for MPU-401 UART (9,11,12,15)
582 dma1
583     first DMA # for CS4236 chip (0,1,3)
584 dma2
585     second DMA # for CS4236 chip (0,1,3), -1 = disable
586
587 This module supports multiple cards. This module does not support autoprobe
588 (if ISA PnP is not used) thus main port and control port must be
589 specified!!! Other ports are optional.
590
591 The power-management is supported.
592
593 This module is aliased as snd-cs4232 since it provides the old
594 snd-cs4232 functionality, too.
595
596 Module snd-cs4281
597 -----------------
598
599 Module for Cirrus Logic CS4281 soundchip.
600
601 dual_codec
602     Secondary codec ID (0 = disable, default)
603
604 This module supports multiple cards.
605
606 The power-management is supported.
607
608 Module snd-cs46xx
609 -----------------
610
611 Module for PCI sound cards based on CS4610/CS4612/CS4614/CS4615/CS4622/
612 CS4624/CS4630/CS4280 PCI chips.
613
614 external_amp
615     Force to enable external amplifier.
616 thinkpad
617     Force to enable Thinkpad's CLKRUN control.
618 mmap_valid
619     Support OSS mmap mode (default = 0).
620
621 This module supports multiple cards and autoprobe.
622 Usually external amp and CLKRUN controls are detected automatically
623 from PCI sub vendor/device ids.  If they don't work, give the options
624 above explicitly.
625
626 The power-management is supported.
627
628 Module snd-cs5530
629 -----------------
630
631 Module for Cyrix/NatSemi Geode 5530 chip. 
632
633 Module snd-cs5535audio
634 ----------------------
635
636 Module for multifunction CS5535 companion PCI device
637
638 The power-management is supported.
639
640 Module snd-ctxfi
641 ----------------
642
643 Module for Creative Sound Blaster X-Fi boards (20k1 / 20k2 chips)
644
645 * Creative Sound Blaster X-Fi Titanium Fatal1ty Champion Series
646 * Creative Sound Blaster X-Fi Titanium Fatal1ty Professional Series
647 * Creative Sound Blaster X-Fi Titanium Professional Audio
648 * Creative Sound Blaster X-Fi Titanium
649 * Creative Sound Blaster X-Fi Elite Pro
650 * Creative Sound Blaster X-Fi Platinum
651 * Creative Sound Blaster X-Fi Fatal1ty
652 * Creative Sound Blaster X-Fi XtremeGamer
653 * Creative Sound Blaster X-Fi XtremeMusic
654         
655 reference_rate
656     reference sample rate, 44100 or 48000 (default)
657 multiple
658     multiple to ref. sample rate, 1 or 2 (default)
659 subsystem
660     override the PCI SSID for probing;
661     the value consists of SSVID << 16 | SSDID.
662     The default is zero, which means no override.
663
664 This module supports multiple cards.
665
666 Module snd-darla20
667 ------------------
668
669 Module for Echoaudio Darla20
670
671 This module supports multiple cards.
672 The driver requires the firmware loader support on kernel.
673
674 Module snd-darla24
675 ------------------
676
677 Module for Echoaudio Darla24
678
679 This module supports multiple cards.
680 The driver requires the firmware loader support on kernel.
681
682 Module snd-dt019x
683 -----------------
684
685 Module for Diamond Technologies DT-019X / Avance Logic ALS-007 (PnP
686 only)
687
688 This module supports multiple cards.  This module is enabled only with
689 ISA PnP support.
690
691 The power-management is supported.
692
693 Module snd-dummy
694 ----------------
695
696 Module for the dummy sound card. This "card" doesn't do any output
697 or input, but you may use this module for any application which
698 requires a sound card (like RealPlayer).
699
700 pcm_devs
701     Number of PCM devices assigned to each card (default = 1, up to 4)
702 pcm_substreams
703     Number of PCM substreams assigned to each PCM (default = 8, up to 128)
704 hrtimer
705     Use hrtimer (=1, default) or system timer (=0)
706 fake_buffer
707     Fake buffer allocations (default = 1)
708
709 When multiple PCM devices are created, snd-dummy gives different
710 behavior to each PCM device:
711 * 0 = interleaved with mmap support
712 * 1 = non-interleaved with mmap support
713 * 2 = interleaved without mmap 
714 * 3 = non-interleaved without mmap
715
716 As default, snd-dummy drivers doesn't allocate the real buffers
717 but either ignores read/write or mmap a single dummy page to all
718 buffer pages, in order to save the resources.  If your apps need
719 the read/ written buffer data to be consistent, pass fake_buffer=0
720 option.
721
722 The power-management is supported.
723
724 Module snd-echo3g
725 -----------------
726
727 Module for Echoaudio 3G cards (Gina3G/Layla3G)
728
729 This module supports multiple cards.
730 The driver requires the firmware loader support on kernel.
731
732 Module snd-emu10k1
733 ------------------
734
735 Module for EMU10K1/EMU10k2 based PCI sound cards.
736
737 * Sound Blaster Live!
738 * Sound Blaster PCI 512
739 * Sound Blaster Audigy
740 * E-MU APS (partially supported)
741 * E-MU DAS
742
743 extin
744     bitmap of available external inputs for FX8010 (see below)
745 extout
746     bitmap of available external outputs for FX8010 (see below)
747 seq_ports
748     allocated sequencer ports (4 by default)
749 max_synth_voices
750     limit of voices used for wavetable (64 by default)
751 max_buffer_size
752     specifies the maximum size of wavetable/pcm buffers given in MB
753     unit.  Default value is 128.
754 enable_ir
755     enable IR
756
757 This module supports multiple cards and autoprobe.
758
759 Input & Output configurations                   [extin/extout]
760 * Creative Card wo/Digital out                  [0x0003/0x1f03]
761 * Creative Card w/Digital out                   [0x0003/0x1f0f]
762 * Creative Card w/Digital CD in                 [0x000f/0x1f0f]
763 * Creative Card wo/Digital out + LiveDrive      [0x3fc3/0x1fc3]
764 * Creative Card w/Digital out + LiveDrive       [0x3fc3/0x1fcf]
765 * Creative Card w/Digital CD in + LiveDrive     [0x3fcf/0x1fcf]
766 * Creative Card wo/Digital out + Digital I/O 2  [0x0fc3/0x1f0f]
767 * Creative Card w/Digital out + Digital I/O 2   [0x0fc3/0x1f0f]
768 * Creative Card w/Digital CD in + Digital I/O 2 [0x0fcf/0x1f0f]
769 * Creative Card 5.1/w Digital out + LiveDrive   [0x3fc3/0x1fff]
770 * Creative Card 5.1 (c) 2003                    [0x3fc3/0x7cff]
771 * Creative Card all ins and outs                [0x3fff/0x7fff]
772   
773 The power-management is supported.
774   
775 Module snd-emu10k1x
776 -------------------
777
778 Module for Creative Emu10k1X (SB Live Dell OEM version)
779
780 This module supports multiple cards.
781
782 Module snd-ens1370
783 ------------------
784
785 Module for Ensoniq AudioPCI ES1370 PCI sound cards.
786
787 * SoundBlaster PCI 64
788 * SoundBlaster PCI 128
789     
790 joystick
791     Enable joystick (default off)
792   
793 This module supports multiple cards and autoprobe.
794
795 The power-management is supported.
796
797 Module snd-ens1371
798 ------------------
799
800 Module for Ensoniq AudioPCI ES1371 PCI sound cards.
801
802 * SoundBlaster PCI 64
803 * SoundBlaster PCI 128
804 * SoundBlaster Vibra PCI
805       
806 joystick_port
807     port # for joystick (0x200,0x208,0x210,0x218), 0 = disable
808     (default), 1 = auto-detect
809   
810 This module supports multiple cards and autoprobe.
811
812 The power-management is supported.
813
814 Module snd-es1688
815 -----------------
816
817 Module for ESS AudioDrive ES-1688 and ES-688 sound cards.
818
819 isapnp
820     ISA PnP detection - 0 = disable, 1 = enable (default)
821 mpu_port
822     port # for MPU-401 port (0x300,0x310,0x320,0x330), -1 = disable (default)
823 mpu_irq
824     IRQ # for MPU-401 port (5,7,9,10)
825 fm_port
826     port # for OPL3 (option; share the same port as default)
827
828 with ``isapnp=0``, the following additional options are available:
829
830 port
831     port # for ES-1688 chip (0x220,0x240,0x260)
832 irq
833     IRQ # for ES-1688 chip (5,7,9,10)
834 dma8
835     DMA # for ES-1688 chip (0,1,3)
836
837 This module supports multiple cards and autoprobe (without MPU-401 port)
838 and PnP with the ES968 chip.
839
840 Module snd-es18xx
841 -----------------
842
843 Module for ESS AudioDrive ES-18xx sound cards.
844
845 isapnp
846     ISA PnP detection - 0 = disable, 1 = enable (default)
847
848 with ``isapnp=0``, the following options are available:
849
850 port
851     port # for ES-18xx chip (0x220,0x240,0x260)
852 mpu_port
853     port # for MPU-401 port (0x300,0x310,0x320,0x330), -1 = disable (default)
854 fm_port
855     port # for FM (optional, not used)
856 irq
857     IRQ # for ES-18xx chip (5,7,9,10)
858 dma1
859     first DMA # for ES-18xx chip (0,1,3)
860 dma2
861     first DMA # for ES-18xx chip (0,1,3)
862
863 This module supports multiple cards, ISA PnP and autoprobe (without MPU-401
864 port if native ISA PnP routines are not used).
865 When ``dma2`` is equal with ``dma1``, the driver works as half-duplex.
866
867 The power-management is supported.
868
869 Module snd-es1938
870 -----------------
871
872 Module for sound cards based on ESS Solo-1 (ES1938,ES1946) chips.
873
874 This module supports multiple cards and autoprobe.
875
876 The power-management is supported.
877
878 Module snd-es1968
879 -----------------
880
881 Module for sound cards based on ESS Maestro-1/2/2E (ES1968/ES1978) chips.
882
883 total_bufsize
884     total buffer size in kB (1-4096kB)
885 pcm_substreams_p
886     playback channels (1-8, default=2)
887 pcm_substreams_c
888     capture channels (1-8, default=0)
889 clock
890     clock (0 = auto-detection)
891 use_pm
892     support the power-management (0 = off, 1 = on, 2 = auto (default))
893 enable_mpu
894     enable MPU401 (0 = off, 1 = on, 2 = auto (default))
895 joystick
896     enable joystick (default off)       
897
898 This module supports multiple cards and autoprobe.
899
900 The power-management is supported.
901
902 Module snd-fm801
903 ----------------
904
905 Module for ForteMedia FM801 based PCI sound cards.
906
907 tea575x_tuner
908     Enable TEA575x tuner;
909     1 = MediaForte 256-PCS,
910     2 = MediaForte 256-PCPR,
911     3 = MediaForte 64-PCR
912     High 16-bits are video (radio) device number + 1;
913     example: 0x10002 (MediaForte 256-PCPR, device 1)
914           
915 This module supports multiple cards and autoprobe.
916
917 The power-management is supported.
918
919 Module snd-gina20
920 -----------------
921
922 Module for Echoaudio Gina20
923
924 This module supports multiple cards.
925 The driver requires the firmware loader support on kernel.
926
927 Module snd-gina24
928 -----------------
929
930 Module for Echoaudio Gina24
931
932 This module supports multiple cards.
933 The driver requires the firmware loader support on kernel.
934
935 Module snd-gusclassic
936 ---------------------
937
938 Module for Gravis UltraSound Classic sound card.
939
940 port
941     port # for GF1 chip (0x220,0x230,0x240,0x250,0x260)
942 irq
943     IRQ # for GF1 chip (3,5,9,11,12,15)
944 dma1
945     DMA # for GF1 chip (1,3,5,6,7)
946 dma2
947     DMA # for GF1 chip (1,3,5,6,7,-1=disable)
948 joystick_dac
949     0 to 31, (0.59V-4.52V or 0.389V-2.98V)
950 voices
951     GF1 voices limit (14-32)
952 pcm_voices
953     reserved PCM voices
954
955 This module supports multiple cards and autoprobe.
956
957 Module snd-gusextreme
958 ---------------------
959
960 Module for Gravis UltraSound Extreme (Synergy ViperMax) sound card.
961
962 port
963     port # for ES-1688 chip (0x220,0x230,0x240,0x250,0x260)
964 gf1_port
965     port # for GF1 chip (0x210,0x220,0x230,0x240,0x250,0x260,0x270)
966 mpu_port
967     port # for MPU-401 port (0x300,0x310,0x320,0x330), -1 = disable
968 irq
969     IRQ # for ES-1688 chip (5,7,9,10)
970 gf1_irq
971     IRQ # for GF1 chip (3,5,9,11,12,15)
972 mpu_irq
973     IRQ # for MPU-401 port (5,7,9,10)
974 dma8
975     DMA # for ES-1688 chip (0,1,3)
976 dma1
977     DMA # for GF1 chip (1,3,5,6,7)
978 joystick_dac
979     0 to 31, (0.59V-4.52V or 0.389V-2.98V)
980 voices
981     GF1 voices limit (14-32)
982 pcm_voices
983     reserved PCM voices
984
985 This module supports multiple cards and autoprobe (without MPU-401 port).
986
987 Module snd-gusmax
988 -----------------
989
990 Module for Gravis UltraSound MAX sound card.
991
992 port
993     port # for GF1 chip (0x220,0x230,0x240,0x250,0x260)
994 irq
995     IRQ # for GF1 chip (3,5,9,11,12,15)
996 dma1
997     DMA # for GF1 chip (1,3,5,6,7)
998 dma2
999     DMA # for GF1 chip (1,3,5,6,7,-1=disable)
1000 joystick_dac
1001     0 to 31, (0.59V-4.52V or 0.389V-2.98V)
1002 voices
1003     GF1 voices limit (14-32)
1004 pcm_voices
1005     reserved PCM voices
1006
1007 This module supports multiple cards and autoprobe.
1008
1009 Module snd-hda-intel
1010 --------------------
1011
1012 Module for Intel HD Audio (ICH6, ICH6M, ESB2, ICH7, ICH8, ICH9, ICH10,
1013 PCH, SCH), ATI SB450, SB600, R600, RS600, RS690, RS780, RV610, RV620,
1014 RV630, RV635, RV670, RV770, VIA VT8251/VT8237A, SIS966, ULI M5461
1015
1016 [Multiple options for each card instance]
1017
1018 model
1019     force the model name
1020 position_fix
1021     Fix DMA pointer;
1022     -1 = system default: choose appropriate one per controller hardware,
1023     0 = auto: falls back to LPIB when POSBUF doesn't work,
1024     1 = use LPIB,
1025     2 = POSBUF: use position buffer,
1026     3 = VIACOMBO: VIA-specific workaround for capture,
1027     4 = COMBO: use LPIB for playback, auto for capture stream
1028     5 = SKL+: apply the delay calculation available on recent Intel chips
1029     6 = FIFO: correct the position with the fixed FIFO size, for recent AMD chips
1030 probe_mask
1031     Bitmask to probe codecs (default = -1, meaning all slots);
1032     When the bit 8 (0x100) is set, the lower 8 bits are used
1033     as the "fixed" codec slots; i.e. the driver probes the
1034     slots regardless what hardware reports back
1035 probe_only
1036     Only probing and no codec initialization (default=off);
1037     Useful to check the initial codec status for debugging
1038 bdl_pos_adj
1039     Specifies the DMA IRQ timing delay in samples.
1040     Passing -1 will make the driver to choose the appropriate
1041     value based on the controller chip.
1042 patch
1043     Specifies the early "patch" files to modify the HD-audio setup
1044     before initializing the codecs.
1045     This option is available only when ``CONFIG_SND_HDA_PATCH_LOADER=y``
1046     is set.  See hd-audio/notes.rst for details.
1047 beep_mode
1048     Selects the beep registration mode (0=off, 1=on);
1049     default value is set via ``CONFIG_SND_HDA_INPUT_BEEP_MODE`` kconfig.
1050
1051 [Single (global) options]
1052
1053 single_cmd
1054     Use single immediate commands to communicate with codecs
1055     (for debugging only)
1056 enable_msi
1057     Enable Message Signaled Interrupt (MSI) (default = off)
1058 power_save
1059     Automatic power-saving timeout (in second, 0 = disable)
1060 power_save_controller
1061     Reset HD-audio controller in power-saving mode (default = on)
1062 align_buffer_size
1063     Force rounding of buffer/period sizes to multiples of 128 bytes.
1064     This is more efficient in terms of memory access but isn't
1065     required by the HDA spec and prevents users from specifying
1066     exact period/buffer sizes. (default = on)
1067 snoop
1068     Enable/disable snooping (default = on)
1069
1070 This module supports multiple cards and autoprobe.
1071
1072 See hd-audio/notes.rst for more details about HD-audio driver.
1073
1074 Each codec may have a model table for different configurations.
1075 If your machine isn't listed there, the default (usually minimal)
1076 configuration is set up.  You can pass ``model=<name>`` option to
1077 specify a certain model in such a case.  There are different
1078 models depending on the codec chip.  The list of available models
1079 is found in hd-audio/models.rst.
1080
1081 The model name ``generic`` is treated as a special case.  When this
1082 model is given, the driver uses the generic codec parser without
1083 "codec-patch".  It's sometimes good for testing and debugging.
1084
1085 The model option can be used also for aliasing to another PCI or codec
1086 SSID.  When it's passed in the form of ``model=XXXX:YYYY`` where XXXX
1087 and YYYY are the sub-vendor and sub-device IDs in hex numbers,
1088 respectively, the driver will refer to that SSID as a reference to the
1089 quirk table.
1090
1091 If the default configuration doesn't work and one of the above
1092 matches with your device, report it together with alsa-info.sh
1093 output (with ``--no-upload`` option) to kernel bugzilla or alsa-devel
1094 ML (see the section `Links and Addresses`_).
1095
1096 ``power_save`` and ``power_save_controller`` options are for power-saving
1097 mode.  See powersave.rst for details.
1098
1099 Note 2: If you get click noises on output, try the module option
1100 ``position_fix=1`` or ``2``.  ``position_fix=1`` will use the SD_LPIB
1101 register value without FIFO size correction as the current
1102 DMA pointer.  ``position_fix=2`` will make the driver to use
1103 the position buffer instead of reading SD_LPIB register.
1104 (Usually SD_LPIB register is more accurate than the
1105 position buffer.)
1106
1107 ``position_fix=3`` is specific to VIA devices.  The position
1108 of the capture stream is checked from both LPIB and POSBUF
1109 values.  ``position_fix=4`` is a combination mode, using LPIB
1110 for playback and POSBUF for capture.
1111
1112 NB: If you get many ``azx_get_response timeout`` messages at
1113 loading, it's likely a problem of interrupts (e.g. ACPI irq
1114 routing).  Try to boot with options like ``pci=noacpi``.  Also, you
1115 can try ``single_cmd=1`` module option.  This will switch the
1116 communication method between HDA controller and codecs to the
1117 single immediate commands instead of CORB/RIRB.  Basically, the
1118 single command mode is provided only for BIOS, and you won't get
1119 unsolicited events, too.  But, at least, this works independently
1120 from the irq.  Remember this is a last resort, and should be
1121 avoided as much as possible...
1122
1123 MORE NOTES ON ``azx_get_response timeout`` PROBLEMS:
1124 On some hardware, you may need to add a proper probe_mask option
1125 to avoid the ``azx_get_response timeout`` problem above, instead.
1126 This occurs when the access to non-existing or non-working codec slot
1127 (likely a modem one) causes a stall of the communication via HD-audio
1128 bus.  You can see which codec slots are probed by enabling
1129 ``CONFIG_SND_DEBUG_VERBOSE``, or simply from the file name of the codec
1130 proc files.  Then limit the slots to probe by probe_mask option.
1131 For example, ``probe_mask=1`` means to probe only the first slot, and
1132 ``probe_mask=4`` means only the third slot.
1133
1134 The power-management is supported.
1135
1136 Module snd-hdsp
1137 ---------------
1138
1139 Module for RME Hammerfall DSP audio interface(s)
1140
1141 This module supports multiple cards.
1142
1143 Note: The firmware data can be automatically loaded via hotplug
1144 when ``CONFIG_FW_LOADER`` is set.  Otherwise, you need to load
1145 the firmware via hdsploader utility included in alsa-tools
1146 package.
1147 The firmware data is found in alsa-firmware package.
1148
1149 Note: snd-page-alloc module does the job which snd-hammerfall-mem
1150 module did formerly.  It will allocate the buffers in advance
1151 when any HDSP cards are found.  To make the buffer
1152 allocation sure, load snd-page-alloc module in the early
1153 stage of boot sequence.  See `Early Buffer Allocation`_
1154 section.
1155
1156 Module snd-hdspm
1157 ----------------
1158
1159 Module for RME HDSP MADI board.
1160
1161 precise_ptr
1162     Enable precise pointer, or disable.
1163 line_outs_monitor
1164     Send playback streams to analog outs by default.
1165 enable_monitor
1166     Enable Analog Out on Channel 63/64 by default.
1167
1168 See hdspm.rst for details.
1169
1170 Module snd-ice1712
1171 ------------------
1172
1173 Module for Envy24 (ICE1712) based PCI sound cards.
1174
1175 * MidiMan M Audio Delta 1010
1176 * MidiMan M Audio Delta 1010LT
1177 * MidiMan M Audio Delta DiO 2496
1178 * MidiMan M Audio Delta 66
1179 * MidiMan M Audio Delta 44
1180 * MidiMan M Audio Delta 410
1181 * MidiMan M Audio Audiophile 2496
1182 * TerraTec EWS 88MT
1183 * TerraTec EWS 88D
1184 * TerraTec EWX 24/96
1185 * TerraTec DMX 6Fire
1186 * TerraTec Phase 88
1187 * Hoontech SoundTrack DSP 24
1188 * Hoontech SoundTrack DSP 24 Value
1189 * Hoontech SoundTrack DSP 24 Media 7.1
1190 * Event Electronics, EZ8
1191 * Digigram VX442
1192 * Lionstracs, Mediastaton
1193 * Terrasoniq TS 88
1194                         
1195 model
1196     Use the given board model, one of the following:
1197     delta1010, dio2496, delta66, delta44, audiophile, delta410,
1198     delta1010lt, vx442, ewx2496, ews88mt, ews88mt_new, ews88d,
1199     dmx6fire, dsp24, dsp24_value, dsp24_71, ez8,
1200     phase88, mediastation
1201 omni
1202     Omni I/O support for MidiMan M-Audio Delta44/66
1203 cs8427_timeout
1204     reset timeout for the CS8427 chip (S/PDIF transceiver) in msec
1205     resolution, default value is 500 (0.5 sec)
1206
1207 This module supports multiple cards and autoprobe.
1208 Note: The consumer part is not used with all Envy24 based cards (for
1209 example in the MidiMan Delta siree).
1210
1211 Note: The supported board is detected by reading EEPROM or PCI
1212 SSID (if EEPROM isn't available).  You can override the
1213 model by passing ``model`` module option in case that the
1214 driver isn't configured properly or you want to try another
1215 type for testing.
1216
1217 Module snd-ice1724
1218 ------------------
1219
1220 Module for Envy24HT (VT/ICE1724), Envy24PT (VT1720) based PCI sound cards.
1221
1222 * MidiMan M Audio Revolution 5.1
1223 * MidiMan M Audio Revolution 7.1
1224 * MidiMan M Audio Audiophile 192
1225 * AMP Ltd AUDIO2000
1226 * TerraTec Aureon 5.1 Sky
1227 * TerraTec Aureon 7.1 Space
1228 * TerraTec Aureon 7.1 Universe
1229 * TerraTec Phase 22
1230 * TerraTec Phase 28
1231 * AudioTrak Prodigy 7.1
1232 * AudioTrak Prodigy 7.1 LT
1233 * AudioTrak Prodigy 7.1 XT
1234 * AudioTrak Prodigy 7.1 HIFI
1235 * AudioTrak Prodigy 7.1 HD2
1236 * AudioTrak Prodigy 192
1237 * Pontis MS300
1238 * Albatron K8X800 Pro II 
1239 * Chaintech ZNF3-150
1240 * Chaintech ZNF3-250
1241 * Chaintech 9CJS
1242 * Chaintech AV-710
1243 * Shuttle SN25P
1244 * Onkyo SE-90PCI
1245 * Onkyo SE-200PCI
1246 * ESI Juli@
1247 * ESI Maya44
1248 * Hercules Fortissimo IV
1249 * EGO-SYS WaveTerminal 192M
1250                         
1251 model
1252     Use the given board model, one of the following:
1253     revo51, revo71, amp2000, prodigy71, prodigy71lt,
1254     prodigy71xt, prodigy71hifi, prodigyhd2, prodigy192,
1255     juli, aureon51, aureon71, universe, ap192, k8x800,
1256     phase22, phase28, ms300, av710, se200pci, se90pci,
1257     fortissimo4, sn25p, WT192M, maya44
1258   
1259 This module supports multiple cards and autoprobe.
1260
1261 Note: The supported board is detected by reading EEPROM or PCI
1262 SSID (if EEPROM isn't available).  You can override the
1263 model by passing ``model`` module option in case that the
1264 driver isn't configured properly or you want to try another
1265 type for testing.
1266
1267 Module snd-indigo
1268 -----------------
1269
1270 Module for Echoaudio Indigo
1271
1272 This module supports multiple cards.
1273 The driver requires the firmware loader support on kernel.
1274
1275 Module snd-indigodj
1276 -------------------
1277
1278 Module for Echoaudio Indigo DJ
1279
1280 This module supports multiple cards.
1281 The driver requires the firmware loader support on kernel.
1282
1283 Module snd-indigoio
1284 -------------------
1285
1286 Module for Echoaudio Indigo IO
1287
1288 This module supports multiple cards.
1289 The driver requires the firmware loader support on kernel.
1290
1291 Module snd-intel8x0
1292 -------------------
1293
1294 Module for AC'97 motherboards from Intel and compatibles.
1295
1296 * Intel i810/810E, i815, i820, i830, i84x, MX440 ICH5, ICH6, ICH7,
1297   6300ESB, ESB2 
1298 * SiS 7012 (SiS 735)
1299 * NVidia NForce, NForce2, NForce3, MCP04, CK804 CK8, CK8S, MCP501
1300 * AMD AMD768, AMD8111
1301 * ALi m5455
1302           
1303 ac97_clock
1304     AC'97 codec clock base (0 = auto-detect)
1305 ac97_quirk
1306     AC'97 workaround for strange hardware;
1307     See `AC97 Quirk Option`_ section below.
1308 buggy_irq
1309     Enable workaround for buggy interrupts on some motherboards
1310     (default yes on nForce chips, otherwise off)
1311 buggy_semaphore
1312     Enable workaround for hardware with buggy semaphores (e.g. on some
1313     ASUS laptops) (default off)
1314 spdif_aclink
1315     Use S/PDIF over AC-link instead of direct connection from the
1316     controller chip (0 = off, 1 = on, -1 = default)
1317
1318 This module supports one chip and autoprobe.
1319
1320 Note: the latest driver supports auto-detection of chip clock.
1321 if you still encounter too fast playback, specify the clock
1322 explicitly via the module option ``ac97_clock=41194``.
1323
1324 Joystick/MIDI ports are not supported by this driver.  If your
1325 motherboard has these devices, use the ns558 or snd-mpu401
1326 modules, respectively.
1327
1328 The power-management is supported.
1329
1330 Module snd-intel8x0m
1331 --------------------
1332
1333 Module for Intel ICH (i8x0) chipset MC97 modems.
1334
1335 * Intel i810/810E, i815, i820, i830, i84x, MX440 ICH5, ICH6, ICH7
1336 * SiS 7013 (SiS 735)
1337 * NVidia NForce, NForce2, NForce2s, NForce3
1338 * AMD AMD8111
1339 * ALi m5455
1340           
1341 ac97_clock
1342     AC'97 codec clock base (0 = auto-detect)
1343   
1344 This module supports one card and autoprobe.
1345
1346 Note: The default index value of this module is -2, i.e. the first
1347 slot is excluded.
1348
1349 The power-management is supported.
1350
1351 Module snd-interwave
1352 --------------------
1353
1354 Module for Gravis UltraSound PnP, Dynasonic 3-D/Pro, STB Sound Rage 32
1355 and other sound cards based on AMD InterWave (tm) chip.
1356
1357 joystick_dac
1358     0 to 31, (0.59V-4.52V or 0.389V-2.98V)
1359 midi
1360     1 = MIDI UART enable, 0 = MIDI UART disable (default)
1361 pcm_voices
1362     reserved PCM voices for the synthesizer (default 2)
1363 effect
1364     1 = InterWave effects enable (default 0); requires 8 voices
1365 isapnp
1366     ISA PnP detection - 0 = disable, 1 = enable (default)
1367
1368 with ``isapnp=0``, the following options are available:
1369
1370 port
1371     port # for InterWave chip (0x210,0x220,0x230,0x240,0x250,0x260)
1372 irq
1373     IRQ # for InterWave chip (3,5,9,11,12,15)
1374 dma1
1375     DMA # for InterWave chip (0,1,3,5,6,7)
1376 dma2
1377     DMA # for InterWave chip (0,1,3,5,6,7,-1=disable)
1378
1379 This module supports multiple cards, autoprobe and ISA PnP.
1380
1381 Module snd-interwave-stb
1382 ------------------------
1383
1384 Module for UltraSound 32-Pro (sound card from STB used by Compaq)
1385 and other sound cards based on AMD InterWave (tm) chip with TEA6330T
1386 circuit for extended control of bass, treble and master volume.
1387
1388 joystick_dac
1389     0 to 31, (0.59V-4.52V or 0.389V-2.98V)
1390 midi
1391     1 = MIDI UART enable, 0 = MIDI UART disable (default)
1392 pcm_voices
1393     reserved PCM voices for the synthesizer (default 2)
1394 effect
1395     1 = InterWave effects enable (default 0); requires 8 voices
1396 isapnp
1397     ISA PnP detection - 0 = disable, 1 = enable (default)
1398
1399 with ``isapnp=0``, the following options are available:
1400
1401 port
1402     port # for InterWave chip (0x210,0x220,0x230,0x240,0x250,0x260)
1403 port_tc
1404     tone control (i2c bus) port # for TEA6330T chip (0x350,0x360,0x370,0x380)
1405 irq
1406     IRQ # for InterWave chip (3,5,9,11,12,15)
1407 dma1
1408     DMA # for InterWave chip (0,1,3,5,6,7)
1409 dma2
1410     DMA # for InterWave chip (0,1,3,5,6,7,-1=disable)
1411
1412 This module supports multiple cards, autoprobe and ISA PnP.
1413
1414 Module snd-jazz16
1415 -------------------
1416
1417 Module for Media Vision Jazz16 chipset. The chipset consists of 3 chips:
1418 MVD1216 + MVA416 + MVA514.
1419
1420 port
1421     port # for SB DSP chip (0x210,0x220,0x230,0x240,0x250,0x260)
1422 irq
1423     IRQ # for SB DSP chip (3,5,7,9,10,15)
1424 dma8
1425     DMA # for SB DSP chip (1,3)
1426 dma16
1427     DMA # for SB DSP chip (5,7)
1428 mpu_port
1429     MPU-401 port # (0x300,0x310,0x320,0x330)
1430 mpu_irq
1431     MPU-401 irq # (2,3,5,7)
1432
1433 This module supports multiple cards.
1434
1435 Module snd-korg1212
1436 -------------------
1437
1438 Module for Korg 1212 IO PCI card
1439
1440 This module supports multiple cards.
1441
1442 Module snd-layla20
1443 ------------------
1444
1445 Module for Echoaudio Layla20
1446
1447 This module supports multiple cards.
1448 The driver requires the firmware loader support on kernel.
1449
1450 Module snd-layla24
1451 ------------------
1452
1453 Module for Echoaudio Layla24
1454
1455 This module supports multiple cards.
1456 The driver requires the firmware loader support on kernel.
1457
1458 Module snd-lola
1459 ---------------
1460
1461 Module for Digigram Lola PCI-e boards
1462
1463 This module supports multiple cards.
1464
1465 Module snd-lx6464es
1466 -------------------
1467
1468 Module for Digigram LX6464ES boards
1469
1470 This module supports multiple cards.
1471
1472 Module snd-maestro3
1473 -------------------
1474
1475 Module for Allegro/Maestro3 chips
1476
1477 external_amp
1478     enable external amp (enabled by default)
1479 amp_gpio
1480     GPIO pin number for external amp (0-15) or -1 for default pin (8
1481     for allegro, 1 for others) 
1482
1483 This module supports autoprobe and multiple chips.
1484
1485 Note: the binding of amplifier is dependent on hardware.
1486 If there is no sound even though all channels are unmuted, try to
1487 specify other gpio connection via amp_gpio option. 
1488 For example, a Panasonic notebook might need ``amp_gpio=0x0d``
1489 option.
1490
1491 The power-management is supported.
1492
1493 Module snd-mia
1494 ---------------
1495
1496 Module for Echoaudio Mia
1497
1498 This module supports multiple cards.
1499 The driver requires the firmware loader support on kernel.
1500
1501 Module snd-miro
1502 ---------------
1503
1504 Module for Miro soundcards: miroSOUND PCM 1 pro, miroSOUND PCM 12,
1505 miroSOUND PCM 20 Radio.
1506
1507 port
1508     Port # (0x530,0x604,0xe80,0xf40)
1509 irq
1510     IRQ # (5,7,9,10,11)
1511 dma1
1512     1st dma # (0,1,3)
1513 dma2
1514     2nd dma # (0,1)
1515 mpu_port
1516     MPU-401 port # (0x300,0x310,0x320,0x330)
1517 mpu_irq
1518     MPU-401 irq # (5,7,9,10)
1519 fm_port
1520     FM Port # (0x388)
1521 wss
1522     enable WSS mode
1523 ide
1524     enable onboard ide support
1525
1526 Module snd-mixart
1527 -----------------
1528
1529 Module for Digigram miXart8 sound cards.
1530
1531 This module supports multiple cards.
1532 Note: One miXart8 board will be represented as 4 alsa cards.
1533 See Documentation/sound/cards/mixart.rst for details.
1534
1535 When the driver is compiled as a module and the hotplug firmware
1536 is supported, the firmware data is loaded via hotplug automatically.
1537 Install the necessary firmware files in alsa-firmware package.
1538 When no hotplug fw loader is available, you need to load the
1539 firmware via mixartloader utility in alsa-tools package.
1540
1541 Module snd-mona
1542 ---------------
1543
1544 Module for Echoaudio Mona
1545
1546 This module supports multiple cards.
1547 The driver requires the firmware loader support on kernel.
1548
1549 Module snd-mpu401
1550 -----------------
1551
1552 Module for MPU-401 UART devices.
1553
1554 port
1555     port number or -1 (disable)
1556 irq
1557     IRQ number or -1 (disable)
1558 pnp
1559     PnP detection - 0 = disable, 1 = enable (default)
1560
1561 This module supports multiple devices and PnP.
1562
1563 Module snd-msnd-classic
1564 -----------------------
1565
1566 Module for Turtle Beach MultiSound Classic, Tahiti or Monterey
1567 soundcards.
1568
1569 io
1570     Port # for msnd-classic card
1571 irq
1572     IRQ # for msnd-classic card
1573 mem
1574     Memory address (0xb0000, 0xc8000, 0xd0000, 0xd8000, 0xe0000 or 0xe8000)
1575 write_ndelay
1576     enable write ndelay (default = 1)
1577 calibrate_signal
1578     calibrate signal (default = 0)
1579 isapnp
1580     ISA PnP detection - 0 = disable, 1 = enable (default)
1581 digital
1582     Digital daughterboard present (default = 0)
1583 cfg
1584     Config port (0x250, 0x260 or 0x270) default = PnP
1585 reset
1586     Reset all devices
1587 mpu_io
1588     MPU401 I/O port
1589 mpu_irq
1590     MPU401 irq#
1591 ide_io0
1592     IDE port #0
1593 ide_io1
1594     IDE port #1
1595 ide_irq
1596     IDE irq#
1597 joystick_io
1598     Joystick I/O port
1599
1600 The driver requires firmware files ``turtlebeach/msndinit.bin`` and
1601 ``turtlebeach/msndperm.bin`` in the proper firmware directory.
1602
1603 See Documentation/sound/cards/multisound.sh for important information
1604 about this driver.  Note that it has been discontinued, but the 
1605 Voyetra Turtle Beach knowledge base entry for it is still available
1606 at
1607 https://www.turtlebeach.com
1608
1609 Module snd-msnd-pinnacle
1610 ------------------------
1611
1612 Module for Turtle Beach MultiSound Pinnacle/Fiji soundcards.
1613
1614 io
1615     Port # for pinnacle/fiji card
1616 irq
1617     IRQ # for pinnalce/fiji card
1618 mem
1619     Memory address (0xb0000, 0xc8000, 0xd0000, 0xd8000, 0xe0000 or 0xe8000)
1620 write_ndelay
1621     enable write ndelay (default = 1)
1622 calibrate_signal
1623     calibrate signal (default = 0)
1624 isapnp
1625     ISA PnP detection - 0 = disable, 1 = enable (default)
1626
1627 The driver requires firmware files ``turtlebeach/pndspini.bin`` and
1628 ``turtlebeach/pndsperm.bin`` in the proper firmware directory.
1629
1630 Module snd-mtpav
1631 ----------------
1632
1633 Module for MOTU MidiTimePiece AV multiport MIDI (on the parallel
1634 port).
1635
1636 port
1637     I/O port # for MTPAV (0x378,0x278, default=0x378)
1638 irq
1639     IRQ # for MTPAV (7,5, default=7)
1640 hwports
1641     number of supported hardware ports, default=8.
1642
1643 Module supports only 1 card.  This module has no enable option.
1644
1645 Module snd-mts64
1646 ----------------
1647
1648 Module for Ego Systems (ESI) Miditerminal 4140
1649
1650 This module supports multiple devices.
1651 Requires parport (``CONFIG_PARPORT``).
1652
1653 Module snd-nm256
1654 ----------------
1655
1656 Module for NeoMagic NM256AV/ZX chips
1657
1658 playback_bufsize
1659     max playback frame size in kB (4-128kB)
1660 capture_bufsize
1661     max capture frame size in kB (4-128kB)
1662 force_ac97
1663     0 or 1 (disabled by default)
1664 buffer_top
1665     specify buffer top address
1666 use_cache
1667     0 or 1 (disabled by default)
1668 vaio_hack
1669     alias buffer_top=0x25a800
1670 reset_workaround
1671     enable AC97 RESET workaround for some laptops
1672 reset_workaround2
1673     enable extended AC97 RESET workaround for some other laptops
1674
1675 This module supports one chip and autoprobe.
1676
1677 The power-management is supported.
1678
1679 Note: on some notebooks the buffer address cannot be detected
1680 automatically, or causes hang-up during initialization.
1681 In such a case, specify the buffer top address explicitly via
1682 the buffer_top option.
1683 For example,
1684 Sony F250: buffer_top=0x25a800
1685 Sony F270: buffer_top=0x272800
1686 The driver supports only ac97 codec.  It's possible to force
1687 to initialize/use ac97 although it's not detected.  In such a
1688 case, use ``force_ac97=1`` option - but *NO* guarantee whether it
1689 works!
1690
1691 Note: The NM256 chip can be linked internally with non-AC97
1692 codecs.  This driver supports only the AC97 codec, and won't work
1693 with machines with other (most likely CS423x or OPL3SAx) chips,
1694 even though the device is detected in lspci.  In such a case, try
1695 other drivers, e.g. snd-cs4232 or snd-opl3sa2.  Some has ISA-PnP
1696 but some doesn't have ISA PnP.  You'll need to specify ``isapnp=0``
1697 and proper hardware parameters in the case without ISA PnP.
1698
1699 Note: some laptops need a workaround for AC97 RESET.  For the
1700 known hardware like Dell Latitude LS and Sony PCG-F305, this
1701 workaround is enabled automatically.  For other laptops with a
1702 hard freeze, you can try ``reset_workaround=1`` option.
1703
1704 Note: Dell Latitude CSx laptops have another problem regarding
1705 AC97 RESET.  On these laptops, reset_workaround2 option is
1706 turned on as default.  This option is worth to try if the
1707 previous reset_workaround option doesn't help.
1708
1709 Note: This driver is really crappy.  It's a porting from the
1710 OSS driver, which is a result of black-magic reverse engineering.
1711 The detection of codec will fail if the driver is loaded *after*
1712 X-server as described above.  You might be able to force to load
1713 the module, but it may result in hang-up.   Hence, make sure that
1714 you load this module *before* X if you encounter this kind of
1715 problem.
1716
1717 Module snd-opl3sa2
1718 ------------------
1719
1720 Module for Yamaha OPL3-SA2/SA3 sound cards.
1721
1722 isapnp
1723     ISA PnP detection - 0 = disable, 1 = enable (default)
1724
1725 with ``isapnp=0``, the following options are available:
1726
1727 port
1728     control port # for OPL3-SA chip (0x370)
1729 sb_port
1730     SB port # for OPL3-SA chip (0x220,0x240)
1731 wss_port
1732     WSS port # for OPL3-SA chip (0x530,0xe80,0xf40,0x604)
1733 midi_port
1734     port # for MPU-401 UART (0x300,0x330), -1 = disable
1735 fm_port
1736     FM port # for OPL3-SA chip (0x388), -1 = disable
1737 irq
1738     IRQ # for OPL3-SA chip (5,7,9,10)
1739 dma1
1740     first DMA # for Yamaha OPL3-SA chip (0,1,3)
1741 dma2
1742     second DMA # for Yamaha OPL3-SA chip (0,1,3), -1 = disable
1743
1744 This module supports multiple cards and ISA PnP.  It does not support
1745 autoprobe (if ISA PnP is not used) thus all ports must be specified!!!
1746
1747 The power-management is supported.
1748
1749 Module snd-opti92x-ad1848
1750 -------------------------
1751
1752 Module for sound cards based on OPTi 82c92x and Analog Devices AD1848 chips.
1753 Module works with OAK Mozart cards as well.
1754
1755 isapnp
1756     ISA PnP detection - 0 = disable, 1 = enable (default)
1757
1758 with ``isapnp=0``, the following options are available:
1759
1760 port
1761     port # for WSS chip (0x530,0xe80,0xf40,0x604)
1762 mpu_port
1763     port # for MPU-401 UART (0x300,0x310,0x320,0x330)
1764 fm_port
1765     port # for OPL3 device (0x388)
1766 irq
1767     IRQ # for WSS chip (5,7,9,10,11)
1768 mpu_irq
1769     IRQ # for MPU-401 UART (5,7,9,10)
1770 dma1
1771     first DMA # for WSS chip (0,1,3)
1772
1773 This module supports only one card, autoprobe and PnP.
1774
1775 Module snd-opti92x-cs4231
1776 -------------------------
1777
1778 Module for sound cards based on OPTi 82c92x and Crystal CS4231 chips.
1779
1780 isapnp
1781     ISA PnP detection - 0 = disable, 1 = enable (default)
1782
1783 with ``isapnp=0``, the following options are available:
1784
1785 port
1786     port # for WSS chip (0x530,0xe80,0xf40,0x604)
1787 mpu_port
1788     port # for MPU-401 UART (0x300,0x310,0x320,0x330)
1789 fm_port
1790     port # for OPL3 device (0x388)
1791 irq
1792     IRQ # for WSS chip (5,7,9,10,11)
1793 mpu_irq
1794     IRQ # for MPU-401 UART (5,7,9,10)
1795 dma1
1796     first DMA # for WSS chip (0,1,3)
1797 dma2
1798     second DMA # for WSS chip (0,1,3)
1799
1800 This module supports only one card, autoprobe and PnP.
1801
1802 Module snd-opti93x
1803 ------------------
1804
1805 Module for sound cards based on OPTi 82c93x chips.
1806
1807 isapnp
1808     ISA PnP detection - 0 = disable, 1 = enable (default)
1809
1810 with ``isapnp=0``, the following options are available:
1811
1812 port
1813     port # for WSS chip (0x530,0xe80,0xf40,0x604)
1814 mpu_port
1815     port # for MPU-401 UART (0x300,0x310,0x320,0x330)
1816 fm_port
1817     port # for OPL3 device (0x388)
1818 irq
1819     IRQ # for WSS chip (5,7,9,10,11)
1820 mpu_irq
1821     IRQ # for MPU-401 UART (5,7,9,10)
1822 dma1
1823     first DMA # for WSS chip (0,1,3)
1824 dma2
1825     second DMA # for WSS chip (0,1,3)
1826
1827 This module supports only one card, autoprobe and PnP.
1828
1829 Module snd-oxygen
1830 -----------------
1831
1832 Module for sound cards based on the C-Media CMI8786/8787/8788 chip:
1833
1834 * Asound A-8788
1835 * Asus Xonar DG/DGX
1836 * AuzenTech X-Meridian
1837 * AuzenTech X-Meridian 2G
1838 * Bgears b-Enspirer
1839 * Club3D Theatron DTS
1840 * HT-Omega Claro (plus)
1841 * HT-Omega Claro halo (XT)
1842 * Kuroutoshikou CMI8787-HG2PCI
1843 * Razer Barracuda AC-1
1844 * Sondigo Inferno
1845 * TempoTec HiFier Fantasia
1846 * TempoTec HiFier Serenade
1847     
1848 This module supports autoprobe and multiple cards.
1849   
1850 Module snd-pcsp
1851 ---------------
1852
1853 Module for internal PC-Speaker.
1854
1855 nopcm
1856     Disable PC-Speaker PCM sound. Only beeps remain.
1857 nforce_wa
1858     enable NForce chipset workaround. Expect bad sound.
1859
1860 This module supports system beeps, some kind of PCM playback and
1861 even a few mixer controls.
1862
1863 Module snd-pcxhr
1864 ----------------
1865
1866 Module for Digigram PCXHR boards
1867
1868 This module supports multiple cards.
1869
1870 Module snd-portman2x4
1871 ---------------------
1872
1873 Module for Midiman Portman 2x4 parallel port MIDI interface
1874
1875 This module supports multiple cards.
1876
1877 Module snd-powermac (on ppc only)
1878 ---------------------------------
1879
1880 Module for PowerMac, iMac and iBook on-board soundchips
1881
1882 enable_beep
1883     enable beep using PCM (enabled as default)
1884
1885 Module supports autoprobe a chip.
1886
1887 Note: the driver may have problems regarding endianness.
1888
1889 The power-management is supported.
1890
1891 Module snd-pxa2xx-ac97 (on arm only)
1892 ------------------------------------
1893
1894 Module for AC97 driver for the Intel PXA2xx chip
1895
1896 For ARM architecture only.
1897
1898 The power-management is supported.
1899
1900 Module snd-riptide
1901 ------------------
1902
1903 Module for Conexant Riptide chip
1904
1905 joystick_port
1906     Joystick port # (default: 0x200)
1907 mpu_port
1908     MPU401 port # (default: 0x330)
1909 opl3_port
1910     OPL3 port # (default: 0x388)
1911
1912 This module supports multiple cards.
1913 The driver requires the firmware loader support on kernel.
1914 You need to install the firmware file ``riptide.hex`` to the standard
1915 firmware path (e.g. /lib/firmware).
1916
1917 Module snd-rme32
1918 ----------------
1919
1920 Module for RME Digi32, Digi32 Pro and Digi32/8 (Sek'd Prodif32, 
1921 Prodif96 and Prodif Gold) sound cards.
1922
1923 This module supports multiple cards.
1924
1925 Module snd-rme96
1926 ----------------
1927
1928 Module for RME Digi96, Digi96/8 and Digi96/8 PRO/PAD/PST sound cards.
1929
1930 This module supports multiple cards.
1931
1932 Module snd-rme9652
1933 ------------------
1934
1935 Module for RME Digi9652 (Hammerfall, Hammerfall-Light) sound cards.
1936
1937 precise_ptr
1938     Enable precise pointer (doesn't work reliably). (default = 0)
1939
1940 This module supports multiple cards.
1941
1942 Note: snd-page-alloc module does the job which snd-hammerfall-mem
1943 module did formerly.  It will allocate the buffers in advance
1944 when any RME9652 cards are found.  To make the buffer
1945 allocation sure, load snd-page-alloc module in the early
1946 stage of boot sequence.  See `Early Buffer Allocation`_
1947 section.
1948
1949 Module snd-sa11xx-uda1341 (on arm only)
1950 ---------------------------------------
1951
1952 Module for Philips UDA1341TS on Compaq iPAQ H3600 sound card.
1953
1954 Module supports only one card.
1955 Module has no enable and index options.
1956
1957 The power-management is supported.
1958
1959 Module snd-sb8
1960 --------------
1961
1962 Module for 8-bit SoundBlaster cards: SoundBlaster 1.0, SoundBlaster 2.0,
1963 SoundBlaster Pro
1964
1965 port
1966     port # for SB DSP chip (0x220,0x240,0x260)
1967 irq
1968     IRQ # for SB DSP chip (5,7,9,10)
1969 dma8
1970     DMA # for SB DSP chip (1,3)
1971
1972 This module supports multiple cards and autoprobe.
1973
1974 The power-management is supported.
1975
1976 Module snd-sb16 and snd-sbawe
1977 -----------------------------
1978
1979 Module for 16-bit SoundBlaster cards: SoundBlaster 16 (PnP),
1980 SoundBlaster AWE 32 (PnP), SoundBlaster AWE 64 PnP
1981
1982 mic_agc
1983     Mic Auto-Gain-Control - 0 = disable, 1 = enable (default)
1984 csp
1985     ASP/CSP chip support - 0 = disable (default), 1 = enable
1986 isapnp
1987     ISA PnP detection - 0 = disable, 1 = enable (default)
1988
1989 with isapnp=0, the following options are available:
1990
1991 port
1992     port # for SB DSP 4.x chip (0x220,0x240,0x260)
1993 mpu_port
1994     port # for MPU-401 UART (0x300,0x330), -1 = disable
1995 awe_port
1996     base port # for EMU8000 synthesizer (0x620,0x640,0x660) (snd-sbawe
1997     module only)
1998 irq
1999     IRQ # for SB DSP 4.x chip (5,7,9,10)
2000 dma8
2001     8-bit DMA # for SB DSP 4.x chip (0,1,3)
2002 dma16
2003     16-bit DMA # for SB DSP 4.x chip (5,6,7)
2004
2005 This module supports multiple cards, autoprobe and ISA PnP.
2006
2007 Note: To use Vibra16X cards in 16-bit half duplex mode, you must
2008 disable 16bit DMA with dma16 = -1 module parameter.
2009 Also, all Sound Blaster 16 type cards can operate in 16-bit
2010 half duplex mode through 8-bit DMA channel by disabling their
2011 16-bit DMA channel.
2012
2013 The power-management is supported.
2014
2015 Module snd-sc6000
2016 -----------------
2017
2018 Module for Gallant SC-6000 soundcard and later models: SC-6600 and
2019 SC-7000.
2020
2021 port
2022     Port # (0x220 or 0x240)
2023 mss_port
2024     MSS Port # (0x530 or 0xe80)
2025 irq
2026     IRQ # (5,7,9,10,11)
2027 mpu_irq
2028     MPU-401 IRQ # (5,7,9,10) ,0 - no MPU-401 irq
2029 dma
2030     DMA # (1,3,0)
2031 joystick
2032     Enable gameport - 0 = disable (default), 1 = enable
2033
2034 This module supports multiple cards.
2035
2036 This card is also known as Audio Excel DSP 16 or Zoltrix AV302.
2037
2038 Module snd-sscape
2039 -----------------
2040
2041 Module for ENSONIQ SoundScape cards.
2042
2043 port
2044     Port # (PnP setup)
2045 wss_port
2046     WSS Port # (PnP setup)
2047 irq
2048     IRQ # (PnP setup)
2049 mpu_irq
2050     MPU-401 IRQ # (PnP setup)
2051 dma
2052     DMA # (PnP setup)
2053 dma2
2054     2nd DMA # (PnP setup, -1 to disable)
2055 joystick
2056     Enable gameport - 0 = disable (default), 1 = enable
2057
2058 This module supports multiple cards.
2059
2060 The driver requires the firmware loader support on kernel.
2061
2062 Module snd-sun-amd7930 (on sparc only)
2063 --------------------------------------
2064
2065 Module for AMD7930 sound chips found on Sparcs.
2066
2067 This module supports multiple cards.
2068
2069 Module snd-sun-cs4231 (on sparc only)
2070 -------------------------------------
2071
2072 Module for CS4231 sound chips found on Sparcs.
2073
2074 This module supports multiple cards.
2075
2076 Module snd-sun-dbri (on sparc only)
2077 -----------------------------------
2078
2079 Module for DBRI sound chips found on Sparcs.
2080
2081 This module supports multiple cards.
2082
2083 Module snd-wavefront
2084 --------------------
2085
2086 Module for Turtle Beach Maui, Tropez and Tropez+ sound cards.
2087
2088 use_cs4232_midi
2089     Use CS4232 MPU-401 interface
2090     (inaccessibly located inside your computer)
2091 isapnp
2092     ISA PnP detection - 0 = disable, 1 = enable (default)
2093
2094 with isapnp=0, the following options are available:
2095
2096 cs4232_pcm_port
2097     Port # for CS4232 PCM interface.
2098 cs4232_pcm_irq
2099     IRQ # for CS4232 PCM interface (5,7,9,11,12,15).
2100 cs4232_mpu_port
2101     Port # for CS4232 MPU-401 interface.
2102 cs4232_mpu_irq
2103     IRQ # for CS4232 MPU-401 interface (9,11,12,15).
2104 ics2115_port
2105     Port # for ICS2115
2106 ics2115_irq
2107     IRQ # for ICS2115
2108 fm_port
2109     FM OPL-3 Port #
2110 dma1
2111     DMA1 # for CS4232 PCM interface.
2112 dma2
2113     DMA2 # for CS4232 PCM interface.
2114
2115 The below are options for wavefront_synth features:
2116
2117 wf_raw
2118     Assume that we need to boot the OS (default:no);
2119     If yes, then during driver loading, the state of the board is
2120     ignored, and we reset the board and load the firmware anyway.
2121 fx_raw
2122     Assume that the FX process needs help (default:yes);
2123     If false, we'll leave the FX processor in whatever state it is
2124     when the driver is loaded.  The default is to download the
2125     microprogram and associated coefficients to set it up for
2126     "default" operation, whatever that means.
2127 debug_default
2128     Debug parameters for card initialization
2129 wait_usecs
2130     How long to wait without sleeping, usecs (default:150);
2131     This magic number seems to give pretty optimal throughput
2132     based on my limited experimentation. 
2133     If you want to play around with it and find a better value, be
2134     my guest. Remember, the idea is to get a number that causes us
2135     to just busy wait for as many WaveFront commands as possible,
2136     without coming up with a number so large that we hog the whole
2137     CPU. 
2138     Specifically, with this number, out of about 134,000 status
2139     waits, only about 250 result in a sleep. 
2140 sleep_interval
2141     How long to sleep when waiting for reply (default: 100)
2142 sleep_tries
2143     How many times to try sleeping during a wait (default: 50)
2144 ospath
2145     Pathname to processed ICS2115 OS firmware (default:wavefront.os);
2146     The path name of the ISC2115 OS firmware.  In the recent
2147     version, it's handled via firmware loader framework, so it
2148     must be installed in the proper path, typically,
2149     /lib/firmware.
2150 reset_time
2151     How long to wait for a reset to take effect (default:2)
2152 ramcheck_time
2153     How many seconds to wait for the RAM test (default:20)
2154 osrun_time
2155     How many seconds to wait for the ICS2115 OS (default:10)
2156
2157 This module supports multiple cards and ISA PnP.
2158
2159 Note: the firmware file ``wavefront.os`` was located in the earlier
2160 version in /etc.  Now it's loaded via firmware loader, and
2161 must be in the proper firmware path, such as /lib/firmware.
2162 Copy (or symlink) the file appropriately if you get an error
2163 regarding firmware downloading after upgrading the kernel.
2164
2165 Module snd-sonicvibes
2166 ---------------------
2167
2168 Module for S3 SonicVibes PCI sound cards.
2169 * PINE Schubert 32 PCI
2170   
2171 reverb
2172     Reverb Enable - 1 = enable, 0 = disable (default);
2173     SoundCard must have onboard SRAM for this.
2174 mge
2175     Mic Gain Enable - 1 = enable, 0 = disable (default)
2176
2177 This module supports multiple cards and autoprobe.
2178
2179 Module snd-serial-u16550
2180 ------------------------
2181
2182 Module for UART16550A serial MIDI ports.
2183
2184 port
2185     port # for UART16550A chip
2186 irq
2187     IRQ # for UART16550A chip, -1 = poll mode
2188 speed
2189     speed in bauds (9600,19200,38400,57600,115200)
2190     38400 = default
2191 base
2192     base for divisor in bauds (57600,115200,230400,460800)
2193     115200 = default
2194 outs
2195     number of MIDI ports in a serial port (1-4)
2196     1 = default
2197 adaptor
2198     Type of adaptor.
2199         0 = Soundcanvas, 1 = MS-124T, 2 = MS-124W S/A,
2200         3 = MS-124W M/B, 4 = Generic
2201
2202 This module supports multiple cards. This module does not support autoprobe
2203 thus the main port must be specified!!! Other options are optional.
2204
2205 Module snd-trident
2206 ------------------
2207
2208 Module for Trident 4DWave DX/NX sound cards.
2209 * Best Union  Miss Melody 4DWave PCI
2210 * HIS  4DWave PCI
2211 * Warpspeed  ONSpeed 4DWave PCI
2212 * AzTech  PCI 64-Q3D
2213 * Addonics  SV 750
2214 * CHIC  True Sound 4Dwave
2215 * Shark  Predator4D-PCI
2216 * Jaton  SonicWave 4D
2217 * SiS SI7018 PCI Audio
2218 * Hoontech SoundTrack Digital 4DWave NX
2219                     
2220 pcm_channels
2221     max channels (voices) reserved for PCM
2222 wavetable_size
2223     max wavetable size in kB (4-?kb)
2224
2225 This module supports multiple cards and autoprobe.
2226
2227 The power-management is supported.
2228
2229 Module snd-ua101
2230 ----------------
2231
2232 Module for the Edirol UA-101/UA-1000 audio/MIDI interfaces.
2233
2234 This module supports multiple devices, autoprobe and hotplugging.
2235
2236 Module snd-usb-audio
2237 --------------------
2238
2239 Module for USB audio and USB MIDI devices.
2240
2241 vid
2242     Vendor ID for the device (optional)
2243 pid
2244     Product ID for the device (optional)
2245 nrpacks
2246     Max. number of packets per URB (default: 8)
2247 device_setup
2248     Device specific magic number (optional);
2249     Influence depends on the device
2250     Default: 0x0000 
2251 ignore_ctl_error
2252     Ignore any USB-controller regarding mixer interface (default: no)
2253 autoclock
2254     Enable auto-clock selection for UAC2 devices (default: yes)
2255 quirk_alias
2256     Quirk alias list, pass strings like ``0123abcd:5678beef``, which
2257     applies the existing quirk for the device 5678:beef to a new
2258     device 0123:abcd.
2259 implicit_fb
2260     Apply the generic implicit feedback sync mode.  When this is set
2261     and the playback stream sync mode is ASYNC, the driver tries to
2262     tie an adjacent ASYNC capture stream as the implicit feedback
2263     source.  This is equivalent with quirk_flags bit 17.
2264 use_vmalloc
2265     Use vmalloc() for allocations of the PCM buffers (default: yes).
2266     For architectures with non-coherent memory like ARM or MIPS, the
2267     mmap access may give inconsistent results with vmalloc'ed
2268     buffers.  If mmap is used on such architectures, turn off this
2269     option, so that the DMA-coherent buffers are allocated and used
2270     instead.
2271 delayed_register
2272     The option is needed for devices that have multiple streams
2273     defined in multiple USB interfaces.  The driver may invoke
2274     registrations multiple times (once per interface) and this may
2275     lead to the insufficient device enumeration.
2276     This option receives an array of strings, and you can pass
2277     ID:INTERFACE like ``0123abcd:4`` for performing the delayed
2278     registration to the given device.  In this example, when a USB
2279     device 0123:abcd is probed, the driver waits the registration
2280     until the USB interface 4 gets probed.
2281     The driver prints a message like "Found post-registration device
2282     assignment: 1234abcd:04" for such a device, so that user can
2283     notice the need.
2284 quirk_flags
2285     Contains the bit flags for various device specific workarounds.
2286     Applied to the corresponding card index.
2287
2288         * bit 0: Skip reading sample rate for devices
2289         * bit 1: Create Media Controller API entries
2290         * bit 2: Allow alignment on audio sub-slot at transfer
2291         * bit 3: Add length specifier to transfers
2292         * bit 4: Start playback stream at first in implement feedback mode
2293         * bit 5: Skip clock selector setup
2294         * bit 6: Ignore errors from clock source search
2295         * bit 7: Indicates ITF-USB DSD based DACs
2296         * bit 8: Add a delay of 20ms at each control message handling
2297         * bit 9: Add a delay of 1-2ms at each control message handling
2298         * bit 10: Add a delay of 5-6ms at each control message handling
2299         * bit 11: Add a delay of 50ms at each interface setup
2300         * bit 12: Perform sample rate validations at probe
2301         * bit 13: Disable runtime PM autosuspend
2302         * bit 14: Ignore errors for mixer access
2303         * bit 15: Support generic DSD raw U32_BE format
2304         * bit 16: Set up the interface at first like UAC1
2305         * bit 17: Apply the generic implicit feedback sync mode
2306         * bit 18: Don't apply implicit feedback sync mode
2307
2308 This module supports multiple devices, autoprobe and hotplugging.
2309
2310 NB: ``nrpacks`` parameter can be modified dynamically via sysfs.
2311 Don't put the value over 20.  Changing via sysfs has no sanity
2312 check.
2313
2314 NB: ``ignore_ctl_error=1`` may help when you get an error at accessing
2315 the mixer element such as URB error -22.  This happens on some
2316 buggy USB device or the controller.  This workaround corresponds to
2317 the ``quirk_flags`` bit 14, too.
2318
2319 NB: ``quirk_alias`` option is provided only for testing / development.
2320 If you want to have a proper support, contact to upstream for
2321 adding the matching quirk in the driver code statically.
2322 Ditto for ``quirk_flags``.  If a device is known to require specific
2323 workarounds, please report to the upstream.
2324
2325 Module snd-usb-caiaq
2326 --------------------
2327
2328 Module for caiaq UB audio interfaces,
2329
2330 * Native Instruments RigKontrol2
2331 * Native Instruments Kore Controller
2332 * Native Instruments Audio Kontrol 1
2333 * Native Instruments Audio 8 DJ
2334         
2335 This module supports multiple devices, autoprobe and hotplugging.
2336   
2337 Module snd-usb-usx2y
2338 --------------------
2339
2340 Module for Tascam USB US-122, US-224 and US-428 devices.
2341
2342 This module supports multiple devices, autoprobe and hotplugging.
2343
2344 Note: you need to load the firmware via ``usx2yloader`` utility included
2345 in alsa-tools and alsa-firmware packages.
2346
2347 Module snd-via82xx
2348 ------------------
2349
2350 Module for AC'97 motherboards based on VIA 82C686A/686B, 8233, 8233A,
2351 8233C, 8235, 8237 (south) bridge.
2352
2353 mpu_port
2354     0x300,0x310,0x320,0x330, otherwise obtain BIOS setup
2355     [VIA686A/686B only]
2356 joystick
2357     Enable joystick (default off) [VIA686A/686B only]
2358 ac97_clock
2359     AC'97 codec clock base (default 48000Hz)
2360 dxs_support
2361     support DXS channels, 0 = auto (default), 1 = enable, 2 = disable,
2362     3 = 48k only, 4 = no VRA, 5 = enable any sample rate and different
2363     sample rates on different channels [VIA8233/C, 8235, 8237 only]
2364 ac97_quirk
2365     AC'97 workaround for strange hardware;
2366     See `AC97 Quirk Option`_ section below.
2367
2368 This module supports one chip and autoprobe.
2369
2370 Note: on some SMP motherboards like MSI 694D the interrupts might
2371 not be generated properly.  In such a case, please try to
2372 set the SMP (or MPS) version on BIOS to 1.1 instead of
2373 default value 1.4.  Then the interrupt number will be
2374 assigned under 15. You might also upgrade your BIOS.
2375
2376 Note: VIA8233/5/7 (not VIA8233A) can support DXS (direct sound)
2377 channels as the first PCM.  On these channels, up to 4
2378 streams can be played at the same time, and the controller
2379 can perform sample rate conversion with separate rates for
2380 each channel.
2381 As default (``dxs_support = 0``), 48k fixed rate is chosen
2382 except for the known devices since the output is often
2383 noisy except for 48k on some mother boards due to the
2384 bug of BIOS.
2385 Please try once ``dxs_support=5`` and if it works on other
2386 sample rates (e.g. 44.1kHz of mp3 playback), please let us
2387 know the PCI subsystem vendor/device id's (output of
2388 ``lspci -nv``).
2389 If ``dxs_support=5`` does not work, try ``dxs_support=4``; if it
2390 doesn't work too, try dxs_support=1.  (dxs_support=1 is
2391 usually for old motherboards.  The correct implemented
2392 board should work with 4 or 5.)  If it still doesn't
2393 work and the default setting is ok, ``dxs_support=3`` is the
2394 right choice.  If the default setting doesn't work at all,
2395 try ``dxs_support=2`` to disable the DXS channels.
2396 In any cases, please let us know the result and the
2397 subsystem vendor/device ids.  See `Links and Addresses`_
2398 below.
2399
2400 Note: for the MPU401 on VIA823x, use snd-mpu401 driver
2401 additionally.  The mpu_port option is for VIA686 chips only.
2402
2403 The power-management is supported.
2404
2405 Module snd-via82xx-modem
2406 ------------------------
2407
2408 Module for VIA82xx AC97 modem
2409
2410 ac97_clock
2411     AC'97 codec clock base (default 48000Hz)
2412
2413 This module supports one card and autoprobe.
2414
2415 Note: The default index value of this module is -2, i.e. the first
2416 slot is excluded.
2417
2418 The power-management is supported.
2419
2420 Module snd-virmidi
2421 ------------------
2422
2423 Module for virtual rawmidi devices.
2424 This module creates virtual rawmidi devices which communicate
2425 to the corresponding ALSA sequencer ports.
2426
2427 midi_devs
2428     MIDI devices # (1-4, default=4)
2429
2430 This module supports multiple cards.
2431
2432 Module snd-virtuoso
2433 -------------------
2434
2435 Module for sound cards based on the Asus AV66/AV100/AV200 chips,
2436 i.e., Xonar D1, DX, D2, D2X, DS, DSX, Essence ST (Deluxe),
2437 Essence STX (II), HDAV1.3 (Deluxe), and HDAV1.3 Slim.
2438
2439 This module supports autoprobe and multiple cards.
2440
2441 Module snd-vx222
2442 ----------------
2443
2444 Module for Digigram VX-Pocket VX222, V222 v2 and Mic cards.
2445
2446 mic
2447     Enable Microphone on V222 Mic (NYI)
2448 ibl
2449     Capture IBL size. (default = 0, minimum size)
2450
2451 This module supports multiple cards.
2452
2453 When the driver is compiled as a module and the hotplug firmware
2454 is supported, the firmware data is loaded via hotplug automatically.
2455 Install the necessary firmware files in alsa-firmware package.
2456 When no hotplug fw loader is available, you need to load the
2457 firmware via vxloader utility in alsa-tools package.  To invoke
2458 vxloader automatically, add the following to /etc/modprobe.d/alsa.conf
2459
2460 ::
2461
2462   install snd-vx222 /sbin/modprobe --first-time -i snd-vx222\
2463     && /usr/bin/vxloader
2464
2465 (for 2.2/2.4 kernels, add ``post-install /usr/bin/vxloader`` to
2466 /etc/modules.conf, instead.)
2467 IBL size defines the interrupts period for PCM.  The smaller size
2468 gives smaller latency but leads to more CPU consumption, too.
2469 The size is usually aligned to 126.  As default (=0), the smallest
2470 size is chosen.  The possible IBL values can be found in
2471 /proc/asound/cardX/vx-status proc file.
2472
2473 The power-management is supported.
2474
2475 Module snd-vxpocket
2476 -------------------
2477
2478 Module for Digigram VX-Pocket VX2 and 440 PCMCIA cards.
2479
2480 ibl
2481     Capture IBL size. (default = 0, minimum size)
2482
2483 This module supports multiple cards.  The module is compiled only when
2484 PCMCIA is supported on kernel.
2485
2486 With the older 2.6.x kernel, to activate the driver via the card
2487 manager, you'll need to set up /etc/pcmcia/vxpocket.conf.  See the
2488 sound/pcmcia/vx/vxpocket.c.  2.6.13 or later kernel requires no
2489 longer require a config file.
2490
2491 When the driver is compiled as a module and the hotplug firmware
2492 is supported, the firmware data is loaded via hotplug automatically.
2493 Install the necessary firmware files in alsa-firmware package.
2494 When no hotplug fw loader is available, you need to load the
2495 firmware via vxloader utility in alsa-tools package.
2496
2497 About capture IBL, see the description of snd-vx222 module.
2498
2499 Note: snd-vxp440 driver is merged to snd-vxpocket driver since
2500 ALSA 1.0.10.
2501
2502 The power-management is supported.
2503
2504 Module snd-ymfpci
2505 -----------------
2506
2507 Module for Yamaha PCI chips (YMF72x, YMF74x & YMF75x).
2508
2509 mpu_port
2510     0x300,0x330,0x332,0x334, 0 (disable) by default,
2511     1 (auto-detect for YMF744/754 only)
2512 fm_port
2513     0x388,0x398,0x3a0,0x3a8, 0 (disable) by default
2514     1 (auto-detect for YMF744/754 only)
2515 joystick_port
2516     0x201,0x202,0x204,0x205, 0 (disable) by default,
2517     1 (auto-detect)
2518 rear_switch
2519     enable shared rear/line-in switch (bool)
2520
2521 This module supports autoprobe and multiple chips.
2522
2523 The power-management is supported.
2524
2525 Module snd-pdaudiocf
2526 --------------------
2527
2528 Module for Sound Core PDAudioCF sound card.
2529
2530 The power-management is supported.
2531
2532
2533 AC97 Quirk Option
2534 =================
2535
2536 The ac97_quirk option is used to enable/override the workaround for
2537 specific devices on drivers for on-board AC'97 controllers like
2538 snd-intel8x0.  Some hardware have swapped output pins between Master
2539 and Headphone, or Surround (thanks to confusion of AC'97
2540 specifications from version to version :-)
2541
2542 The driver provides the auto-detection of known problematic devices,
2543 but some might be unknown or wrongly detected.  In such a case, pass
2544 the proper value with this option.
2545
2546 The following strings are accepted:
2547
2548 default
2549     Don't override the default setting
2550 none
2551     Disable the quirk
2552 hp_only
2553     Bind Master and Headphone controls as a single control
2554 swap_hp
2555     Swap headphone and master controls
2556 swap_surround
2557     Swap master and surround controls
2558 ad_sharing
2559     For AD1985, turn on OMS bit and use headphone
2560 alc_jack
2561     For ALC65x, turn on the jack sense mode
2562 inv_eapd
2563     Inverted EAPD implementation
2564 mute_led
2565     Bind EAPD bit for turning on/off mute LED
2566
2567 For backward compatibility, the corresponding integer value -1, 0, ...
2568 are  accepted, too.
2569
2570 For example, if ``Master`` volume control has no effect on your device
2571 but only ``Headphone`` does, pass ac97_quirk=hp_only module option.
2572
2573
2574 Configuring Non-ISAPNP Cards
2575 ============================
2576
2577 When the kernel is configured with ISA-PnP support, the modules
2578 supporting the isapnp cards will have module options ``isapnp``.
2579 If this option is set, *only* the ISA-PnP devices will be probed.
2580 For probing the non ISA-PnP cards, you have to pass ``isapnp=0`` option
2581 together with the proper i/o and irq configuration.
2582
2583 When the kernel is configured without ISA-PnP support, isapnp option
2584 will be not built in.
2585
2586
2587 Module Autoloading Support
2588 ==========================
2589
2590 The ALSA drivers can be loaded automatically on demand by defining
2591 module aliases.  The string ``snd-card-%1`` is requested for ALSA native
2592 devices where ``%i`` is sound card number from zero to seven.
2593
2594 To auto-load an ALSA driver for OSS services, define the string
2595 ``sound-slot-%i`` where ``%i`` means the slot number for OSS, which
2596 corresponds to the card index of ALSA.  Usually, define this
2597 as the same card module.
2598
2599 An example configuration for a single emu10k1 card is like below:
2600 ::
2601
2602     ----- /etc/modprobe.d/alsa.conf
2603     alias snd-card-0 snd-emu10k1
2604     alias sound-slot-0 snd-emu10k1
2605     ----- /etc/modprobe.d/alsa.conf
2606
2607 The available number of auto-loaded sound cards depends on the module
2608 option ``cards_limit`` of snd module.  As default it's set to 1.
2609 To enable the auto-loading of multiple cards, specify the number of
2610 sound cards in that option.
2611
2612 When multiple cards are available, it'd better to specify the index
2613 number for each card via module option, too, so that the order of
2614 cards is kept consistent.
2615
2616 An example configuration for two sound cards is like below:
2617 ::
2618
2619     ----- /etc/modprobe.d/alsa.conf
2620     # ALSA portion
2621     options snd cards_limit=2
2622     alias snd-card-0 snd-interwave
2623     alias snd-card-1 snd-ens1371
2624     options snd-interwave index=0
2625     options snd-ens1371 index=1
2626     # OSS/Free portion
2627     alias sound-slot-0 snd-interwave
2628     alias sound-slot-1 snd-ens1371
2629     ----- /etc/modprobe.d/alsa.conf
2630
2631 In this example, the interwave card is always loaded as the first card
2632 (index 0) and ens1371 as the second (index 1).
2633
2634 Alternative (and new) way to fixate the slot assignment is to use
2635 ``slots`` option of snd module.  In the case above, specify like the
2636 following: 
2637 ::
2638
2639     options snd slots=snd-interwave,snd-ens1371
2640
2641 Then, the first slot (#0) is reserved for snd-interwave driver, and
2642 the second (#1) for snd-ens1371.  You can omit index option in each
2643 driver if slots option is used (although you can still have them at
2644 the same time as long as they don't conflict).
2645
2646 The slots option is especially useful for avoiding the possible
2647 hot-plugging and the resultant slot conflict.  For example, in the
2648 case above again, the first two slots are already reserved.  If any
2649 other driver (e.g. snd-usb-audio) is loaded before snd-interwave or
2650 snd-ens1371, it will be assigned to the third or later slot.
2651
2652 When a module name is given with '!', the slot will be given for any
2653 modules but that name.  For example, ``slots=!snd-pcsp`` will reserve
2654 the first slot for any modules but snd-pcsp. 
2655
2656
2657 ALSA PCM devices to OSS devices mapping
2658 =======================================
2659 ::
2660
2661     /dev/snd/pcmC0D0[c|p]  -> /dev/audio0 (/dev/audio) -> minor 4
2662     /dev/snd/pcmC0D0[c|p]  -> /dev/dsp0 (/dev/dsp)     -> minor 3
2663     /dev/snd/pcmC0D1[c|p]  -> /dev/adsp0 (/dev/adsp)   -> minor 12
2664     /dev/snd/pcmC1D0[c|p]  -> /dev/audio1              -> minor 4+16 = 20
2665     /dev/snd/pcmC1D0[c|p]  -> /dev/dsp1                -> minor 3+16 = 19
2666     /dev/snd/pcmC1D1[c|p]  -> /dev/adsp1               -> minor 12+16 = 28
2667     /dev/snd/pcmC2D0[c|p]  -> /dev/audio2              -> minor 4+32 = 36
2668     /dev/snd/pcmC2D0[c|p]  -> /dev/dsp2                -> minor 3+32 = 39
2669     /dev/snd/pcmC2D1[c|p]  -> /dev/adsp2               -> minor 12+32 = 44
2670
2671 The first number from ``/dev/snd/pcmC{X}D{Y}[c|p]`` expression means
2672 sound card number and second means device number.  The ALSA devices
2673 have either ``c`` or ``p`` suffix indicating the direction, capture and
2674 playback, respectively.
2675
2676 Please note that the device mapping above may be varied via the module
2677 options of snd-pcm-oss module.
2678
2679
2680 Proc interfaces (/proc/asound)
2681 ==============================
2682
2683 /proc/asound/card#/pcm#[cp]/oss
2684 -------------------------------
2685 erase
2686     erase all additional information about OSS applications
2687
2688 <app_name> <fragments> <fragment_size> [<options>]
2689     <app_name>
2690         name of application with (higher priority) or without path
2691     <fragments>
2692          number of fragments or zero if auto
2693     <fragment_size>
2694          size of fragment in bytes or zero if auto
2695     <options>
2696         optional parameters
2697
2698         disable
2699             the application tries to open a pcm device for
2700             this channel but does not want to use it.
2701             (Cause a bug or mmap needs)
2702             It's good for Quake etc...
2703         direct
2704             don't use plugins
2705         block
2706              force block mode (rvplayer)
2707         non-block
2708             force non-block mode
2709         whole-frag
2710             write only whole fragments (optimization affecting
2711             playback only)
2712         no-silence
2713             do not fill silence ahead to avoid clicks
2714         buggy-ptr
2715             Returns the whitespace blocks in GETOPTR ioctl
2716             instead of filled blocks
2717
2718 Example:
2719 ::
2720
2721     echo "x11amp 128 16384" > /proc/asound/card0/pcm0p/oss
2722     echo "squake 0 0 disable" > /proc/asound/card0/pcm0c/oss
2723     echo "rvplayer 0 0 block" > /proc/asound/card0/pcm0p/oss
2724
2725
2726 Early Buffer Allocation
2727 =======================
2728
2729 Some drivers (e.g. hdsp) require the large contiguous buffers, and
2730 sometimes it's too late to find such spaces when the driver module is
2731 actually loaded due to memory fragmentation.  You can pre-allocate the
2732 PCM buffers by loading snd-page-alloc module and write commands to its
2733 proc file in prior, for example, in the early boot stage like
2734 ``/etc/init.d/*.local`` scripts.
2735
2736 Reading the proc file /proc/drivers/snd-page-alloc shows the current
2737 usage of page allocation.  In writing, you can send the following
2738 commands to the snd-page-alloc driver:
2739
2740 * add VENDOR DEVICE MASK SIZE BUFFERS
2741
2742 VENDOR and DEVICE are PCI vendor and device IDs.  They take
2743 integer numbers (0x prefix is needed for the hex).
2744 MASK is the PCI DMA mask.  Pass 0 if not restricted.
2745 SIZE is the size of each buffer to allocate.  You can pass
2746 k and m suffix for KB and MB.  The max number is 16MB.
2747 BUFFERS is the number of buffers to allocate.  It must be greater
2748 than 0.  The max number is 4.
2749
2750 * erase
2751
2752 This will erase the all pre-allocated buffers which are not in
2753 use.
2754
2755
2756 Links and Addresses
2757 ===================
2758
2759 ALSA project homepage
2760     http://www.alsa-project.org
2761 Kernel Bugzilla
2762     http://bugzilla.kernel.org/
2763 ALSA Developers ML
2764     mailto:alsa-devel@alsa-project.org
2765 alsa-info.sh script
2766     https://www.alsa-project.org/alsa-info.sh