Add CONFIG_BOARD_RESET to configure board specific reset function

Patch by Stefan Roese, 07 Oct 2006
This commit is contained in:
Stefan Roese 2006-10-07 11:30:52 +02:00
parent 64cd52efd1
commit f3443867e9
6 changed files with 25 additions and 12 deletions

View File

@ -2,6 +2,9 @@
Changes since U-Boot 1.1.4: Changes since U-Boot 1.1.4:
====================================================================== ======================================================================
* Add CONFIG_BOARD_RESET to configure board specific reset function
Patch by Stefan Roese, 07 Oct 2006
* Remove compile warnings in fpga code * Remove compile warnings in fpga code
Patch by Stefan Roese, 18 Sep 2006 Patch by Stefan Roese, 18 Sep 2006

View File

@ -552,3 +552,9 @@ void hw_watchdog_reset(void)
} }
#endif #endif
void board_reset(void)
{
/* give reset to BCSR */
*(unsigned char *)(CFG_BCSR_BASE | 0x06) = 0x09;
}

View File

@ -548,3 +548,9 @@ void hw_watchdog_reset(void)
} }
#endif #endif
void board_reset(void)
{
/* give reset to BCSR */
*(unsigned char *)(CFG_BCSR_BASE | 0x06) = 0x09;
}

View File

@ -41,6 +41,10 @@
DECLARE_GLOBAL_DATA_PTR; DECLARE_GLOBAL_DATA_PTR;
#endif #endif
#if defined(CONFIG_BOARD_RESET)
void board_reset(void);
#endif
#if defined(CONFIG_440) #if defined(CONFIG_440)
#define FREQ_EBC (sys_info.freqEPB) #define FREQ_EBC (sys_info.freqEPB)
#else #else
@ -414,23 +418,15 @@ int ppc440spe_revB() {
int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
{ {
#if defined(CONFIG_YOSEMITE) || defined(CONFIG_YELLOWSTONE) #if defined(CONFIG_BOARD_RESET)
/*give reset to BCSR*/ board_reset();
*(unsigned char*)(CFG_BCSR_BASE | 0x06) = 0x09;
#else #else
/* /*
* Initiate system reset in debug control register DBCR * Initiate system reset in debug control register DBCR
*/ */
__asm__ __volatile__("lis 3, 0x3000" ::: "r3"); mtspr(dbcr0, 0x30000000);
#if defined(CONFIG_440) #endif /* defined(CONFIG_BOARD_RESET) */
__asm__ __volatile__("mtspr 0x134, 3");
#else
__asm__ __volatile__("mtspr 0x3f2, 3");
#endif
#endif/* defined(CONFIG_YOSEMITE) || defined(CONFIG_YELLOWSTONE)*/
return 1; return 1;
} }

View File

@ -37,6 +37,7 @@
#define CONFIG_BOARD_EARLY_INIT_F 1 /* Call board_early_init_f */ #define CONFIG_BOARD_EARLY_INIT_F 1 /* Call board_early_init_f */
#define CONFIG_MISC_INIT_R 1 /* call misc_init_r() */ #define CONFIG_MISC_INIT_R 1 /* call misc_init_r() */
#define CONFIG_BOARD_RESET 1 /* call board_reset() */
/*----------------------------------------------------------------------- /*-----------------------------------------------------------------------
* Base addresses -- Note these are effective addresses where the * Base addresses -- Note these are effective addresses where the

View File

@ -37,6 +37,7 @@
#define CONFIG_BOARD_EARLY_INIT_F 1 /* Call board_early_init_f */ #define CONFIG_BOARD_EARLY_INIT_F 1 /* Call board_early_init_f */
#define CONFIG_MISC_INIT_R 1 /* call misc_init_r() */ #define CONFIG_MISC_INIT_R 1 /* call misc_init_r() */
#define CONFIG_BOARD_RESET 1 /* call board_reset() */
/*----------------------------------------------------------------------- /*-----------------------------------------------------------------------
* Base addresses -- Note these are effective addresses where the * Base addresses -- Note these are effective addresses where the