Bug: do_reset issued via netconsole does not reset mpc83xx cpu.
[pandora-u-boot.git] / cpu / mpc83xx / cpu.c
index e38a372..51180d6 100644 (file)
@@ -199,7 +199,10 @@ do_reset (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
 
        volatile immap_t *immap = (immap_t *) CONFIG_SYS_IMMR;
 
+       puts("Resetting the board.\n");
+
 #ifdef MPC83xx_RESET
+
        /* Interrupts and MMU off */
        __asm__ __volatile__ ("mfmsr    %0":"=r" (msr):);
 
@@ -214,9 +217,6 @@ do_reset (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
        /* confirm Reset Control Reg is enabled */
        while(!((immap->reset.rcer) & RCER_CRE));
 
-       printf("Resetting the board.");
-       printf("\n");
-
        udelay(200);
 
        /* perform reset, only one bit */
@@ -238,8 +238,6 @@ do_reset (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
         */
        addr = CONFIG_SYS_RESET_ADDRESS;
 
-       printf("resetting the board.");
-       printf("\n");
        ((void (*)(void)) addr) ();
 #endif /* MPC83xx_RESET */