From 235daa4bf6b6467b5df675dcfe5041b7f62eeae3 Mon Sep 17 00:00:00 2001 From: Julien Viard de Galbert Date: Tue, 20 Feb 2018 11:45:48 +0100 Subject: driver/uart: Introduce a way for mainboard to override the baudrate The rationale is to allow the mainboard to override the default baudrate for instance by sampling GPIOs at boot. A new configuration option is available for mainboards to select this behaviour. It will then have to define the function get_uart_baudrate to return the computed baudrate. Change-Id: I970ee788bf90b9e1a8c6ccdc5eee8029d9af0ecc Signed-off-by: Julien Viard de Galbert Reviewed-on: https://review.coreboot.org/23713 Tested-by: build bot (Jenkins) Reviewed-by: Nico Huber --- src/cpu/allwinner/a10/uart.c | 2 +- src/cpu/allwinner/a10/uart_console.c | 2 +- src/cpu/ti/am335x/uart.c | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) (limited to 'src/cpu') diff --git a/src/cpu/allwinner/a10/uart.c b/src/cpu/allwinner/a10/uart.c index f7c2db99b3..9bcedeb49e 100644 --- a/src/cpu/allwinner/a10/uart.c +++ b/src/cpu/allwinner/a10/uart.c @@ -105,7 +105,7 @@ void uart_init(int idx) struct a10_uart *uart_base = uart_platform_baseptr(idx); /* Use default 8N1 encoding */ - a10_uart_configure(uart_base, CONFIG_TTYS0_BAUD, + a10_uart_configure(uart_base, get_uart_baudrate(), 8, UART_PARITY_NONE, 1); a10_uart_enable_fifos(uart_base); } diff --git a/src/cpu/allwinner/a10/uart_console.c b/src/cpu/allwinner/a10/uart_console.c index 03d41228bc..363a41a129 100644 --- a/src/cpu/allwinner/a10/uart_console.c +++ b/src/cpu/allwinner/a10/uart_console.c @@ -44,7 +44,7 @@ void uart_fill_lb(void *data) struct lb_serial serial; serial.type = LB_SERIAL_TYPE_MEMORY_MAPPED; serial.baseaddr = uart_platform_base(CONFIG_UART_FOR_CONSOLE); - serial.baud = CONFIG_TTYS0_BAUD; + serial.baud = get_uart_baudrate(); serial.regwidth = 1; serial.input_hertz = uart_platform_refclk(); serial.uart_pci_addr = 0; diff --git a/src/cpu/ti/am335x/uart.c b/src/cpu/ti/am335x/uart.c index 47b9a3d5cd..38a13ac268 100644 --- a/src/cpu/ti/am335x/uart.c +++ b/src/cpu/ti/am335x/uart.c @@ -163,7 +163,7 @@ void uart_init(int idx) { struct am335x_uart *uart = uart_platform_baseptr(idx); uint16_t div = (uint16_t) uart_baudrate_divisor( - CONFIG_TTYS0_BAUD, uart_platform_refclk(), 16); + get_uart_baudrate(), uart_platform_refclk(), 16); am335x_uart_init(uart, div); } @@ -189,7 +189,7 @@ void uart_fill_lb(void *data) struct lb_serial serial; serial.type = LB_SERIAL_TYPE_MEMORY_MAPPED; serial.baseaddr = uart_platform_base(CONFIG_UART_FOR_CONSOLE); - serial.baud = CONFIG_TTYS0_BAUD; + serial.baud = get_uart_baudrate(); serial.regwidth = 2; lb_add_serial(&serial, data); -- cgit v1.2.3