[U-Boot-Users] [PATCH]: Reset issue fix on mpc85xx

Hello, I tried the v1.3.0-rc1 on the ADS board, and problem of the board reset through the 'reset' command pertains. I'm still not sure about the reason of the MSR getting cleared, but am using a brute force approach.
Signed-off-by: Sughosh Ganu urwithsughosh@gmail.com
diff --git a/cpu/mpc85xx/cpu.c b/cpu/mpc85xx/cpu.c index 08e0468..bbc5444 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);

In message 20070917171525.GA3711@GNU you wrote:
Hello, I tried the v1.3.0-rc1 on the ADS board, and problem of the board reset through the 'reset' command pertains. I'm still not sure about the reason of the MSR getting cleared, but am using a brute force approach.
Signed-off-by: Sughosh Ganu urwithsughosh@gmail.com
diff --git a/cpu/mpc85xx/cpu.c b/cpu/mpc85xx/cpu.c index 08e0468..bbc5444 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);
You have whitespace problems with your patch. It does not apply.
Best regards,
Wolfgang Denk

On Mon Sep 17, 2007 at 10:51:41PM +0200, Wolfgang Denk wrote:
You have whitespace problems with your patch. It does not apply.
Hope this applies.
Signed-off-by: Sughosh Ganu urwithsughosh@gmail.com
--- cpu/mpc85xx/cpu.c | 7 ++++++- 1 files changed, 6 insertions(+), 1 deletions(-)
diff --git a/cpu/mpc85xx/cpu.c b/cpu/mpc85xx/cpu.c index 08e0468..bbc5444 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);
participants (2)
-
urwithsughosh@gmail.com
-
Wolfgang Denk