diff options
author | Igor Opaniuk <igor.opaniuk@foundries.io> | 2021-04-01 02:01:55 +0300 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2021-04-20 07:31:12 -0400 |
commit | a6713b3a3c7adf4a99e9ad8c04356fce200fb83f (patch) | |
tree | ec558ebf93ac28fc6456e22e19a23b7973075067 /drivers/sysreset | |
parent | 91f00ba2c1c980236ba526b5e8f34e982e7b48d8 (diff) | |
download | u-boot-a6713b3a3c7adf4a99e9ad8c04356fce200fb83f.tar.gz |
sysreset: provide type of reset in do_reset cmd
Add additional param for reset cmd, which provides type of reset.
Signed-off-by: Igor Opaniuk <igor.opaniuk@foundries.io>
Diffstat (limited to 'drivers/sysreset')
-rw-r--r-- | drivers/sysreset/sysreset-uclass.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/drivers/sysreset/sysreset-uclass.c b/drivers/sysreset/sysreset-uclass.c index 9512f6881fc..279b087d16d 100644 --- a/drivers/sysreset/sysreset-uclass.c +++ b/drivers/sysreset/sysreset-uclass.c @@ -122,10 +122,19 @@ void reset_cpu(void) #if IS_ENABLED(CONFIG_SYSRESET_CMD_RESET) int do_reset(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) { + enum sysreset_t reset_type = SYSRESET_COLD; + + if (argc > 2) + return CMD_RET_USAGE; + + if (argc == 2 && argv[1][0] == '-' && argv[1][1] == 'w') { + reset_type = SYSRESET_WARM; + } + printf("resetting ...\n"); mdelay(100); - sysreset_walk_halt(SYSRESET_COLD); + sysreset_walk_halt(reset_type); return 0; } |