What Does a Linux Image Expect From U-boot?

Wells, Charles Charles.Wells at nielsenmedia.com
Sat Feb 8 07:47:11 EST 2003


All,

I'm doing an "off the books" project here at work to bring up Linux on one
of our in-house designed targets.  We have several designs that share the
same core architecture: MPC850 @ 80 MHz., 32 M-byte SDRAM, 4 M-byte boot
flash, SMC console, and Ethernet.  These designs are quite stable and
already in production.  We also have visionICE/visionCLICK debugging tools.

Our low-level boot code sets up the UPMA table and the basic address map
(SDRAM at 0x00000000, IMMR at 0xfb000000, FLASH at 0xffc00000), moves an
image from either FLASH or UDP/IP/Ethernet into SDRAM, turns off all I/O,
and jumps to the loaded image.  All of this works quite nicely with our
current production software.  Switching to u-boot at this point is not a
desirable option.

Because of the similarity to our targets, I've built an RPXLite image from
Rev. 4.2.19 sources.  I have made modifications of the sources to
accommodate differences between our board and the RPXLite (e.g., we don't
have a configuration register).  I have also built a root filesystem image
from the sources available on the "www.embeddedlinuxinterfacing.com" web
site.  All of this has been combined into a single compressed image and all
looks good.  When I run this image it hangs in panic.  I don't have console
I/O yet.  No joy in Mudville.

My strategy has been to put whatever code is necessary at the beginning of
"linux/arch/ppc/boot/simple/head.S" to make the compressed image think it
just got control from u-boot.  Since I have the SDRAM setup at location
0x00000000 and the FLASH and IMMR are up high out of the way, this seems
reasonable.

I've found definitions for the bd_info structure in
"linux/include/asm/rpxlite.h" and in "linux/include/asm/ppcboot.h".  I
believe I've setup a bd_info structure as specified in "ppcboot.h" since
this matches "u-boot-0.2.0/include/asm-ccp/u-boot.h".  I'm still not sure
I've got everything setup correctly.

Question: Is there a specification of how the compressed Linux image expects
an MPC8xx system to be set up (i.e., a requirements spec.) or is
"linux/.../ppcboot.h" and "u-boot/.../u-boot.h" it?  Does the SMC need to be
initialized?  How about Ethernet?, etc., etc.  Any guidance would be
appreciated.

Regards,
Charlie

Charles.Wells at NielsenMedia.com
727.738.3000 ext.2756

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/





More information about the Linuxppc-embedded mailing list