Help with PPC440GX + MontaVista + uBoot

Matt Sheahan msheahan at
Thu Jan 13 01:24:29 EST 2005

Check ocotea_calibrate_decr.  It is using a hard coded clock value of 25
MHz.  When I ported the Ocotea code to my custom board, used the value
passed from U-Boot (bi_intfreq).

I think the Ocotea code in 2.4.x might have been developed using a rev. B
440GX and there are some differences in how the timers and decrementers
derive their clock on the rev. C parts.

Also, using the bd_info definition in asm/ppcboot.h did not work perfectly
for me.  Be sure to check the conditional compiles that are being set in
U-Boot against Linux for the bd_info structure.  The 440GX structures did
not align properly and I had to tweak them and make sure U-Boot was filing
them in correctly (lib_ppc/board.c).

-----Original Message-----
From: linuxppc-embedded-bounces at
[mailto:linuxppc-embedded-bounces at] On Behalf Of Wolfgang Denk
Sent: Wednesday, January 12, 2005 6:37 AM
To: Howard, Marc
Cc: linuxppc-embedded at
Subject: Re: Help with PPC440GX + MontaVista + uBoot 

In message
<91B22F93A880FA48879475E134D6F0BE316B8C at>
you wrote:
> PIBS isn't what we want to use long term, we'd rather use uBoot.  I've
> downloaded and built the latest version of uBoot (1.1.2).  I then
> created a multi-file image with mkimage.  I can download it via TFTP but
> when I start to run it strange/bad things happen:
> 	Kernel command line: ip=3Don console=3DttyS0,115200 root=3D/dev/ram
> 	Warning: real time clock seems stuck!
> 	Calibrating delay loop... 37.27 BogoMIPS
> the RTC is know to work and the mips calculation is seriously
> off.  Then...

That's a FAQ. Please see the part about "Bad definition of the
bd_info structure" in

> I realize that ocotea.c will have to be modified to grab command line
> options from NVRAM (uBoot) instead of FLASH (PIBS) but that doesn't seem

Wrong. U-Boot (please mind the spelling) does not pass  command  line
options in NVRAM. They get passed in RAM.

> to explain why the internal timer is way off and the ethernet PHYs can't
> be found.

Because you use a wrong definition of bd_info.  Delete  the  existing
definition and include asm/ppcboot.h in your board config file.

Best regards,

Wolfgang Denk

Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at
Bradley's Bromide: If computers get too  powerful,  we  can  organize
them into a committee - that will do them in.
Linuxppc-embedded mailing list
Linuxppc-embedded at

More information about the Linuxppc-embedded mailing list