From mboxrd@z Thu Jan 1 00:00:00 1970 From: Steven Wawryk Subject: Adding channels on multicodec soundcard Date: Fri, 15 Jan 2016 16:23:17 +1030 Message-ID: <5698894D.2030002@acres.com.au> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: Received: from mail.acres.com.au (mail.acres.com.au [150.101.238.198]) by alsa0.perex.cz (Postfix) with ESMTP id F24E826052B for ; Fri, 15 Jan 2016 06:53:25 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by loki.acres.com.au (Postfix) with ESMTP id 6980EC2C9C for ; Fri, 15 Jan 2016 16:23:24 +1030 (CST) Received: from mail.acres.com.au ([127.0.0.1]) by localhost (loki.acres.com.au [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id VbT-iQeGIaBy for ; Fri, 15 Jan 2016 16:23:18 +1030 (CST) Received: from [192.0.2.164] (krill.acres.com.au [192.0.2.164]) by loki.acres.com.au (Postfix) with ESMTP id D9564C2C4F for ; Fri, 15 Jan 2016 16:23:17 +1030 (CST) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org To: alsa-devel@alsa-project.org List-Id: alsa-devel@alsa-project.org 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