summaryrefslogtreecommitdiff
path: root/drivers/serial/serial-uclass.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/serial/serial-uclass.c')
-rw-r--r--drivers/serial/serial-uclass.c10
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;