I am using an omap-l138 with dsp/bios 5, pspdriver 01.30.01.
I am looking to use the Mcbsp_LOOPJOB_ENABLE compile flag on the Mcbsp driver. I had it working fine without it enabled, working in a loopback configuration where I would receive audio data from a codec and then return that exact data to the codec. When I enable loobjob mode, it never transmits anything and the SIO_reclaim calls return with -ETIMEDOUT. SIO_issue returns 0. Is there anything I need to do differently in order to enable LOOBJOB mode?
My config:
/**< settings to configure the TX or RX hardware sections */
Mcbsp_DataConfig mcbspChanConfig =
{
Mcbsp_Phase_SINGLE,
Mcbsp_WordLength_16,
Mcbsp_WordLength_16, /* Dont care */
AUDIO_NUMCHANNELS,
AUDIO_NUMCHANNELS, /* Dont care */
Mcbsp_FrmSync_DETECT,
Mcbsp_DataDelay_0_BIT,
Mcbsp_Compand_OFF_MSB_FIRST,
Mcbsp_BitReversal_DISABLE,
Mcbsp_IntMode_ON_SYNCERR,
Mcbsp_RxJust_RZF, /* Dont care for TX */
Mcbsp_DxEna_OFF
};
/**< clock setup for the RX or the TX section */
Mcbsp_ClkSetup mcbspClkConfig =
{
Mcbsp_FsClkMode_INTERNAL,
64000,
Mcbsp_TxRxClkMode_INTERNAL,
Mcbsp_FsPol_ACTIVE_HIGH,
Mcbsp_ClkPol_RISING_EDGE,
50 /* force 50 bit frame for even division */
};
/**< Multi channel setup */
Mcbsp_McrSetup mcbspMultiChanCtrl =
{
Mcbsp_McmMode_ALL_CHAN_ENABLED_UNMASKED,
Mcbsp_PartitionMode_CHAN_0_15,
Mcbsp_PartitionMode_CHAN_16_31,
Mcbsp_PartitionMode_2
};
Mcbsp_ChanParams mcbspChanparam =
{
Mcbsp_WordLength_16, /* wordlength configured */
NULL, /* loop job buffer internal */
0, /* user loopjob length */
NULL, /* global error callback */
NULL, /* edma Handle */
1, /* EDMA event queue */
8, /* hwi number */
Mcbsp_BufferFormat_MULTISLOT_NON_INTERLEAVED,
TRUE, /* FIFO mode enabled */
&mcbspChanConfig, /* channel configuration */
&mcbspClkConfig, /* clock configuration */
&mcbspMultiChanCtrl, /* multi channel control */
0x00,
0x00,
0x00,
0x00
};