I'm trying to use the PS UART1 to do a bidirectional RS-422 transfer between the Zynq and another system. I would like to achieve at least a couple of Mbaud transfer speed, but generally the faster the better.
Using the Linux xuartps driver, I start seeing dropped bytes when I go above 1 Mbaud, most likely because the RXFIFO runs full before the CPU can service the IRQs. Adjusting the rx_trigger_level module parameter does not seem to change things. I have looked at the PL330 DMAC to try to speed things up, but according to section 9.2.1 in the TRM:
"The DMAC can conceivable access IOPs in the PS, but this is normally not useful because these paths offer no flow control signals"
So this means that the UART transfers (and other IOPs without dedicated DMA controllers) can not be accelerated using the DMAC?
I still have the possibility to switch to an AXI 16550 UART instead of the PS UART. Will I then be able to utilize the DMAC or an AXI DMA controller to do accelerated transfers?