Can someone explain what the rationale is for having the board reset.c files (and some hard_reset() implementations in auto.c instead of in reset.c files, which is also not so nice)?
I know for my two boards I need the hard_reset() in auto.c otherwise coreboot hangs at raminit after a Linux reboot because the memory is still initialized and needs to be reset.
Hence:
if (memory_initialized()) { hard_reset(); }