BBB 3.8.13-bone79 UART issue

Hi all,

I’ve recently adopted a beaglebone project that requires the usage of uart at 1M baud and 31250k baud. I noticed that although the 31250k baud works, I’m having trouble with the 1M baud (used an oscilloscope and found out it was actually outputting at 1.24Mbaud). From what I have researched, the issue is caused with the divisor values of 16 and 13 (Using divisor of 16 – 48M/16/3 = 1M while using divisor of 13 – 48M/13/3 = 1.24M).

I’m using linux version 3.8.13-bone79. From what I’ve read, version 3.11 has a fix in omap-serial.c. I’m hesitant in upgrading as the application im developing uses this library as well: It supports the use of 3.8.13 for gpio and ADC. I don’t know if upgrading will affect the performance of said library.

I’ve been using 730kbaud as a workaround but I’ve observed that some messages being sent through are seeing drop in packets due to error% between the two devices (a hypothesis to my problem). Hence my question: where would I need to edit to manipulate the register bit MDR3[1] to set the divisor value to 16 to set my baud rate to 1M to reduce my error rate to 0%?