We're having a problem with receiving characters on UART3. We are using UART3 to receive intermittent packets of characters. The packets are all less than 40 characters long, and may have 10's of seconds or longer between packets.
Platform: TI/Mistral OMAP35x EVM (Rev. G)
Environment: Linux PSP 3.00.00.03 + the kernel from 3.00.00.05.
UART3 Configuration: 8N1, 115200 bits per second. (also tested with 9600 bits/sec)
We are seeing the first several characters get dropped on many of the packets, but have confirmed by eavesdropping on the Rx line that it is being sent the entire packet.
- At 115200 we lose 13 bytes, from most packets
- At 9600 we lose 5 bytes, but seldom
Obviously the packets should fit in the 64-byte FIFO, so is the FIFO disabled by default?
- Accesses to the driver yield at most 16 bytes, so the FIFO may be configured for 16 bytes.
Dropping the first bytes might point to having to wake up the system, however, we're not doing any sleeping of the system at this point. Might subsystems be sleeping even if we haven't requested it?
Any suggestions?