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

From: Michal Bachraty
Date: Fri Mar 01 2013 - 09:42:18 EST


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.

example:

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

Best,
Michal

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/