diff options
Diffstat (limited to 'Documentation/sound')
-rw-r--r-- | Documentation/sound/alsa/ALSA-Configuration.txt | 38 | ||||
-rw-r--r-- | Documentation/sound/alsa/HD-Audio-Models.txt | 1 | ||||
-rw-r--r-- | Documentation/sound/alsa/HD-Audio.txt | 2 | ||||
-rw-r--r-- | Documentation/sound/alsa/Procfile.txt | 39 | ||||
-rw-r--r-- | Documentation/sound/alsa/README.maya44 | 163 | ||||
-rw-r--r-- | Documentation/sound/alsa/hda_codec.txt | 2 | ||||
-rw-r--r-- | Documentation/sound/alsa/soc/dapm.txt | 1 |
7 files changed, 227 insertions, 19 deletions
diff --git a/Documentation/sound/alsa/ALSA-Configuration.txt b/Documentation/sound/alsa/ALSA-Configuration.txt index 414700b996ae..f9d11140af91 100644 --- a/Documentation/sound/alsa/ALSA-Configuration.txt +++ b/Documentation/sound/alsa/ALSA-Configuration.txt | |||
@@ -460,6 +460,25 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed. | |||
460 | 460 | ||
461 | The power-management is supported. | 461 | The power-management is supported. |
462 | 462 | ||
463 | Module snd-ctxfi | ||
464 | ---------------- | ||
465 | |||
466 | Module for Creative Sound Blaster X-Fi boards (20k1 / 20k2 chips) | ||
467 | * Creative Sound Blaster X-Fi Titanium Fatal1ty Champion Series | ||
468 | * Creative Sound Blaster X-Fi Titanium Fatal1ty Professional Series | ||
469 | * Creative Sound Blaster X-Fi Titanium Professional Audio | ||
470 | * Creative Sound Blaster X-Fi Titanium | ||
471 | * Creative Sound Blaster X-Fi Elite Pro | ||
472 | * Creative Sound Blaster X-Fi Platinum | ||
473 | * Creative Sound Blaster X-Fi Fatal1ty | ||
474 | * Creative Sound Blaster X-Fi XtremeGamer | ||
475 | * Creative Sound Blaster X-Fi XtremeMusic | ||
476 | |||
477 | reference_rate - reference sample rate, 44100 or 48000 (default) | ||
478 | multiple - multiple to ref. sample rate, 1 or 2 (default) | ||
479 | |||
480 | This module supports multiple cards. | ||
481 | |||
463 | Module snd-darla20 | 482 | Module snd-darla20 |
464 | ------------------ | 483 | ------------------ |
465 | 484 | ||
@@ -758,7 +777,7 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed. | |||
758 | single_cmd - Use single immediate commands to communicate with | 777 | single_cmd - Use single immediate commands to communicate with |
759 | codecs (for debugging only) | 778 | codecs (for debugging only) |
760 | enable_msi - Enable Message Signaled Interrupt (MSI) (default = off) | 779 | enable_msi - Enable Message Signaled Interrupt (MSI) (default = off) |
761 | power_save - Automatic power-saving timtout (in second, 0 = | 780 | power_save - Automatic power-saving timeout (in second, 0 = |
762 | disable) | 781 | disable) |
763 | power_save_controller - Reset HD-audio controller in power-saving mode | 782 | power_save_controller - Reset HD-audio controller in power-saving mode |
764 | (default = on) | 783 | (default = on) |
@@ -929,6 +948,7 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed. | |||
929 | * Onkyo SE-90PCI | 948 | * Onkyo SE-90PCI |
930 | * Onkyo SE-200PCI | 949 | * Onkyo SE-200PCI |
931 | * ESI Juli@ | 950 | * ESI Juli@ |
951 | * ESI Maya44 | ||
932 | * Hercules Fortissimo IV | 952 | * Hercules Fortissimo IV |
933 | * EGO-SYS WaveTerminal 192M | 953 | * EGO-SYS WaveTerminal 192M |
934 | 954 | ||
@@ -937,7 +957,7 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed. | |||
937 | prodigy71xt, prodigy71hifi, prodigyhd2, prodigy192, | 957 | prodigy71xt, prodigy71hifi, prodigyhd2, prodigy192, |
938 | juli, aureon51, aureon71, universe, ap192, k8x800, | 958 | juli, aureon51, aureon71, universe, ap192, k8x800, |
939 | phase22, phase28, ms300, av710, se200pci, se90pci, | 959 | phase22, phase28, ms300, av710, se200pci, se90pci, |
940 | fortissimo4, sn25p, WT192M | 960 | fortissimo4, sn25p, WT192M, maya44 |
941 | 961 | ||
942 | This module supports multiple cards and autoprobe. | 962 | This module supports multiple cards and autoprobe. |
943 | 963 | ||
@@ -1097,6 +1117,13 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed. | |||
1097 | This module supports multiple cards. | 1117 | This module supports multiple cards. |
1098 | The driver requires the firmware loader support on kernel. | 1118 | The driver requires the firmware loader support on kernel. |
1099 | 1119 | ||
1120 | Module snd-lx6464es | ||
1121 | ------------------- | ||
1122 | |||
1123 | Module for Digigram LX6464ES boards | ||
1124 | |||
1125 | This module supports multiple cards. | ||
1126 | |||
1100 | Module snd-maestro3 | 1127 | Module snd-maestro3 |
1101 | ------------------- | 1128 | ------------------- |
1102 | 1129 | ||
@@ -1547,13 +1574,15 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed. | |||
1547 | Module snd-sc6000 | 1574 | Module snd-sc6000 |
1548 | ----------------- | 1575 | ----------------- |
1549 | 1576 | ||
1550 | Module for Gallant SC-6000 soundcard. | 1577 | Module for Gallant SC-6000 soundcard and later models: SC-6600 |
1578 | and SC-7000. | ||
1551 | 1579 | ||
1552 | port - Port # (0x220 or 0x240) | 1580 | port - Port # (0x220 or 0x240) |
1553 | mss_port - MSS Port # (0x530 or 0xe80) | 1581 | mss_port - MSS Port # (0x530 or 0xe80) |
1554 | irq - IRQ # (5,7,9,10,11) | 1582 | irq - IRQ # (5,7,9,10,11) |
1555 | mpu_irq - MPU-401 IRQ # (5,7,9,10) ,0 - no MPU-401 irq | 1583 | mpu_irq - MPU-401 IRQ # (5,7,9,10) ,0 - no MPU-401 irq |
1556 | dma - DMA # (1,3,0) | 1584 | dma - DMA # (1,3,0) |
1585 | joystick - Enable gameport - 0 = disable (default), 1 = enable | ||
1557 | 1586 | ||
1558 | This module supports multiple cards. | 1587 | This module supports multiple cards. |
1559 | 1588 | ||
@@ -1863,7 +1892,8 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed. | |||
1863 | ------------------- | 1892 | ------------------- |
1864 | 1893 | ||
1865 | Module for sound cards based on the Asus AV100/AV200 chips, | 1894 | Module for sound cards based on the Asus AV100/AV200 chips, |
1866 | i.e., Xonar D1, DX, D2, D2X, HDAV1.3 (Deluxe), and Essence STX. | 1895 | i.e., Xonar D1, DX, D2, D2X, HDAV1.3 (Deluxe), Essence ST |
1896 | (Deluxe) and Essence STX. | ||
1867 | 1897 | ||
1868 | This module supports autoprobe and multiple cards. | 1898 | This module supports autoprobe and multiple cards. |
1869 | 1899 | ||
diff --git a/Documentation/sound/alsa/HD-Audio-Models.txt b/Documentation/sound/alsa/HD-Audio-Models.txt index 0d8d23581c44..939a3dd58148 100644 --- a/Documentation/sound/alsa/HD-Audio-Models.txt +++ b/Documentation/sound/alsa/HD-Audio-Models.txt | |||
@@ -240,6 +240,7 @@ AD1986A | |||
240 | laptop-automute 2-channel with EAPD and HP-automute (Lenovo N100) | 240 | laptop-automute 2-channel with EAPD and HP-automute (Lenovo N100) |
241 | ultra 2-channel with EAPD (Samsung Ultra tablet PC) | 241 | ultra 2-channel with EAPD (Samsung Ultra tablet PC) |
242 | samsung 2-channel with EAPD (Samsung R65) | 242 | samsung 2-channel with EAPD (Samsung R65) |
243 | samsung-p50 2-channel with HP-automute (Samsung P50) | ||
243 | 244 | ||
244 | AD1988/AD1988B/AD1989A/AD1989B | 245 | AD1988/AD1988B/AD1989A/AD1989B |
245 | ============================== | 246 | ============================== |
diff --git a/Documentation/sound/alsa/HD-Audio.txt b/Documentation/sound/alsa/HD-Audio.txt index 55aab1168236..0b5b480708f8 100644 --- a/Documentation/sound/alsa/HD-Audio.txt +++ b/Documentation/sound/alsa/HD-Audio.txt | |||
@@ -16,7 +16,7 @@ methods for the HD-audio hardware. | |||
16 | The HD-audio component consists of two parts: the controller chip and | 16 | The HD-audio component consists of two parts: the controller chip and |
17 | the codec chips on the HD-audio bus. Linux provides a single driver | 17 | the codec chips on the HD-audio bus. Linux provides a single driver |
18 | for all controllers, snd-hda-intel. Although the driver name contains | 18 | for all controllers, snd-hda-intel. Although the driver name contains |
19 | a word of a well-known harware vendor, it's not specific to it but for | 19 | a word of a well-known hardware vendor, it's not specific to it but for |
20 | all controller chips by other companies. Since the HD-audio | 20 | all controller chips by other companies. Since the HD-audio |
21 | controllers are supposed to be compatible, the single snd-hda-driver | 21 | controllers are supposed to be compatible, the single snd-hda-driver |
22 | should work in most cases. But, not surprisingly, there are known | 22 | should work in most cases. But, not surprisingly, there are known |
diff --git a/Documentation/sound/alsa/Procfile.txt b/Documentation/sound/alsa/Procfile.txt index bba2dbb79d81..381908d8ca42 100644 --- a/Documentation/sound/alsa/Procfile.txt +++ b/Documentation/sound/alsa/Procfile.txt | |||
@@ -88,21 +88,34 @@ card*/pcm*/info | |||
88 | substreams, etc. | 88 | substreams, etc. |
89 | 89 | ||
90 | card*/pcm*/xrun_debug | 90 | card*/pcm*/xrun_debug |
91 | This file appears when CONFIG_SND_DEBUG=y. | 91 | This file appears when CONFIG_SND_DEBUG=y and |
92 | This shows the status of xrun (= buffer overrun/xrun) debug of | 92 | CONFIG_PCM_XRUN_DEBUG=y. |
93 | ALSA PCM middle layer, as an integer from 0 to 2. The value | 93 | This shows the status of xrun (= buffer overrun/xrun) and |
94 | can be changed by writing to this file, such as | 94 | invalid PCM position debug/check of ALSA PCM middle layer. |
95 | 95 | It takes an integer value, can be changed by writing to this | |
96 | # cat 2 > /proc/asound/card0/pcm0p/xrun_debug | 96 | file, such as |
97 | 97 | ||
98 | When this value is greater than 0, the driver will show the | 98 | # cat 5 > /proc/asound/card0/pcm0p/xrun_debug |
99 | messages to kernel log when an xrun is detected. The debug | 99 | |
100 | message is shown also when the invalid H/W pointer is detected | 100 | The value consists of the following bit flags: |
101 | at the update of periods (usually called from the interrupt | 101 | bit 0 = Enable XRUN/jiffies debug messages |
102 | bit 1 = Show stack trace at XRUN / jiffies check | ||
103 | bit 2 = Enable additional jiffies check | ||
104 | |||
105 | When the bit 0 is set, the driver will show the messages to | ||
106 | kernel log when an xrun is detected. The debug message is | ||
107 | shown also when the invalid H/W pointer is detected at the | ||
108 | update of periods (usually called from the interrupt | ||
102 | handler). | 109 | handler). |
103 | 110 | ||
104 | When this value is greater than 1, the driver will show the | 111 | When the bit 1 is set, the driver will show the stack trace |
105 | stack trace additionally. This may help the debugging. | 112 | additionally. This may help the debugging. |
113 | |||
114 | Since 2.6.30, this option can enable the hwptr check using | ||
115 | jiffies. This detects spontaneous invalid pointer callback | ||
116 | values, but can be lead to too much corrections for a (mostly | ||
117 | buggy) hardware that doesn't give smooth pointer updates. | ||
118 | This feature is enabled via the bit 2. | ||
106 | 119 | ||
107 | card*/pcm*/sub*/info | 120 | card*/pcm*/sub*/info |
108 | The general information of this PCM sub-stream. | 121 | The general information of this PCM sub-stream. |
diff --git a/Documentation/sound/alsa/README.maya44 b/Documentation/sound/alsa/README.maya44 new file mode 100644 index 000000000000..0e41576fa13e --- /dev/null +++ b/Documentation/sound/alsa/README.maya44 | |||
@@ -0,0 +1,163 @@ | |||
1 | NOTE: The following is the original document of Rainer's patch that the | ||
2 | current maya44 code based on. Some contents might be obsoleted, but I | ||
3 | keep here as reference -- tiwai | ||
4 | |||
5 | ---------------------------------------------------------------- | ||
6 | |||
7 | STATE OF DEVELOPMENT: | ||
8 | |||
9 | This driver is being developed on the initiative of Piotr Makowski (oponek@gmail.com) and financed by Lars Bergmann. | ||
10 | Development is carried out by Rainer Zimmermann (mail@lightshed.de). | ||
11 | |||
12 | ESI provided a sample Maya44 card for the development work. | ||
13 | |||
14 | However, unfortunately it has turned out difficult to get detailed programming information, so I (Rainer Zimmermann) had to find out some card-specific information by experiment and conjecture. Some information (in particular, several GPIO bits) is still missing. | ||
15 | |||
16 | This is the first testing version of the Maya44 driver released to the alsa-devel mailing list (Feb 5, 2008). | ||
17 | |||
18 | |||
19 | The following functions work, as tested by Rainer Zimmermann and Piotr Makowski: | ||
20 | |||
21 | - playback and capture at all sampling rates | ||
22 | - input/output level | ||
23 | - crossmixing | ||
24 | - line/mic switch | ||
25 | - phantom power switch | ||
26 | - analogue monitor a.k.a bypass | ||
27 | |||
28 | |||
29 | The following functions *should* work, but are not fully tested: | ||
30 | |||
31 | - Channel 3+4 analogue - S/PDIF input switching | ||
32 | - S/PDIF output | ||
33 | - all inputs/outputs on the M/IO/DIO extension card | ||
34 | - internal/external clock selection | ||
35 | |||
36 | |||
37 | *In particular, we would appreciate testing of these functions by anyone who has access to an M/IO/DIO extension card.* | ||
38 | |||
39 | |||
40 | Things that do not seem to work: | ||
41 | |||
42 | - The level meters ("multi track") in 'alsamixer' do not seem to react to signals in (if this is a bug, it would probably be in the existing ICE1724 code). | ||
43 | |||
44 | - Ardour 2.1 seems to work only via JACK, not using ALSA directly or via OSS. This still needs to be tracked down. | ||
45 | |||
46 | |||
47 | DRIVER DETAILS: | ||
48 | |||
49 | the following files were added: | ||
50 | |||
51 | pci/ice1724/maya44.c - Maya44 specific code | ||
52 | pci/ice1724/maya44.h | ||
53 | pci/ice1724/ice1724.patch | ||
54 | pci/ice1724/ice1724.h.patch - PROPOSED patch to ice1724.h (see SAMPLING RATES) | ||
55 | i2c/other/wm8776.c - low-level access routines for Wolfson WM8776 codecs | ||
56 | include/wm8776.h | ||
57 | |||
58 | |||
59 | Note that the wm8776.c code is meant to be card-independent and does not actually register the codec with the ALSA infrastructure. | ||
60 | This is done in maya44.c, mainly because some of the WM8776 controls are used in Maya44-specific ways, and should be named appropriately. | ||
61 | |||
62 | |||
63 | the following files were created in pci/ice1724, simply #including the corresponding file from the alsa-kernel tree: | ||
64 | |||
65 | wtm.h | ||
66 | vt1720_mobo.h | ||
67 | revo.h | ||
68 | prodigy192.h | ||
69 | pontis.h | ||
70 | phase.h | ||
71 | maya44.h | ||
72 | juli.h | ||
73 | aureon.h | ||
74 | amp.h | ||
75 | envy24ht.h | ||
76 | se.h | ||
77 | prodigy_hifi.h | ||
78 | |||
79 | |||
80 | *I hope this is the correct way to do things.* | ||
81 | |||
82 | |||
83 | SAMPLING RATES: | ||
84 | |||
85 | The Maya44 card (or more exactly, the Wolfson WM8776 codecs) allow a maximum sampling rate of 192 kHz for playback and 92 kHz for capture. | ||
86 | |||
87 | As the ICE1724 chip only allows one global sampling rate, this is handled as follows: | ||
88 | |||
89 | * setting the sampling rate on any open PCM device on the maya44 card will always set the *global* sampling rate for all playback and capture channels. | ||
90 | |||
91 | * In the current state of the driver, setting rates of up to 192 kHz is permitted even for capture devices. | ||
92 | |||
93 | *AVOID CAPTURING AT RATES ABOVE 96kHz*, even though it may appear to work. The codec cannot actually capture at such rates, meaning poor quality. | ||
94 | |||
95 | |||
96 | I propose some additional code for limiting the sampling rate when setting on a capture pcm device. However because of the global sampling rate, this logic would be somewhat problematic. | ||
97 | |||
98 | The proposed code (currently deactivated) is in ice1712.h.patch, ice1724.c and maya44.c (in pci/ice1712). | ||
99 | |||
100 | |||
101 | SOUND DEVICES: | ||
102 | |||
103 | PCM devices correspond to inputs/outputs as follows (assuming Maya44 is card #0): | ||
104 | |||
105 | hw:0,0 input - stereo, analog input 1+2 | ||
106 | hw:0,0 output - stereo, analog output 1+2 | ||
107 | hw:0,1 input - stereo, analog input 3+4 OR S/PDIF input | ||
108 | hw:0,1 output - stereo, analog output 3+4 (and SPDIF out) | ||
109 | |||
110 | |||
111 | NAMING OF MIXER CONTROLS: | ||
112 | |||
113 | (for more information about the signal flow, please refer to the block diagram on p.24 of the ESI Maya44 manual, or in the ESI windows software). | ||
114 | |||
115 | |||
116 | PCM: (digital) output level for channel 1+2 | ||
117 | PCM 1: same for channel 3+4 | ||
118 | |||
119 | Mic Phantom+48V: switch for +48V phantom power for electrostatic microphones on input 1/2. | ||
120 | Make sure this is not turned on while any other source is connected to input 1/2. | ||
121 | It might damage the source and/or the maya44 card. | ||
122 | |||
123 | Mic/Line input: if switch is is on, input jack 1/2 is microphone input (mono), otherwise line input (stereo). | ||
124 | |||
125 | Bypass: analogue bypass from ADC input to output for channel 1+2. Same as "Monitor" in the windows driver. | ||
126 | Bypass 1: same for channel 3+4. | ||
127 | |||
128 | Crossmix: cross-mixer from channels 1+2 to channels 3+4 | ||
129 | Crossmix 1: cross-mixer from channels 3+4 to channels 1+2 | ||
130 | |||
131 | IEC958 Output: switch for S/PDIF output. | ||
132 | This is not supported by the ESI windows driver. | ||
133 | S/PDIF should output the same signal as channel 3+4. [untested!] | ||
134 | |||
135 | |||
136 | Digitial output selectors: | ||
137 | |||
138 | These switches allow a direct digital routing from the ADCs to the DACs. | ||
139 | Each switch determines where the digital input data to one of the DACs comes from. | ||
140 | They are not supported by the ESI windows driver. | ||
141 | For normal operation, they should all be set to "PCM out". | ||
142 | |||
143 | H/W: Output source channel 1 | ||
144 | H/W 1: Output source channel 2 | ||
145 | H/W 2: Output source channel 3 | ||
146 | H/W 3: Output source channel 4 | ||
147 | |||
148 | H/W 4 ... H/W 9: unknown function, left in to enable testing. | ||
149 | Possibly some of these control S/PDIF output(s). | ||
150 | If these turn out to be unused, they will go away in later driver versions. | ||
151 | |||
152 | Selectable values for each of the digital output selectors are: | ||
153 | "PCM out" -> DAC output of the corresponding channel (default setting) | ||
154 | "Input 1"... | ||
155 | "Input 4" -> direct routing from ADC output of the selected input channel | ||
156 | |||
157 | |||
158 | -------- | ||
159 | |||
160 | Feb 14, 2008 | ||
161 | Rainer Zimmermann | ||
162 | mail@lightshed.de | ||
163 | |||
diff --git a/Documentation/sound/alsa/hda_codec.txt b/Documentation/sound/alsa/hda_codec.txt index 34e87ec1379c..de8efbc7e4bd 100644 --- a/Documentation/sound/alsa/hda_codec.txt +++ b/Documentation/sound/alsa/hda_codec.txt | |||
@@ -114,7 +114,7 @@ For writing a sequence of verbs, use snd_hda_sequence_write(). | |||
114 | 114 | ||
115 | There are variants of cached read/write, snd_hda_codec_write_cache(), | 115 | There are variants of cached read/write, snd_hda_codec_write_cache(), |
116 | snd_hda_sequence_write_cache(). These are used for recording the | 116 | snd_hda_sequence_write_cache(). These are used for recording the |
117 | register states for the power-mangement resume. When no PM is needed, | 117 | register states for the power-management resume. When no PM is needed, |
118 | these are equivalent with non-cached version. | 118 | these are equivalent with non-cached version. |
119 | 119 | ||
120 | To retrieve the number of sub nodes connected to the given node, use | 120 | To retrieve the number of sub nodes connected to the given node, use |
diff --git a/Documentation/sound/alsa/soc/dapm.txt b/Documentation/sound/alsa/soc/dapm.txt index 9e6763264a2e..9ac842be9b4f 100644 --- a/Documentation/sound/alsa/soc/dapm.txt +++ b/Documentation/sound/alsa/soc/dapm.txt | |||
@@ -62,6 +62,7 @@ Audio DAPM widgets fall into a number of types:- | |||
62 | o Mic - Mic (and optional Jack) | 62 | o Mic - Mic (and optional Jack) |
63 | o Line - Line Input/Output (and optional Jack) | 63 | o Line - Line Input/Output (and optional Jack) |
64 | o Speaker - Speaker | 64 | o Speaker - Speaker |
65 | o Supply - Power or clock supply widget used by other widgets. | ||
65 | o Pre - Special PRE widget (exec before all others) | 66 | o Pre - Special PRE widget (exec before all others) |
66 | o Post - Special POST widget (exec after all others) | 67 | o Post - Special POST widget (exec after all others) |
67 | 68 | ||