[U-Boot] Porting to Broadcom BCM7038 (Hermes board)

Detlev Zundel dzu at denx.de
Wed Aug 19 18:13:30 CEST 2009

Hi Peter,

> I posted a message before about this, but I didn't really give it the most
> descriptive subject (I went off to find the chip model and then forgot to
> add it to the subject, doh!)
> Basically I'm trying to port uboot to the Broadcom BCM7038 chip, the current
> bootloader I have is specific to the board (Hermes), and loads the kernel
> from flash. I'd rather use uboot to start the SATA HDD and load the Linux
> kernel from there. I have the source code for the bootloader and all the
> Linux drivers, as well as documentation on the processor, but I'm not very
> good at low level code.

You will be, once you have finished this port :)

> As far as I can see I need to create a cpu/bcm7038 directory, add the
> start.S from the original bootloader, and modify it to work with uboot (this
> is the part I'm really not sure on!).

Not quite.  A quick check reveals that the bcm7038 is a r5000 based
mips64 bit at heart (I'm a little confused here, there seem to be also
32bit r5000?).  So not only will you be doing a new cpu port (level 2),
but really a new architecture , i.e. mips64 - so you enter the game at
level 3 ;)

So very likely you should start out by creating cpu/mips64.  In here
should go everything which is general enough to also be of use for the
next mips64 ports that come along.

> Then add a board/hermes directory with the rest of the original
> bootloader init code, and modify that to include the SATA drivers,
> bring up the SATA interface, then load the kernel. But theory is far
> from practice, and I'm already having trouble.

SATA drivers will go below drivers/block, but yes, this is the theory.

> Would someone be able to assist me in porting to this cpu/board?

I'm not sure whether you fill find a single person, but I'm sure that
the mailing list as such will at least try to point you in the right

As always, post your ideas early and often not to invest too much time
in a non-promising route.

It might also be worthwhile to give the MIPS U-Boot maintainer a ping
whether he knows of anything with regard to your CPU or maybe even plans
something in his tree[1].


[1] http://www.denx.de/wiki/U-Boot/Custodians

Etwas mehr wissen und etwas weniger leben.  Andere sagen es umgekehrt.
Gute Musse ist besser als Geschaefte. Nichts gehoert unser als nur die
Zeit, in welcher selbst der lebt, der keine Wohnung hat.
                                    --- Baltasar Gracian
DENX Software Engineering GmbH,      MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich,  Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-40 Fax: (+49)-8142-66989-80 Email: dzu at denx.de

More information about the U-Boot mailing list