
2016-11-30 19:07 GMT+01:00 Stephen Warren swarren@wwwdotorg.org:
On 11/29/2016 11:47 PM, Mirza Krak wrote:
2016-11-30 5:05 GMT+01:00 Stephen Warren swarren@wwwdotorg.org:
On 11/27/2016 11:05 PM, Mirza Krak wrote:
From: Mirza Krak mirza.krak@gmail.com
Recently the default UART clock rate has been changed to 48 MHz on all pi`s in the firmware files, which broke UART support in u-boot.
Align configuration to boot firmware.
diff --git a/board/raspberrypi/rpi/rpi.c b/board/raspberrypi/rpi/rpi.c
@@ -37,7 +37,7 @@ static const struct pl01x_serial_platdata serial_platdata = { .base = 0x20201000, #endif .type = TYPE_PL011,
.clock = 3000000,
.clock = 48000000,
Now that I look into this some more, I will point out that this code doesn't even exist in the latest U-Boot, so your patch doesn't apply.
Yes, my bad. I am on 2016.03. Looking in upstream code I can see that some changes have been made regarding this.
Instead, the UART is now instantiated from DT:-( Presumably the UART drivers attempt to dynamically query the clock rate from the clock provider described in DT, yet since there is no such provider implemented in U-Boot, this must currently fail, and I presume that if U-Boot still works at all on the Pi, then the UART drivers must simply skip programming the divider at all, and thus rely on the FW having initialized it.
From what I see it no longer tries to initialize the UART on RPi at
all and does rely on the FW having initialized it, which seems to be intentional. See [1].
Does updating to the latest U-Boot code solve your problem?
Will give it a go, but probably solves my problems.
[1]. http://git.denx.de/?p=u-boot.git;a=commit;h=cd0fa5bff8052b19bde6967c2734f323...
Best Regards Mirza