[PATCH] MIPS: Boston: Fix earlycon baud rate selection

From: Matt Redfearn
Date: Tue Oct 17 2017 - 09:28:53 EST


During set up of the early console, the earlycon driver will attempt to
configure a baud rate, if one is set in the earlycon structure.
Previously, of_setup_earlycon left this field as 0, ignoring any baud
rate selected by the DT. Commit 31cb9a8575ca ("earlycon: initialise baud
field of earlycon device structure") changed this behaviour such that
any selected baud rate is now set. The earlycon driver must deduce the
divisor from the configured uartclk, which of_setup_earlycon sets to
BASE_BAUD. MIPS generic kernels do not set BASE_BAUD (there is no
practical way to set this generically for all supported platforms), so
when the early console is configured an incorrect divisor is calculated
for the selected baud rate, and garbage is printed to the console during
boot.

Fix this by removing the configured baud rate from the device tree.
This causes the early console to inherit the baud rate settings from the
bootloader. By the time the real console is probed, the clock drivers
necessary to calculate the divisor are enabled and the kernel can
correctly configure the baud rate.

Fixes: 31cb9a8575ca ("earlycon: initialise baud field of earlycon device structure")
Signed-off-by: Matt Redfearn <matt.redfearn@xxxxxxxx>

---

arch/mips/boot/dts/img/boston.dts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/mips/boot/dts/img/boston.dts b/arch/mips/boot/dts/img/boston.dts
index 53bfa29a7093..179691aae7d7 100644
--- a/arch/mips/boot/dts/img/boston.dts
+++ b/arch/mips/boot/dts/img/boston.dts
@@ -11,7 +11,7 @@
compatible = "img,boston";

chosen {
- stdout-path = "uart0:115200";
+ stdout-path = "uart0";
};

aliases {
--
2.7.4