Handle 86xx SVR values according to the new Reference Manual.
authorJon Loeliger <jdl@freescale.com>
Thu, 14 Sep 2006 13:40:36 +0000 (08:40 -0500)
committerJon Loeliger <jdl@freescale.com>
Thu, 14 Sep 2006 13:40:36 +0000 (08:40 -0500)
Both 8641 and 8641D have SVR == 0x8090, and are distinguished
by the byte in bits 16-23 instead.
Thanks to Jason Jin for noticing.

Signed-off-by: Jon Loeliger <jdl@freescale.com>
cpu/mpc86xx/cpu.c
include/asm-ppc/processor.h

index ddd0ad3..551b243 100644 (file)
@@ -76,11 +76,12 @@ checkcpu(void)
        puts("    System: ");
        switch (ver) {
        case SVR_8641:
-               puts("8641");
-               break;
-       case SVR_8641D:
+           if (SVR_SUBVER(svr) == 1) {
                puts("8641D");
-               break;
+           } else {
+               puts("8641");
+           }
+           break;
        default:
                puts("Unknown");
                break;
index 0060cd0..553ef3d 100644 (file)
 #define SVR_VER(svr)   (((svr) >>  16) & 0xFFFF)       /* Version field */
 #define SVR_REV(svr)   (((svr) >>   0) & 0xFFFF)       /* Revison field */
 
+#define SVR_SUBVER(svr)        (((svr) >>  8) & 0xFF)  /* Process/MFG sub-version */
+
 #define SVR_FAM(svr)   (((svr) >> 20) & 0xFFF) /* Family field */
 #define SVR_MEM(svr)   (((svr) >> 16) & 0xF)   /* Member field */
 
 #define SVR_8541       0x807A
 #define SVR_8548       0x8031
 #define SVR_8548_E     0x8039
-
 #define SVR_8641       0x8090
-#define SVR_8641D      0x8091
+
 
 /* I am just adding a single entry for 8260 boards.  I think we may be
  * able to combine mbx, fads, rpxlite, bseip, and classic into a single