serial: Separate the serial hardware init and the serial console init.

You might want to use the serial hardware for something other than a console,
or you might want to intercede in the serial stream to wrap it in another
protocol. This is what you'd do to send output to GDB while using it to debug
the payload.

BUG=None
TEST=Built and booted on nyan and saw that there was serial output. Built for
pit.
BRANCH=None

Change-Id: I2218c0dbb988dacb64e5bdaf5d92138828eff8b6
Signed-off-by: Gabe Black <gabeblack@google.com>
Reviewed-on: https://chromium-review.googlesource.com/179559
Reviewed-by: Ronald Minnich <rminnich@chromium.org>
Reviewed-by: David Hendricks <dhendrix@chromium.org>
Commit-Queue: Gabe Black <gabeblack@chromium.org>
Tested-by: Gabe Black <gabeblack@chromium.org>
This commit is contained in:
Gabe Black 2013-12-03 21:25:35 -08:00 committed by chrome-internal-fetch
commit da9ab46d97
3 changed files with 11 additions and 1 deletions

View file

@ -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);
}

View file

@ -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);

View file

@ -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();