From ce4c0188d96b2c20c2e08d24646a5e517fe15a4b Mon Sep 17 00:00:00 2001 From: Jakub Luzny Date: Fri, 21 Jan 2022 16:06:14 +0100 Subject: lib: utils/serial: Round UART8250 baud rate divisor to nearest integer Previously, it was rounded down and that gives suboptimal results when non-standard clock sources or baud rates are used. Signed-off-by: Jakub Luzny Reviewed-by: Anup Patel --- lib/utils/serial/uart8250.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lib/utils') diff --git a/lib/utils/serial/uart8250.c b/lib/utils/serial/uart8250.c index 142f8dc..141bd45 100644 --- a/lib/utils/serial/uart8250.c +++ b/lib/utils/serial/uart8250.c @@ -101,7 +101,7 @@ int uart8250_init(unsigned long base, u32 in_freq, u32 baudrate, u32 reg_shift, uart8250_in_freq = in_freq; uart8250_baudrate = baudrate; - bdiv = uart8250_in_freq / (16 * uart8250_baudrate); + bdiv = (uart8250_in_freq + 8 * uart8250_baudrate) / (16 * uart8250_baudrate); /* Disable all interrupts */ set_reg(UART_IER_OFFSET, 0x00); -- cgit v1.2.3