[alsa-devel] Configure a CODEC which has I2C connected to CPU, but no PCM bus connection

Craig McQueen craig.mcqueen at beamcommunications.com
Tue Feb 26 01:01:02 CET 2013

I have an embedded device with somewhat unusual configuration: there is a second audio CODEC (Wolfson WM8940) which is connected to the PCM interface of another device (a radio module, which is acting as PCM bus master), so that radio device can do analog audio I/O. So there is no CPU<-->CODEC PCM link, but the CODEC _is_ connected to the CPU's I2C, and the CPU needs to configure the CODEC registers to interface to the radio module.

See the attached diagram which shows a simplified view of the configuration. This configuration came about because both the CPU and the radio module can _only_ operate as PCM bus masters.

I am not sure how I could fit this into the ALSA ASoC architecture. Is the ALSA ASoC driver architecture able to accommodate this scenario? Can I use the WM8940 driver to configure the second CODEC through I2C?
Could I simply set up a machine driver that defines a DAI including a pointer to the WM8940 CODEC DAI, but NULL pointer for CPU DAI?
Can I set it up so the Wolfson CODEC gains could appear as ALSA mixer widgets?

Craig McQueen

-------------- next part --------------
A non-text attachment was scrubbed...
Name: CODEC_configuration.png
Type: image/png
Size: 25927 bytes
Desc: CODEC_configuration.png
URL: <http://mailman.alsa-project.org/pipermail/alsa-devel/attachments/20130226/d5f3f0dd/attachment-0001.png>

More information about the Alsa-devel mailing list