mirror of
https://github.com/Stichting-MINIX-Research-Foundation/u-boot.git
synced 2025-09-10 04:26:19 -04:00
mpc85xx: support board-specific reset function
This is useful for boards which cannot be reset in the usual way for the 85xx CPU. An example is a board which can only be reset by a hardware watchdog. Signed-off-by: Ira W. Snyder <iws@ovro.caltech.edu> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
This commit is contained in:
parent
cc15df57b1
commit
c18de0d7ae
@ -42,6 +42,16 @@
|
|||||||
|
|
||||||
DECLARE_GLOBAL_DATA_PTR;
|
DECLARE_GLOBAL_DATA_PTR;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Default board reset function
|
||||||
|
*/
|
||||||
|
static void
|
||||||
|
__board_reset(void)
|
||||||
|
{
|
||||||
|
/* Do nothing */
|
||||||
|
}
|
||||||
|
void board_reset(void) __attribute__((weak, alias("__board_reset")));
|
||||||
|
|
||||||
int checkcpu (void)
|
int checkcpu (void)
|
||||||
{
|
{
|
||||||
sys_info_t sysinfo;
|
sys_info_t sysinfo;
|
||||||
@ -215,7 +225,12 @@ int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
|
|||||||
mtspr(DBCR0,val);
|
mtspr(DBCR0,val);
|
||||||
#else
|
#else
|
||||||
volatile ccsr_gur_t *gur = (void *)(CONFIG_SYS_MPC85xx_GUTS_ADDR);
|
volatile ccsr_gur_t *gur = (void *)(CONFIG_SYS_MPC85xx_GUTS_ADDR);
|
||||||
out_be32(&gur->rstcr, 0x2); /* HRESET_REQ */
|
|
||||||
|
/* Attempt board-specific reset */
|
||||||
|
board_reset();
|
||||||
|
|
||||||
|
/* Next try asserting HRESET_REQ */
|
||||||
|
out_be32(&gur->rstcr, 0x2);
|
||||||
udelay(100);
|
udelay(100);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user