The DM version of do_reset has been issuing a warm-reset, which (on
some platforms keeps GPIOs and other parts of the platform active).
This may cause unintended behaviour, as calling do_reset usually
indicates a desire to reset the board/platform and not just the CPU.
This changes do_reset to always request a COLD reset.
Note that programmatic uses can still invoke a WARM reset through
reset_cpu() or using sysreset_walk().
Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
{
- sysreset_walk_halt(SYSRESET_WARM);
+ sysreset_walk_halt(SYSRESET_COLD);
return 0;
}