[alsa-devel] ASoC: Dynamic CODEC DAI

Patrick Lai plai at codeaurora.org
Tue Nov 29 01:58:58 CET 2011

On 11/28/2011 4:49 PM, Patrick Lai wrote:
> Problem overview:
> The CODEC which I am working on transports digital audio through
> SLIMBUS instead of I2S. The concept of CODEC DAI does not apply too
> well with SLIMBUS architecture as CODEC DAIs are typically defined base
> on a set of I2S digital audio interface(bit clock, world select, sd
> lines). On the CODEC, there are 10 digital capture ports. They can be
> independently configured as mono channels or can be run-time grouped
> together to function like multi-channel CODEC DAIs. On top of that,
> only some ports out of 10 ports can accept all analog mic inputs or
> digital mic inputs. Hence, even though the CODEC satisfies the
> concurrent use cases it was designed for, software would have to be
> articulate on grouping the ports in order to utilize all ports. So, I
> cannot simply code up CODEC DAI definitions in the CODEC driver for a
> particular machine. For now, I am looking for compile time grouping of
> these ports as use cases are known at the time machine is designed.
> Proposal:
> I want to minimize amount of change to soc framework at the same time
> meeting my requirement.
> Here is my proposed design
> In CODEC driver, I will declare codec dai for each port.
> Then, I will enhance ASoC framework to take a list of CODEC DAIs and
To elaborate more on this statement,

I plan on enhancing definition of DAI link to take a list of
CODEC DAI instead of single CODEC DAI.

> pass list of CODEC DAIs back to callback function such as startup,
> hw_param, prepare, trigger. I believe this approach will not require
> massive amount of change to framework.
> Your feedback is appreciated.
> Thanks
> Patrick

Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.

More information about the Alsa-devel mailing list