diff --git a/common/board_f.c b/common/board_f.c index 622093a391..109025a68d 100644 --- a/common/board_f.c +++ b/common/board_f.c @@ -1095,6 +1095,13 @@ void board_init_f_r(void) if (initcall_run_list(init_sequence_f_r)) hang(); + /* + * The pre-relocation drivers may be using memory that has now gone + * away. Mark serial as unavailable - this will fall back to the debug + * UART if available. + */ + gd->flags &= ~GD_FLG_SERIAL_READY; + /* * U-Boot has been copied into SDRAM, the BSS has been cleared etc. * Transfer execution from Flash to RAM by calculating the address diff --git a/drivers/serial/serial-uclass.c b/drivers/serial/serial-uclass.c index f154eb156c..0ce5c44f33 100644 --- a/drivers/serial/serial-uclass.c +++ b/drivers/serial/serial-uclass.c @@ -115,7 +115,7 @@ int serial_init(void) /* Called after relocation */ void serial_initialize(void) { - serial_find_console_or_panic(); + serial_init(); } static void _serial_putc(struct udevice *dev, char ch)