From aeec782b020930732eab075af97212c3f03afcae Mon Sep 17 00:00:00 2001 From: Wolfgang Denk Date: Wed, 13 Sep 2006 10:47:05 +0200 Subject: [PATCH] Disable autoboot abort for FO300 when silent mode is enabled (according to S1 switch setting). Patch by Marian Balakowicz, 12 Sep 2006 --- CHANGELOG | 3 ++ board/tqm5200/tqm5200.c | 74 ++++++++++++++++++++++++----------------- 2 files changed, 47 insertions(+), 30 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index a25134fa7..a896e253a 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -2,6 +2,9 @@ Changes since U-Boot 1.1.4: ====================================================================== +* Disable autoboot abort for FO300 when silent mode is enabled + (according to S1 switch setting). + * Cleanup examples binaries * Add NAND environment support for PPC440EPx Sequoia NAND boot config diff --git a/board/tqm5200/tqm5200.c b/board/tqm5200/tqm5200.c index 2a0d542ef..b76579cb4 100644 --- a/board/tqm5200/tqm5200.c +++ b/board/tqm5200/tqm5200.c @@ -446,6 +446,43 @@ int board_early_init_r (void) #endif #endif /* CONFIG_PS2MULT */ +#ifdef CONFIG_FO300 +int silent_boot (void) +{ + vu_long timer3_status; + + /* Configure GPT3 as GPIO input */ + *(vu_long *)MPC5XXX_GPT3_ENABLE = 0x00000004; + + /* Read in TIMER_3 pin status */ + timer3_status = *(vu_long *)MPC5XXX_GPT3_STATUS; + +#ifdef FO300_SILENT_CONSOLE_WHEN_S1_CLOSED + /* Force silent console mode if S1 switch + * is in closed position (TIMER_3 pin status is LOW). */ + if (MPC5XXX_GPT_GPIO_PIN(timer3_status) == 0) + return 1; +#else + /* Force silent console mode if S1 switch + * is in open position (TIMER_3 pin status is HIGH). */ + if (MPC5XXX_GPT_GPIO_PIN(timer3_status) == 1) + return 1; +#endif + + return 0; +} + +int board_early_init_f (void) +{ + DECLARE_GLOBAL_DATA_PTR; + + if (silent_boot()) + gd->flags |= GD_FLG_SILENT; + + return 0; +} +#endif /* CONFIG_FO300 */ + int last_stage_init (void) { /* @@ -538,6 +575,13 @@ int last_stage_init (void) __asm__ volatile ("sync"); } +#ifdef CONFIG_FO300 + if (silent_boot()) { + setenv("bootdelay", "0"); + disable_ctrlc(1); + } +#endif + return 0; } @@ -729,33 +773,3 @@ int board_get_height (void) } #endif /* CONFIG_VIDEO_SM501 */ - - -#ifdef CONFIG_BOARD_EARLY_INIT_F -#ifdef CONFIG_FO300 -int board_early_init_f (void) -{ - vu_long timer3_status; - DECLARE_GLOBAL_DATA_PTR; - - /* Configure GPT3 as GPIO input */ - *(vu_long *)MPC5XXX_GPT3_ENABLE = 0x00000004; - - /* Read in TIMER_3 pin status */ - timer3_status = *(vu_long *)MPC5XXX_GPT3_STATUS; - -#ifdef FO300_SILENT_CONSOLE_WHEN_S1_CLOSED - /* Force silent console mode if S1 switch - * is in closed position (TIMER_3 pin status is LOW). */ - if (MPC5XXX_GPT_GPIO_PIN(timer3_status) == 0) -#else - /* Force silent console mode if S1 switch - * is in open position (TIMER_3 pin status is HIGH). */ - if (MPC5XXX_GPT_GPIO_PIN(timer3_status) == 1) -#endif - gd->flags |= GD_FLG_SILENT; - - return 0; -} -#endif /* CONFIG_FO300 */ -#endif /* CONFIG_BOARD_EARLY_INIT_F */