diff options
author | Christophe Leroy <christophe.leroy@c-s.fr> | 2017-07-13 16:09:58 +0300 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2017-07-23 05:22:50 +0300 |
commit | 36d3260756ec6277acf474e1c407fdd9a104f9cb (patch) | |
tree | 0584d92a8ed50bc6e0c51ed3aed06ed81bb95f4a /arch/powerpc/cpu | |
parent | f3603b438283aa3e47b7bc564ded4b75c6ccf051 (diff) | |
download | u-boot-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/cpu')
-rw-r--r-- | arch/powerpc/cpu/mpc8xx/cpu.c | 39 |
1 files changed, 7 insertions, 32 deletions
diff --git a/arch/powerpc/cpu/mpc8xx/cpu.c b/arch/powerpc/cpu/mpc8xx/cpu.c index 74e6c6d02c..1e0ea28a91 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; |