Greetings!
To get right to the question, can the AM335x UARTs be configured to run at exactly 1Mbps? Can the UART in the PRUs be configured to run at exactly 1Mbps?
The background:
Using starterware on a bare metal Beaglebone, I have been using UART0 to transmit images captured from a camera by the PRU and transmit them back to a PC. I was using code from the UART example to get things up and going, and was running it at 115200. Because I want to use the other UARTs for other tasks, and at higher speeds, I was experimenting with running at higher baud rates. I found I could go up to 250000 with the existing settings (by changing the value fed to UARTDivisorValCompute), but not higher. I then also found I could get up to 921600 by changing to UART13x_OPER_MODE (and also setting it in UARTOperatingModeSelect). Going back to the TRM, I found switching back to UART16x_OPER_MODE I could run at 3000000 (3 Mbps), which means the divisor was 1. Why can the divisor not be set to 3 (while using UART16x_OPER_MODE) to get a perfect 1 Mbps? Is there a rule (other than looking at the list in the TRM) to determine which divisor and operation mode combinations will give a working baud rate, and which won't?
Thanks for any feedback!