brintos

brintos / linux-shallow public Read only

0
0
Text · 5.9 KiB · ab973f6 Raw
187 lines · plain
1=================================2Notes on Maya44 USB Audio Support3=================================4 5.. note::6   The following is the original document of Rainer's patch that the7   current maya44 code based on.  Some contents might be obsoleted, but I8   keep here as reference -- tiwai9 10Feb 14, 200811 12Rainer Zimmermann <mail@lightshed.de>13 14STATE OF DEVELOPMENT15====================16 17This driver is being developed on the initiative of Piotr Makowski (oponek@gmail.com) and financed by Lars Bergmann.18Development is carried out by Rainer Zimmermann (mail@lightshed.de).19 20ESI provided a sample Maya44 card for the development work.21 22However, 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 24This is the first testing version of the Maya44 driver released to the alsa-devel mailing list (Feb 5, 2008).25 26 27The following functions work, as tested by Rainer Zimmermann and Piotr Makowski:28 29- playback and capture at all sampling rates30- input/output level31- crossmixing32- line/mic switch33- phantom power switch34- analogue monitor a.k.a bypass35 36 37The following functions *should* work, but are not fully tested:38 39- Channel 3+4 analogue - S/PDIF input switching40- S/PDIF output41- all inputs/outputs on the M/IO/DIO extension card42- internal/external clock selection43 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 48Things 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 55DRIVER DETAILS56==============57 58the following files were added:59 60* pci/ice1724/maya44.c - Maya44 specific code61* pci/ice1724/maya44.h62* pci/ice1724/ice1724.patch63* 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.h66 67 68Note that the wm8776.c code is meant to be card-independent and does not actually register the codec with the ALSA infrastructure.69This 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 72the following files were created in pci/ice1724, simply #including the corresponding file from the alsa-kernel tree:73 74* wtm.h75* vt1720_mobo.h76* revo.h77* prodigy192.h78* pontis.h79* phase.h80* maya44.h81* juli.h82* aureon.h83* amp.h84* envy24ht.h85* se.h86* prodigy_hifi.h87 88 89*I hope this is the correct way to do things.*90 91 92SAMPLING RATES93==============94 95The 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 97As 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 106I 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 108The proposed code (currently deactivated) is in ice1712.h.patch, ice1724.c and maya44.c (in pci/ice1712).109 110 111SOUND DEVICES112=============113 114PCM devices correspond to inputs/outputs as follows (assuming Maya44 is card #0):115 116* hw:0,0 input - stereo, analog input 1+2117* hw:0,0 output - stereo, analog output 1+2118* hw:0,1 input - stereo, analog input 3+4 OR S/PDIF input119* hw:0,1 output - stereo, analog output 3+4 (and SPDIF out)120 121 122NAMING OF MIXER CONTROLS123========================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 128PCM129    (digital) output level for channel 1+2130PCM 1131    same for channel 3+4132 133Mic Phantom+48V134    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 139Mic/Line input140    if switch is on, input jack 1/2 is microphone input (mono), otherwise line input (stereo).141 142Bypass143    analogue bypass from ADC input to output for channel 1+2. Same as "Monitor" in the windows driver.144Bypass 1145    same for channel 3+4.146 147Crossmix148    cross-mixer from channels 1+2 to channels 3+4149Crossmix 1150    cross-mixer from channels 3+4 to channels 1+2151 152IEC958 Output153    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 159Digital output selectors160    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 165H/W166    Output source channel 1167H/W 1168    Output source channel 2169H/W 2170    Output source channel 3171H/W 3172    Output source channel 4173 174H/W 4 ... H/W 9175    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 180Selectable values for each of the digital output selectors are:181 182PCM out183	DAC output of the corresponding channel (default setting)184Input 1 ... Input 4185	direct routing from ADC output of the selected input channel186 187