Patrik Kovac

Wrong: DSPI issues related to the DMA usage

Discussion created by Patrik Kovac on May 23, 2014
Latest reply on Nov 17, 2014 by Peter Ilsoe Nielsen

When the DSPI uses the eDMA, it may transfer data incorrectly or fail when eDMA is used for another purpose. If the DSPI driver is the only user of eDMA, it should operate correctly. This behavior is a result of the silicon design of the DSPI.


This is not result of silicon design, but wrongly written SAI driver (with DMA). I have wrote on MQX 4.0.1 my own SAI driver with DMA and it work perfectly with DSPI (I have on SPI Memory FAT File system(ReadOnly)) I didn't noticed any error. But after updating to MQX 4.1.0 and using FS SAI DMA driver I noticed, that DSPI is not working with FS SAI driver. FS SAI DMA halt DSPI. I have found that FS SAI with DMA is wrongly designed, because it is using only one channel on DMA MUX and I am guessing, that this is source of the problem. After I installed my own SAI DMA driver it is working correctly.