DMA bug on Colibri VF50

In Feb 2016 we’ve tried to set up the baudrate for UART B of our Colibri VF50 module to 2.000.000 without any success. It was mentioned that there was a problem in DMA unit which was still under work. The toradex developer presented the prospect of a near solution of this problem.

In the community I found no answer, so is this problem still pending, or is there still a solution for getting a baudrate up to 2Mb on Colibri VF50

Thanks in advance

The DMA codepath has been reworked and reenabled since v2.6b1 (this ticket tracks that change #11844). However, there has been some locking issue in rare circumstances which we never could reproduce, but seem to be fixed with the latest v2.7b2 release. I therefore recommend using the latest version of our Linux 4.4 kernel (toradex_vf_4.4 branch). With that the UART implementation seems quite robust even at higher baud rates.

But keep in mind that DMA buffers have a limited size non the less, and Linux is not a hard real-time operating system, so UART overruns might happen in certain circumstances. To avoid any overruns, some kind of flow control such as RTS/CTS is recommended.