[alsa-devel] how to combine mutil-channel in playback or capture?
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?
BR
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
participants (2)
-
Daniel Mack
-
Zhang wei