[alsa-devel] Proposed changes to soc core to allow multiple codecs bound together on a single bus

Caleb Crome caleb at crome.org
Thu Jun 9 21:23:22 CEST 2011

Thanks for the feedback Liam and Mark.

I'll take a look at the PCM changes, that would be great if it'll work for
my situation, because something similar to what i was thinking would require
major changes (at least as far as my feble brain is concerned).

I've checked out Liam's PCM code base, but haven't taken a look yet -- since
my driver's now more-or-less working, I'm actually testing out my board...


On Mon, Jun 6, 2011 at 3:51 AM, Mark Brown <
broonie at opensource.wolfsonmicro.com> wrote:

> On Fri, Jun 03, 2011 at 05:04:12PM -0700, Caleb Crome wrote:
> > static char *my_codec_dais[] = {
> >      "tlv320aic3x-hifi.0",   <---- in this case, the '.0'
> >      "tlv320aic3x-hifi.1",    ---- means that it's slot 0
> >      "tlv320aic3x-hifi.2",    ---- on the TDM bus.
> >      "tlv320aic3x-hifi.3",
> > };
> > static char *my_codec_names[] = {
> >      "tlv320aic3x-codec.2-0018", <--- codec on i2c bus 2, addr 0x18
> >      "tlv320aic3x-codec.2-0019", <--- codec on i2c bus 2, addr 0x19
> >      "tlv320aic3x-codec.2-001a", <--- codec on i2c bus 2, addr 0x1a
> >      "tlv320aic3x-codec.2-001b", <--- codec on i2c bus 2, addr 0x1b
> > };
> I don't like the need to line the two arrays up, and the DAI names
> really ought to be enough anyway (this applies in general, not just
> here).
> > The core will parse the dai name for the slot order, and pass it on to
> the
> > codec during hw_params.  Then the codec can properly set the TDM slot on
> the
> > hardware interface.
> No, the machine driver needs to own the TDM configuration.  We need to
> have the flexibiltiy for the system to use arbatrary arrangements for
> things like buses with more than two devices on them and we need to be
> able to cope with random layouts of the channels (for example, all the
> left channels on one device, all the right channels on another device).
> We also need to be able to change this dynamically at runtime depending
> on the current needs of the system.

More information about the Alsa-devel mailing list