summaryrefslogtreecommitdiff
path: root/payloads/libpayload/drivers/serial/qcs405.c
diff options
context:
space:
mode:
authorPrudhvi Yarlagadda <pyarlaga@codeaurora.org>2019-06-11 16:05:02 +0530
committerPatrick Georgi <pgeorgi@google.com>2019-06-27 16:40:19 +0000
commit5399f8084845225d666c1fcddc8b1f2d775b59eb (patch)
treead1925c1db2b1c19ac4dc002a8a1de79179e9954 /payloads/libpayload/drivers/serial/qcs405.c
parent2bf6a301d39fcb49edf6eb5a18e6b384ed95205a (diff)
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 <pyarlaga@codeaurora.org> Reviewed-on: https://review.coreboot.org/c/coreboot/+/33424 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Patrick Georgi <pgeorgi@google.com>
Diffstat (limited to 'payloads/libpayload/drivers/serial/qcs405.c')
-rw-r--r--payloads/libpayload/drivers/serial/qcs405.c6
1 files changed, 4 insertions, 2 deletions
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);