Hi all,
I would like to ask about SDMA initialization.
My customer is trying to use SDMA with Freescale i.MX6 SDK.
The issue is;
Loading script fails in the initialization process for SDMA.
The sdma_load_init_script() function in sdma.c, which is included in your SDK, returns FALSE.
He found the SDMA_FLAGS_BUSY bit in sdma_envp->chan0BD.mode was not cleared and then returned FALSE at the line#99 in sdma_load_init_script().
This phenomenon means “Done” bit in buffer descriptor keeps 1 after completion of transfer, right?
According to the description in Table-55-49 in i.MX6DQ reference manual, D=1 indicates the SDMA has not yet processed in the case of channel 0.
Do you have any ideas about the cause of this issue?
Thanks,
Miyamoto
Hi All,
I am still waiting someone's response.
If anyone have a supplemental document which can be helpful for better understanding about SDMA handling, please provide!
BR,
Miyamoto
RobinGong Apr 2, 2014 2:47 AM (in response to jamesbone)
Hi James,
I have no source code in SDK, so I'm not sure whether SDMA_FLAGS_BUSY means "DONE"=1. Yes, it's abnormal if "DONE" always keep 1, which means SDMA NOT finish transfer or there is some error. But I suppose your BD setting are ok. No any SDMA transfer complete successfully or only someone?