Hi NXP engineers,
In the current imx6_sabreauto demo board, ESAI is used with CS42888 as 1 audio card, ESAI_TX0/TX1/TX2_RX3/TX3_RX2 four pins are used to transmit audio data. But as you know, most of the musics are 2 channels, if use esai to transmit 2 channels audio data, TX1/TX2_RX3/TX3_RX2 three pins are not used.
Is there a way to use ESAI as four 2-channels audio card(each card can work independently), or 1 audio card with four audio devices(each device can work independently)? We need a solution of this in the Kernel space, not in the user space.
Background:
Kernel version: 3.14.52.
Our board needs to use 5 sound cards, but now only 4 I2S controllers are available: 3*SSI + ESAI, so we want to know if ESAI can be used as multi independent sound cards or sound devices? xiaoli.zhangjunzhu-b40054jimmychan
Thanks!
GeLei 2017-5-19
Hello Gelei,
I think you can config the ESAI device as 1 audio card with four audio devices.
They need share same audio bit/frame clock with same sample rate.
In application level, you can send data to different devices with a combined audio data.
Hi justin.
应用层实现我之前做过,但是耗cpu,并且alsa lib 的dshare是有潜在bug的,会导致cpu loading异常的高。所以,排除应用层的做法,想在底层实现此功能。底层nxp目前是没有相关代码可以借鉴实现此功能。2012年的时候想做,但是部门调整后就没人提这事了。
Hello GeLei,
Currently no plan to do that in kernel driver.