On Mon, Nov 09, 2009 at 11:22:47AM -0600, Wang, Jane wrote:
Please fix your MUA to word wrap your mails; it makes them very much more legible and easy to reply to.
The scenario is data is going between DSP<->McBSP<->TWL4030. DSP configures and controls McBSP ports. Since DSP does not have control over TWl4030 codec, the role of ALSA here is providing mixer controls for user space application to configure codec to prepare for DSP rendering.
So in this setup the DSP is essentially a separate device on the audio bus; it's very much similar to things like the bluetooth chipset you can see in the OpenMoko devices and ought to be presented in a similar way as a separate DAI.
TWL4030 driver does not provide explicit controls over DAC/ADC, mic bias, APLL, headset pop-noise attenuation etc, and we need these to make playback/capture happen. I can think of two ways to handle this, one is add controls in codec to explicitly control these widgets, or using DAPM stream events as a single control to power up/down the path. And I feel the second solution is cleaner...
Representing the DSP DAI to ASoC is what's needed here, check out the OpenMoko code for an example of solving a similar problem.