[U-Boot-Users] Re: MPPC8560ADS and U-Boot 1.1.1 problems ?

Yuli Barcohen yuli at arabellasw.com
Tue Jun 29 10:13:11 CEST 2004


>>>>> Scott Harper writes:

Scott> I am working with the MPPC8540ADS and I am having problems.

Scott> I have followed the discussion about the MPPC8560ADS and have
Scott> tried the top of the CVS tree.

Scott> I have the following undefined.  Note I have defined these in
Scott> include/asm-ppc/processor.h

Scott>  #define SVR_MAJ SVR_MJREV
Scott>  #define SVR_MIN SVR_MNREV
Scott>  #define SVR_8540      0x80300010
Scott>  #define SVR_8560      0x80700010
Scott>  #define SVR_8541      0x80b00010      // Just guesses
Scott>  #define SVR_8555      0x80f00010      // Just guesses

Scott>  #define PVR_85xx_REV1   0x80200010
Scott>  #define PVR_85xx_REV2   0x80200020
Scott>  #define PVR_85xx        0x80200020

Scott> My problem is that I am stuck looping through at 0xfff81400
Scott> <DataTLBError>

Scott> I have other software working on the board so I am pretty sure
Scott> that the board works.  My chip is a REV2.

Scott> I would appreciate any help any one has.

Jon> Excellent.  So you have applied the patch of 17-June-2004 as well,
Jon> right?  It is necessary as the top-of-CVS is broken and will not
Jon> compile as it is now.

Wolfgang already described the patch when tried to apply it so I doubt
it would help. I work with MPC8560ADS and I managed to get working
U-Boot from the CVS top with some changes. Maybe some of the changes are
included in the patch, I didn't check. It looks like they can be
relevant for 8540 too but I haven't got the hardware to verify this
assumption. First of all, I changed the memory map to make it consistent
with the README, i.e.

#define CFG_CCSRBAR		0xE0000000
#define CFG_LBC_SDRAM_BASE	0xf0000000
#define CFG_PCI_MEM_BASE	0x80000000
#define CFG_PCI_MEM_PHYS	0x80000000
#define CFG_PCI_MEM_SIZE	0x20000000
#define CFG_PCI_IO_BASE         0xe2000000
#define CFG_RAPID_IO_BASE       0xc0000000

Then I noted that TSEC initialisation (tsec_initialize in
cpu/mpc85xx/tsec.c) is defined with two parameters but called with
one. I just hard-coded the missing parameter (TSEC number) to zero. I
also commented out all the version check code in checkcpu
function. After making these changes, I was able to compile and run the
U-Boot ... until the first saveenv command. A quick look into the
configuration file showed that the environment is placed in the middle
of the U-Boot's code. I moved the environment to (CFG_MONITOR_BASE -
0x40000) and now it's OK.

A note about building the U-Boot. I don't what tool chain you're using
but if it's not Freescale-tweaked GCC 2.95 you probably will have a
problem because target CPU type is missing from cpu/mpc85xx/config.mk. I
added `-mcpu=8540 -mno-string' to PLATFORM_RELFLAGS.

I could submit a patch cleaning up all this (and many other things) but
IMHO preparing a patch against current CVS top does not make sense
because Jon is working on a new version of his patch. We'll be just
removing each other's code.

Hope this helps,
-- 
========================================================================
 Yuli Barcohen       | Phone +972-9-765-1788 |  Software Project Leader
 yuli at arabellasw.com | Fax   +972-9-765-7494 | Arabella Software, Israel
========================================================================





More information about the U-Boot mailing list