Commit a501d8f3 authored by Martin Langer's avatar Martin Langer Committed by Paul Mackerras

powerpc: Fix major revision number for Freescale cores

Some 74xx cores by Freescale are using the configuration field instead
of the major revision field for their revision number.  This corrects
the wrong behaviour for those ppc cores including my one.

There is a reference document at Freecale.  It describes the PVR
register.  This is based on that pdf.  You can find the document at:

http://www.freescale.com/files/archives/doc/support_info/PPCPVR.pdfSigned-off-by: default avatarMartin Langer <martin-langer@gmx.de>
Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
parent 0b26425c
...@@ -254,8 +254,21 @@ static int show_cpuinfo(struct seq_file *m, void *v) ...@@ -254,8 +254,21 @@ static int show_cpuinfo(struct seq_file *m, void *v)
/* If we are a Freescale core do a simple check so /* If we are a Freescale core do a simple check so
* we dont have to keep adding cases in the future */ * we dont have to keep adding cases in the future */
if (PVR_VER(pvr) & 0x8000) { if (PVR_VER(pvr) & 0x8000) {
maj = PVR_MAJ(pvr); switch (PVR_VER(pvr)) {
min = PVR_MIN(pvr); case 0x8000: /* 7441/7450/7451, Voyager */
case 0x8001: /* 7445/7455, Apollo 6 */
case 0x8002: /* 7447/7457, Apollo 7 */
case 0x8003: /* 7447A, Apollo 7 PM */
case 0x8004: /* 7448, Apollo 8 */
case 0x800c: /* 7410, Nitro */
maj = ((pvr >> 8) & 0xF);
min = PVR_MIN(pvr);
break;
default: /* e500/book-e */
maj = PVR_MAJ(pvr);
min = PVR_MIN(pvr);
break;
}
} else { } else {
switch (PVR_VER(pvr)) { switch (PVR_VER(pvr)) {
case 0x0020: /* 403 family */ case 0x0020: /* 403 family */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment