bootstage: Convert progress numbers 20-41 to enums

Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Simon Glass 2011-12-10 11:07:58 +00:00 committed by Wolfgang Denk
parent 5e41088364
commit 8ade950638
6 changed files with 34 additions and 6 deletions

View File

@ -1064,7 +1064,7 @@ void board_init_r(gd_t *id, ulong dest_addr)
void hang(void) void hang(void)
{ {
puts("### ERROR ### Please RESET the board ###\n"); puts("### ERROR ### Please RESET the board ###\n");
show_boot_error(30); show_boot_error(BOOTSTAGE_ID_NEED_RESET);
for (;;) for (;;)
; ;
} }

View File

@ -426,7 +426,7 @@ void hang(void)
{ {
puts("### ERROR ### Please RESET the board ###\n"); puts("### ERROR ### Please RESET the board ###\n");
#ifdef CONFIG_SHOW_BOOT_PROGRESS #ifdef CONFIG_SHOW_BOOT_PROGRESS
show_boot_error(30); show_boot_error(BOOTSTAGE_ID_NEED_RESET);
#endif #endif
for (;;) ; for (;;) ;
} }

View File

@ -595,7 +595,9 @@ void show_boot_progress (int status)
{ {
volatile immap_t *immr = (immap_t *) CONFIG_SYS_IMMR; 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 ^= 0x0F;
status = (status & 0x0F) << 14; status = (status & 0x0F) << 14;
immr->im_cpm.cp_pbdat = (immr->im_cpm.cp_pbdat & ~PB_LED_ALL) | status; immr->im_cpm.cp_pbdat = (immr->im_cpm.cp_pbdat & ~PB_LED_ALL) | status;

View File

@ -97,7 +97,8 @@ static void status_led_blink (void)
void show_boot_progress (int val) void show_boot_progress (int val)
{ {
/* find all valid Codes for val in README */ /* find all valid Codes for val in README */
if (val == -30) return; if (val == -BOOTSTAGE_ID_NEED_RESET)
return;
if (val < 0) { if (val < 0) {
/* smthing goes wrong */ /* smthing goes wrong */
status_led_blink (); status_led_blink ();

View File

@ -66,6 +66,31 @@ enum bootstage_id {
BOOTSTAGE_ID_NO_RAMDISK, /* No ram disk found (not an error) */ BOOTSTAGE_ID_NO_RAMDISK, /* No ram disk found (not an error) */
BOOTSTAGE_ID_RUN_OS = 15, /* Exiting U-Boot, entering OS */ 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 */
}; };
/* /*

View File

@ -158,7 +158,7 @@ void post_output_backlog(void)
post_log("PASSED\n"); post_log("PASSED\n");
else { else {
post_log("FAILED\n"); 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 { } else {
if ((*test->test)(flags) != 0) { if ((*test->test)(flags) != 0) {
post_log("FAILED\n"); post_log("FAILED\n");
show_boot_error(32); show_boot_error(BOOTSTAGE_ID_POST_FAIL_R);
show_post_progress(i, POST_AFTER, POST_FAILED); show_post_progress(i, POST_AFTER, POST_FAILED);
if (test_flags & POST_CRITICAL) if (test_flags & POST_CRITICAL)
gd->flags |= GD_FLG_POSTFAIL; gd->flags |= GD_FLG_POSTFAIL;