
On Tue, Jan 3, 2017 at 3:38 AM, jonsmirl@gmail.com jonsmirl@gmail.com wrote:
I recently ran into a probably with the UARTs on the A64. Many Bluetooth modules (like Ampak) use the UART. The data rate of EDR BT is 3Mb/s with about 2.1Mb/s though put. To handle this most systems set the speed of the BT UART to 3Mb/s.
By default the Allwinner UART clock input is OSC24. When using OSC24 the maximum speed the UART can be set to is 1.5Mb/s. The clock input (apb2) can be changed over to PERIPH0x2 (1.2ghz) via the device tree and 3Mb/s is then supported.
But... there's a problem, UART0 (the console) is using the same master clock source. So when you change the clock input over to PERIPH0x2 the console stops working. There is no mechanism in Linux to handle this clock source change and adjust the dividers on active uarts. So it would be best if this master clock was set very early in u-boot and then the console is adjusted to use it.
Are there any downsides to making this change in u-boot?
I don't understand, did you find this behaviour with these SPL changes or general sunxi u-boot?
thanks!