]> git.karo-electronics.de Git - karo-tx-uboot.git/blobdiff - cpu/mpc83xx/cpu.c
Merge /home/tur/nand/u-boot/
[karo-tx-uboot.git] / cpu / mpc83xx / cpu.c
index 73d125ab722dea05cdfa6c7f3b8ddb3762e82455..8c9b515fa5c72aa3346e1c282010f8b2e5c1aa9c 100644 (file)
@@ -22,7 +22,7 @@
  * Change log:
  *
  * 20050101: Eran Liberty (liberty@freescale.com)
- *           Initial file creating (porting from 85XX & 8260)
+ *          Initial file creating (porting from 85XX & 8260)
  */
 
 /*
@@ -50,7 +50,7 @@ int checkcpu(void)
                return -1;
        }
 
-       puts("CPU: MPC83xx, ");
+       puts("CPU:   MPC83xx, ");
        switch(pvr) {
        case PVR_8349_REV10:
                break;
@@ -60,7 +60,9 @@ int checkcpu(void)
                puts("Rev: Unknown\n");
                return -1;      /* Not sure what this is */
        }
-       printf("Rev: %02x at %s MHz\n",pvr & 0x0000FFFF, strmhz(buf, clock));
+       printf("Rev: %d.%d at %s MHz\n", (pvr & 0xf0) >> 4,
+               (pvr & 0x0f), strmhz(buf, clock));
+
        return 0;
 }
 
@@ -74,7 +76,10 @@ void upmconfig (uint upm, uint *table, uint size)
 int
 do_reset (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
 {
-       ulong msr, addr;
+       ulong msr;
+#ifndef MPC83xx_RESET
+       ulong addr;
+#endif
 
        volatile immap_t *immap = (immap_t *) CFG_IMMRBAR;
 
@@ -97,12 +102,14 @@ do_reset (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
        udelay(200);
 
        /* perform reset, only one bit */
-       immap->reset.rcr = RCR_SWHR;
-#else
-       immap->reset.rmr = RMR_CSRE;    /* Checkstop Reset enable */
+       immap->reset.rcr = RCR_SWHR;
+
+#else  /* ! MPC83xx_RESET */
+
+       immap->reset.rmr = RMR_CSRE;    /* Checkstop Reset enable */
 
-       /* Interrupts and MMU off */
-       __asm__ __volatile__ ("mfmsr    %0":"=r" (msr):);
+       /* Interrupts and MMU off */
+       __asm__ __volatile__ ("mfmsr    %0":"=r" (msr):);
 
        msr &= ~(MSR_ME | MSR_EE | MSR_IR | MSR_DR);
        __asm__ __volatile__ ("mtmsr    %0"::"r" (msr));
@@ -116,7 +123,8 @@ do_reset (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
        printf("resetting the board.");
        printf("\n");
        ((void (*)(void)) addr) ();
-#endif
+#endif /* MPC83xx_RESET */
+
        return 1;
 }