diff options
| author | Wolfgang Denk <wd@denx.de> | 2010-09-09 21:39:46 +0200 | 
|---|---|---|
| committer | Wolfgang Denk <wd@denx.de> | 2010-09-09 21:39:46 +0200 | 
| commit | 8fea51a4acb0c7da6fb375c9a708c50c0a1b66ad (patch) | |
| tree | f6a3d36e35f8f4d1009c367417e918c210b0baf0 /arch/arm/cpu/arm926ejs/at91/reset.c | |
| parent | 40e74c852b76accfe27d832f23ea3020352bc120 (diff) | |
| parent | ec99d983418897b120409f71712d41c01a21bf7c (diff) | |
| download | olio-uboot-2014.01-8fea51a4acb0c7da6fb375c9a708c50c0a1b66ad.tar.xz olio-uboot-2014.01-8fea51a4acb0c7da6fb375c9a708c50c0a1b66ad.zip | |
Merge branch 'master' of git://git.denx.de/u-boot-arm
Diffstat (limited to 'arch/arm/cpu/arm926ejs/at91/reset.c')
| -rw-r--r-- | arch/arm/cpu/arm926ejs/at91/reset.c | 21 | 
1 files changed, 11 insertions, 10 deletions
| diff --git a/arch/arm/cpu/arm926ejs/at91/reset.c b/arch/arm/cpu/arm926ejs/at91/reset.c index 1b67e7788..d2569d8ba 100644 --- a/arch/arm/cpu/arm926ejs/at91/reset.c +++ b/arch/arm/cpu/arm926ejs/at91/reset.c @@ -27,18 +27,19 @@  #include <asm/arch/at91_rstc.h>  #include <asm/arch/io.h> -/* - * Reset the cpu by setting up the watchdog timer and let him time out. - */ +/* Reset the cpu by telling the reset controller to do so */  void reset_cpu(ulong ignored)  {  	at91_rstc_t *rstc = (at91_rstc_t *) AT91_RSTC_BASE; -	/* this is the way Linux does it */ - -	writel(AT91_RSTC_KEY | AT91_RSTC_CR_PROCRST | AT91_RSTC_CR_PERRST, -		&rstc->cr); - -	while (1); -	/* Never reached */ +	writel(AT91_RSTC_KEY +		| AT91_RSTC_CR_PROCRST	/* Processor Reset */ +		| AT91_RSTC_CR_PERRST	/* Peripheral Reset */ +#ifdef CONFIG_AT91RESET_EXTRST +		| AT91_RSTC_CR_EXTRST	/* External Reset (assert nRST pin) */ +#endif +		, &rstc->cr); +	/* never reached */ +	while (1) +		;  } |