linux/Documentation/sound/alsa/README.maya44
<<
>>
Prefs
   1NOTE: The following is the original document of Rainer's patch that the
   2current maya44 code based on.  Some contents might be obsoleted, but I
   3keep here as reference -- tiwai
   4
   5----------------------------------------------------------------
   6 
   7STATE OF DEVELOPMENT:
   8
   9This driver is being developed on the initiative of Piotr Makowski (oponek@gmail.com) and financed by Lars Bergmann.
  10Development is carried out by Rainer Zimmermann (mail@lightshed.de).
  11
  12ESI provided a sample Maya44 card for the development work.
  13
  14However, 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
  16This is the first testing version of the Maya44 driver released to the alsa-devel mailing list (Feb 5, 2008).
  17
  18
  19The 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
  29The 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
  40Things 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
  47DRIVER DETAILS:
  48
  49the following files were added:
  50
  51pci/ice1724/maya44.c        - Maya44 specific code
  52pci/ice1724/maya44.h
  53pci/ice1724/ice1724.patch
  54pci/ice1724/ice1724.h.patch - PROPOSED patch to ice1724.h (see SAMPLING RATES)
  55i2c/other/wm8776.c  - low-level access routines for Wolfson WM8776 codecs 
  56include/wm8776.h
  57
  58
  59Note that the wm8776.c code is meant to be card-independent and does not actually register the codec with the ALSA infrastructure.
  60This 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
  63the following files were created in pci/ice1724, simply #including the corresponding file from the alsa-kernel tree:
  64
  65wtm.h
  66vt1720_mobo.h
  67revo.h
  68prodigy192.h
  69pontis.h
  70phase.h
  71maya44.h
  72juli.h
  73aureon.h
  74amp.h
  75envy24ht.h
  76se.h
  77prodigy_hifi.h
  78
  79
  80*I hope this is the correct way to do things.*
  81
  82
  83SAMPLING RATES:
  84
  85The 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
  87As 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
  96I 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
  98The proposed code (currently deactivated) is in ice1712.h.patch, ice1724.c and maya44.c (in pci/ice1712).
  99
 100
 101SOUND DEVICES:
 102
 103PCM devices correspond to inputs/outputs as follows (assuming Maya44 is card #0):
 104
 105hw:0,0 input - stereo, analog input 1+2
 106hw:0,0 output - stereo, analog output 1+2
 107hw:0,1 input - stereo, analog input 3+4 OR S/PDIF input
 108hw:0,1 output - stereo, analog output 3+4 (and SPDIF out)
 109
 110
 111NAMING 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
 116PCM: (digital) output level for channel 1+2
 117PCM 1: same for channel 3+4
 118
 119Mic 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
 123Mic/Line input: if switch is is on, input jack 1/2 is microphone input (mono), otherwise line input (stereo).
 124
 125Bypass: analogue bypass from ADC input to output for channel 1+2. Same as "Monitor" in the windows driver.
 126Bypass 1: same for channel 3+4.
 127
 128Crossmix: cross-mixer from channels 1+2 to channels 3+4
 129Crossmix 1: cross-mixer from channels 3+4 to channels 1+2
 130
 131IEC958 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
 136Digitial 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
 143H/W: Output source channel 1
 144H/W 1: Output source channel 2
 145H/W 2: Output source channel 3
 146H/W 3: Output source channel 4
 147
 148H/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
 152Selectable 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
 160Feb 14, 2008
 161Rainer Zimmermann
 162mail@lightshed.de
 163
 164