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>
3 files changed