[alsa-devel] how to combine mutil-channel in playback or capture?

Daniel Mack zonque at gmail.com
Fri Mar 22 09:20:15 CET 2013


Hi Zhang,

On 22.03.2013 09:08, Zhang wei wrote:
> I have already achieved the alsa-driver which can playback and
> capture function with two channel.
> My board based on ARM9 which have 3 ADC & 1 DAC in IIS bus and all
> of them shared the same BCLK and LRCK. The pins figure Like this:
> 
>            _________________
>            |        BCLK   |___________
>            |               |
>            |        LRCK   |___________
>            |               |
>            |       ADCDAT0 |___________
>            |               |
>            |       ADCDAT1 |___________
>            |               |
>            |       ADCDAT2 |___________
>            |               |
>            |       DACDATA |___________
>            |               |
>            |_______________|
> 
> Every ADCDATn(n=0,1,2) has two channel so the question is how can I
> get multi-channel audio data such as 4 or 6 in capture funciton? 

It depends on how the whole setup looks like and what the driver for all
the DAIs support. If you have 4 different stereo Codecs, you would
usually instanciate 4 CPU DAI driver instances, each controlling one
bi-directional I2S bus, and then build links between each of them and
their Codec counterpart. If your Codec is capable of handling all 4
stereo pairs, you need to have support for the same in you CPU DAI.

So you need to be more specific about which components you are actually
using, and what kind of alsa-driver you have written.

In general, please also read up the documents in
Documentation/sound/alsa/soc/.



Daniel



More information about the Alsa-devel mailing list