diff options
Diffstat (limited to 'drivers/serial/serial-uclass.c')
| -rw-r--r-- | drivers/serial/serial-uclass.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/serial/serial-uclass.c b/drivers/serial/serial-uclass.c index 7b381ca12a0..9be2ad270ad 100644 --- a/drivers/serial/serial-uclass.c +++ b/drivers/serial/serial-uclass.c @@ -190,6 +190,16 @@ int fetch_baud_from_dtb(void) int serial_init(void) { #if CONFIG_IS_ENABLED(SERIAL_PRESENT) + /* + * Skip serial device probe before relocation if debug UART is enabled + * and early DM is skipped. Debug UART will handle console output during + * early boot. Full serial initialization happens in serial_initialize() + * after relocation. + */ + if ((CONFIG_IS_ENABLED(DEBUG_UART) && CONFIG_IS_ENABLED(SKIP_EARLY_DM)) && + !(gd->flags & GD_FLG_RELOC)) + return 0; + serial_find_console_or_panic(); if (gd->cur_serial_dev) gd->flags |= GD_FLG_SERIAL_READY; |
