On Wed, Nov 25, 2009 at 12:30:34PM +0100, Sascha Hauer wrote:
On Wed, Nov 25, 2009 at 11:10:37AM +0000, Mark Brown wrote:
Again, what are "primary" and "secondary"?
Maybe this explains best the situation we have here. Right in the middle of the diagram you see the A/D converters in the Voice Codec. As you see it has two monaural A/D converters. One of them is the primary, the other is the secondary converter (don't ask me which of them is which, I'd had to lookup myself)
So all you've really got here is stereo in one direction and mono in the other with flexible placement of the slots.
The input sources of these ADCs can't be controlled completely independent and they are designed to be used for example with two microphones in a mobile phone. (I guess that's why they call them 'primary' and 'secondary', not 'left' and 'right'). But of course you can also do stereo with them.
You could either treat them independently or just assume they're going to be used as a stereo pair and put them in one DAI. A third option is to define DAIs for both cases and then trust machine drivers not to mix the stereo and mono options inappropriately. It's really up to you.
For the random placement of the two channels look at the set_channel_map API.