Hello everyone
my development board is IMX7DSABRE. Linux kernel version is 4.9.88
I use dma on imx7d to transmit the data on the eim bus. Now my data can be transmitted normally, but I found that dma unpacked and transmitted my data during the transmission process. My code is set to transmit 2KByte of data every time DMA, but I measured the waveform of EIM_OE / EIM_RW, and found that DMA split the 2KByte data into 64 packets for transmission, each packet of 32 bytes. Why does DMA split 2KByte data into 64 packets for transmission?
The waveform I measured is shown below:
Hi 其东 刘
for explanation of such behaviour (valid for i.MX7 too) one can look at
https://community.nxp.com/docs/DOC-106467
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi,igorpadykov
Based on your return, I went to the corresponding manual and understood the reason why dma splits the data.
Since data splitting is inevitable, is there any way to shorten the transmission interval between packets (640ns interval)? How to shorten the interval between two dma triggers (37us interval)?
unfortunately this is not possible.
Best regards
igor