diff --git a/payloads/libpayload/drivers/serial.c b/payloads/libpayload/drivers/serial.c index c0867e9739..3daf46082c 100644 --- a/payloads/libpayload/drivers/serial.c +++ b/payloads/libpayload/drivers/serial.c @@ -119,6 +119,15 @@ void serial_init(void) #ifdef CONFIG_LP_SERIAL_SET_SPEED serial_hardware_init(CONFIG_LP_SERIAL_BAUD_RATE, 8, 0, 1); #endif +} + +void serial_console_init(void) +{ + if (!lib_sysinfo.serial) + return; + + serial_init(); + console_add_input_driver(&consin); console_add_output_driver(&consout); } diff --git a/payloads/libpayload/include/libpayload.h b/payloads/libpayload/include/libpayload.h index 8f1173371c..c63d91b1bc 100644 --- a/payloads/libpayload/include/libpayload.h +++ b/payloads/libpayload/include/libpayload.h @@ -164,6 +164,7 @@ int keyboard_set_layout(char *country); * @{ */ void serial_init(void); +void serial_console_init(void); void serial_putchar(unsigned int c); int serial_havechar(void); int serial_getchar(void); diff --git a/payloads/libpayload/libc/console.c b/payloads/libpayload/libc/console.c index cfaac58130..e4957bdb6f 100644 --- a/payloads/libpayload/libc/console.c +++ b/payloads/libpayload/libc/console.c @@ -52,7 +52,7 @@ void console_init(void) video_console_init(); #endif #ifdef CONFIG_LP_SERIAL_CONSOLE - serial_init(); + serial_console_init(); #endif #ifdef CONFIG_LP_PC_KEYBOARD keyboard_init();