Gentle(wo)men,
I have very strange troubles related to the McASP+WFIFO+EDMA3 combination on the OMAP-L138 Experimenter board. The system includes 4 TX and 3 RX serializers, using external FS and SCLK Although I was able to initialize the RX section and correctly transfer the data, nevertheless still having problems with the TX section.
I have tried some different initialization scenarios, e.g.:
// if DMA is being used, fill WFIFO & verify that the XDATA bit in XSTAT is cleared to 0.
while( ( MCASP->XSTAT & 0x00000020 ) != 0x00000000 )
MCASP_WFIFO = 0x0;
// fill WFIFO with the fixed number of samples according to the WFIFO depth to provide the first XEVT
for (i = 0; i < PACESIZE*SERSIZE_TX; i++)
MCASP_WFIFO = 0;
// initiate the first transfer manually
EDMA_3CC_ESR |= 0x00000002;
In the best case the complete transferred data block is shifted on one sample, means the serial data should be sent from the first active serializer are being transferred from the second one, the data from the second active serializer – from the third one, the data from the third active serializer – from the forth one etc. Moreover, the data from one of L2 memory cell are being transferred twice. I exclude the board problem, since without WFIFO all is working fine.
So I would ask e2e experts for some tips, links etc. or maybe for correct initialization procedure.
Kindly
GenPol