Hi,
We have PCM3168A codecs interfaced on McASP of OMAPL138. I have configured McASP in following way for transmit.
Mcasp_ChanParams mcasp_chanparam[1] = {
{
0x0002, /* number of serialisers */
{Mcasp_SerializerNum_10,Mcasp_SerializerNum_11},
&mcaspXmtSetup,
TRUE,
Mcasp_OpMode_TDM,
Mcasp_WordLength_32, /* word width */
&loopJobBuff, /*Loop job buffer*/
16, /*Loop job buffer length*/
NULL,
NULL,
1, /* number of TDM channels */
Mcasp_BufferFormat_MULTISER_MULTISLOT_SEMI_INTERLEAVED_1,
TRUE,
TRUE
},
The codec is configured in 24-bit right justified mode, so I have to output 32 bits for each channel.
So on single serializer I am having 2 slots of 32 bits each. I am successfully send data if I configured single serializer with multislot (non interleaved slot data ), but when I am configuring multiple serializers I am not getting data output on speakers connected to PCM3168A.
I have doubt about data format Mcasp_BufferFormat_MULTISER_MULTISLOT_SEMI_INTERLEAVED_1 which says ,
/* This is used for transfer of data with multiple serializers and *
* also multiple slots enabled.please note that the serializer data is*
* interleaved in this format. The slot data is also interleaved *
* Refer to the user guide to view the sample data format. */
But my slot data is not interleaved, in buffer format Mcasp_BufferFormat_MULTISER_MULTISLOT_SEMI_INTERLEAVED_2 description it says slot data is interleaved .
So which buffer format I should use If I am not having interleaved slot data but having multiple serializers with multiple slots.
I will appreciate any help.