
Wolfgang Denk wrote:
In message 417D0D67.2000000@imc-berlin.de you wrote:
as mentioned on list before some boards/cpus might need some extra code to be executed _before_ rebooting. E.g. the i.MX hangs when doing "reset" while the LCD controller is still enabled.
I remember that we discussed this before, but now that I think about this again I changed my mind: I don't think there is a valid reason to add this code.
That is why I'd like to introduce CONFIG_BOARD_PRE_RESET and board_pre_reset().
No. You write: i.MX hangs when doing "reset". I guess the board does not hand if you power cycle it, or if you press the reset button, right? So the conclusion is that the reset code does not do what you think it does - i. e. it does not cause a reset of the processor.
This is a problem that should be fixed. Once fixed, this patch is not needed any more.
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". But then switching off the i.MX LCD controller has to be done in cpu/arm920t/start.S where reset_cpu() is. And you don't wanna do this. There already are enough #ifdefs in cpu/arm920t/start.S.
And how about the AT91RM9200(DK) where the author wants to "shutdown the console to avoid strange chars during reset"???