I really can't find any instructions or guides for building a working u-boot - not even the Marvell packages have docs. Here's where I am:
1) Get SheevaPlug_U-Boot.zip
2) Realise after many false starts, that the contents of u-boot-3.4.16.zip must be copied on top of the contents of u-boot-1.1.4.tar.bz2
3) Untar sd.tgz on top of that.
4) Get a cross-compiler. I'm using the Marvell one.
5) Edit Makefile to add -DMV_MMC to 'rd88f6281Sheevaplug_config'
6) make rd88f6281Sheevaplug_config
Build fails in board/mv_feroceon/mv_kw/mv_cmd.c because CFG_FLASH_BASE is undefined.
There are multiple ways, some going through multiple #defines of getting CFG_FLASH_BASE but the sheeva config appears not to trigger any of them and I can't see which one should be used.
Any help would be much appreciated!
Ok, I did more digging and identified two things which seemed reasonable, and allowed me to fully build a u-boot binary.
A) Pass NBOOT=1 at config time. ie: "make rd88f6281Sheevaplug_config NBOOT=1"
B) In include/configs/mv_hw.h, force CONFIG_MMC and CFG_MMC_BASE to be defined.
I had to manually delete board/mv_feroceon/USP/sdio/mmc.o after this change to make it take effect.
My plug hasn't arrived yet (hopefully by the end of the week), so I can't try it out yet, but I'll report back once I do, and if it's successful, I'll add this to the wiki.