
Dear Wolfgang,
Well, it's a bug in the CPU. If the LCDC DMA is running, the cpu won't reboot with a simple "mov pc, r0".
Ummm... you don't call this a "reset", do you?
Well that's what is done (work) for most ARM920T... Execeptions are
#ifdef CONFIG_S3C2400 bl disable_interrupts # ifdef CONFIG_TRAB bl disable_vfd # endif ...
BTW cominh to think about it: Does "bl disable_vfd" by any chance disable video controller for CONFIG_TRAB !?!? ;-)
In your case, I think you really want to implement a _real_ reset function that takes the CPU back into it's virgin state. Is there a watchdog on this hardware?
Sure. That means you have board _and_ cpu specific reset code! Some want to toggle a GPIO pin. Some want to use a cpu watchdog... So should we move the reset code out of cpu/arm920t/start.S into the brand new cpu/arm920t/$(SOC)/reset.{S.c} !?
Any new opinions on this topic? Or is it closed for you and my suggestion rejected?