summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-rw-r--r--arch/powerpc/cpu/mpc8xx/cpu.c130
1 files changed, 65 insertions, 65 deletions
diff --git a/arch/powerpc/cpu/mpc8xx/cpu.c b/arch/powerpc/cpu/mpc8xx/cpu.c
index 2b7c5d4301..0604433e72 100644
--- a/arch/powerpc/cpu/mpc8xx/cpu.c
+++ b/arch/powerpc/cpu/mpc8xx/cpu.c
@@ -35,70 +35,6 @@
DECLARE_GLOBAL_DATA_PTR;
-static int check_CPU(long clock, uint pvr, uint immr)
-{
- immap_t __iomem *immap = (immap_t __iomem *)CONFIG_SYS_IMMR;
- uint k;
- char buf[32];
-
- /* the highest 16 bits should be 0x0050 for a 860 */
-
- if (PVR_VER(pvr) != PVR_VER(PVR_8xx))
- return -1;
-
- k = (immr << 16) |
- in_be16(&immap->im_cpm.cp_dparam16[PROFF_REVNUM / sizeof(u16)]);
-
- /*
- * Some boards use sockets so different CPUs can be used.
- * We have to check chip version in run time.
- */
- switch (k) {
- /* MPC866P/MPC866T/MPC859T/MPC859DSL/MPC852T */
- case 0x08010004: /* Rev. A.0 */
- printf("MPC866xxxZPnnA");
- break;
- case 0x08000003: /* Rev. 0.3 */
- printf("MPC866xxxZPnn");
- break;
- case 0x09000000: /* 870/875/880/885 */
- puts("MPC885ZPnn");
- break;
-
- default:
- printf("unknown MPC86x (0x%08x)", k);
- break;
- }
-
- printf(" at %s MHz: ", strmhz(buf, clock));
-
- print_size(checkicache(), " I-Cache ");
- print_size(checkdcache(), " D-Cache");
-
- /* do we have a FEC (860T/P or 852/859/866/885)? */
-
- out_be32(&immap->im_cpm.cp_fec.fec_addr_low, 0x12345678);
- if (in_be32(&immap->im_cpm.cp_fec.fec_addr_low) == 0x12345678)
- printf(" FEC present");
-
- putc('\n');
-
- return 0;
-}
-
-/* ------------------------------------------------------------------------- */
-
-int checkcpu(void)
-{
- ulong clock = gd->cpu_clk;
- uint immr = get_immr(); /* Return full IMMR contents */
- uint pvr = get_pvr();
-
- puts("CPU: ");
-
- return check_CPU(clock, pvr, immr);
-}
-
/* ------------------------------------------------------------------------- */
/* L1 i-cache */
@@ -143,7 +79,7 @@ int checkicache(void)
/* L1 d-cache */
/* call with cache disabled */
-int checkdcache(void)
+static int checkdcache(void)
{
immap_t __iomem *immap = (immap_t __iomem *)CONFIG_SYS_IMMR;
memctl8xx_t __iomem *memctl = &immap->im_memctl;
@@ -175,6 +111,70 @@ int checkdcache(void)
return lines << 4;
};
+static int check_CPU(long clock, uint pvr, uint immr)
+{
+ immap_t __iomem *immap = (immap_t __iomem *)CONFIG_SYS_IMMR;
+ uint k;
+ char buf[32];
+
+ /* the highest 16 bits should be 0x0050 for a 860 */
+
+ if (PVR_VER(pvr) != PVR_VER(PVR_8xx))
+ return -1;
+
+ k = (immr << 16) |
+ in_be16(&immap->im_cpm.cp_dparam16[PROFF_REVNUM / sizeof(u16)]);
+
+ /*
+ * Some boards use sockets so different CPUs can be used.
+ * We have to check chip version in run time.
+ */
+ switch (k) {
+ /* MPC866P/MPC866T/MPC859T/MPC859DSL/MPC852T */
+ case 0x08010004: /* Rev. A.0 */
+ printf("MPC866xxxZPnnA");
+ break;
+ case 0x08000003: /* Rev. 0.3 */
+ printf("MPC866xxxZPnn");
+ break;
+ case 0x09000000: /* 870/875/880/885 */
+ puts("MPC885ZPnn");
+ break;
+
+ default:
+ printf("unknown MPC86x (0x%08x)", k);
+ break;
+ }
+
+ printf(" at %s MHz: ", strmhz(buf, clock));
+
+ print_size(checkicache(), " I-Cache ");
+ print_size(checkdcache(), " D-Cache");
+
+ /* do we have a FEC (860T/P or 852/859/866/885)? */
+
+ out_be32(&immap->im_cpm.cp_fec.fec_addr_low, 0x12345678);
+ if (in_be32(&immap->im_cpm.cp_fec.fec_addr_low) == 0x12345678)
+ printf(" FEC present");
+
+ putc('\n');
+
+ return 0;
+}
+
+/* ------------------------------------------------------------------------- */
+
+int checkcpu(void)
+{
+ ulong clock = gd->cpu_clk;
+ uint immr = get_immr(); /* Return full IMMR contents */
+ uint pvr = get_pvr();
+
+ puts("CPU: ");
+
+ return check_CPU(clock, pvr, immr);
+}
+
/* ------------------------------------------------------------------------- */
void upmconfig(uint upm, uint *table, uint size)