diff options
author | Prudhvi Yarlagadda <pyarlaga@codeaurora.org> | 2019-06-11 16:05:02 +0530 |
---|---|---|
committer | Patrick Georgi <pgeorgi@google.com> | 2019-06-27 16:40:19 +0000 |
commit | 5399f8084845225d666c1fcddc8b1f2d775b59eb (patch) | |
tree | ad1925c1db2b1c19ac4dc002a8a1de79179e9954 | |
parent | 2bf6a301d39fcb49edf6eb5a18e6b384ed95205a (diff) | |
download | coreboot-5399f8084845225d666c1fcddc8b1f2d775b59eb.tar.xz |
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>
-rw-r--r-- | payloads/libpayload/drivers/serial/qcs405.c | 6 |
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); |