summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJon Loeliger <jdl@freescale.com>2006-09-14 08:40:36 -0500
committerJon Loeliger <jdl@freescale.com>2006-09-14 08:40:36 -0500
commitd14ba6a798beb753e7a864500414fcc2d198b8bc (patch)
treeb66fc024a27651014e52196bbb71b3ad0bc3ba25
parent9bff7a69a885adebbd2bd45990494ec4cf998a30 (diff)
Handle 86xx SVR values according to the new Reference Manual.
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>
-rw-r--r--cpu/mpc86xx/cpu.c9
-rw-r--r--include/asm-ppc/processor.h5
2 files changed, 8 insertions, 6 deletions
diff --git a/cpu/mpc86xx/cpu.c b/cpu/mpc86xx/cpu.c
index ddd0ad3b3..551b24307 100644
--- a/cpu/mpc86xx/cpu.c
+++ b/cpu/mpc86xx/cpu.c
@@ -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;
diff --git a/include/asm-ppc/processor.h b/include/asm-ppc/processor.h
index 0060cd030..553ef3d94 100644
--- a/include/asm-ppc/processor.h
+++ b/include/asm-ppc/processor.h
@@ -802,6 +802,8 @@
#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 */
@@ -819,9 +821,8 @@
#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