~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/sound/cards/maya44.rst

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 =================================
  2 Notes on Maya44 USB Audio Support
  3 =================================
  4 
  5 .. note::
  6    The following is the original document of Rainer's patch that the
  7    current maya44 code based on.  Some contents might be obsoleted, but I
  8    keep here as reference -- tiwai
  9 
 10 Feb 14, 2008
 11 
 12 Rainer Zimmermann <mail@lightshed.de>
 13  
 14 STATE OF DEVELOPMENT
 15 ====================
 16 
 17 This driver is being developed on the initiative of Piotr Makowski (oponek@gmail.com) and financed by Lars Bergmann.
 18 Development is carried out by Rainer Zimmermann (mail@lightshed.de).
 19 
 20 ESI provided a sample Maya44 card for the development work.
 21 
 22 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.
 23 
 24 This is the first testing version of the Maya44 driver released to the alsa-devel mailing list (Feb 5, 2008).
 25 
 26 
 27 The following functions work, as tested by Rainer Zimmermann and Piotr Makowski:
 28 
 29 - playback and capture at all sampling rates
 30 - input/output level
 31 - crossmixing
 32 - line/mic switch
 33 - phantom power switch
 34 - analogue monitor a.k.a bypass
 35 
 36 
 37 The following functions *should* work, but are not fully tested:
 38 
 39 - Channel 3+4 analogue - S/PDIF input switching
 40 - S/PDIF output
 41 - all inputs/outputs on the M/IO/DIO extension card
 42 - internal/external clock selection
 43 
 44 
 45 *In particular, we would appreciate testing of these functions by anyone who has access to an M/IO/DIO extension card.*
 46 
 47 
 48 Things that do not seem to work:
 49 
 50 - 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).
 51 
 52 - Ardour 2.1 seems to work only via JACK, not using ALSA directly or via OSS. This still needs to be tracked down.
 53 
 54 
 55 DRIVER DETAILS
 56 ==============
 57 
 58 the following files were added:
 59 
 60 * pci/ice1724/maya44.c - Maya44 specific code
 61 * pci/ice1724/maya44.h
 62 * pci/ice1724/ice1724.patch
 63 * pci/ice1724/ice1724.h.patch - PROPOSED patch to ice1724.h (see SAMPLING RATES)
 64 * i2c/other/wm8776.c - low-level access routines for Wolfson WM8776 codecs 
 65 * include/wm8776.h
 66 
 67 
 68 Note that the wm8776.c code is meant to be card-independent and does not actually register the codec with the ALSA infrastructure.
 69 This is done in maya44.c, mainly because some of the WM8776 controls are used in Maya44-specific ways, and should be named appropriately.
 70 
 71 
 72 the following files were created in pci/ice1724, simply #including the corresponding file from the alsa-kernel tree:
 73 
 74 * wtm.h
 75 * vt1720_mobo.h
 76 * revo.h
 77 * prodigy192.h
 78 * pontis.h
 79 * phase.h
 80 * maya44.h
 81 * juli.h
 82 * aureon.h
 83 * amp.h
 84 * envy24ht.h
 85 * se.h
 86 * prodigy_hifi.h
 87 
 88 
 89 *I hope this is the correct way to do things.*
 90 
 91 
 92 SAMPLING RATES
 93 ==============
 94 
 95 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.
 96 
 97 As the ICE1724 chip only allows one global sampling rate, this is handled as follows:
 98 
 99 * 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.
100 
101 * In the current state of the driver, setting rates of up to 192 kHz is permitted even for capture devices.
102 
103 *AVOID CAPTURING AT RATES ABOVE 96kHz*, even though it may appear to work. The codec cannot actually capture at such rates, meaning poor quality.
104 
105 
106 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.
107 
108 The proposed code (currently deactivated) is in ice1712.h.patch, ice1724.c and maya44.c (in pci/ice1712).
109 
110 
111 SOUND DEVICES
112 =============
113 
114 PCM devices correspond to inputs/outputs as follows (assuming Maya44 is card #0):
115 
116 * hw:0,0 input - stereo, analog input 1+2
117 * hw:0,0 output - stereo, analog output 1+2
118 * hw:0,1 input - stereo, analog input 3+4 OR S/PDIF input
119 * hw:0,1 output - stereo, analog output 3+4 (and SPDIF out)
120 
121 
122 NAMING OF MIXER CONTROLS
123 ========================
124 
125 (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).
126 
127 
128 PCM
129     (digital) output level for channel 1+2
130 PCM 1
131     same for channel 3+4
132 
133 Mic Phantom+48V
134     switch for +48V phantom power for electrostatic microphones on input 1/2.
135 
136     Make sure this is not turned on while any other source is connected to input 1/2.
137     It might damage the source and/or the maya44 card.
138 
139 Mic/Line input
140     if switch is on, input jack 1/2 is microphone input (mono), otherwise line input (stereo).
141 
142 Bypass
143     analogue bypass from ADC input to output for channel 1+2. Same as "Monitor" in the windows driver.
144 Bypass 1
145     same for channel 3+4.
146 
147 Crossmix
148     cross-mixer from channels 1+2 to channels 3+4
149 Crossmix 1
150     cross-mixer from channels 3+4 to channels 1+2
151 
152 IEC958 Output
153     switch for S/PDIF output.
154 
155     This is not supported by the ESI windows driver.
156     S/PDIF should output the same signal as channel 3+4. [untested!]
157 
158 
159 Digital output selectors
160     These switches allow a direct digital routing from the ADCs to the DACs.
161     Each switch determines where the digital input data to one of the DACs comes from.
162     They are not supported by the ESI windows driver.
163     For normal operation, they should all be set to "PCM out".
164 
165 H/W
166     Output source channel 1
167 H/W 1
168     Output source channel 2
169 H/W 2
170     Output source channel 3
171 H/W 3
172     Output source channel 4
173 
174 H/W 4 ... H/W 9
175     unknown function, left in to enable testing.
176 
177     Possibly some of these control S/PDIF output(s).
178     If these turn out to be unused, they will go away in later driver versions.
179 
180 Selectable values for each of the digital output selectors are:
181 
182 PCM out
183         DAC output of the corresponding channel (default setting)
184 Input 1 ... Input 4
185         direct routing from ADC output of the selected input channel
186 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php