summaryrefslogtreecommitdiff
path: root/arch/powerpc
diff options
context:
space:
mode:
authorChristophe Leroy <christophe.leroy@c-s.fr>2017-07-13 13:09:58 (GMT)
committerTom Rini <trini@konsulko.com>2017-07-23 02:22:50 (GMT)
commit36d3260756ec6277acf474e1c407fdd9a104f9cb (patch)
tree0584d92a8ed50bc6e0c51ed3aed06ed81bb95f4a /arch/powerpc
parentf3603b438283aa3e47b7bc564ded4b75c6ccf051 (diff)
downloadu-boot-fsl-qoriq-36d3260756ec6277acf474e1c407fdd9a104f9cb.tar.xz
powerpc, 8xx: Simplifying check_CPU()
All complex case have been removed and we now only support MPC866 and MPC885 families. So check_CPU() can be made a lot simpler. Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
Diffstat (limited to 'arch/powerpc')
-rw-r--r--arch/powerpc/cpu/mpc8xx/cpu.c39
1 files changed, 7 insertions, 32 deletions
diff --git a/arch/powerpc/cpu/mpc8xx/cpu.c b/arch/powerpc/cpu/mpc8xx/cpu.c
index 74e6c6d..1e0ea28 100644
--- a/arch/powerpc/cpu/mpc8xx/cpu.c
+++ b/arch/powerpc/cpu/mpc8xx/cpu.c
@@ -34,19 +34,11 @@
DECLARE_GLOBAL_DATA_PTR;
-static char *cpu_warning = "\n " \
- "*** Warning: CPU Core has Silicon Bugs -- Check the Errata ***";
-
static int check_CPU(long clock, uint pvr, uint immr)
{
- char *id_str =
- NULL;
immap_t __iomem *immap = (immap_t __iomem *)(immr & 0xFFFF0000);
- uint k, m;
+ uint k;
char buf[32];
- char pre = 'X';
- char *mid = "xx";
- char *suf;
/* the highest 16 bits should be 0x0050 for a 860 */
@@ -55,8 +47,6 @@ static int check_CPU(long clock, uint pvr, uint immr)
k = (immr << 16) |
in_be16(&immap->im_cpm.cp_dparam16[PROFF_REVNUM / sizeof(u16)]);
- m = 0;
- suf = "";
/*
* Some boards use sockets so different CPUs can be used.
@@ -65,32 +55,20 @@ static int check_CPU(long clock, uint pvr, uint immr)
switch (k) {
/* MPC866P/MPC866T/MPC859T/MPC859DSL/MPC852T */
case 0x08010004: /* Rev. A.0 */
- suf = "A";
- /* fall through */
+ printf("MPC866xxxZPnnA");
+ break;
case 0x08000003: /* Rev. 0.3 */
- pre = 'M'; m = 1;
- if (id_str == NULL)
- id_str =
- "PC866x"; /* Unknown chip from MPC866 family */
+ printf("MPC866xxxZPnn");
break;
- case 0x09000000:
- pre = 'M'; mid = suf = ""; m = 1;
- if (id_str == NULL)
- id_str = "PC885"; /* 870/875/880/885 */
+ case 0x09000000: /* 870/875/880/885 */
+ puts("MPC885ZPnn");
break;
default:
- suf = NULL;
+ printf("unknown MPC86x (0x%08x)", k);
break;
}
- if (id_str == NULL)
- id_str = "PC86x"; /* Unknown 86x chip */
- if (suf)
- printf("%c%s%sZPnn%s", pre, id_str, mid, suf);
- else
- printf("unknown M%s (0x%08x)", id_str, k);
-
printf(" at %s MHz: ", strmhz(buf, clock));
print_size(checkicache(), " I-Cache ");
@@ -102,9 +80,6 @@ static int check_CPU(long clock, uint pvr, uint immr)
if (in_be32(&immap->im_cpm.cp_fec.fec_addr_low) == 0x12345678)
printf(" FEC present");
- if (!m)
- puts(cpu_warning);
-
putc('\n');
return 0;