[U-Boot] [PATCH 2/2] ARM: bcm2835: add Raspberry Pi model B board

Stephen Warren
2012-06-18T03:54:38Z

On 06/15/2012 11:42 PM, Graeme Russ wrote:
> Hi Stephen,
>
> On 06/07/2012 03:45 PM, Stephen Warren wrote:
>> The Raspberry Pi model B uses the BCM2835 SoC, has 256MB of RAM, contains
>> an SMSC 9512 USB LAN/Hub chip, and various IO connectors. For more details,
>> see http://www.raspberrypi.org/.
>>
>> Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
>
> Now I really can't wait for my Raspberry Pi to turn up (due on 25 June)
>
> Looking forward to trying this out - any hints / traps for young players?

Mostly U-Boot on RPi works like it would anywhere else. The few things
to watch out for are:

a) Pick the correct toolchain to build with. For my branch, I assumed
everyone was building for armhf/hardfp these days, and so from the tools
repo:

https://github.com/raspberrypi/tools.git

I picked the toolchain in the x86-linux64-cross-arm-linux-hardfp
sub-directory, and adjusted the U-Boot Makefiles to suite options
required for that toolchain.

However, Oleksandr's U-Boot branch appears to rely upon the armel/softfp
toolchain in the linux-x86 sub-directory.

b) You need to appropriate stuff in config.txt on the SD card - I
apparently have:

device_tree=kernel.dtb
device_tree_address=0x100
kernel_address=0x8000
disable_commandline_tags=1

and I store U-Boot in kernel.img.

(although I think the DT-related values are irrelevant when I'm booting
U-Boot instead of a kernel)

You will of course need a 3.3v serial->something (USB or true RS232)
adapter hooked up to GPIO header pins 6/8/10 for the console, since
there's no video output support in U-Boot yet (although I suppose we
could add USB keyboard support soon...)

Oh, and you'll probably want to update the binary firmware images on
your SD card to the latest from:
https://github.com/raspberrypi/firmware.git

The following email from Oleksandr will be interesting too:
http://lists.infradead.org/pipermail/linux-rpi-kernel/2012-June/000060.html

Of course, this is all if you specifically want to use U-Boot. The
default boot process already works completely, without involving U-Boot,
but of course doesn't support e.g. network booting.