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