
v2011.12 hangs on boot on my dreamplug with:
U-Boot 2011.12-dirty (Jan 08 2012 - 15:16:44) Marvell-DreamPlug
SoC: Kirkwood 88F6281_A1 DRAM: 512 MiB WARNING: Caches not enabled
I bisected it down to: commit ca4b55800ed74207c35271bf7335a092d4955416 Author: Heiko Schocher hs@denx.de Date: Wed Nov 9 20:06:23 2011 +0000
arm, arm926ejs: always do cpu critical inits
always do the cpu critical inits in cpu_init_crit, and only jump to lowlevel_init, if CONFIG_SKIP_LOWLEVEL_INIT is not defined.
Signed-off-by: Heiko Schocher hs@denx.de Cc: Albert ARIBAUD albert.u.boot@aribaud.net Cc: Wolfgang Denk hs@denx.de Cc: Sandeep Paulraj s-paulraj@ti.com Cc: Tom Rini tom.rini@gmail.com Cc: Christian Riesch christian.riesch@omicron.at
and in particular the line orr r0, r0, #0x00000002 /* set bit 2 (A) Align */
Commenting out just that one line causes things to work. Is the error setting this bit or is it that there is a bug somewhere else which prevents us setting this bit?
A different approach to the original patch was suggested in http://lists.denx.de/pipermail/u-boot/2011-December/112353.html and I suppose that combined with s/CONFIG_SKIP_LOWLEVEL_INIT/CONFIG_SKIP_CPU_INIT_CRIT/g in the relevant config files (at least include/configs/dreamplug.h, but perhaps everywhere except whichever platform caused this change?) would fix things.
Thanks, Ian.