Lines Matching +full:watchdog +full:- +full:timer
1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * PNX833x Hardware Watchdog Driver
8 * Heavily based upon - IndyDog 0.3
9 * A Hardware Watchdog Device for SGI IP22
25 #include <linux/watchdog.h>
29 #include <asm/mach-pnx833x/pnx833x.h>
32 #define WATCHDOG_COUNT_FREQUENCY 68000000U /* Watchdog counts at 68MHZ. */
51 MODULE_PARM_DESC(timeout, "Watchdog timeout in Mhz. (68Mhz clock), default="
56 MODULE_PARM_DESC(nowayout, "Watchdog cannot be stopped once started (default="
62 MODULE_PARM_DESC(start_enabled, "Watchdog is started on module insertion "
67 /* Enable watchdog causing reset. */ in pnx833x_wdt_start()
72 /* Enable watchdog. */ in pnx833x_wdt_start()
76 pr_info("Started watchdog timer\n"); in pnx833x_wdt_start()
81 /* Disable watchdog causing reset. */ in pnx833x_wdt_stop()
83 /* Disable watchdog.*/ in pnx833x_wdt_stop()
87 pr_info("Stopped watchdog timer\n"); in pnx833x_wdt_stop()
102 return -EBUSY; in pnx833x_wdt_open()
107 /* Activate timer */ in pnx833x_wdt_open()
113 pr_info("Started watchdog timer\n"); in pnx833x_wdt_open()
120 /* Shut off the timer. in pnx833x_wdt_release()
131 /* Refresh the timer. */ in pnx833x_wdt_write()
147 .identity = "Hardware Watchdog for PNX833x", in pnx833x_wdt_ioctl()
152 return -ENOTTY; in pnx833x_wdt_ioctl()
157 return -EFAULT; in pnx833x_wdt_ioctl()
166 return -EFAULT; in pnx833x_wdt_ioctl()
183 return -EFAULT; in pnx833x_wdt_ioctl()
225 .name = "watchdog",
239 /*If bit 31 is set then watchdog was cause of reset.*/ in watchdog_init()
241 pr_info("The system was previously reset due to the watchdog firing - please investigate...\n"); in watchdog_init()
258 pr_info("Hardware Watchdog Timer for PNX833x: Version 0.1\n"); in watchdog_init()
276 MODULE_DESCRIPTION("Hardware Watchdog Device for PNX833x");