Linux Audio

Check our new training course

Embedded Linux Audio

Check our new training course
with Creative Commons CC-BY-SA
lecture materials

Bootlin logo

Elixir Cross Referencer

Loading...

 (the following is from the armlinux CVS)

 WaveArtist mixer and volume levels can be accessed via these commands:

  nn30	read registers nn, where nn = 00 - 09 for mixer settings
		                              0a - 13 for channel volumes
  mm31	write the volume setting in pairs, where mm = (nn - 10) / 2
  rr32	write the mixer settings in pairs, where rr = nn/2
  xx33	reset all settings to default
  0y34	select mono source, y=0 = left, y=1 = right

                                           bits
 nn  15  14 13 12 11   10    9     8     7    6     5     4     3     2     1     0
----+---+------------+-----+-----+-----+----+-----+-----+-----+-----+-----+-----+-----+
 00 | 0 | 0  0  1  1 | left line mixer gain       | left aux1 mixer gain        |lmute|
----+---+------------+-----+-----+-----+----+-----+-----+-----+-----+-----+-----+-----+
 01 | 0 | 0  1  0  1 | left aux2 mixer gain       | right 2 left mic gain       |mmute|
----+---+------------+-----+-----+-----+----+-----+-----+-----+-----+-----+-----+-----+
 02 | 0 | 0  1  1  1 | left mic mixer gain        | left mic  | left mixer gain |dith |
----+---+------------+-----+-----+-----+----+-----+-----+-----+-----+-----+-----+-----+
 03 | 0 | 1  0  0  1 | left mixer input select                |lrfg | left ADC gain   |
----+---+------------+-----+-----+-----+----+-----+-----+-----+-----+-----+-----+-----+
 04 | 0 | 1  0  1  1 | right line mixer gain      | right aux1 mixer gain       |rmute|
----+---+------------+-----+-----+-----+----+-----+-----+-----+-----+-----+-----+-----+
 05 | 0 | 1  1  0  1 | right aux2 mixer gain      | left 2 right mic gain       |test |
----+---+------------+-----+-----+-----+----+-----+-----+-----+-----+-----+-----+-----+
 06 | 0 | 1  1  1  1 | right mic mixer gain       | right mic |right mixer gain |rbyps|
----+---+------------+-----+-----+-----+----+-----+-----+-----+-----+-----+-----+-----+
 07 | 1 | 0  0  0  1 | right mixer select                     |rrfg | right ADC gain  |
----+---+------------+-----+-----+-----+----+-----+-----+-----+-----+-----+-----+-----+
 08 | 1 | 0  0  1  1 | mono mixer gain            |right ADC mux sel|left ADC mux sel |
----+---+------------+-----+-----+-----+----+-----+-----+-----+-----+-----+-----+-----+
 09 | 1 | 0  1  0  1 |loopb|left linout|loop|ADCch|TxFch|OffCD|test |loopb|loopb|osamp|
----+---+------------+-----+-----+-----+----+-----+-----+-----+-----+-----+-----+-----+
 0a | 0 | left PCM channel volume                                                     |
----+---+------------+-----+-----+-----+----+-----+-----+-----+-----+-----+-----+-----+
 0b | 0 | right PCM channel volume                                                    |
----+---+------------+-----+-----+-----+----+-----+-----+-----+-----+-----+-----+-----+
 0c | 0 | left FM channel volume                                                      |
----+---+------------+-----+-----+-----+----+-----+-----+-----+-----+-----+-----+-----+
 0d | 0 | right FM channel volume                                                     |
----+---+------------+-----+-----+-----+----+-----+-----+-----+-----+-----+-----+-----+
 0e | 0 | left wavetable channel volume                                               |
----+---+------------+-----+-----+-----+----+-----+-----+-----+-----+-----+-----+-----+
 0f | 0 | right wavetable channel volume                                              |
----+---+------------+-----+-----+-----+----+-----+-----+-----+-----+-----+-----+-----+
 10 | 0 | left PCM expansion channel volume                                           |
----+---+------------+-----+-----+-----+----+-----+-----+-----+-----+-----+-----+-----+
 11 | 0 | right PCM expansion channel volume                                          |
----+---+------------+-----+-----+-----+----+-----+-----+-----+-----+-----+-----+-----+
 12 | 0 | left FM expansion channel volume                                            |
----+---+------------+-----+-----+-----+----+-----+-----+-----+-----+-----+-----+-----+
 13 | 0 | right FM expansion channel volume                                           |
