On our setup we have a backplane in which multiple types of boards are connected. One of them is a new board which is T1024 based and the backplane communication is serial.
The T1024 is configured to have 4 UART's i.e there are not CTS/RTS for the DUARTs. They are configured to be UART3_SOUT/SIN and UART4_SOUT/SIN in the rcw.
The backplane speed is set to 2062500 bits per second. There are older cards which are 8250 and are able to handle that speed and is able to transfer big files across the serial line but it fails with the T1024.
I have used stty to set the parameters for the port to disable all modem and any echos i.e keep it raw.
One thing I do see is that on the T1024 even though the UART register FE11C602 is set to E1 , the interrupts are occurring on a per byte basis. This I see it from the /proc/interrupts going up by the number of bytes or somewhere close to it. While in the older cards it goes up by buffer lengths i.e around 200 bytes per interrupt.
Could this be the problem as to why it is getting overrun. How would I change it to use the FIFO (even though I can see it in the register configuration).
The divisor is 6 based on the 2062500 baud. The percentage of error is around 1% based on the paltformclock/2 of 200000000 bps.
Any help in figuring out this issue would be appreciated.