From f387e9be00ccaa49d77c82d4340dff6f84bb4bb3 Mon Sep 17 00:00:00 2001 From: AppaRao Puli Date: Mon, 13 May 2019 23:49:02 +0530 Subject: [PATCH] Enabling uart1&uart2 in u-boot for BIOS messages Added uart init function in u-boot aspeed code to enable uart1 and uart2 for BIOS serial messages. Tested: Forced BMC to stop in u-boot( using Force Firmware Update Jumper), AC cycled system for multiple times, booted system to uefi, checked bios serial logs working fine and accessed keyboard in uefi without any issues. Signed-off-by: AppaRao Puli --- board/aspeed/ast-g5/ast-g5-intel.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/board/aspeed/ast-g5/ast-g5-intel.c b/board/aspeed/ast-g5/ast-g5-intel.c index efc3315caf..a8b65658b3 100644 --- a/board/aspeed/ast-g5/ast-g5-intel.c +++ b/board/aspeed/ast-g5/ast-g5-intel.c @@ -487,6 +487,26 @@ void ast_g5_intel_late_init(void) update_bootargs_cmd("special", NULL); } +static void uart_init(void) +{ + u32 val; + + /* Enable UART1 and UART2 for BIOS messages */ + val = ast_scu_read(AST_SCU_FUN_PIN_CTRL2); + + /* UART1 */ + val |= (SCU_FUN_PIN_UART1_NCTS | SCU_FUN_PIN_UART1_NDCD | + SCU_FUN_PIN_UART1_NDSR | SCU_FUN_PIN_UART1_NRI | + SCU_FUN_PIN_UART1_NDTR | SCU_FUN_PIN_UART1_NRTS | + SCU_FUN_PIN_UART1_TXD | SCU_FUN_PIN_UART1_RXD); + /* UART2 */ + val |= (SCU_FUN_PIN_UART2_NCTS | SCU_FUN_PIN_UART2_NDCD | + SCU_FUN_PIN_UART2_NDSR | SCU_FUN_PIN_UART2_NRI | + SCU_FUN_PIN_UART2_NDTR | SCU_FUN_PIN_UART2_NRTS | + SCU_FUN_PIN_UART2_TXD | SCU_FUN_PIN_UART2_RXD); + ast_scu_write(val, AST_SCU_FUN_PIN_CTRL2); +} + static void pwm_init(void) { uint32_t val; @@ -538,6 +558,7 @@ extern void espi_init(void); extern void kcs_init(void); void ast_g5_intel(void) { + uart_init(); pwm_init(); gpio_init(gpio_table, ARRAY_SIZE(gpio_table)); espi_init();