----+---+------------+-----+-----+-----+----+-----+-----+-----+-----+-----+-----+-----+

 lmute: left mute
 mmute: mono mute
 dith: dithds
 lrfg:
 rmute: right mute
 rbyps: right bypass
 rrfg:
 ADCch:
 TxFch:
 OffCD:
 osamp:

 And the following diagram is derived from the description in the CVS archive:

 MIC L (mouthpiece)
   +------+
 -->PreAmp>-\
   +--^---+ |
      |     |
    r2b4-5  |                                +--------+
       /----*-------------------------------->5       |
       |                                     |        |
       | /----------------------------------->4       |
       | |                                   |        |
       | | /--------------------------------->3 1of5  |  +---+
       | | |                                 |  mux   >-->AMP>--> ADC L
       | | | /------------------------------->2       |  +-^-+
       | | | |                               |        |    |
 Line  | | | | +----+  +------+  +---+  /---->1       |  r3b3-0
 ------------*->mute>--> Gain >-->   |  |    |        |
  L    | | |   +----+  +------+  |   |  |  *->0       |
       | | |                     |   |  |    +---^----+
 Aux2  | | |   +----+  +------+  |   |  |        |
 ----------*--->mute>--> Gain >--> M |  |     r8b0-2
  L    | |     +----+  +------+  |   |  |
       | |                       |   |  \------\
 Aux1  | |     +----+  +------+  |   |         |
 --------*----->mute>--> Gain >--> I |         |
  L    |       +----+  +------+  |   |         |
       |                         |   |         |
       |       +----+  +------+  |   |  +---+  |
       *------->mute>--> Gain >--> X >-->AMP>--*
       |       +----+  +------+  |   |  +-^-+  |
       |                         |   |    |    |
       |       +----+  +------+  |   |  r2b1-3 |  
       | /----->mute>--> Gain >--> E |         |
       | |     +----+  +------+  |   |         |
       | |                       |   |         |
       | |     +----+  +------+  |   |         |
       | | /--->mute>--> Gain >--> R |         |
       | | |   +----+  +------+  |   |         |
       | | |                     |   |         |   r9b8-9
       | | |   +----+  +------+  |   |         |     |
       | | | /->mute>--> Gain >-->   |         | +---v---+
       | | | | +----+  +------+  +---+       /-*->0      |
 DAC   | | | |                               |   |       |
 ------------*----------------------------------->?      |  +----+
  L    | | |                                 |   |  Mux  >-->mute>--> L output
       | | |                                 | /->?      |  +--^-+
       | | |                                 | | |       |     |
       | | |                           /--------->?      |   r0b0
       | | |                           |     | | +-------+
       | | |                           |     | |
 Mono  | | |                           |     | | +-------+
 ----------*                           |     \--->       |  +----+
       | | |                           |       | |  Mix  >-->mute>--> Mono output
       | | |                           |       *->       |  +--^-+
       | | |                           |       | +-------+     |
       | | |                           |       |             r1b0
 DAC   | | |                           |       | +-------+
 ------------*-------------------------*--------->1      |  +----+
  R    | | | |                                 | |  Mux  >-->mute>--> R output
       | | | | +----+  +------+  +---+         *->0      |  +--^-+
       | | | \->mute>--> Gain >-->   |         | +---^---+     |
       | | |   +----+  +------+  |   |         |     |       r5b0
       | | |                     |   |         |   r6b0
       | | |   +----+  +------+  |   |         |
       | | \--->mute>--> Gain >--> M |         |
       | |     +----+  +------+  |   |         |
       | |                       |   |         |
       | |     +----+  +------+  |   |         |
       | *----->mute>--> Gain >--> I |         |
       | |     +----+  +------+  |   |         |
       | |                       |   |         |
       | |     +----+  +------+  |   |  +---+  |
       \------->mute>--> Gain >--> X >-->AMP>--*
         |     +----+  +------+  |   |  +-^-+  |
      /--/                       |   |    |    |
 Aux1 |        +----+  +------+  |   |  r6b1-3 |
 -------*------>mute>--> Gain >--> E |         |
  R   | |      +----+  +------+  |   |         |
      | |                        |   |         |
 Aux2 | |      +----+  +------+  |   |  /------/
 ---------*---->mute>--> Gain >--> R |  |
  R   | | |    +----+  +------+  |   |  |
      | | |                      |   |  |    +--------+
 Line | | |    +----+  +------+  |   |  |  *->0       |
 -----------*-->mute>--> Gain >-->   |  |    |        |
  R   | | | |  +----+  +------+  +---+  \---->1       |
      | | | |                                |        |
      | | | \-------------------------------->2       |  +---+
      | | |                                  |  Mux   >-->AMP>--> ADC R
      | | \---------------------------------->3       |  +-^-+
      | |                                    |        |    |
      | \------------------------------------>4       |  r7b3-0
      |                                      |        |
      \-----*-------------------------------->5       |
            |                                +---^----+
    r6b4-5  |                                    |
      |     |                                  r8b3-5
   +--v---+ |
 -->PreAmp>-/
   +------+
 MIC R (electret mic)