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