audio: support the number of datain+loopback beyond 8 channel feature
authorRenjun Xu <renjun.xu@amlogic.com>
Tue, 12 Jun 2018 08:34:14 +0000 (16:34 +0800)
committerJianxin Pan <jianxin.pan@amlogic.com>
Mon, 23 Jul 2018 06:53:31 +0000 (23:53 -0700)
commit3cd92497ed397b8aaf17a4dcde77bcd7354d7158
treee9e0138283d4aa8c7d6f3b43dfc67d0fa5750319
parent14d4d6e55ed11390a99ad73b858b393f73d4a0a3
audio: support the number of datain+loopback beyond 8 channel feature

PD#168268: add support datain+loopback beyond 8 channel feature

   You need add  datain_datalb_total = <10>; at the end
   of aml_loopback node on dts or amixer command to enable.

   e.g. pdm 8ch + loopback 2ch case
        pdm 8ch + loopback 8ch case
        pdm 6ch + loopback 4ch case

   if total number of channel beyond 8 , must utilize 16ch to capture.
   so that  we change relevant parameter like this:
   if (lb_cfg->datain_datalb_total > 8) {
     lb_cfg->datain_chnum = 8;
     lb_cfg->datain_chmask = 0xff;
     lb_cfg->datalb_chnum = 8;
     lb_cfg->datalb_chmask = 0xff;
     lb_cfg->datalb_chswap = 0x76543210;
   }
   capture command:
   arecord -Dhw:0,3 -c 16 -r 48000 -f S32_LE /test.wav

   You can use asound.conf to choose your channel.

Change-Id: I0a59c4c12da603efd8709bf36d6dac640fdf788a
Signed-off-by: Renjun Xu <renjun.xu@amlogic.com>
sound/soc/amlogic/auge/audio_utils.c
sound/soc/amlogic/auge/audio_utils.h
sound/soc/amlogic/auge/loopback_hw.c