Hello,
I'm an issue regarding the multi-serializer in receive mode(AXR0 to AXR1).
Individually they work correctly, but simultaneously something is wrong.
what can be done?
static u8 ssm2602_iis_serializer_direction[] = {
RX_MODE, RX_MODE, INACTIVE_MODE, INACTIVE_MODE,
TX_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 ssm2602_snd_data = {
.tx_dma_offset = 0x46000000,
.rx_dma_offset = 0x46000000,
.op_mode = DAVINCI_MCASP_IIS_MODE,
.num_serializer = ARRAY_SIZE(ssm2602_iis_serializer_direction),
.tdm_slots = 2,
.serial_dir = ssm2602_iis_serializer_direction,
.asp_chan_q = EVENTQ_2,
.version = MCASP_VERSION_2,
.txnumevt = 1,
.rxnumevt = 2,
};
static struct resource ti81xx_mcasp0_resource[] = {
{
.name = "mcasp",
.start = TI81XX_ASP0_BASE,
.end = TI81XX_ASP0_BASE + (SZ_1K * 12) - 1,
.flags = IORESOURCE_MEM,
},
/* TX event */
{
.start = TI81XX_DMA_MCASP0_AXEVT,
.end = TI81XX_DMA_MCASP0_AXEVT,
.flags = IORESOURCE_DMA,
},
/* RX event */
{
.start = TI81XX_DMA_MCASP0_AREVT,
.end = TI81XX_DMA_MCASP0_AREVT,
.flags = IORESOURCE_DMA,
},
};
static struct platform_device ti81xx_mcasp0_device = {
.name = "davinci-mcasp",
.id = 0,
.dev ={
.platform_data = &ssm2602_snd_data,
},
.num_resources = ARRAY_SIZE(ti81xx_mcasp0_resource),
.resource = ti81xx_mcasp0_resource,
};