[alsa-devel] [PATCH v3] davinci-mcasp: Add support for multichannel playback

Michal Bachraty michal.bachraty at streamunlimited.com
Fri Mar 1 15:42:07 CET 2013

Hi Daniel,

Thanks for testing.

> One thing that has to be considered by users of the driver is that the
> 'serial-dir' DT property has to contain enough '1' entries for
> multichannel playback (or enough '2's for multichannel record). So this
> information is not actually something that describes the hardware, but
> rather some resource that can be and should be allocated dynamically by
> the driver at run-time. Should we consider dropping this property?

Not really, ' serial-dir' also  configures specific serializer binded with 
certain AXR pin . That means, when you have harware, which do not have aviable 
AXR0, you can enable other ARX pin.  


serial-dir = <  1 0 0 0 >; /* 0: INACTIVE, 1: TX, 2: RX */ 
// activate serializer 0, active pin ARX0 in Transmit mode, first audio 
// channels are played on ARX0 pin 

serial-dir = < 0 1 1 2 >; /* 0: INACTIVE, 1: TX, 2: RX */ 
// activate serializer 1,2,3 active pin ARX1 in TX mode, ARX2, in TX mode, 
// ARX3 in RX mode

In this case, if you are using TDM mode with 2 slots, first two channels will 
be played on ARX1 and second two on ARX2. 

McAsp fills data for serializers in loop (receive and playback has separate 
loop), so if you have configuration:

serial-dir = < 1 2 0 1 >; /* 0: INACTIVE, 1: TX, 2: RX */ 
// first two channels are played on ARX0 pin, and second two on ARX3


More information about the Alsa-devel mailing list