WM8983 Audio Codec, Trizeps VIII

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

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

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

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

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

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

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