]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blame - Documentation/sound/cards/audigy-mixer.rst
Merge tag 'platform-drivers-x86-v4.15-1' of git://git.infradead.org/linux-platform...
[mirror_ubuntu-bionic-kernel.git] / Documentation / sound / cards / audigy-mixer.rst
CommitLineData
72e69166
TI
1=============================================
2Sound Blaster Audigy mixer / default DSP code
3=============================================
1da177e4 4
72e69166 5This is based on sb-live-mixer.rst.
1da177e4
LT
6
7The EMU10K2 chips have a DSP part which can be programmed to support
8various ways of sample processing, which is described here.
4ae0edc2 9(This article does not deal with the overall functionality of the
1da177e4
LT
10EMU10K2 chips. See the manuals section for further details.)
11
12The ALSA driver programs this portion of chip by default code
13(can be altered later) which offers the following functionality:
14
15
72e69166
TI
16Digital mixer controls
17======================
1da177e4
LT
18
19These controls are built using the DSP instructions. They offer extended
20functionality. Only the default build-in code in the ALSA driver is described
21here. Note that the controls work as attenuators: the maximum value is the
22neutral position leaving the signal unchanged. Note that if the same destination
23is mentioned in multiple controls, the signal is accumulated and can be wrapped
24(set to maximal or minimal value without checking of overflow).
25
26
27Explanation of used abbreviations:
28
72e69166
TI
29DAC
30 digital to analog converter
31ADC
32 analog to digital converter
33I2S
34 one-way three wire serial bus for digital sound by Philips Semiconductors
35 (this standard is used for connecting standalone DAC and ADC converters)
36LFE
37 low frequency effects (subwoofer signal)
38AC97
39 a chip containing an analog mixer, DAC and ADC converters
40IEC958
41 S/PDIF
42FX-bus
43 the EMU10K2 chip has an effect bus containing 64 accumulators.
44 Each of the synthesizer voices can feed its output to these accumulators
45 and the DSP microcontroller can operate with the resulting sum.
1da177e4
LT
46
47name='PCM Front Playback Volume',index=0
72e69166 48----------------------------------------
1da177e4
LT
49This control is used to attenuate samples for left and right front PCM FX-bus
50accumulators. ALSA uses accumulators 8 and 9 for left and right front PCM
51samples for 5.1 playback. The result samples are forwarded to the front DAC PCM
52slots of the Philips DAC.
53
54name='PCM Surround Playback Volume',index=0
72e69166 55-------------------------------------------
1da177e4
LT
56This control is used to attenuate samples for left and right surround PCM FX-bus
57accumulators. ALSA uses accumulators 2 and 3 for left and right surround PCM
58samples for 5.1 playback. The result samples are forwarded to the surround DAC PCM
59slots of the Philips DAC.
60
61name='PCM Center Playback Volume',index=0
72e69166 62-----------------------------------------
1da177e4
LT
63This control is used to attenuate samples for center PCM FX-bus accumulator.
64ALSA uses accumulator 6 for center PCM sample for 5.1 playback. The result sample
65is forwarded to the center DAC PCM slot of the Philips DAC.
66
67name='PCM LFE Playback Volume',index=0
72e69166 68--------------------------------------
1da177e4
LT
69This control is used to attenuate sample for LFE PCM FX-bus accumulator.
70ALSA uses accumulator 7 for LFE PCM sample for 5.1 playback. The result sample
71is forwarded to the LFE DAC PCM slot of the Philips DAC.
72
73name='PCM Playback Volume',index=0
72e69166 74----------------------------------
1da177e4
LT
75This control is used to attenuate samples for left and right PCM FX-bus
76accumulators. ALSA uses accumulators 0 and 1 for left and right PCM samples for
77stereo playback. The result samples are forwarded to the front DAC PCM slots
78of the Philips DAC.
79
80name='PCM Capture Volume',index=0
72e69166 81---------------------------------
1da177e4
LT
82This control is used to attenuate samples for left and right PCM FX-bus
83accumulator. ALSA uses accumulators 0 and 1 for left and right PCM.
84The result is forwarded to the ADC capture FIFO (thus to the standard capture
85PCM device).
86
87name='Music Playback Volume',index=0
72e69166 88------------------------------------
1da177e4
LT
89This control is used to attenuate samples for left and right MIDI FX-bus
90accumulators. ALSA uses accumulators 4 and 5 for left and right MIDI samples.
91The result samples are forwarded to the front DAC PCM slots of the AC97 codec.
92
93name='Music Capture Volume',index=0
72e69166 94-----------------------------------
1da177e4
LT
95These controls are used to attenuate samples for left and right MIDI FX-bus
96accumulator. ALSA uses accumulators 4 and 5 for left and right PCM.
97The result is forwarded to the ADC capture FIFO (thus to the standard capture
98PCM device).
99
100name='Mic Playback Volume',index=0
72e69166 101----------------------------------
1da177e4
LT
102This control is used to attenuate samples for left and right Mic input.
103For Mic input is used AC97 codec. The result samples are forwarded to
104the front DAC PCM slots of the Philips DAC. Samples are forwarded to Mic
105capture FIFO (device 1 - 16bit/8KHz mono) too without volume control.
106
107name='Mic Capture Volume',index=0
72e69166 108---------------------------------
1da177e4
LT
109This control is used to attenuate samples for left and right Mic input.
110The result is forwarded to the ADC capture FIFO (thus to the standard capture
111PCM device).
112
113name='Audigy CD Playback Volume',index=0
72e69166 114----------------------------------------
1da177e4
LT
115This control is used to attenuate samples from left and right IEC958 TTL
116digital inputs (usually used by a CDROM drive). The result samples are
117forwarded to the front DAC PCM slots of the Philips DAC.
118
119name='Audigy CD Capture Volume',index=0
72e69166 120---------------------------------------
1da177e4
LT
121This control is used to attenuate samples from left and right IEC958 TTL
122digital inputs (usually used by a CDROM drive). The result samples are
123forwarded to the ADC capture FIFO (thus to the standard capture PCM device).
124
125name='IEC958 Optical Playback Volume',index=0
72e69166 126---------------------------------------------
1da177e4
LT
127This control is used to attenuate samples from left and right IEC958 optical
128digital input. The result samples are forwarded to the front DAC PCM slots
129of the Philips DAC.
130
131name='IEC958 Optical Capture Volume',index=0
72e69166 132--------------------------------------------
1da177e4
LT
133This control is used to attenuate samples from left and right IEC958 optical
134digital inputs. The result samples are forwarded to the ADC capture FIFO
135(thus to the standard capture PCM device).
136
137name='Line2 Playback Volume',index=0
72e69166 138------------------------------------
1da177e4
LT
139This control is used to attenuate samples from left and right I2S ADC
140inputs (on the AudigyDrive). The result samples are forwarded to the front
141DAC PCM slots of the Philips DAC.
142
143name='Line2 Capture Volume',index=1
72e69166 144-----------------------------------
1da177e4
LT
145This control is used to attenuate samples from left and right I2S ADC
146inputs (on the AudigyDrive). The result samples are forwarded to the ADC
147capture FIFO (thus to the standard capture PCM device).
148
149name='Analog Mix Playback Volume',index=0
72e69166 150-----------------------------------------
1da177e4
LT
151This control is used to attenuate samples from left and right I2S ADC
152inputs from Philips ADC. The result samples are forwarded to the front
153DAC PCM slots of the Philips DAC. This contains mix from analog sources
154like CD, Line In, Aux, ....
155
156name='Analog Mix Capture Volume',index=1
72e69166 157----------------------------------------
1da177e4
LT
158This control is used to attenuate samples from left and right I2S ADC
159inputs Philips ADC. The result samples are forwarded to the ADC
160capture FIFO (thus to the standard capture PCM device).
161
162name='Aux2 Playback Volume',index=0
72e69166 163-----------------------------------
1da177e4
LT
164This control is used to attenuate samples from left and right I2S ADC
165inputs (on the AudigyDrive). The result samples are forwarded to the front
166DAC PCM slots of the Philips DAC.
167
168name='Aux2 Capture Volume',index=1
72e69166 169----------------------------------
1da177e4
LT
170This control is used to attenuate samples from left and right I2S ADC
171inputs (on the AudigyDrive). The result samples are forwarded to the ADC
172capture FIFO (thus to the standard capture PCM device).
173
174name='Front Playback Volume',index=0
72e69166 175------------------------------------
1da177e4
LT
176All stereo signals are mixed together and mirrored to surround, center and LFE.
177This control is used to attenuate samples for left and right front speakers of
178this mix.
179
180name='Surround Playback Volume',index=0
72e69166 181---------------------------------------
1da177e4
LT
182All stereo signals are mixed together and mirrored to surround, center and LFE.
183This control is used to attenuate samples for left and right surround speakers of
184this mix.
185
186name='Center Playback Volume',index=0
72e69166 187-------------------------------------
1da177e4
LT
188All stereo signals are mixed together and mirrored to surround, center and LFE.
189This control is used to attenuate sample for center speaker of this mix.
190
191name='LFE Playback Volume',index=0
72e69166 192----------------------------------
1da177e4
LT
193All stereo signals are mixed together and mirrored to surround, center and LFE.
194This control is used to attenuate sample for LFE speaker of this mix.
195
196name='Tone Control - Switch',index=0
72e69166 197------------------------------------
1da177e4
LT
198This control turns the tone control on or off. The samples for front, rear
199and center / LFE outputs are affected.
200
201name='Tone Control - Bass',index=0
72e69166 202----------------------------------
1da177e4
LT
203This control sets the bass intensity. There is no neutral value!!
204When the tone control code is activated, the samples are always modified.
205The closest value to pure signal is 20.
206
207name='Tone Control - Treble',index=0
72e69166 208------------------------------------
1da177e4
LT
209This control sets the treble intensity. There is no neutral value!!
210When the tone control code is activated, the samples are always modified.
211The closest value to pure signal is 20.
212
213name='Master Playback Volume',index=0
72e69166 214-------------------------------------
1da177e4
LT
215This control is used to attenuate samples for front, surround, center and
216LFE outputs.
217
218name='IEC958 Optical Raw Playback Switch',index=0
72e69166 219-------------------------------------------------
1da177e4
LT
220If this switch is on, then the samples for the IEC958 (S/PDIF) digital
221output are taken only from the raw FX8010 PCM, otherwise standard front
222PCM samples are taken.
223
224
72e69166
TI
225PCM stream related controls
226===========================
1da177e4
LT
227
228name='EMU10K1 PCM Volume',index 0-31
72e69166 229------------------------------------
1da177e4
LT
230Channel volume attenuation in range 0-0xffff. The maximum value (no
231attenuation) is default. The channel mapping for three values is
232as follows:
233
72e69166
TI
234* 0 - mono, default 0xffff (no attenuation)
235* 1 - left, default 0xffff (no attenuation)
236* 2 - right, default 0xffff (no attenuation)
1da177e4
LT
237
238name='EMU10K1 PCM Send Routing',index 0-31
72e69166 239------------------------------------------
1da177e4
LT
240This control specifies the destination - FX-bus accumulators. There 24
241values with this mapping:
242
72e69166
TI
243* 0 - mono, A destination (FX-bus 0-63), default 0
244* 1 - mono, B destination (FX-bus 0-63), default 1
245* 2 - mono, C destination (FX-bus 0-63), default 2
246* 3 - mono, D destination (FX-bus 0-63), default 3
247* 4 - mono, E destination (FX-bus 0-63), default 0
248* 5 - mono, F destination (FX-bus 0-63), default 0
249* 6 - mono, G destination (FX-bus 0-63), default 0
250* 7 - mono, H destination (FX-bus 0-63), default 0
251* 8 - left, A destination (FX-bus 0-63), default 0
252* 9 - left, B destination (FX-bus 0-63), default 1
253* 10 - left, C destination (FX-bus 0-63), default 2
254* 11 - left, D destination (FX-bus 0-63), default 3
255* 12 - left, E destination (FX-bus 0-63), default 0
256* 13 - left, F destination (FX-bus 0-63), default 0
257* 14 - left, G destination (FX-bus 0-63), default 0
258* 15 - left, H destination (FX-bus 0-63), default 0
259* 16 - right, A destination (FX-bus 0-63), default 0
260* 17 - right, B destination (FX-bus 0-63), default 1
261* 18 - right, C destination (FX-bus 0-63), default 2
262* 19 - right, D destination (FX-bus 0-63), default 3
263* 20 - right, E destination (FX-bus 0-63), default 0
264* 21 - right, F destination (FX-bus 0-63), default 0
265* 22 - right, G destination (FX-bus 0-63), default 0
266* 23 - right, H destination (FX-bus 0-63), default 0
1da177e4
LT
267
268Don't forget that it's illegal to assign a channel to the same FX-bus accumulator
269more than once (it means 0=0 && 1=0 is an invalid combination).
270
271name='EMU10K1 PCM Send Volume',index 0-31
72e69166 272-----------------------------------------
1da177e4
LT
273It specifies the attenuation (amount) for given destination in range 0-255.
274The channel mapping is following:
275
72e69166
TI
276* 0 - mono, A destination attn, default 255 (no attenuation)
277* 1 - mono, B destination attn, default 255 (no attenuation)
278* 2 - mono, C destination attn, default 0 (mute)
279* 3 - mono, D destination attn, default 0 (mute)
280* 4 - mono, E destination attn, default 0 (mute)
281* 5 - mono, F destination attn, default 0 (mute)
282* 6 - mono, G destination attn, default 0 (mute)
283* 7 - mono, H destination attn, default 0 (mute)
284* 8 - left, A destination attn, default 255 (no attenuation)
285* 9 - left, B destination attn, default 0 (mute)
286* 10 - left, C destination attn, default 0 (mute)
287* 11 - left, D destination attn, default 0 (mute)
288* 12 - left, E destination attn, default 0 (mute)
289* 13 - left, F destination attn, default 0 (mute)
290* 14 - left, G destination attn, default 0 (mute)
291* 15 - left, H destination attn, default 0 (mute)
292* 16 - right, A destination attn, default 0 (mute)
293* 17 - right, B destination attn, default 255 (no attenuation)
294* 18 - right, C destination attn, default 0 (mute)
295* 19 - right, D destination attn, default 0 (mute)
296* 20 - right, E destination attn, default 0 (mute)
297* 21 - right, F destination attn, default 0 (mute)
298* 22 - right, G destination attn, default 0 (mute)
299* 23 - right, H destination attn, default 0 (mute)
300
301
302
303MANUALS/PATENTS
304===============
1da177e4
LT
305
306ftp://opensource.creative.com/pub/doc
307-------------------------------------
308
72e69166
TI
309LM4545.pdf
310 AC97 Codec
1da177e4 311
72e69166
TI
312m2049.pdf
313 The EMU10K1 Digital Audio Processor
1da177e4 314
72e69166
TI
315hog63.ps
316 FX8010 - A DSP Chip Architecture for Audio Effects
1da177e4
LT
317
318
319WIPO Patents
320------------
1da177e4 321
72e69166
TI
322WO 9901813 (A1)
323 Audio Effects Processor with multiple asynchronous streams
324 (Jan. 14, 1999)
325
326WO 9901814 (A1)
327 Processor with Instruction Set for Audio Effects (Jan. 14, 1999)
1da177e4 328
72e69166
TI
329WO 9901953 (A1)
330 Audio Effects Processor having Decoupled Instruction
331 Execution and Audio Data Sequencing (Jan. 14, 1999)
1da177e4
LT
332
333
334US Patents (http://www.uspto.gov/)
335----------------------------------
336
72e69166
TI
337US 5925841
338 Digital Sampling Instrument employing cache memory (Jul. 20, 1999)
339
340US 5928342
341 Audio Effects Processor integrated on a single chip
342 with a multiport memory onto which multiple asynchronous
343 digital sound samples can be concurrently loaded
344 (Jul. 27, 1999)
345
346US 5930158
347 Processor with Instruction Set for Audio Effects (Jul. 27, 1999)
348
349US 6032235
350 Memory initialization circuit (Tram) (Feb. 29, 2000)
351
352US 6138207
353 Interpolation looping of audio samples in cache connected to
354 system bus with prioritization and modification of bus transfers
355 in accordance with loop ends and minimum block sizes
356 (Oct. 24, 2000)
357
358US 6151670
359 Method for conserving memory storage using a
360 pool of short term memory registers
361 (Nov. 21, 2000)
362
363US 6195715
364 Interrupt control for multiple programs communicating with
365 a common interrupt by associating programs to GP registers,
366 defining interrupt register, polling GP registers, and invoking
367 callback routine associated with defined interrupt register
368 (Feb. 27, 2001)