[alsa-devel] Adding channels on multicodec soundcard

Steven Wawryk stevenw at acres.com.au
Fri Jan 15 07:24:25 CET 2016


I should have added that there is a pair (capture + playback) of serial 
"I2S" links (actually TDM) between the Zynq and *each* codec.


On 15/01/16 16:23, Steven Wawryk wrote:
>
> Hi,
>
> I'm trying to write an ALSA soundcard driver module for an embedded 
> Zynq-based system with 4 Cirrus CS42448 codecs.  Each codec has 6 
> analog output channels and I'd like the "soundcard" to have 24 
> channels (6 to each codec).  I've been having trouble getting it to do 
> this.  The hw_params for the codec, card and "I2S" IP core drivers all 
> get the same parameters, including number of channels.
>
> When I define 4 snd_soc_dai_link's, each with 1 codec, then 4 
> "devices" are set up for the card and I can access 6 channels on 1 
> codec (1 "device") at a time.  When I define 1 snd_soc_dai_link with 4 
> codecs then 1 "device" is set up and I can still only access 6 
> channels, but it appears to use all 4 codecs (somehow - I haven't yet 
> worked out the channel allocation).  I can't seem to get 24 channels 
> to the card, splitting into 6 channels to each of the codecs.
>
> Can anyone suggest how I should be going about this?
>
> The linux kernel is 3.17 from PetaLinux (Xilinx).
>
> Cheers,
> Steve
>
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel at alsa-project.org
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel



More information about the Alsa-devel mailing list