[alsa-devel] ASoC and a codec that can't be controlled

Liam Girdwood lg at opensource.wolfsonmicro.com
Wed May 23 17:37:57 CEST 2007

On Tue, 2007-05-22 at 10:47 -0500, Timur Tabi wrote:
> I'm working on some ASoC drivers for a new board, and we're using a CS4270.  The CS4270 is 
> interesting in that if it is connected in stand-alone mode, there is no way to configure 
> it.  The board wirings determine all the parameters.
> Therefore, my CS4270 codec driver will probably be very skimpy.
> My question is: does this mean that my cs4270.c file will *never* call these functions:
> snd_ctl_add
> snd_soc_cnew

These functions are only required in the codec driver to change volume,
mixer settings etc. If your codec has no volume or mixers then you don't
need them.

> snd_soc_dapm_new_control
> snd_soc_dapm_connect_input
> snd_soc_dapm_new_widgets

These are used for setting up the dynamic audio power management and
won't be needed in stand alone mode.

> These are the functions used to add new controls and widgets.
> So how does ALSA know that it needs to call my I2S driver *instead* of my codec driver to 
> do stuff like change volume?

You probably want to create a volume kcontrol in your I2S driver. I
assume your I2S controller can digitally adjust the volume by altering
the PCM stream ? The kcontrols can be added in your I2S driver probe


More information about the Alsa-devel mailing list