The Mer Wiki now uses your Mer user account and password (create account on https://bugs.merproject.org/)


User:Tanuk2

From Mer Wiki
Jump to: navigation, search

Contents

N900 Audio Stuff

N900 uses the TI tlv320aic34 codec, for which a datasheet can be downloaded from here: http://www.ti.com/product/tlv320aic34

tlv320aic3x in the kernel: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=blob;f=sound/soc/codecs/tlv320aic3x.c


ALSA

Routing Graph

This is an incomplete representation, but still useful for writing or understanding configuration files. I'm not sure about the order of the elements and whether the volume elements are analog or digital, because it's hard to figure those things out just by experimenting (I guess the information would be available in the datasheet, but I haven't checked that).

                      +- switch: Left HP Mixer DACL1 Switch --+
                      |l                                      |
[PCM: hw:RX51,0] -+-+-+                                       +- analog volume: HP DAC Playback Volume --- switch: HP Playback Switch --- enum: Speaker Function --- [speakers]
                  | | |r                                      |
                  | | +- switch: Right HP Mixer DACR1 Switch -+
                  | |
                  | |mixed-to-mono
                  | +- switch: Mono Mixer DACR1 Switch --- analog volume: Mono DAC Playback Volume --- switch: Mono Playback Switch --- enum: Earpiece Function --- [earpiece]
                  |
                  | +- switch: Left Line Mixer DACL1 Switch --+
                  | |l                                        |
                  +-+                                         +- analog volume: Line DAC Playback Volume --- switch: Line Playback Switch --- analog volume: TPA6130A2 Headphone Playback Volume --- enum: Jack Function --- [headphones]/[headset]/[tvout]
                    |r                                        |
                    +- switch: Right Line Mixer DACR1 Switch -+
             l
[microphone] ----------------------------------------------------------------------------------------------------------------------------------------------------------------+- enum: Input Select --- enum: ADC HPF Cut-off --- [PCM: hw:RX51,0]
                                                                                                                                                                             |
                                   +- enum: Left Line1L Mux ---- switch: Left PGA Mixer Line1L Switch --+                                                                    |
                                   |                                                                    |                                                                    |
[headset] --- enum: Jack Function -+                                                                    +- switch: PGA Capture Switch --- analog volume: PGA Capture Volume -+
                                   |                                                                    |
                                   +- enum: Right Line1L Mux --- switch: Right PGA Mixer Line1L Switch -+


amixer -cRX51 Output in Different Use Cases (on Fremantle)


All RX51 Mixer Elements

Speaker Function

  Capabilities: enum
  Items: 'Off' 'On'
  Item0: 'On'
  • speakers: enum = On
  • earpiece: enum = Off
  • headphones: enum = Off
  • headset(out): enum = Off
  • tvout: enum = Off


PCM

  Capabilities: pvolume penum
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 127
  Mono:
  Front Left: Playback 127 [100%] [0.00dB]
  Front Right: Playback 127 [100%] [0.00dB]
  • speakers: volume = on
  • earpiece: volume = on
  • headphones: volume = on
  • headset(out): volume = on
  • tvout: volume = on


FMTX Function

  Capabilities: enum
  Items: 'Off' 'On'
  Item0: 'Off'


Line

  Capabilities: pswitch penum
  Playback channels: Front Left - Front Right
  Mono:
  Front Left: Playback [off]
  Front Right: Playback [off]
  • speakers: switch = off
  • earpiece: switch = off
  • headphones: switch = on
  • headset(out): switch = on
  • tvout: switch = on


Line DAC

  Capabilities: pvolume penum
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 118
  Mono:
  Front Left: Playback 0 [0%] [-99999.99dB]
  Front Right: Playback 0 [0%] [-99999.99dB]
  • speakers: volume = off
  • earpiece: volume = off
  • headphones: volume = on
  • headset(out): volume = on
  • tvout: volume = on


Line Line2 Bypass

  Capabilities: volume penum
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 118
  Front Left: 71 [60%] [-23.50dB]
  Front Right: 71 [60%] [-23.50dB]


Line PGA Bypass

  Capabilities: volume penum
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 118
  Front Left: 71 [60%] [-23.50dB]
  Front Right: 71 [60%] [-23.50dB]


Mono

  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [off]
  • speakers: switch = off
  • earpiece: switch = on
  • headphones: switch = off
  • headset(out): switch = off
  • tvout: switch = off


Mono DAC

  Capabilities: pvolume penum
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 118
  Mono:
  Front Left: Playback 0 [0%] [-99999.99dB]
  Front Right: Playback 0 [0%] [-99999.99dB]
  • speakers: volume = off
  • earpiece: volume = on
  • headphones: volume = off
  • headset(out): volume = off
  • tvout: volume = off


Mono Line2 Bypass

  Capabilities: volume penum
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 118
  Front Left: 71 [60%] [-23.50dB]
  Front Right: 71 [60%] [-23.50dB]


Mono Mixer DACL1

  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [off]

May be "Left DAC_L1 Mixer Mono" on Fremantle.


Mono Mixer DACR1

  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [off]

May be "Right DAC_R1 Mixer Mono" on Fremantle.

  • speakers: switch = off
  • earpiece: switch = on
  • headphones: switch = off
  • headset(out): switch = off
  • tvout: switch = off


Mono Mixer Line2L Bypass

  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [off]


Mono Mixer Line2R Bypass

  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [off]


Mono Mixer PGAL Bypass

  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [off]


Mono Mixer PGAR Bypass

  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [off]


Mono PGA Bypass

  Capabilities: volume penum
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 118
  Front Left: 71 [60%] [-23.50dB]
  Front Right: 71 [60%] [-23.50dB]


34B HPL PGAR Bypass

  Capabilities: pvolume pvolume-joined penum
  Playback channels: Mono
  Limits: Playback 0 - 118
  Mono: Playback 118 [100%] [0.00dB]


ADC HPF Cut-off

  Capabilities: enum
  Items: 'Disabled' '0.0045xFs' '0.0125xFs' '0.025xFs'
  Item0: 'Disabled'
  Item1: 'Disabled'

Cut-off frequency for the high-pass filters that are applied to the data coming from the inputs (both ADC and the digital mic, even though there's "ADC" in the element name). I guess Item0 is for the left channel and Item1 is for the right channel.

On Fremantle, the high-pass filter is enabled for the integrated microphone and disabled for headsets. I don't know why. Anyway, copying that setup shouldn't do much harm.

  • microphone: enum = 0.0045xFs
  • headset(in): enum = Disabled


AGC

  Capabilities: pswitch penum
  Playback channels: Front Left - Front Right
  Mono:
  Front Left: Playback [off]
  Front Right: Playback [off]


Earpiece Function

  Capabilities: enum
  Items: 'Off' 'On'
  Item0: 'Off'

On Fremantle there's no "Earpiece Function", but there's "Earphone Function", which doesn't exist on Nemo. These probably refer to the same thing. There's also "Earphone" on Fremantle, which is apparently used for earpiece volume control. There's no obvious counterpart on Nemo, but "Mono DAC" seems to work pretty well as the earpiece volume control.

  • speakers: enum = Off
  • earpiece: enum = On
  • headphones: enum = Off
  • headset(out): enum = Off
  • tvout: enum = Off


HP

  Capabilities: pswitch penum
  Playback channels: Front Left - Front Right
  Mono:
  Front Left: Playback [on]
  Front Right: Playback [on]
  • speakers: switch = on
  • earpiece: switch = off
  • headphones: switch = off
  • headset(out): switch = off
  • tvout: switch = off


HP DAC

  Capabilities: pvolume penum
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 118
  Mono:
  Front Left: Playback 95 [81%] [-11.50dB]
  Front Right: Playback 95 [81%] [-11.50dB]
  • speakers: volume = on
  • earpiece: volume = off
  • headphones: volume = off
  • headset(out): volume = off
  • tvout: volume = off


HP Line2 Bypass

  Capabilities: volume penum
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 118
  Front Left: 71 [60%] [-23.50dB]
  Front Right: 71 [60%] [-23.50dB]


HP PGA Bypass

  Capabilities: volume penum
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 118
  Front Left: 71 [60%] [-23.50dB]
  Front Right: 71 [60%] [-23.50dB]


HPCOM

  Capabilities: pswitch penum
  Playback channels: Front Left - Front Right
  Mono:
  Front Left: Playback [on]
  Front Right: Playback [on]

On Fremantle this element doesn't exist, but unlike on Nemo, "HPCOM DAC" contains a switch. The switch on "HPCOM DAC" may have been moved to a separate element (this one).


HPCOM DAC

  Capabilities: pvolume penum
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 118
  Mono:
  Front Left: Playback 71 [60%] [-23.50dB]
  Front Right: Playback 71 [60%] [-23.50dB]

See the note on "HPCOM".


HPCOM Line2 Bypass

  Capabilities: volume penum
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 118
  Front Left: 71 [60%] [-23.50dB]
  Front Right: 71 [60%] [-23.50dB]


HPCOM PGA Bypass

  Capabilities: volume penum
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 118
  Front Left: 71 [60%] [-23.50dB]
  Front Right: 71 [60%] [-23.50dB]


Input Select

  Capabilities: enum
  Items: 'ADC' 'Digital Mic'
  Item0: 'Digital Mic'
  • microphone: enum = Digital Mic
  • headset(in): enum = ADC


Jack Function

  Capabilities: enum
  Items: 'Off' 'TV-OUT' 'Headphone' 'Headset'
  Item0: 'Off'
  • speakers: enum = Off
  • earpiece: enum = Off
  • headphones: enum = Headphone
  • headset(out): enum = Headset
  • tvout: enum = TV-OUT
  • microphone: enum = Off
  • headset(in): enum = Headset


Left DAC Mux

  Capabilities: enum
  Items: 'DAC_L1' 'DAC_L3' 'DAC_L2'
  Item0: 'DAC_L1'


Left HP Mixer DACL1

  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [on]

Probably "Left DAC_L1 Mixer HP" on Fremantle.

  • speakers: switch = on
  • earpiece: switch = off
  • headphones: switch = off
  • headset(out): switch = off
  • tvout: switch = off


Left HP Mixer DACR1

  Capabilities: pvolume pvolume-joined pswitch pswitch-joined penum
  Playback channels: Mono
  Limits: Playback 0 - 118
  Mono: Playback 118 [100%] [0.00dB] [off]


Left HP Mixer Line2L Bypass

  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [off]


Left HP Mixer Line2R Bypass

  Capabilities: volume volume-joined pswitch pswitch-joined penum
  Playback channels: Mono
  Capture channels: Mono
  Limits: 0 - 118
  Mono: 118 [100%] [0.00dB] Playback [off]


Left HP Mixer PGAL Bypass

  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [off]


Left HP Mixer PGAR Bypass

  Capabilities: volume volume-joined pswitch pswitch-joined penum
  Playback channels: Mono
  Capture channels: Mono
  Limits: 0 - 118
  Mono: 118 [100%] [0.00dB] Playback [off]


Left HPCOM Mixer DACL1

  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [on]


Left HPCOM Mixer DACR1

  Capabilities: pvolume pvolume-joined pswitch pswitch-joined penum
  Playback channels: Mono
  Limits: Playback 0 - 118
  Mono: Playback 118 [100%] [0.00dB] [off]


Left HPCOM Mixer Line2L Bypass

  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [off]


Left HPCOM Mixer Line2R Bypass

  Capabilities: volume volume-joined pswitch pswitch-joined penum
  Playback channels: Mono
  Capture channels: Mono
  Limits: 0 - 118
  Mono: 118 [100%] [0.00dB] Playback [off]


Left HPCOM Mixer PGAL Bypass

  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [off]


Left HPCOM Mixer PGAR Bypass

  Capabilities: volume volume-joined pswitch pswitch-joined penum
  Playback channels: Mono
  Capture channels: Mono
  Limits: 0 - 118
  Mono: 118 [100%] [0.00dB] Playback [off]


Left HPCOM Mux

  Capabilities: enum
  Items: 'differential of HPLOUT' 'constant VCM' 'single-ended'
  Item0: 'differential of HPLOUT'


Left Line Mixer DACL1

  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [off]
  • speakers: switch = off
  • earpiece: switch = off
  • headphones: switch = on
  • headset(out): switch = on
  • tvout: switch = on


Left Line Mixer DACR1

  Capabilities: pvolume pvolume-joined pswitch pswitch-joined penum
  Playback channels: Mono
  Limits: Playback 0 - 118
  Mono: Playback 118 [100%] [0.00dB] [off]


Left Line Mixer Line2L Bypass

  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [off]


Left Line Mixer Line2R Bypass

  Capabilities: volume volume-joined pswitch pswitch-joined penum
  Playback channels: Mono
  Capture channels: Mono
  Limits: 0 - 118
  Mono: 118 [100%] [0.00dB] Playback [off]


Left Line Mixer PGAL Bypass

  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [off]


Left Line Mixer PGAR Bypass

  Capabilities: volume volume-joined pswitch pswitch-joined penum
  Playback channels: Mono
  Capture channels: Mono
  Limits: 0 - 118
  Mono: 118 [100%] [0.00dB] Playback [off]


Left Line1L Mux

  Capabilities: enum
  Items: 'single-ended' 'differential'
  Item0: 'single-ended'

Input to the left ADC.

  • microphone: enum = single-ended
  • headset(in): enum = differential


Left Line1R Mux

  Capabilities: enum
  Items: 'single-ended' 'differential'
  Item0: 'single-ended'

Input to the left ADC.


Left Line2L Mux

  Capabilities: enum
  Items: 'single-ended' 'differential'
  Item0: 'single-ended'

Input to the left ADC.


Left PGA Mixer Line1L

  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [on]

Input to the left ADC, despite the switch being a playback switch.

  • microphone: switch = off
  • headset(in): switch = on


Left PGA Mixer Line1R

  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [off]

Input to the left ADC, despite the switch being a playback switch.


Left PGA Mixer Line2L

  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [off]

Input to the left ADC, despite the switch being a playback switch.


Left PGA Mixer Mic3L

  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [off]

Input to the left ADC, despite the switch being a playback switch.


Left PGA Mixer Mic3R

  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [off]

Input to the left ADC, despite the switch being a playback switch.


McBSP2 Sidetone

  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [off]


McBSP2 Sidetone Channel 0

  Capabilities: volume volume-joined penum
  Playback channels: Mono
  Capture channels: Mono
  Limits: -32768 - 32767
  Mono: 0 [50%]


McBSP2 Sidetone Channel 1

  Capabilities: volume volume-joined penum
  Playback channels: Mono
  Capture channels: Mono
  Limits: -32768 - 32767
  Mono: 0 [50%]


PGA

  Capabilities: cvolume cswitch penum
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 119
  Front Left: Capture 0 [0%] [0.00dB] [off]
  Front Right: Capture 0 [0%] [0.00dB] [off]
  • microphone: volume = off, switch = off
  • headset(in): volume = on (configured to +24 dB on Fremantle), switch = on


Right DAC Mux

  Capabilities: enum
  Items: 'DAC_R1' 'DAC_R3' 'DAC_R2'
  Item0: 'DAC_R1'


Right HP Mixer DACL1

  Capabilities: pvolume pvolume-joined pswitch pswitch-joined penum
  Playback channels: Mono
  Limits: Playback 0 - 118
  Mono: Playback 118 [100%] [0.00dB] [off]


Right HP Mixer DACR1

  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [on]

May be "Right DAC_R1 Mixer HP" on Fremantle.

  • speakers: switch = on
  • earpiece: switch = off
  • headphones: switch = off
  • headset(out): switch = off
  • tvout: switch = off


Right HP Mixer Line2L Bypass

  Capabilities: volume volume-joined pswitch pswitch-joined penum
  Playback channels: Mono
  Capture channels: Mono
  Limits: 0 - 118
  Mono: 118 [100%] [0.00dB] Playback [off]


Right HP Mixer Line2R Bypass

  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [off]


Right HP Mixer PGAL Bypass

  Capabilities: volume volume-joined pswitch pswitch-joined penum
  Playback channels: Mono
  Capture channels: Mono
  Limits: 0 - 118
  Mono: 118 [100%] [0.00dB] Playback [off]


Right HP Mixer PGAR Bypass

  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [off]


Right HPCOM Mixer DACL1

  Capabilities: pvolume pvolume-joined pswitch pswitch-joined penum
  Playback channels: Mono
  Limits: Playback 0 - 118
  Mono: Playback 118 [100%] [0.00dB] [off]


Right HPCOM Mixer DACR1

  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [on]


Right HPCOM Mixer Line2L Bypass

  Capabilities: volume volume-joined pswitch pswitch-joined penum
  Playback channels: Mono
  Capture channels: Mono
  Limits: 0 - 118
  Mono: 118 [100%] [0.00dB] Playback [off]


Right HPCOM Mixer Line2R Bypass

  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [off]


Right HPCOM Mixer PGAL Bypass

  Capabilities: volume volume-joined pswitch pswitch-joined penum
  Playback channels: Mono
  Capture channels: Mono
  Limits: 0 - 118
  Mono: 118 [100%] [0.00dB] Playback [off]


Right HPCOM Mixer PGAR Bypass

  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [off]


Right HPCOM Mux

  Capabilities: enum
  Items: 'differential of HPROUT' 'constant VCM' 'single-ended' 'differential of HPLCOM' 'external feedback'
  Item0: 'differential of HPROUT'


Right Line Mixer DACL1

  Capabilities: pvolume pvolume-joined pswitch pswitch-joined penum
  Playback channels: Mono
  Limits: Playback 0 - 118
  Mono: Playback 118 [100%] [0.00dB] [off]


Right Line Mixer DACR1

  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [off]
  • speakers: switch = off
  • earpiece: switch = off
  • headphones: switch = on
  • headset(out): switch = on
  • tvout: switch = on


Right Line Mixer Line2L Bypass

  Capabilities: volume volume-joined pswitch pswitch-joined penum
  Playback channels: Mono
  Capture channels: Mono
  Limits: 0 - 118
  Mono: 118 [100%] [0.00dB] Playback [off]


Right Line Mixer Line2R Bypass

  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [off]


Right Line Mixer PGAL Bypass

  Capabilities: volume volume-joined pswitch pswitch-joined penum
  Playback channels: Mono
  Capture channels: Mono
  Limits: 0 - 118
  Mono: 118 [100%] [0.00dB] Playback [off]


Right Line Mixer PGAR Bypass

  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [off]


Right Line1L Mux

  Capabilities: enum
  Items: 'single-ended' 'differential'
  Item0: 'single-ended'

Input to the right ADC.

  • microphone: enum = single-ended
  • headset(in): enum = differential


Right Line1R Mux

  Capabilities: enum
  Items: 'single-ended' 'differential'
  Item0: 'single-ended'

Input to the right ADC.


Right Line2R Mux

  Capabilities: enum
  Items: 'single-ended' 'differential'
  Item0: 'single-ended'

Input to the right ADC.


Right PGA Mixer Line1L

  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [off]

Input to the right ADC, despite the switch being a playback switch.

  • microphone: switch = on
  • headset(in): switch = off


Right PGA Mixer Line1R

  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [on]

Input to the right ADC, despite the switch being a playback switch.


Right PGA Mixer Line2R

  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [off]

Input to the right ADC, despite the switch being a playback switch.


Right PGA Mixer Mic3L

  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [off]

Input to the right ADC, despite the switch being a playback switch.


Right PGA Mixer Mic3R

  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [off]

Input to the right ADC, despite the switch being a playback switch.


TPA6130A2 Headphone

  Capabilities: pvolume pvolume-joined penum
  Playback channels: Mono
  Limits: Playback 0 - 42
  Mono: Playback 0 [0%] [-59.50dB]

May be "Headphone" on Fremantle.

  • speakers: volume = off
  • earpiece: volume = off
  • headphones: volume = on
  • headset(out): volume = on
  • tvout: volume = on
Personal tools