How to set imx7d dma single transmission size unit?

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

How to set imx7d dma single transmission size unit?

1,511 次查看
864535720
Contributor II

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:

eim_dma_1.jpgeim_dma_2.jpgeim_dma_3.jpg

标签 (4)
0 项奖励
回复
3 回复数

1,451 次查看
igorpadykov
NXP Employee
NXP Employee

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!
-----------------------------------------------------------------------------------------------------------------------

0 项奖励
回复

1,451 次查看
864535720
Contributor II

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)?

0 项奖励
回复

1,451 次查看
igorpadykov
NXP Employee
NXP Employee

unfortunately this is not possible.

Best regards
igor

0 项奖励
回复