This patch adds parameter support for the 'reset' command to specify the reboot mode (cold vs. warm).
Checking these parameters is implemented in the DM implementation. Signed-off-by: Simon Goldschmidt <simon.k.r.goldschm...@gmail.com> --- cmd/boot.c | 4 ++-- drivers/sysreset/sysreset-uclass.c | 17 ++++++++++++++++- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/cmd/boot.c b/cmd/boot.c index 9150fce80b..c3f33a9ca3 100644 --- a/cmd/boot.c +++ b/cmd/boot.c @@ -56,9 +56,9 @@ U_BOOT_CMD( #endif U_BOOT_CMD( - reset, 1, 0, do_reset, + reset, 2, 0, do_reset, "Perform RESET of the CPU", - "" + "[<cold|warm>] - type of reboot" ); #ifdef CONFIG_CMD_POWEROFF diff --git a/drivers/sysreset/sysreset-uclass.c b/drivers/sysreset/sysreset-uclass.c index ad831c703a..fbda3f44f2 100644 --- a/drivers/sysreset/sysreset-uclass.c +++ b/drivers/sysreset/sysreset-uclass.c @@ -111,9 +111,24 @@ void reset_cpu(ulong addr) int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) { + enum sysreset_t reboot_mode = SYSRESET_COLD; + + if (argc > 1 && argv[1]) { + switch (*argv[1]) { + case 'w': + reboot_mode = SYSRESET_WARM; + printf("warm "); + break; + case 'c': + reboot_mode = SYSRESET_COLD; + printf("cold "); + break; + } + } + printf("resetting ...\n"); - sysreset_walk_halt(SYSRESET_COLD); + sysreset_walk_halt(reboot_mode); return 0; } -- 2.20.1 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot