From 5399f8084845225d666c1fcddc8b1f2d775b59eb Mon Sep 17 00:00:00 2001 From: Prudhvi Yarlagadda Date: Tue, 11 Jun 2019 16:05:02 +0530 Subject: libpayload: Re-initialize UART RX UART RX needs to be re-initialized in libpayload as it is getting reset at the end of coreboot. Change-Id: I7820bd7afd2e5f81e21a43f330ed42d3a732d577 Signed-off-by: Prudhvi Yarlagadda Reviewed-on: https://review.coreboot.org/c/coreboot/+/33424 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Georgi --- payloads/libpayload/drivers/serial/qcs405.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'payloads/libpayload') diff --git a/payloads/libpayload/drivers/serial/qcs405.c b/payloads/libpayload/drivers/serial/qcs405.c index 9f02e17263..7a80aae9c3 100644 --- a/payloads/libpayload/drivers/serial/qcs405.c +++ b/payloads/libpayload/drivers/serial/qcs405.c @@ -547,8 +547,10 @@ void serial_console_init(void) uart_board_param.uart_dm_base = (void *)(uintptr_t)sc_ptr->baseaddr; - /* TODO: We should rely on coreboot init. */ - msm_boot_uart_dm_init(uart_board_param.uart_dm_base); + /* We should re-initialise uart rx as it gets reset in coreboot. */ + write32(MSM_BOOT_UART_DM_IMR(uart_board_param.uart_dm_base), + MSM_BOOT_UART_DM_IMR_ENABLED); + msm_boot_uart_dm_init_rx_transfer(uart_board_param.uart_dm_base); console_add_output_driver(&consout); console_add_input_driver(&consin); -- cgit v1.2.3