Commit 8ade9506 authored by Simon Glass's avatar Simon Glass Committed by Wolfgang Denk
Browse files

bootstage: Convert progress numbers 20-41 to enums


Signed-off-by: default avatarSimon Glass <sjg@chromium.org>
parent 5e410883
......@@ -1064,7 +1064,7 @@ void board_init_r(gd_t *id, ulong dest_addr)
void hang(void)
{
puts("### ERROR ### Please RESET the board ###\n");
show_boot_error(30);
show_boot_error(BOOTSTAGE_ID_NEED_RESET);
for (;;)
;
}
......
......@@ -426,7 +426,7 @@ void hang(void)
{
puts("### ERROR ### Please RESET the board ###\n");
#ifdef CONFIG_SHOW_BOOT_PROGRESS
show_boot_error(30);
show_boot_error(BOOTSTAGE_ID_NEED_RESET);
#endif
for (;;) ;
}
......
......@@ -595,7 +595,9 @@ void show_boot_progress (int status)
{
volatile immap_t *immr = (immap_t *) CONFIG_SYS_IMMR;
if (status < -32) status = -1; /* let things compatible */
/* let things compatible */
if (status < -BOOTSTAGE_ID_POST_FAIL_R)
status = -1;
status ^= 0x0F;
status = (status & 0x0F) << 14;
immr->im_cpm.cp_pbdat = (immr->im_cpm.cp_pbdat & ~PB_LED_ALL) | status;
......
......@@ -97,7 +97,8 @@ static void status_led_blink (void)
void show_boot_progress (int val)
{
/* find all valid Codes for val in README */
if (val == -30) return;
if (val == -BOOTSTAGE_ID_NEED_RESET)
return;
if (val < 0) {
/* smthing goes wrong */
status_led_blink ();
......
......@@ -66,6 +66,31 @@ enum bootstage_id {
BOOTSTAGE_ID_NO_RAMDISK, /* No ram disk found (not an error) */
BOOTSTAGE_ID_RUN_OS = 15, /* Exiting U-Boot, entering OS */
BOOTSTAGE_ID_NEED_RESET = 30,
BOOTSTAGE_ID_POST_FAIL, /* Post failure */
BOOTSTAGE_ID_POST_FAIL_R, /* Post failure reported after reloc */
/*
* This set is reported ony by x86, and the meaning is different. In
* this case we are reporting completion of a particular stage.
* This should probably change in he x86 code (which doesn't report
* errors in any case), but discussion this can perhaps wait until we
* have a generic board implementation.
*/
BOOTSTAGE_ID_BOARD_INIT_R, /* We have relocated */
BOOTSTAGE_ID_BOARD_GLOBAL_DATA, /* Global data is set up */
BOOTSTAGE_ID_BOARD_INIT_SEQ, /* We completed the init sequence */
BOOTSTAGE_ID_BOARD_FLASH, /* We have configured flash banks */
BOOTSTAGE_ID_BOARD_FLASH_37, /* In case you didn't hear... */
BOOTSTAGE_ID_BOARD_ENV, /* Environment is relocated & ready */
BOOTSTAGE_ID_BOARD_PCI, /* PCI is up */
BOOTSTAGE_ID_BOARD_INTERRUPTS, /* Exceptions / interrupts ready */
BOOTSTAGE_ID_BOARD_DONE, /* Board init done, off to main loop */
/* ^^^ here ends the x86 sequence */
};
/*
......
......@@ -158,7 +158,7 @@ void post_output_backlog(void)
post_log("PASSED\n");
else {
post_log("FAILED\n");
show_boot_error(31);
show_boot_error(BOOTSTAGE_ID_POST_FAIL_R);
}
}
}
......@@ -295,7 +295,7 @@ static int post_run_single(struct post_test *test,
} else {
if ((*test->test)(flags) != 0) {
post_log("FAILED\n");
show_boot_error(32);
show_boot_error(BOOTSTAGE_ID_POST_FAIL_R);
show_post_progress(i, POST_AFTER, POST_FAILED);
if (test_flags & POST_CRITICAL)
gd->flags |= GD_FLG_POSTFAIL;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment