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 function.
Liam