From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gunnar Larisch Date: Wed, 2 Jul 2003 13:25:27 +0200 Subject: [U-Boot-Users] U-Boot and MPC857T? In-Reply-To: <3F027D68.70606@imc-berlin.de> References: <20030701164936.4E12CC592A@atlas.denx.de> <3F027D68.70606@imc-berlin.de> Message-ID: <20030702112527.GE2988@softing.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hello! On Wed, Jul 02, 2003 at 08:36:24AM +0200, Steven Scholz wrote: > Wolfgang Denk wrote: > >In message <3F014BE5.3080906@imc-berlin.de> you wrote: > > > >>has someone patched U-Boot to "support" the MPC857T? Sorry, I am still using PPCBoot V1.6 and made a quick hack for some performance tests. > >> > >>AFAIK it's basicly a MPC855T. So the only change would be to avoid a > >>boot message like: > >> > >>CPU: unknown MPC855 (0x07000003) at 80 MHz: 4 kB I-Cache 4 kB > >>D-Cache FEC present > > > > > >All you need to do is extend the list of types defined in > >"cpu/mpc8xx/cpu.c" - a patch is welcome. > > I'd love to present a patch. Hope, this helps for a good patch. > Could you please give me a pointer where to find information about the > values of > > k = (immr << 16) | *((ushort *) & immap->im_cpm.cp_dparam[0xB0]); > > ? > I couldn't find some. I couldn't neither. I patched the orginal check_CPU function for MPC855 and inserted a call like this: + case 0x07000003: + return (check_CPU_MPC857_HACK(clock, pvr, immr)); + break; so function check_CPU_MPC857_HACK is almost a copy of check_CPU. the main differences in compare to check_CPU was this: + char pre = 'X'; + char *mid = "xx"; + char *suf; ... + switch(k) { + case 0x07000003: mid = "T"; suf = "B"; m = 1; break; + default: suf = NULL; break; + } ... + if (suf) + printf ("%cPC857%sZPnn%s", pre, mid, suf); + else + printf ("unknown MPC857 (0x%08x)", k); + + printf(" at %s MHz:", strmhz(buf, clock)); > Is it possible to find out if it's a 855, 857 or 860 at runtime? This would be really nice, that is the reason why I first tried the hack like above, but we would have to modify some part of the macro concept. > So that we don't have to rely on DEFINES? > > FAIK MPC855T and MPC857T are basicly the same. So could put both on my > board without actually changing the firmware. > Would be nice if u-boot could figure out which one is actually present. I also thought to that, but it is not so easy, because of at least the following Macros showed below. We have our board with a MPC855T 50 MHz and two prototypes with a MPC857T 100 MHz. The CPU-Clock cannot be detected automatically. We need at least the following differences: #elif defined(CONFIG_100MHz) /* for 100 MHz = "50 MHz" |= SCCR_EBDF01 */ #define CFG_SCCR (SCCR_TBS | SCCR_EBDF01 | \ SCCR_COM00 | SCCR_DFSYNC00 | SCCR_DFBRG00 | \ SCCR_DFNL000 | SCCR_DFNH000 | SCCR_DFLCD000 | \ SCCR_RTSEL | SCCR_DFALCD00) #define CFG_PLPRCR ( (4-1)<