WM8983 Audio Codec, Trizeps VIII
- 1 Alsa Mixer Controls
- 1.1 Headphone
- 1.2 Speaker
- 1.3 Microphone
- 1.4 Line-In
- 2 Accessing Codec Registers
For a description of how to play or record audio view: Using Audio in Linux
You might need to adjust asound.conf to use 48kHz sample clock.
Alsa Mixer Controls
The below picture shows the currently available control-widgets exported by the wm8983 driver.
Note that some features of the chip have not been implemented yet and thus are not shown in the diagram.
The text written in blue is the widgets that you can control: i.e. by using the 'alsamixer' or 'amixer' application.
Headphone
Typical Setting:
Control | Setting |
---|---|
Left Output Mixer | only LDAC set |
Right Output Mixer | only RDAC set |
Headphone (Switch) | set (un-mute) |
Out4 | off → output VMID |
Additional Setting:
Control | Setting |
---|---|
Playback (Volume) | desired volume (digital) |
Headphone (Volume) | desired volume (analog) |
Headphone Playback ZC | volume is changed on crossing zero |
Speaker
Typical Setting:
Control | Setting |
---|---|
Left Output Mixer | only LDAC set |
Right Output Mixer | only LDAC set |
Speaker Inversion | set |
Speaker (Switch) | set (un-mute) |
This setting is used, if a single speaker is connected to the SPEAKER pins of the Trizeps module; e.g. pins are used as SPEAKER_P and SPEAKER_N.
It is possible to attach two speaker with reduced performance, e.g. using pins as SPEAKER_L and SPEAKER_R.
Additional Setting:
Control | Setting |
---|---|
Playback (Volume) | desired volume (digital) |
Speaker (Volume) | desired volume (analog) |
Speaker Playback ZC | volume is changed on crossing zero |
Speaker Boost | set if VDD_SPEAKER (SODIMM-pin 12) is supplied with 5V |
Microphone
Typical Setting:
Control | Setting |
---|---|
Left Input Mixer | only MicP and MicN set |
Capture (Volume) | desired volume (digital) |
Capture PGA (Volume) | desired gain (analog) |
Capture PGA Boost (Volume) | desired gain (analog) |
Line-In
Typical Setting:
Control | Setting |
---|---|
Left Input Mixer | only L2 set |
Right Input Mixer | only R2 set |
Capture (Volume) | desired volume (digital) |
Capture PGA (Volume) | desired gain (analog) |
Capture PGA Boost (Volume) | desired gain (analog) |
Accessing Codec Registers
For debugging purpose codec registers can be written by using I2C commands.
$ i2cset -fy 2 0x1A <regdata> <data>
regdata[7:1] | register to access. |
regdata[0] | MSB (data[8]) of data to be written |
data[7:0] | lower 8bits of data to be written to register |