boothang: Reset the board when we can't boot from anything
Additionally enables debugging output from
mmc_load_image_raw_sector.
Change-Id: I278ae63a71ce67712fe6fc916250ce3bc9a91aed
diff --git a/common/spl/spl.c b/common/spl/spl.c
index 88d4b8a..f42e613 100644
--- a/common/spl/spl.c
+++ b/common/spl/spl.c
@@ -615,7 +615,16 @@
if (boot_from_devices(&spl_image, spl_boot_list,
ARRAY_SIZE(spl_boot_list))) {
puts(SPL_TPL_PROMPT "failed to boot from all boot devices\n");
- hang();
+ puts ("resetting ...\n");
+
+ udelay (50000); /* wait 50 ms */
+ disable_interrupts();
+
+ reset_misc();
+ reset_cpu(0);
+
+ /*NOTREACHED*/
+ return 0;
}
spl_perform_fixups(&spl_image);
diff --git a/common/spl/spl_mmc.c b/common/spl/spl_mmc.c
index 3e3c43b..ed12252 100644
--- a/common/spl/spl_mmc.c
+++ b/common/spl/spl_mmc.c
@@ -67,7 +67,7 @@
/* read image header to find the image size & load address */
count = blk_dread(bd, sector, 1, header);
- debug("hdr read sector %lx, count=%lu\n", sector, count);
+ printf("hdr read sector %lx, count=%lu\n", sector, count);
if (count == 0) {
ret = -EIO;
goto end;