Reset the serial flags so that the debug UART can be used (if enabled)
in the small window where there is no serial device. This can avoid a hang
in some cases.
Signed-off-by: Simon Glass <sjg@chromium.org>
void board_init_r(gd_t *new_gd, ulong dest_addr)
{
+ /*
+ * 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.
+ *
+ * Do the same with log drivers since the memory may not be available.
+ */
+ gd->flags &= ~(GD_FLG_SERIAL_READY | GD_FLG_LOG_READY);
+
/*
* Set up the new global data pointer. So far only x86 does this
* here.