diff options
Diffstat (limited to 'lib_ppc/board.c')
| -rw-r--r-- | lib_ppc/board.c | 12 | 
1 files changed, 9 insertions, 3 deletions
| diff --git a/lib_ppc/board.c b/lib_ppc/board.c index daa2a6df4..108244e29 100644 --- a/lib_ppc/board.c +++ b/lib_ppc/board.c @@ -526,7 +526,10 @@ void board_init_f (ulong bootflag)  #ifdef CONFIG_POST  	post_bootmode_init(); -	post_run (NULL, POST_ROM | post_bootmode_get(0)); +	if (post_hotkeys_pressed(gd)) /* Force the long-running tests (memory) */ +		post_run (NULL, POST_ROM | POST_SLOWTEST); +	else +		post_run (NULL, POST_ROM | post_bootmode_get(0));  #endif  	WATCHDOG_RESET(); @@ -897,8 +900,11 @@ void board_init_r (gd_t *id, ulong dest_addr)  #endif  #ifdef CONFIG_POST -	post_run (NULL, POST_RAM | post_bootmode_get(0)); -	if (post_bootmode_get(0) & POST_POWERFAIL) { +	if (gd->post_hotkeys_latch) +		post_run (NULL, POST_RAM | POST_SLOWTEST); +	else +		post_run (NULL, POST_RAM | post_bootmode_get(0)); +	if (post_bootmode_get(0) & POST_SLOWTEST) {  		post_bootmode_clear();  		board_poweroff();  	} |