AnsweredAssumed Answered

UART RX SDMA problem on iMX6Q

Question asked by AlexeyT on Jan 15, 2016
Latest reply on Apr 5, 2017 by Shinichi Ichimura

Hi All,


I am facing a quite a strange issue with the subject.

It look like it only partially works.

I have UART4 configured for SDMA with

- RXTL set to 16 bytes

- TXTL set to 16 bytes

- DMA ageing turned on

- SDMA watermark level set to 16 bytes as well


I am having problem when transfer size is exactly 16 bytes, in this case SDMA interrupt does not trigger.

If I send from 1 to 15 bytes I receive RX interrupt and get the data correctly.

If I send 16 bytes I don't get RX interrupt at all.

If I send 16 bytes and then 1 extra byte after a delay I will get interrupt and read all 17 bytes ok.


To me it look like I can get DMA data ageing interrupt but can't get normal watermark based interrupt.

I tripple checked UART code and cannot find any issue, everything look completely fine.

Checked SDMA channel configuration and found no configuration error as well.

Can you please suggest where do I need to have a look to check fo SDMA possible watermark errors?


It look like only UART that suffers, other devices which use SDMA work completely fine.

My platform is Windows Embedded Compact 7.