[alsa-devel] [ASoc] TDM over one SSC channel on AT91 possible?

Liam Girdwood lg at opensource.wolfsonmicro.com
Fri Nov 9 13:54:29 CET 2007


On Fri, 2007-11-09 at 12:37 +0100, Friedrich Lobenstock wrote:
> Hello!
> 
> The background:   I'm just designing an ATMEL AT91RM9200 based board which
>                   got two TLV320AIC33 on board. It is either possible
> to hook up the two TLV320AIC33 to a separate SSC (synchronous serial
> control) channel each or use one SSC channel and configure it for TDM (time
> division multiplex) mode. There is already a driver for
> TLV320AIC14k/TLV320AIC2k in the development tree, so adding support for the
> TLV320AIC33 should be feasible.
> 

Fwiw, TDM will save you a SSC port but will make similtanious use of
both codecs at different rates/formats difficult. It depends on your use
cases.

> What I'm not sure about is the fact if ASOC is prepared for using channels,
> especially SSC, in TDM mode. Is the core ASOC structure prepared to handle
> that?

It is for some platforms, but I think AT91 SSC and your codec will need
set_tdm_slot() implemented. Your machine driver will call set_tdm_slot
to configure codec/SSC slots.
 
> 
> Would we be better off instantiate one drive twice each time with different
> parameters for the SSC channel?
> 


I would instantiate one driver with 3 pcms. This would allow:-

pcm0: 2 channel, slot 0,1
pcm1: 2 channel, slot 2,3
pcm2: 4 channel, slot 0,1,2,3

Giving full flexibility for many use cases. The pcms would be mutually
exclusive (enforced by machine driver).

HTH

Liam



More information about the Alsa-devel mailing list