McASP0-->(AXR0,AXR1) CODEC0,(AXR2,AXR3)CODEC1
McASP1-->(AXR0,AXR1) CODEC2,(AXR2,AXR3)CODEC3
实现四路立体声音频播放,CODEC芯片是TLV320AIC3254,四个音频CODEC可以独立播放,想问一下,这样的方案下面这些参数该如何修改
static u8 am335x_iis_serializer_direction0[] = {
TX_MODE, RX_MODE, TX_MODE, RX_MODE,
INACTIVE_MODE, INACTIVE_MODE, INACTIVE_MODE, INACTIVE_MODE,
INACTIVE_MODE, INACTIVE_MODE, INACTIVE_MODE, INACTIVE_MODE,
INACTIVE_MODE, INACTIVE_MODE, INACTIVE_MODE, INACTIVE_MODE,
};
static u8 am335x_iis_serializer_direction1[] = {
TX_MODE, RX_MODE, TX_MODE, RX_MODE,
INACTIVE_MODE, INACTIVE_MODE, INACTIVE_MODE, INACTIVE_MODE,
INACTIVE_MODE, INACTIVE_MODE, INACTIVE_MODE, INACTIVE_MODE,
INACTIVE_MODE, INACTIVE_MODE, INACTIVE_MODE, INACTIVE_MODE,
};
static struct snd_platform_data am335x_evm_snd_data0 = {
.tx_dma_offset = 0x46000000, /* McASP0 */
.rx_dma_offset = 0x46000000,
.op_mode = DAVINCI_MCASP_IIS_MODE,
.num_serializer = ARRAY_SIZE(am335x_iis_serializer_direction0),
.tdm_slots = 2,
.serial_dir = am335x_iis_serializer_direction0,
.asp_chan_q = EVENTQ_2,
.version = MCASP_VERSION_3,
.txnumevt = 1,
.rxnumevt = 1,
};
tatic struct snd_platform_data am335x_evm_snd_data1 = {
.tx_dma_offset = 0x46400000, /* McASP1 */
.rx_dma_offset = 0x46400000,
.op_mode = DAVINCI_MCASP_IIS_MODE,
.num_serializer = ARRAY_SIZE(am335x_iis_serializer_direction1),
.tdm_slots = 2,
.serial_dir = am335x_iis_serializer_direction1,
.asp_chan_q = EVENTQ_2,
.version = MCASP_VERSION_3,
.txnumevt = 1,
.rxnumevt = 1,
}
这个怎么修改?
sound/soc/davinci/davinci-evm.c
static struct snd_soc_dai_link am335x_evm_dai = {
.name = "TLV320AIC3X",
.stream_name = "AIC3X",
.cpu_dai_name = "davinci-mcasp.0", //1-->0
.codec_dai_name = "tlv320aic3x-hifi",
.codec_name = "tlv320aic3x-codec.3-001b", //2-->1
.platform_name = "davinci-pcm-audio",
.init = evm_aic3x_init,
.ops = &evm_ops,
};
还有在LINUX如何实现独立访问四个设备文件
请有经验的给一下帮助!!!