[alsa-devel] ASoC: Dynamic CODEC DAI

Pierre-Louis Bossart pierre-louis.bossart at linux.intel.com
Tue Nov 29 02:19:55 CET 2011

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

I may be reaching summits of cluelessness here, but isn't the logical
grouping/shuffling of channels needed on the cpu/host side only, possibly at
the machine-driver level? At the codec level you should only need to worry
about which channel/port goes to what output, and that would be similar to
TDM/AC97. I don't understand why all this should be part of a codec driver.

More information about the Alsa-devel mailing list