[PATCH master 7/7] console: don't fixup baud rate into earlycon string
Ahmad Fatoum
a.fatoum at pengutronix.de
Sun May 21 22:22:22 PDT 2023
By design, earlycon depends on boot firmware to setup the console for
Linux to use early before proper driver probe. When we specify the
baudrate though, the earlycon implementation may configure UART-internal
dividers to try to achieve the specified baudrate. The bus clock being
divided is defined statically Linux-architecture-wide using the BASE_BAUD
symbol, which is not suitable across different baudrates and SoCs.
Side step this issue by skipping fix up of the baudrate, so Linux just
uses what was preconfigured. This fixed global.bootm.earlycon=1 for
the ROCK-3A with 1.5 MBaud.
Signed-off-by: Ahmad Fatoum <a.fatoum at pengutronix.de>
---
common/console.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/common/console.c b/common/console.c
index c09c8e7d44c2..768550eb7df9 100644
--- a/common/console.c
+++ b/common/console.c
@@ -227,8 +227,8 @@ static void console_add_earlycon_param(struct console_device *cdev, unsigned bau
if (!cdev->linux_earlycon_name)
return;
- str = basprintf("earlycon=%s,0x%lx,%dn8", cdev->linux_earlycon_name,
- (ulong)cdev->phys_base, baudrate);
+ str = basprintf("earlycon=%s,0x%lx", cdev->linux_earlycon_name,
+ (ulong)cdev->phys_base);
dev_add_param_fixed(&cdev->class_dev, "linux.bootargs.earlycon", str);
--
2.39.2
More information about the barebox
mailing list