Hi All,
I have implemented eDMA support in RX path for UART DM814x(Cortex-A8) processor for a Real Time Operating System. My driver works perfectly if Cache is disabled but I get problems when cache is enabled. In case of cache enabled, my return buffer for rx is only partially filled with receive data (first few bytes remain zero and last few bytes contain valid data). I have tried flushing and invalidating cache before and after transfer as well, but no success. Without cache everything works fine. Is there any problem with eDMA, UART and cache or maybe I am missing something? I see that in starterware for AM335x(which is very much similar to DM814x) there is an example of UART using edma. In the cache version of this example RX DMA is NOT implemented while in the non-cache version it is. Can anyone please comment on this? Thank You.
Regards,
Mughees Ahmed Chohan