summaryrefslogtreecommitdiff
path: root/cpu
diff options
context:
space:
mode:
authorurwithsughosh@gmail.com <urwithsughosh@gmail.com>2007-09-24 13:32:13 -0400
committerAndrew Fleming-AFLEMING <afleming@freescale.com>2007-10-19 13:13:44 -0500
commitdf90968b48fb34fa9072fab150db2ac89678f537 (patch)
treeffd27efd805551ced2da51f475260ee400cb10b3 /cpu
parent1e701e701304b3c3a3768ca83dd2ab7b9e88c77d (diff)
Setting MSR[DE] in do_reset
Hello, This patch ensures the soft reset of the board for the 85xx boards by setting the MSR[DE] in the do_reset function. Signed-off-by: Sughosh Ganu <urwithsughosh@gmail.com>
Diffstat (limited to 'cpu')
-rw-r--r--cpu/mpc85xx/cpu.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/cpu/mpc85xx/cpu.c b/cpu/mpc85xx/cpu.c
index 08e04685f5..bbc54448da 100644
--- a/cpu/mpc85xx/cpu.c
+++ b/cpu/mpc85xx/cpu.c
@@ -163,7 +163,12 @@ int do_reset (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
* Initiate hard reset in debug control register DBCR0
* Make sure MSR[DE] = 1
*/
- unsigned long val;
+ unsigned long val, msr;
+
+ msr = mfmsr ();
+ msr |= MSR_DE;
+ mtmsr (msr);
+
val = mfspr(DBCR0);
val |= 0x70000000;
mtspr(DBCR0,val);