/* SPDX-License-Identifier: (GPL-2.0+ OR MIT) */ /* * common/cmd_watchdog.c * * Copyright (C) 2020 Amlogic, Inc. All rights reserved. * */ #include #include #include static int do_watchdog(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) { const char *cmd; char *endp; int timeout; if (argc != 2) return CMD_RET_USAGE; cmd = argv[1]; if (strcmp(cmd, "off") == 0) { /* disable watchdog */ watchdog_disable(); return CMD_RET_SUCCESS; } timeout = simple_strtoul(cmd, &endp, 0); if (endp == cmd) return CMD_RET_USAGE; if (timeout < 0) return CMD_RET_USAGE; /* enable the watchdog and set timeout */ timeout *= 1000; watchdog_init(timeout); return CMD_RET_SUCCESS; } U_BOOT_CMD( watchdog, 2, 0, do_watchdog, "enable or disable watchdog", " - enable watchdog with `timeout' seconds timeout\n" "watchdog off - disable watchdog\n" );