powerpc/85xx: Cleanup handling of PVR detection for e500/e500mc/e5500

At some point we broke the detection of e500v1 class cores.  Fix that
and simply the code to just utilize PVR_VER() to have a single case
statement.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
This commit is contained in:
Kumar Gala 2011-07-25 09:28:39 -05:00
parent 65bb8b060a
commit 8992738db7
2 changed files with 17 additions and 19 deletions

View File

@ -46,7 +46,6 @@ int checkcpu (void)
{ {
sys_info_t sysinfo; sys_info_t sysinfo;
uint pvr, svr; uint pvr, svr;
uint fam;
uint ver; uint ver;
uint major, minor; uint major, minor;
struct cpu_type *cpu; struct cpu_type *cpu;
@ -94,30 +93,25 @@ int checkcpu (void)
printf(", Version: %d.%d, (0x%08x)\n", major, minor, svr); printf(", Version: %d.%d, (0x%08x)\n", major, minor, svr);
pvr = get_pvr(); pvr = get_pvr();
fam = PVR_FAM(pvr);
ver = PVR_VER(pvr); ver = PVR_VER(pvr);
major = PVR_MAJ(pvr); major = PVR_MAJ(pvr);
minor = PVR_MIN(pvr); minor = PVR_MIN(pvr);
printf("Core: "); printf("Core: ");
if (PVR_FAM(PVR_85xx)) { switch(ver) {
switch(PVR_MEM(pvr)) { case PVR_VER_E500_V1:
case 0x1: case PVR_VER_E500_V2:
case 0x2: puts("E500");
puts("E500"); break;
break; case PVR_VER_E500MC:
case 0x3: puts("E500MC");
puts("E500MC"); break;
break; case PVR_VER_E5500:
case 0x4: puts("E5500");
puts("E5500"); break;
break; default:
default:
puts("Unknown");
break;
}
} else {
puts("Unknown"); puts("Unknown");
break;
} }
printf(", Version: %d.%d, (0x%08x)\n", major, minor, pvr); printf(", Version: %d.%d, (0x%08x)\n", major, minor, pvr);

View File

@ -938,6 +938,10 @@
#define PVR_85xx 0x80200000 #define PVR_85xx 0x80200000
#define PVR_85xx_REV1 (PVR_85xx | 0x0010) #define PVR_85xx_REV1 (PVR_85xx | 0x0010)
#define PVR_85xx_REV2 (PVR_85xx | 0x0020) #define PVR_85xx_REV2 (PVR_85xx | 0x0020)
#define PVR_VER_E500_V1 0x8020
#define PVR_VER_E500_V2 0x8021
#define PVR_VER_E500MC 0x8023
#define PVR_VER_E5500 0x8024
#define PVR_86xx 0x80040000 #define PVR_86xx 0x80040000