diff options
Diffstat (limited to 'cpu/mcf52x2/cpu.c')
| -rw-r--r-- | cpu/mcf52x2/cpu.c | 26 | 
1 files changed, 22 insertions, 4 deletions
| diff --git a/cpu/mcf52x2/cpu.c b/cpu/mcf52x2/cpu.c index e6e5d9bee..aa6b2bd67 100644 --- a/cpu/mcf52x2/cpu.c +++ b/cpu/mcf52x2/cpu.c @@ -2,6 +2,10 @@   * (C) Copyright 2003   * Josef Baumgartner <josef.baumgartner@telex.de>   * + * MCF5282 additionals + * (C) Copyright 2005 + * BuS Elektronik GmbH & Co. KG <esw@bus-elektronik.de> + *   * See file CREDITS for list of people who contributed to this   * project.   * @@ -36,7 +40,8 @@  #endif  #ifdef	CONFIG_M5282 - +#include <asm/m5282.h> +#include <asm/immap_5282.h>  #endif  #ifdef	CONFIG_M5249 @@ -116,7 +121,6 @@ int checkcpu(void) {  	return 0;  }; -  #if defined(CONFIG_WATCHDOG)  /* Called by macro WATCHDOG_RESET */  void watchdog_reset (void) @@ -158,11 +162,25 @@ int watchdog_init (void)  #ifdef	CONFIG_M5282  int checkcpu (void)  { -	puts ("CPU:   Freescale Coldfire MCF5282\n"); +	unsigned char resetsource = MCFRESET_RSR; + +	printf ("CPU:   Freescale Coldfire MCF5282 (PIN: %2.2x REV: %2.2x)\n", +		MCFCCM_CIR>>8,MCFCCM_CIR & MCFCCM_CIR_PRN_MASK); +	printf ("Reset:%s%s%s%s%s%s%s\n", +		(resetsource & MCFRESET_RSR_LOL)  ? " Loss of Lock"	: "", +		(resetsource & MCFRESET_RSR_LOC)  ? " Loss of Clock"	: "", +		(resetsource & MCFRESET_RSR_EXT)  ? " External"		: "", +		(resetsource & MCFRESET_RSR_POR)  ? " Power On"		: "", +		(resetsource & MCFRESET_RSR_WDR)  ? " Watchdog"		: "", +		(resetsource & MCFRESET_RSR_SOFT) ? " Software"		: "", +		(resetsource & MCFRESET_RSR_LVD)  ? " Low Voltage"	: "" +	);  	return 0;  } -int do_reset (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]) { +int do_reset (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]) +{ +	MCFRESET_RCR = MCFRESET_RCR_SOFTRST;  	return 0;  };  #endif |