Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1# SPDX-License-Identifier: GPL-2.0-only
2
3#
4# Watchdog device configuration
5#
6
7menuconfig WATCHDOG
8 bool "Watchdog Timer Support"
9 help
10 If you say Y here (and to one of the following options) and create a
11 character special file /dev/watchdog with major number 10 and minor
12 number 130 using mknod ("man mknod"), you will get a watchdog, i.e.:
13 subsequently opening the file and then failing to write to it for
14 longer than 1 minute will result in rebooting the machine. This
15 could be useful for a networked machine that needs to come back
16 on-line as fast as possible after a lock-up. There's both a watchdog
17 implementation entirely in software (which can sometimes fail to
18 reboot the machine) and a driver for hardware watchdog boards, which
19 are more robust and can also keep track of the temperature inside
20 your computer. For details, read
21 <file:Documentation/watchdog/watchdog-api.rst> in the kernel source.
22
23 The watchdog is usually used together with the watchdog daemon
24 which is available from
25 <https://ibiblio.org/pub/Linux/system/daemons/watchdog/>. This daemon
26 can also monitor NFS connections and can reboot the machine when the
27 process table is full.
28
29 If unsure, say N.
30
31if WATCHDOG
32
33config WATCHDOG_CORE
34 tristate "WatchDog Timer Driver Core"
35 help
36 Say Y here if you want to use the new watchdog timer driver core.
37 This driver provides a framework for all watchdog timer drivers
38 and gives them the /dev/watchdog interface (and later also the
39 sysfs interface).
40
41config WATCHDOG_NOWAYOUT
42 bool "Disable watchdog shutdown on close"
43 help
44 The default watchdog behaviour (which you get if you say N here) is
45 to stop the timer if the process managing it closes the file
46 /dev/watchdog. It's always remotely possible that this process might
47 get killed. If you say Y here, the watchdog cannot be stopped once
48 it has been started.
49
50config WATCHDOG_HANDLE_BOOT_ENABLED
51 bool "Update boot-enabled watchdog until userspace takes over"
52 default y
53 help
54 The default watchdog behaviour (which you get if you say Y here) is
55 to ping watchdog devices that were enabled before the driver has
56 been loaded until control is taken over from userspace using the
57 /dev/watchdog file. If you say N here, the kernel will not update
58 the watchdog on its own. Thus if your userspace does not start fast
59 enough your device will reboot.
60
61config WATCHDOG_OPEN_TIMEOUT
62 int "Timeout value for opening watchdog device"
63 default 0
64 help
65 The maximum time, in seconds, for which the watchdog framework takes
66 care of pinging a hardware watchdog. A value of 0 means infinite. The
67 value set here can be overridden by the commandline parameter
68 "watchdog.open_timeout".
69
70config WATCHDOG_SYSFS
71 bool "Read different watchdog information through sysfs"
72 help
73 Say Y here if you want to enable watchdog device status read through
74 sysfs attributes.
75
76config WATCHDOG_HRTIMER_PRETIMEOUT
77 bool "Enable watchdog hrtimer-based pretimeouts"
78 help
79 Enable this if you want to use a hrtimer timer based pretimeout for
80 watchdogs that do not natively support pretimeout support. Be aware
81 that because this pretimeout functionality uses hrtimers, it may not
82 be able to fire before the actual watchdog fires in some situations.
83
84comment "Watchdog Pretimeout Governors"
85
86config WATCHDOG_PRETIMEOUT_GOV
87 bool "Enable watchdog pretimeout governors"
88 depends on WATCHDOG_CORE
89 help
90 The option allows to select watchdog pretimeout governors.
91
92config WATCHDOG_PRETIMEOUT_GOV_SEL
93 tristate
94 depends on WATCHDOG_PRETIMEOUT_GOV
95 default m
96 select WATCHDOG_PRETIMEOUT_GOV_PANIC if WATCHDOG_PRETIMEOUT_GOV_NOOP=n
97
98if WATCHDOG_PRETIMEOUT_GOV
99
100config WATCHDOG_PRETIMEOUT_GOV_NOOP
101 tristate "Noop watchdog pretimeout governor"
102 depends on WATCHDOG_CORE
103 default WATCHDOG_CORE
104 help
105 Noop watchdog pretimeout governor, only an informational
106 message is added to kernel log buffer.
107
108config WATCHDOG_PRETIMEOUT_GOV_PANIC
109 tristate "Panic watchdog pretimeout governor"
110 depends on WATCHDOG_CORE
111 default WATCHDOG_CORE
112 help
113 Panic watchdog pretimeout governor, on watchdog pretimeout
114 event put the kernel into panic.
115
116choice
117 prompt "Default Watchdog Pretimeout Governor"
118 default WATCHDOG_PRETIMEOUT_DEFAULT_GOV_PANIC
119 help
120 This option selects a default watchdog pretimeout governor.
121 The governor takes its action, if a watchdog is capable
122 to report a pretimeout event.
123
124config WATCHDOG_PRETIMEOUT_DEFAULT_GOV_NOOP
125 bool "noop"
126 depends on WATCHDOG_PRETIMEOUT_GOV_NOOP
127 help
128 Use noop watchdog pretimeout governor by default. If noop
129 governor is selected by a user, write a short message to
130 the kernel log buffer and don't do any system changes.
131
132config WATCHDOG_PRETIMEOUT_DEFAULT_GOV_PANIC
133 bool "panic"
134 depends on WATCHDOG_PRETIMEOUT_GOV_PANIC
135 help
136 Use panic watchdog pretimeout governor by default, if
137 a watchdog pretimeout event happens, consider that
138 a watchdog feeder is dead and reboot is unavoidable.
139
140endchoice
141
142endif # WATCHDOG_PRETIMEOUT_GOV
143
144#
145# General Watchdog drivers
146#
147
148comment "Watchdog Device Drivers"
149
150# Architecture Independent
151
152config SOFT_WATCHDOG
153 tristate "Software watchdog"
154 select WATCHDOG_CORE
155 help
156 A software monitoring watchdog. This will fail to reboot your system
157 from some situations that the hardware watchdog will recover
158 from. Equally it's a lot cheaper to install.
159
160 To compile this driver as a module, choose M here: the
161 module will be called softdog.
162
163config SOFT_WATCHDOG_PRETIMEOUT
164 bool "Software watchdog pretimeout governor support"
165 depends on SOFT_WATCHDOG && WATCHDOG_PRETIMEOUT_GOV
166 help
167 Enable this if you want to use pretimeout governors with the software
168 watchdog. Be aware that governors might affect the watchdog because it
169 is purely software, e.g. the panic governor will stall it!
170
171config BD957XMUF_WATCHDOG
172 tristate "ROHM BD9576MUF and BD9573MUF PMIC Watchdog"
173 depends on MFD_ROHM_BD957XMUF
174 select WATCHDOG_CORE
175 help
176 Support for the watchdog in the ROHM BD9576 and BD9573 PMICs.
177 These PMIC ICs contain watchdog block which can be configured
178 to toggle reset line if SoC fails to ping watchdog via GPIO.
179
180 Say Y here to include support for the ROHM BD9576 or BD9573
181 watchdog. Alternatively say M to compile the driver as a module,
182 which will be called bd9576_wdt.
183
184config BD96801_WATCHDOG
185 tristate "ROHM BD96801 PMIC Watchdog"
186 depends on MFD_ROHM_BD96801
187 select WATCHDOG_CORE
188 help
189 Support for the watchdog in the ROHM BD96801 PMIC. Watchdog can be
190 configured to only generate IRQ or to trigger system reset via reset
191 pin.
192
193 Say Y here to include support for the ROHM BD96801 watchdog.
194 Alternatively say M to compile the driver as a module,
195 which will be called bd96801_wdt.
196
197config CROS_EC_WATCHDOG
198 tristate "ChromeOS EC-based watchdog"
199 select WATCHDOG_CORE
200 depends on CROS_EC
201 help
202 Watchdog driver for Chromebook devices equipped with embedded controller.
203 Trigger event is recorded in EC and checked on the subsequent boot.
204
205 To compile this driver as a module, choose M here: the
206 module will be called cros_ec_wdt.
207
208config DA9052_WATCHDOG
209 tristate "Dialog DA9052 Watchdog"
210 depends on PMIC_DA9052 || COMPILE_TEST
211 select WATCHDOG_CORE
212 help
213 Support for the watchdog in the DA9052 PMIC. Watchdog trigger
214 cause system reset.
215
216 Say Y here to include support for the DA9052 watchdog.
217 Alternatively say M to compile the driver as a module,
218 which will be called da9052_wdt.
219
220config DA9055_WATCHDOG
221 tristate "Dialog Semiconductor DA9055 Watchdog"
222 depends on MFD_DA9055 || COMPILE_TEST
223 select WATCHDOG_CORE
224 help
225 If you say yes here you get support for watchdog on the Dialog
226 Semiconductor DA9055 PMIC.
227
228 This driver can also be built as a module. If so, the module
229 will be called da9055_wdt.
230
231config DA9063_WATCHDOG
232 tristate "Dialog DA9063 Watchdog"
233 depends on MFD_DA9063 || COMPILE_TEST
234 depends on I2C
235 select WATCHDOG_CORE
236 help
237 Support for the watchdog in the DA9063 PMIC.
238
239 This driver can be built as a module. The module name is da9063_wdt.
240
241config DA9062_WATCHDOG
242 tristate "Dialog DA9062/61 Watchdog"
243 depends on MFD_DA9062 || COMPILE_TEST
244 depends on I2C
245 select WATCHDOG_CORE
246 help
247 Support for the watchdog in the DA9062 and DA9061 PMICs.
248
249 This driver can be built as a module. The module name is da9062_wdt.
250
251config GPIO_WATCHDOG
252 tristate "Watchdog device controlled through GPIO-line"
253 depends on OF_GPIO
254 select WATCHDOG_CORE
255 help
256 If you say yes here you get support for watchdog device
257 controlled through GPIO-line.
258
259config GPIO_WATCHDOG_ARCH_INITCALL
260 bool "Register the watchdog as early as possible"
261 depends on GPIO_WATCHDOG=y
262 help
263 In some situations, the default initcall level (module_init)
264 in not early enough in the boot process to avoid the watchdog
265 to be triggered.
266 If you say yes here, the initcall level would be raised to
267 arch_initcall.
268 If in doubt, say N.
269
270config LENOVO_SE10_WDT
271 tristate "Lenovo SE10 Watchdog"
272 depends on (X86 && DMI) || COMPILE_TEST
273 depends on HAS_IOPORT
274 select WATCHDOG_CORE
275 help
276 If you say yes here you get support for the watchdog
277 functionality for the Lenovo SE10 platform.
278
279 This driver can also be built as a module. If so, the module
280 will be called lenovo-se10-wdt.
281
282config LENOVO_SE30_WDT
283 tristate "Lenovo SE30 Watchdog"
284 depends on (X86 && DMI) || COMPILE_TEST
285 depends on HAS_IOPORT
286 select WATCHDOG_CORE
287 help
288 If you say yes here you get support for the watchdog
289 functionality for the Lenovo SE30 platform.
290
291 This driver can also be built as a module. If so, the module
292 will be called lenovo-se30-wdt.
293
294config MENF21BMC_WATCHDOG
295 tristate "MEN 14F021P00 BMC Watchdog"
296 depends on MFD_MENF21BMC || COMPILE_TEST
297 depends on I2C
298 select WATCHDOG_CORE
299 help
300 Say Y here to include support for the MEN 14F021P00 BMC Watchdog.
301
302 This driver can also be built as a module. If so the module
303 will be called menf21bmc_wdt.
304
305config MENZ069_WATCHDOG
306 tristate "MEN 16Z069 Watchdog"
307 depends on MCB
308 select WATCHDOG_CORE
309 help
310 Say Y here to include support for the MEN 16Z069 Watchdog.
311
312 This driver can also be built as a module. If so the module
313 will be called menz069_wdt.
314
315config WDAT_WDT
316 tristate "ACPI Watchdog Action Table (WDAT)"
317 depends on ACPI
318 select WATCHDOG_CORE
319 select ACPI_WATCHDOG
320 help
321 This driver adds support for systems with ACPI Watchdog Action
322 Table (WDAT) table. Servers typically have this but it can be
323 found on some desktop machines as well. This driver will take
324 over the native iTCO watchdog driver found on many Intel CPUs.
325
326 To compile this driver as module, choose M here: the module will
327 be called wdat_wdt.
328
329config WM831X_WATCHDOG
330 tristate "WM831x watchdog"
331 depends on MFD_WM831X
332 select WATCHDOG_CORE
333 help
334 Support for the watchdog in the WM831x AudioPlus PMICs. When
335 the watchdog triggers the system will be reset.
336
337config WM8350_WATCHDOG
338 tristate "WM8350 watchdog"
339 depends on MFD_WM8350
340 select WATCHDOG_CORE
341 help
342 Support for the watchdog in the WM8350 AudioPlus PMIC. When
343 the watchdog triggers the system will be reset.
344
345config XILINX_WATCHDOG
346 tristate "Xilinx Watchdog timer"
347 depends on HAS_IOMEM
348 select WATCHDOG_CORE
349 help
350 Watchdog driver for the xps_timebase_wdt IP core.
351
352 To compile this driver as a module, choose M here: the
353 module will be called of_xilinx_wdt.
354
355config XILINX_WINDOW_WATCHDOG
356 tristate "Xilinx window watchdog timer"
357 depends on HAS_IOMEM
358 depends on ARM64 || COMPILE_TEST
359 select WATCHDOG_CORE
360 help
361 Window watchdog driver for the versal_wwdt IP core.
362 Window watchdog timer(WWDT) contains closed(first) and
363 open(second) window with 32 bit width. Write to the watchdog
364 timer within predefined window periods of time. This means
365 a period that is not too soon and a period that is not too
366 late. The WWDT has to be restarted within the open window time.
367 If software tries to restart WWDT outside of the open window
368 time period, it generates a reset.
369
370 To compile this driver as a module, choose M here: the
371 module will be called xilinx_wwdt.
372
373config ZIIRAVE_WATCHDOG
374 tristate "Zodiac RAVE Watchdog Timer"
375 depends on I2C
376 select WATCHDOG_CORE
377 help
378 Watchdog driver for the Zodiac Aerospace RAVE Switch Watchdog
379 Processor.
380
381 To compile this driver as a module, choose M here: the
382 module will be called ziirave_wdt.
383
384config RAVE_SP_WATCHDOG
385 tristate "RAVE SP Watchdog timer"
386 depends on RAVE_SP_CORE
387 depends on NVMEM || !NVMEM
388 select WATCHDOG_CORE
389 help
390 Support for the watchdog on RAVE SP device.
391
392config MLX_WDT
393 tristate "Mellanox Watchdog"
394 depends on MELLANOX_PLATFORM || COMPILE_TEST
395 select WATCHDOG_CORE
396 select REGMAP
397 help
398 This is the driver for the hardware watchdog on Mellanox systems.
399 If you are going to use it, say Y here, otherwise N.
400 This driver can be used together with the watchdog daemon.
401 It can also watch your kernel to make sure it doesn't freeze,
402 and if it does, it reboots your system after a certain amount of
403 time.
404
405 To compile this driver as a module, choose M here: the
406 module will be called mlx-wdt.
407
408config SL28CPLD_WATCHDOG
409 tristate "Kontron sl28cpld Watchdog"
410 depends on MFD_SL28CPLD || COMPILE_TEST
411 select WATCHDOG_CORE
412 help
413 Say Y here to include support for the watchdog timer
414 on the Kontron sl28 CPLD.
415
416 To compile this driver as a module, choose M here: the
417 module will be called sl28cpld_wdt.
418
419# ALPHA Architecture
420
421# ARM Architecture
422
423config AIROHA_WATCHDOG
424 tristate "Airoha EN7581 Watchdog"
425 depends on ARCH_AIROHA || COMPILE_TEST
426 select WATCHDOG_CORE
427 help
428 Watchdog timer embedded into Airoha SoC. This will reboot your
429 system when the timeout is reached.
430
431config ARM_SP805_WATCHDOG
432 tristate "ARM SP805 Watchdog"
433 depends on (ARM || ARM64 || COMPILE_TEST) && ARM_AMBA
434 select WATCHDOG_CORE
435 help
436 ARM Primecell SP805 Watchdog timer. This will reboot your system when
437 the timeout is reached.
438
439config ARM_SBSA_WATCHDOG
440 tristate "ARM SBSA Generic Watchdog"
441 depends on ARM64
442 depends on ARM_ARCH_TIMER
443 select WATCHDOG_CORE
444 help
445 ARM SBSA Generic Watchdog has two stage timeouts:
446 the first signal (WS0) is for alerting the system by interrupt,
447 the second one (WS1) is a real hardware reset.
448 More details: ARM DEN0029B - Server Base System Architecture (SBSA)
449
450 This driver can operate ARM SBSA Generic Watchdog as a single stage
451 or a two stages watchdog, it depends on the module parameter "action".
452
453 Note: the maximum timeout in the two stages mode is half of that in
454 the single stage mode.
455
456 To compile this driver as module, choose M here: The module
457 will be called sbsa_gwdt.
458
459config ARMADA_37XX_WATCHDOG
460 tristate "Armada 37xx watchdog"
461 depends on ARCH_MVEBU || COMPILE_TEST
462 depends on HAS_IOMEM
463 select MFD_SYSCON
464 select WATCHDOG_CORE
465 help
466 Say Y here to include support for the watchdog timer found on
467 Marvell Armada 37xx SoCs.
468 To compile this driver as a module, choose M here: the
469 module will be called armada_37xx_wdt.
470
471config ASM9260_WATCHDOG
472 tristate "Alphascale ASM9260 watchdog"
473 depends on MACH_ASM9260 || COMPILE_TEST
474 depends on OF
475 select WATCHDOG_CORE
476 select RESET_CONTROLLER
477 help
478 Watchdog timer embedded into Alphascale asm9260 chips. This will
479 reboot your system when the timeout is reached.
480
481config AT91RM9200_WATCHDOG
482 tristate "AT91RM9200 watchdog"
483 depends on (SOC_AT91RM9200 && MFD_SYSCON) || COMPILE_TEST
484 help
485 Watchdog timer embedded into AT91RM9200 chips. This will reboot your
486 system when the timeout is reached.
487
488config AT91SAM9X_WATCHDOG
489 tristate "AT91SAM9X / AT91CAP9 watchdog"
490 depends on ARCH_AT91 || COMPILE_TEST
491 select WATCHDOG_CORE
492 help
493 Watchdog timer embedded into AT91SAM9X and AT91CAP9 chips. This will
494 reboot your system when the timeout is reached.
495
496config SAMA5D4_WATCHDOG
497 tristate "Atmel SAMA5D4 Watchdog Timer"
498 depends on ARCH_AT91 || COMPILE_TEST
499 select WATCHDOG_CORE
500 help
501 Atmel SAMA5D4 watchdog timer is embedded into SAMA5D4 chips.
502 Its Watchdog Timer Mode Register can be written more than once.
503 This will reboot your system when the timeout is reached.
504
505config CADENCE_WATCHDOG
506 tristate "Cadence Watchdog Timer"
507 depends on HAS_IOMEM
508 select WATCHDOG_CORE
509 help
510 Say Y here if you want to include support for the watchdog
511 timer in the Xilinx Zynq.
512
513config 21285_WATCHDOG
514 tristate "DC21285 watchdog"
515 depends on FOOTBRIDGE
516 help
517 The Intel Footbridge chip contains a built-in watchdog circuit. Say Y
518 here if you wish to use this. Alternatively say M to compile the
519 driver as a module, which will be called wdt285.
520
521 This driver does not work on all machines. In particular, early CATS
522 boards have hardware problems that will cause the machine to simply
523 lock up if the watchdog fires.
524
525 "If in doubt, leave it out" - say N.
526
527config 977_WATCHDOG
528 tristate "NetWinder WB83C977 watchdog"
529 depends on (FOOTBRIDGE && ARCH_NETWINDER) || (ARM && COMPILE_TEST)
530 depends on HAS_IOPORT
531 help
532 Say Y here to include support for the WB977 watchdog included in
533 NetWinder machines. Alternatively say M to compile the driver as
534 a module, which will be called wdt977.
535
536 Not sure? It's safe to say N.
537
538config FTWDT010_WATCHDOG
539 tristate "Faraday Technology FTWDT010 watchdog"
540 depends on ARM || COMPILE_TEST
541 select WATCHDOG_CORE
542 default ARCH_GEMINI
543 help
544 Say Y here if to include support for the Faraday Technology
545 FTWDT010 watchdog timer embedded in the Cortina Systems Gemini
546 family of devices.
547
548 To compile this driver as a module, choose M here: the
549 module will be called ftwdt010_wdt.
550
551config IXP4XX_WATCHDOG
552 tristate "IXP4xx Watchdog"
553 depends on ARCH_IXP4XX || (ARM && COMPILE_TEST)
554 select WATCHDOG_CORE
555 help
556 Say Y here if to include support for the watchdog timer
557 in the Intel IXP4xx network processors. This driver can
558 be built as a module by choosing M. The module will
559 be called ixp4xx_wdt.
560
561 Note: The internal IXP4xx watchdog does a soft CPU reset
562 which doesn't reset any peripherals. There are circumstances
563 where the watchdog will fail to reset the board correctly
564 (e.g., if the boot ROM is in an unreadable state).
565
566 Say N if you are unsure.
567
568config S3C2410_WATCHDOG
569 tristate "S3C6410/S5Pv210/Exynos Watchdog"
570 depends on ARCH_S3C64XX || ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
571 select WATCHDOG_CORE
572 select MFD_SYSCON if ARCH_EXYNOS
573 help
574 Watchdog timer block in the Samsung S3C64xx, S5Pv210 and Exynos
575 SoCs. This will reboot the system when the timer expires with
576 the watchdog enabled.
577
578 The driver is limited by the speed of the system's PCLK
579 signal, so with reasonably fast systems (PCLK around 50-66MHz)
580 then watchdog intervals of over approximately 20seconds are
581 unavailable.
582
583 Choose Y/M here only if you build for such Samsung SoC.
584 The driver can be built as a module by choosing M, and will
585 be called s3c2410_wdt.
586
587config SA1100_WATCHDOG
588 tristate "SA1100/PXA2xx watchdog"
589 depends on ARCH_SA1100 || ARCH_PXA || COMPILE_TEST
590 help
591 Watchdog timer embedded into SA11x0 and PXA2xx chips. This will
592 reboot your system when timeout is reached.
593
594 NOTE: once enabled, this timer cannot be disabled.
595
596 To compile this driver as a module, choose M here: the
597 module will be called sa1100_wdt.
598
599config DW_WATCHDOG
600 tristate "Synopsys DesignWare watchdog"
601 depends on HAS_IOMEM
602 select WATCHDOG_CORE
603 help
604 Say Y here if to include support for the Synopsys DesignWare
605 watchdog timer found in many chips.
606 To compile this driver as a module, choose M here: the
607 module will be called dw_wdt.
608
609config EP93XX_WATCHDOG
610 tristate "EP93xx Watchdog"
611 depends on ARCH_EP93XX || COMPILE_TEST
612 select WATCHDOG_CORE
613 help
614 Say Y here if to include support for the watchdog timer
615 embedded in the Cirrus Logic EP93xx family of devices.
616
617 To compile this driver as a module, choose M here: the
618 module will be called ep93xx_wdt.
619
620config OMAP_WATCHDOG
621 tristate "OMAP Watchdog"
622 depends on ARCH_OMAP16XX || ARCH_OMAP2PLUS || COMPILE_TEST
623 select WATCHDOG_CORE
624 help
625 Support for TI OMAP1610/OMAP1710/OMAP2420/OMAP3430/OMAP4430 watchdog.
626 Say 'Y' here to enable the
627 OMAP1610/OMAP1710/OMAP2420/OMAP3430/OMAP4430 watchdog timer.
628
629config PNX4008_WATCHDOG
630 tristate "LPC32XX Watchdog"
631 depends on ARCH_LPC32XX || COMPILE_TEST
632 select WATCHDOG_CORE
633 help
634 Say Y here if to include support for the watchdog timer
635 in the LPC32XX processor.
636 This driver can be built as a module by choosing M. The module
637 will be called pnx4008_wdt.
638
639 Say N if you are unsure.
640
641config DAVINCI_WATCHDOG
642 tristate "DaVinci watchdog"
643 depends on ARCH_DAVINCI || ARCH_KEYSTONE || COMPILE_TEST
644 select WATCHDOG_CORE
645 help
646 Say Y here if to include support for the watchdog timer
647 in the DaVinci DM644x/DM646x or Keystone processors.
648 To compile this driver as a module, choose M here: the
649 module will be called davinci_wdt.
650
651 NOTE: once enabled, this timer cannot be disabled.
652 Say N if you are unsure.
653
654config K3_RTI_WATCHDOG
655 tristate "Texas Instruments K3 RTI watchdog"
656 depends on ARCH_K3 || COMPILE_TEST
657 select WATCHDOG_CORE
658 help
659 Say Y here if you want to include support for the K3 watchdog
660 timer (RTI module) available in the K3 generation of processors.
661
662config ORION_WATCHDOG
663 tristate "Orion watchdog"
664 depends on ARCH_ORION5X || ARCH_DOVE || MACH_DOVE || ARCH_MVEBU || COMPILE_TEST
665 depends on ARM
666 select WATCHDOG_CORE
667 help
668 Say Y here if to include support for the watchdog timer
669 in the Marvell Orion5x and Kirkwood ARM SoCs.
670 To compile this driver as a module, choose M here: the
671 module will be called orion_wdt.
672
673config RN5T618_WATCHDOG
674 tristate "Ricoh RN5T618 watchdog"
675 depends on MFD_RN5T618 || COMPILE_TEST
676 select WATCHDOG_CORE
677 help
678 If you say yes here you get support for watchdog on the Ricoh
679 RN5T618 PMIC.
680
681 This driver can also be built as a module. If so, the module
682 will be called rn5t618_wdt.
683
684config SUNXI_WATCHDOG
685 tristate "Allwinner SoCs watchdog support"
686 depends on ARCH_SUNXI || COMPILE_TEST
687 select WATCHDOG_CORE
688 help
689 Say Y here to include support for the watchdog timer
690 in Allwinner SoCs.
691 To compile this driver as a module, choose M here: the
692 module will be called sunxi_wdt.
693
694config NPCM7XX_WATCHDOG
695 tristate "Nuvoton NPCM750 watchdog"
696 depends on ARCH_NPCM || COMPILE_TEST
697 default y if ARCH_NPCM7XX
698 select WATCHDOG_CORE
699 help
700 Say Y here to include Watchdog timer support for the
701 watchdog embedded into the NPCM7xx.
702 This watchdog is used to reset the system and thus cannot be
703 compiled as a module.
704
705config TWL4030_WATCHDOG
706 tristate "TWL4030 Watchdog"
707 depends on TWL4030_CORE
708 select WATCHDOG_CORE
709 help
710 Support for TI TWL4030 watchdog. Say 'Y' here to enable the
711 watchdog timer support for TWL4030 chips.
712
713config STMP3XXX_RTC_WATCHDOG
714 tristate "Freescale STMP3XXX & i.MX23/28 watchdog"
715 depends on RTC_DRV_STMP || COMPILE_TEST
716 select WATCHDOG_CORE
717 help
718 Say Y here to include support for the watchdog timer inside
719 the RTC for the STMP37XX/378X or i.MX23/28 SoC.
720 To compile this driver as a module, choose M here: the
721 module will be called stmp3xxx_rtc_wdt.
722
723config TS4800_WATCHDOG
724 tristate "TS-4800 Watchdog"
725 depends on HAS_IOMEM && OF
726 depends on SOC_IMX51 || COMPILE_TEST
727 select WATCHDOG_CORE
728 select MFD_SYSCON
729 help
730 Technologic Systems TS-4800 has watchdog timer implemented in
731 an external FPGA. Say Y here if you want to support for the
732 watchdog timer on TS-4800 board.
733
734config TS72XX_WATCHDOG
735 tristate "TS-72XX SBC Watchdog"
736 depends on MACH_TS72XX || COMPILE_TEST
737 select WATCHDOG_CORE
738 help
739 Technologic Systems TS-7200, TS-7250 and TS-7260 boards have
740 watchdog timer implemented in a external CPLD chip. Say Y here
741 if you want to support for the watchdog timer on TS-72XX boards.
742
743 To compile this driver as a module, choose M here: the
744 module will be called ts72xx_wdt.
745
746config MAX63XX_WATCHDOG
747 tristate "Max63xx watchdog"
748 depends on HAS_IOMEM
749 select WATCHDOG_CORE
750 help
751 Support for memory mapped max63{69,70,71,72,73,74} watchdog timer.
752
753config MAX77620_WATCHDOG
754 tristate "Maxim Max77620 Watchdog Timer"
755 depends on MFD_MAX77620 || MFD_MAX77714 || COMPILE_TEST
756 select WATCHDOG_CORE
757 help
758 This is the driver for the Max77620 watchdog timer.
759 Say 'Y' here to enable the watchdog timer support for
760 MAX77620 chips. To compile this driver as a module,
761 choose M here: the module will be called max77620_wdt.
762
763config NCT6694_WATCHDOG
764 tristate "Nuvoton NCT6694 watchdog support"
765 depends on MFD_NCT6694
766 select WATCHDOG_CORE
767 help
768 Say Y here to support Nuvoton NCT6694 watchdog timer
769 functionality.
770
771 This driver can also be built as a module. If so, the module
772 will be called nct6694_wdt.
773
774config IMX2_WDT
775 tristate "IMX2+ Watchdog"
776 depends on ARCH_MXC || ARCH_LAYERSCAPE || COMPILE_TEST
777 select REGMAP_MMIO
778 select WATCHDOG_CORE
779 help
780 This is the driver for the hardware watchdog
781 on the Freescale IMX2 and later processors.
782 If you have one of these processors and wish to have
783 watchdog support enabled, say Y, otherwise say N.
784
785 To compile this driver as a module, choose M here: the
786 module will be called imx2_wdt.
787
788config IMX_SC_WDT
789 tristate "IMX SC Watchdog"
790 depends on HAVE_ARM_SMCCC
791 depends on IMX_SCU || COMPILE_TEST
792 select WATCHDOG_CORE
793 help
794 This is the driver for the system controller watchdog
795 on the NXP i.MX SoCs with system controller inside, the
796 watchdog driver will call ARM SMC API and trap into
797 ARM-Trusted-Firmware for operations, ARM-Trusted-Firmware
798 will request system controller to execute the operations.
799 If you have one of these processors and wish to have
800 watchdog support enabled, say Y, otherwise say N.
801
802 To compile this driver as a module, choose M here: the
803 module will be called imx_sc_wdt.
804
805config IMX7ULP_WDT
806 tristate "IMX7ULP Watchdog"
807 depends on ARCH_MXC || COMPILE_TEST
808 select WATCHDOG_CORE
809 help
810 This is the driver for the hardware watchdog on the Freescale
811 IMX7ULP and later processors. If you have one of these
812 processors and wish to have watchdog support enabled,
813 say Y, otherwise say N.
814
815 To compile this driver as a module, choose M here: the
816 module will be called imx7ulp_wdt.
817
818config S32G_WDT
819 tristate "S32G Watchdog"
820 depends on ARCH_S32 || COMPILE_TEST
821 select WATCHDOG_CORE
822 help
823 This is the driver for the hardware watchdog on the NXP
824 S32G platforms. If you wish to have watchdog support
825 enabled, say Y, otherwise say N.
826
827config DB500_WATCHDOG
828 tristate "ST-Ericsson DB800 watchdog"
829 depends on MFD_DB8500_PRCMU
830 select WATCHDOG_CORE
831 default y
832 help
833 Say Y here to include Watchdog timer support for the watchdog
834 existing in the prcmu of ST-Ericsson DB8500 platform.
835
836 To compile this driver as a module, choose M here: the
837 module will be called db500_wdt.
838
839config RETU_WATCHDOG
840 tristate "Retu watchdog"
841 depends on MFD_RETU
842 select WATCHDOG_CORE
843 help
844 Retu watchdog driver for Nokia Internet Tablets (770, N800,
845 N810). At least on N800 the watchdog cannot be disabled, so
846 this driver is essential and you should enable it.
847
848 To compile this driver as a module, choose M here: the
849 module will be called retu_wdt.
850
851config MOXART_WDT
852 tristate "MOXART watchdog"
853 depends on ARCH_MOXART || COMPILE_TEST
854 help
855 Say Y here to include Watchdog timer support for the watchdog
856 existing on the MOXA ART SoC series platforms.
857
858 To compile this driver as a module, choose M here: the
859 module will be called moxart_wdt.
860
861config ST_LPC_WATCHDOG
862 tristate "STMicroelectronics LPC Watchdog"
863 depends on ARCH_STI || COMPILE_TEST
864 depends on OF
865 select WATCHDOG_CORE
866 help
867 Say Y here to include STMicroelectronics Low Power Controller
868 (LPC) based Watchdog timer support.
869
870 To compile this driver as a module, choose M here: the
871 module will be called st_lpc_wdt.
872
873config TEGRA_WATCHDOG
874 tristate "Tegra watchdog"
875 depends on (ARCH_TEGRA || COMPILE_TEST) && HAS_IOMEM
876 select WATCHDOG_CORE
877 help
878 Say Y here to include support for the watchdog timer
879 embedded in NVIDIA Tegra SoCs.
880
881 To compile this driver as a module, choose M here: the
882 module will be called tegra_wdt.
883
884config QCOM_WDT
885 tristate "QCOM watchdog"
886 depends on HAS_IOMEM
887 depends on ARCH_QCOM || COMPILE_TEST
888 select WATCHDOG_CORE
889 help
890 Say Y here to include Watchdog timer support for the watchdog found
891 on QCOM chipsets. Currently supported targets are the MSM8960,
892 APQ8064, and IPQ8064.
893
894 To compile this driver as a module, choose M here: the
895 module will be called qcom_wdt.
896
897config MESON_GXBB_WATCHDOG
898 tristate "Amlogic Meson GXBB SoCs watchdog support"
899 depends on ARCH_MESON || COMPILE_TEST
900 select WATCHDOG_CORE
901 help
902 Say Y here to include support for the watchdog timer
903 in Amlogic Meson GXBB SoCs.
904 To compile this driver as a module, choose M here: the
905 module will be called meson_gxbb_wdt.
906
907config MESON_WATCHDOG
908 tristate "Amlogic Meson SoCs watchdog support"
909 depends on ARCH_MESON || COMPILE_TEST
910 select WATCHDOG_CORE
911 help
912 Say Y here to include support for the watchdog timer
913 in Amlogic Meson SoCs.
914 To compile this driver as a module, choose M here: the
915 module will be called meson_wdt.
916
917config MEDIATEK_WATCHDOG
918 tristate "Mediatek SoCs watchdog support"
919 depends on ARCH_MEDIATEK || COMPILE_TEST
920 default ARCH_MEDIATEK
921 select WATCHDOG_CORE
922 select RESET_CONTROLLER
923 help
924 Say Y here to include support for the watchdog timer
925 in Mediatek SoCs.
926 To compile this driver as a module, choose M here: the
927 module will be called mtk_wdt.
928
929config DIGICOLOR_WATCHDOG
930 tristate "Conexant Digicolor SoCs watchdog support"
931 depends on ARCH_DIGICOLOR || COMPILE_TEST
932 select WATCHDOG_CORE
933 help
934 Say Y here to include support for the watchdog timer
935 in Conexant Digicolor SoCs.
936 To compile this driver as a module, choose M here: the
937 module will be called digicolor_wdt.
938
939config ARM_SMC_WATCHDOG
940 tristate "ARM Secure Monitor Call based watchdog support"
941 depends on ARM || ARM64
942 depends on OF
943 depends on HAVE_ARM_SMCCC
944 select WATCHDOG_CORE
945 help
946 Say Y here to include support for a watchdog timer
947 implemented by the EL3 Secure Monitor on ARM platforms.
948 Requires firmware support.
949 To compile this driver as a module, choose M here: the
950 module will be called arm_smc_wdt.
951
952config LPC18XX_WATCHDOG
953 tristate "LPC18xx/43xx Watchdog"
954 depends on ARCH_LPC18XX || COMPILE_TEST
955 depends on HAS_IOMEM
956 select WATCHDOG_CORE
957 help
958 Say Y here if to include support for the watchdog timer
959 in NXP LPC SoCs family, which includes LPC18xx/LPC43xx
960 processors.
961 To compile this driver as a module, choose M here: the
962 module will be called lpc18xx_wdt.
963
964config RENESAS_WDT
965 tristate "Renesas WDT Watchdog"
966 depends on ARCH_RENESAS || COMPILE_TEST
967 select WATCHDOG_CORE
968 help
969 This driver adds watchdog support for the integrated watchdogs in the
970 Renesas R-Car and other SH-Mobile SoCs (usually named RWDT or SWDT).
971
972config RENESAS_WWDT
973 tristate "Renesas Window WWDT Watchdog"
974 depends on ARCH_RENESAS || COMPILE_TEST
975 select WATCHDOG_CORE
976 help
977 This driver adds watchdog support for a window timer found in some
978 Renesas R-Car Gen3 and later SoCs.
979
980config RENESAS_RZAWDT
981 tristate "Renesas RZ/A WDT Watchdog"
982 depends on ARCH_RENESAS || COMPILE_TEST
983 select WATCHDOG_CORE
984 help
985 This driver adds watchdog support for the integrated watchdogs in the
986 Renesas RZ/A SoCs. These watchdogs can be used to reset a system.
987
988config RENESAS_RZN1WDT
989 tristate "Renesas RZ/N1 watchdog"
990 depends on ARCH_RENESAS || COMPILE_TEST
991 select WATCHDOG_CORE
992 help
993 This driver adds watchdog support for the integrated watchdogs in the
994 Renesas RZ/N1 SoCs. These watchdogs can be used to reset a system.
995
996config RENESAS_RZG2LWDT
997 tristate "Renesas RZ/G2L WDT Watchdog"
998 depends on ARCH_RZG2L || ARCH_R9A09G011 || COMPILE_TEST
999 depends on PM || COMPILE_TEST
1000 select WATCHDOG_CORE
1001 help
1002 This driver adds watchdog support for the integrated watchdogs in the
1003 Renesas RZ/G2L SoCs. These watchdogs can be used to reset a system.
1004
1005config RENESAS_RZV2HWDT
1006 tristate "Renesas RZ/{G3E,V2H(P)} WDT Watchdog"
1007 depends on ARCH_RENESAS || COMPILE_TEST
1008 depends on PM || COMPILE_TEST
1009 select WATCHDOG_CORE
1010 help
1011 This driver adds watchdog support for the integrated watchdogs in the
1012 Renesas RZ/{G3E,V2H(P)} SoCs. These watchdogs can be used to reset a
1013 system.
1014
1015config ASPEED_WATCHDOG
1016 tristate "Aspeed BMC watchdog support"
1017 depends on ARCH_ASPEED || COMPILE_TEST
1018 select WATCHDOG_CORE
1019 help
1020 Say Y here to include support for the watchdog timer
1021 in Aspeed BMC SoCs.
1022
1023 This driver is required to reboot the SoC.
1024
1025 To compile this driver as a module, choose M here: the
1026 module will be called aspeed_wdt.
1027
1028config STM32_WATCHDOG
1029 tristate "STM32 Independent WatchDoG (IWDG) support"
1030 depends on ARCH_STM32 || COMPILE_TEST
1031 select WATCHDOG_CORE
1032 default ARCH_STM32
1033 help
1034 Say Y here to include support for the watchdog timer
1035 in stm32 SoCs.
1036
1037 To compile this driver as a module, choose M here: the
1038 module will be called stm32_iwdg.
1039
1040config STPMIC1_WATCHDOG
1041 tristate "STPMIC1 PMIC watchdog support"
1042 depends on MFD_STPMIC1
1043 select WATCHDOG_CORE
1044 help
1045 Say Y here to include watchdog support embedded into STPMIC1 PMIC.
1046 If the watchdog timer expires, stpmic1 will shut down all its power
1047 supplies.
1048
1049 To compile this driver as a module, choose M here: the
1050 module will be called spmic1_wdt.
1051
1052config UNIPHIER_WATCHDOG
1053 tristate "UniPhier watchdog support"
1054 depends on ARCH_UNIPHIER || COMPILE_TEST
1055 depends on OF && MFD_SYSCON
1056 select WATCHDOG_CORE
1057 help
1058 Say Y here to include support watchdog timer embedded
1059 into the UniPhier system.
1060
1061 To compile this driver as a module, choose M here: the
1062 module will be called uniphier_wdt.
1063
1064config RTD119X_WATCHDOG
1065 bool "Realtek RTD119x/RTD129x watchdog support"
1066 depends on ARCH_REALTEK || COMPILE_TEST
1067 depends on OF
1068 select WATCHDOG_CORE
1069 default ARCH_REALTEK
1070 help
1071 Say Y here to include support for the watchdog timer in
1072 Realtek RTD1295 SoCs.
1073
1074config REALTEK_OTTO_WDT
1075 tristate "Realtek Otto MIPS watchdog support"
1076 depends on MACH_REALTEK_RTL || COMPILE_TEST
1077 depends on COMMON_CLK
1078 select WATCHDOG_CORE
1079 default MACH_REALTEK_RTL
1080 help
1081 Say Y here to include support for the watchdog timer on Realtek
1082 RTL838x, RTL839x, RTL930x SoCs. This watchdog has pretimeout
1083 notifications and system reset on timeout.
1084
1085 When built as a module this will be called realtek_otto_wdt.
1086
1087config SPRD_WATCHDOG
1088 tristate "Spreadtrum watchdog support"
1089 depends on ARCH_SPRD || COMPILE_TEST
1090 select WATCHDOG_CORE
1091 help
1092 Say Y here to include watchdog timer supported
1093 by Spreadtrum system.
1094
1095config PM8916_WATCHDOG
1096 tristate "QCOM PM8916 pmic watchdog"
1097 depends on OF && MFD_SPMI_PMIC
1098 select WATCHDOG_CORE
1099 help
1100 Say Y here to include support watchdog timer embedded into the
1101 pm8916 module.
1102
1103config VISCONTI_WATCHDOG
1104 tristate "Toshiba Visconti series watchdog support"
1105 depends on ARCH_VISCONTI || COMPILE_TEST
1106 select WATCHDOG_CORE
1107 help
1108 Say Y here to include support for the watchdog timer in Toshiba
1109 Visconti SoCs.
1110
1111config MSC313E_WATCHDOG
1112 tristate "MStar MSC313e watchdog"
1113 depends on ARCH_MSTARV7 || COMPILE_TEST
1114 select WATCHDOG_CORE
1115 help
1116 Say Y here to include support for the Watchdog timer embedded
1117 into MStar MSC313e chips. This will reboot your system when the
1118 timeout is reached.
1119
1120 To compile this driver as a module, choose M here: the
1121 module will be called msc313e_wdt.
1122
1123config APPLE_WATCHDOG
1124 tristate "Apple SoC watchdog"
1125 depends on ARCH_APPLE || COMPILE_TEST
1126 select WATCHDOG_CORE
1127 help
1128 Say Y here to include support for the Watchdog found in Apple
1129 SoCs such as the M1. Next to the common watchdog features this
1130 driver is also required in order to reboot these SoCs.
1131
1132 To compile this driver as a module, choose M here: the
1133 module will be called apple_wdt.
1134
1135config SUNPLUS_WATCHDOG
1136 tristate "Sunplus watchdog support"
1137 depends on ARCH_SUNPLUS || COMPILE_TEST
1138 select WATCHDOG_CORE
1139 help
1140 Say Y here to include support for the watchdog timer
1141 in Sunplus SoCs.
1142
1143 To compile this driver as a module, choose M here: the
1144 module will be called sunplus_wdt.
1145
1146# X86 (i386 + ia64 + x86_64) Architecture
1147
1148config ACQUIRE_WDT
1149 tristate "Acquire SBC Watchdog Timer"
1150 depends on X86
1151 help
1152 This is the driver for the hardware watchdog on Single Board
1153 Computers produced by Acquire Inc (and others). This watchdog
1154 simply watches your kernel to make sure it doesn't freeze, and if
1155 it does, it reboots your computer after a certain amount of time.
1156
1157 To compile this driver as a module, choose M here: the
1158 module will be called acquirewdt.
1159
1160 Most people will say N.
1161
1162config ADVANTECH_WDT
1163 tristate "Advantech SBC Watchdog Timer"
1164 depends on (X86 || COMPILE_TEST) && HAS_IOPORT
1165 help
1166 If you are configuring a Linux kernel for the Advantech single-board
1167 computer, say `Y' here to support its built-in watchdog timer
1168 feature. More information can be found at
1169 <https://www.advantech.com.tw/products/>
1170
1171config ADVANTECH_EC_WDT
1172 tristate "Advantech Embedded Controller Watchdog Timer"
1173 depends on (X86 || COMPILE_TEST) && HAS_IOPORT
1174 select ISA_BUS_API
1175 select WATCHDOG_CORE
1176 help
1177 This driver supports Advantech products with ITE based Embedded Controller.
1178 It does not support Advantech products with other ECs or without EC.
1179
1180config ALIM1535_WDT
1181 tristate "ALi M1535 PMU Watchdog Timer"
1182 depends on (X86 || COMPILE_TEST) && PCI
1183 help
1184 This is the driver for the hardware watchdog on the ALi M1535 PMU.
1185
1186 To compile this driver as a module, choose M here: the
1187 module will be called alim1535_wdt.
1188
1189 Most people will say N.
1190
1191config ALIM7101_WDT
1192 tristate "ALi M7101 PMU Computer Watchdog"
1193 depends on PCI
1194 help
1195 This is the driver for the hardware watchdog on the ALi M7101 PMU
1196 as used in the x86 Cobalt servers and also found in some
1197 SPARC Netra servers too.
1198
1199 To compile this driver as a module, choose M here: the
1200 module will be called alim7101_wdt.
1201
1202 Most people will say N.
1203
1204config CGBC_WDT
1205 tristate "Congatec Board Controller Watchdog Timer"
1206 depends on MFD_CGBC
1207 select WATCHDOG_CORE
1208 help
1209 Enables watchdog timer support for the Congatec Board Controller.
1210
1211 This driver can also be built as a module. If so, the module will be
1212 called cgbc_wdt.
1213
1214config EBC_C384_WDT
1215 tristate "WinSystems EBC-C384 Watchdog Timer"
1216 depends on (X86 || COMPILE_TEST) && HAS_IOPORT
1217 select ISA_BUS_API
1218 select WATCHDOG_CORE
1219 help
1220 Enables watchdog timer support for the watchdog timer on the
1221 WinSystems EBC-C384 motherboard. The timeout may be configured via
1222 the timeout module parameter.
1223
1224config EXAR_WDT
1225 tristate "Exar Watchdog Timer"
1226 depends on (X86 || COMPILE_TEST) && HAS_IOPORT
1227 select WATCHDOG_CORE
1228 help
1229 Enables watchdog timer support for the watchdog timer present
1230 in some Exar/MaxLinear UART chips like the XR28V38x.
1231
1232 To compile this driver as a module, choose M here: the
1233 module will be called exar_wdt.
1234
1235config F71808E_WDT
1236 tristate "Fintek F718xx, F818xx Super I/O Watchdog"
1237 depends on (X86 || COMPILE_TEST) && HAS_IOPORT
1238 select WATCHDOG_CORE
1239 help
1240 This is the driver for the hardware watchdog on the Fintek F71808E,
1241 F71862FG, F71868, F71869, F71882FG, F71889FG, F81803, F81865, and
1242 F81866 Super I/O controllers.
1243
1244 You can compile this driver directly into the kernel, or use
1245 it as a module. The module will be called f71808e_wdt.
1246
1247config SP5100_TCO
1248 tristate "AMD/ATI SP5100 TCO Timer/Watchdog"
1249 depends on (X86 || COMPILE_TEST) && PCI && HAS_IOPORT
1250 select WATCHDOG_CORE
1251 help
1252 Hardware watchdog driver for the AMD/ATI SP5100 chipset. The TCO
1253 (Total Cost of Ownership) timer is a watchdog timer that will reboot
1254 the machine after its expiration. The expiration time can be
1255 configured with the "heartbeat" parameter.
1256
1257 To compile this driver as a module, choose M here: the
1258 module will be called sp5100_tco.
1259
1260config GEODE_WDT
1261 tristate "AMD Geode CS5535/CS5536 Watchdog"
1262 depends on CS5535_MFGPT
1263 help
1264 This driver enables a watchdog capability built into the
1265 CS5535/CS5536 companion chips for the AMD Geode GX and LX
1266 processors. This watchdog watches your kernel to make sure
1267 it doesn't freeze, and if it does, it reboots your computer after
1268 a certain amount of time.
1269
1270 You can compile this driver directly into the kernel, or use
1271 it as a module. The module will be called geodewdt.
1272
1273config SC520_WDT
1274 tristate "AMD Elan SC520 processor Watchdog"
1275 depends on MELAN || COMPILE_TEST
1276 help
1277 This is the driver for the hardware watchdog built in to the
1278 AMD "Elan" SC520 microcomputer commonly used in embedded systems.
1279 This watchdog simply watches your kernel to make sure it doesn't
1280 freeze, and if it does, it reboots your computer after a certain
1281 amount of time.
1282
1283 You can compile this driver directly into the kernel, or use
1284 it as a module. The module will be called sc520_wdt.
1285
1286config SBC_FITPC2_WATCHDOG
1287 tristate "Compulab SBC-FITPC2 watchdog"
1288 depends on (X86 || COMPILE_TEST) && HAS_IOPORT
1289 help
1290 This is the driver for the built-in watchdog timer on the fit-PC2,
1291 fit-PC2i, CM-iAM single-board computers made by Compulab.
1292
1293 It's possible to enable the watchdog timer either from BIOS (F2) or
1294 from booted Linux.
1295 When the "Watchdog Timer Value" is enabled one can set 31-255 seconds
1296 operational range.
1297
1298 Entering BIOS setup temporarily disables watchdog operation regardless
1299 of current state, so system will not be restarted while user is in
1300 BIOS setup.
1301
1302 Once the watchdog is enabled the system will be restarted every
1303 "Watchdog Timer Value" period, so to prevent it user can restart or
1304 disable the watchdog.
1305
1306 To compile this driver as a module, choose M here: the
1307 module will be called sbc_fitpc2_wdt.
1308
1309 Most people will say N.
1310
1311config EUROTECH_WDT
1312 tristate "Eurotech CPU-1220/1410 Watchdog Timer"
1313 depends on (X86 || COMPILE_TEST) && HAS_IOPORT
1314 help
1315 Enable support for the watchdog timer on the Eurotech CPU-1220 and
1316 CPU-1410 cards. These are PC/104 SBCs. Spec sheets and product
1317 information are at <http://www.eurotech.it/>.
1318
1319config IB700_WDT
1320 tristate "IB700 SBC Watchdog Timer"
1321 depends on (X86 || COMPILE_TEST) && HAS_IOPORT
1322 help
1323 This is the driver for the hardware watchdog on the IB700 Single
1324 Board Computer produced by TMC Technology (www.tmc-uk.com). This
1325 watchdog simply watches your kernel to make sure it doesn't freeze,
1326 and if it does, it reboots your computer after a certain amount of time.
1327
1328 This driver is like the WDT501 driver but for slightly different
1329 hardware.
1330
1331 To compile this driver as a module, choose M here: the
1332 module will be called ib700wdt.
1333
1334 Most people will say N.
1335
1336config IBMASR
1337 tristate "IBM Automatic Server Restart"
1338 depends on (X86 || COMPILE_TEST) && HAS_IOPORT
1339 help
1340 This is the driver for the IBM Automatic Server Restart watchdog
1341 timer built-in into some eServer xSeries machines.
1342
1343 To compile this driver as a module, choose M here: the
1344 module will be called ibmasr.
1345
1346config WAFER_WDT
1347 tristate "ICP Single Board Computer Watchdog Timer"
1348 depends on (X86 || COMPILE_TEST) && HAS_IOPORT
1349 help
1350 This is a driver for the hardware watchdog on the ICP Single
1351 Board Computer. This driver is working on (at least) the following
1352 IPC SBC's: Wafer 5823, Rocky 4783, Rocky 3703 and Rocky 3782.
1353
1354 To compile this driver as a module, choose M here: the
1355 module will be called wafer5823wdt.
1356
1357config I6300ESB_WDT
1358 tristate "Intel 6300ESB Timer/Watchdog"
1359 depends on PCI
1360 select WATCHDOG_CORE
1361 help
1362 Hardware driver for the watchdog timer built into the Intel
1363 6300ESB controller hub.
1364
1365 To compile this driver as a module, choose M here: the
1366 module will be called i6300esb.
1367
1368config IE6XX_WDT
1369 tristate "Intel Atom E6xx Watchdog"
1370 depends on (X86 || COMPILE_TEST) && PCI && HAS_IOPORT
1371 select WATCHDOG_CORE
1372 select MFD_CORE
1373 select LPC_SCH
1374 help
1375 Hardware driver for the watchdog timer built into the Intel
1376 Atom E6XX (TunnelCreek) processor.
1377
1378 To compile this driver as a module, choose M here: the
1379 module will be called ie6xx_wdt.
1380
1381config INTEL_MID_WATCHDOG
1382 tristate "Intel MID Watchdog Timer"
1383 depends on X86_INTEL_MID
1384 select WATCHDOG_CORE
1385 help
1386 Watchdog timer driver built into the Intel SCU for Intel MID
1387 Platforms.
1388
1389 This driver currently supports only the watchdog evolution
1390 implementation in SCU, available for Merrifield generation.
1391
1392 To compile this driver as a module, choose M here.
1393
1394config INTEL_OC_WATCHDOG
1395 tristate "Intel OC Watchdog"
1396 depends on (X86 || COMPILE_TEST) && ACPI && HAS_IOPORT
1397 select WATCHDOG_CORE
1398 help
1399 Hardware driver for Intel Over-Clocking watchdog present in
1400 Platform Controller Hub (PCH) chipsets.
1401
1402 To compile this driver as a module, choose M here: the
1403 module will be called intel_oc_wdt.
1404
1405config ITCO_WDT
1406 tristate "Intel TCO Timer/Watchdog"
1407 depends on X86 && PCI
1408 select WATCHDOG_CORE
1409 depends on I2C || I2C=n
1410 depends on MFD_INTEL_PMC_BXT || !MFD_INTEL_PMC_BXT
1411 depends on HAS_IOPORT # for I2C_I801
1412 select LPC_ICH if !EXPERT
1413 select I2C_I801 if !EXPERT && I2C
1414 help
1415 Hardware driver for the intel TCO timer based watchdog devices.
1416 These drivers are included in the Intel 82801 I/O Controller
1417 Hub family (from ICH0 up to ICH10) and in the Intel 63xxESB
1418 controller hub.
1419
1420 The TCO (Total Cost of Ownership) timer is a watchdog timer
1421 that will reboot the machine after its second expiration. The
1422 expiration time can be configured with the "heartbeat" parameter.
1423
1424 On some motherboards the driver may fail to reset the chipset's
1425 NO_REBOOT flag which prevents the watchdog from rebooting the
1426 machine. If this is the case you will get a kernel message like
1427 "failed to reset NO_REBOOT flag, reboot disabled by hardware".
1428
1429 To compile this driver as a module, choose M here: the
1430 module will be called iTCO_wdt.
1431
1432config ITCO_VENDOR_SUPPORT
1433 bool "Intel TCO Timer/Watchdog Specific Vendor Support"
1434 depends on ITCO_WDT
1435 help
1436 Add vendor specific support to the intel TCO timer based watchdog
1437 devices. At this moment we only have additional support for some
1438 SuperMicro Inc. motherboards.
1439
1440config IT8712F_WDT
1441 tristate "IT8712F (Smart Guardian) Watchdog Timer"
1442 depends on (X86 || COMPILE_TEST) && HAS_IOPORT
1443 help
1444 This is the driver for the built-in watchdog timer on the IT8712F
1445 Super I/0 chipset used on many motherboards.
1446
1447 If the driver does not work, then make sure that the game port in
1448 the BIOS is enabled.
1449
1450 To compile this driver as a module, choose M here: the
1451 module will be called it8712f_wdt.
1452
1453config IT87_WDT
1454 tristate "IT87 Watchdog Timer"
1455 depends on (X86 || COMPILE_TEST) && HAS_IOPORT
1456 select WATCHDOG_CORE
1457 help
1458 This is the driver for the hardware watchdog on the ITE IT8607,
1459 IT8620, IT8622, IT8625, IT8628, IT8655, IT8665, IT8686, IT8702,
1460 IT8712, IT8716, IT8718, IT8720, IT8721, IT8726, IT8728, and
1461 IT8783 Super I/O chips.
1462
1463 This watchdog simply watches your kernel to make sure it doesn't
1464 freeze, and if it does, it reboots your computer after a certain
1465 amount of time.
1466
1467 To compile this driver as a module, choose M here: the module will
1468 be called it87_wdt.
1469
1470config HP_WATCHDOG
1471 tristate "HP ProLiant iLO2+ Hardware Watchdog Timer"
1472 select WATCHDOG_CORE
1473 depends on (ARM64 || X86 || COMPILE_TEST) && PCI
1474 help
1475 A software monitoring watchdog and NMI handling driver. This driver
1476 will detect lockups and provide a stack trace. This is a driver that
1477 will only load on an HP ProLiant system with a minimum of iLO2 support.
1478 To compile this driver as a module, choose M here: the module will be
1479 called hpwdt.
1480
1481config HPWDT_NMI_DECODING
1482 bool "NMI support for the HP ProLiant iLO2+ Hardware Watchdog Timer"
1483 depends on X86 && HP_WATCHDOG
1484 default y
1485 help
1486 Enables the NMI handler for the watchdog pretimeout NMI and the iLO
1487 "Generate NMI to System" virtual button. When an NMI is claimed
1488 by the driver, panic is called.
1489
1490config KEMPLD_WDT
1491 tristate "Kontron COM Watchdog Timer"
1492 depends on MFD_KEMPLD
1493 select WATCHDOG_CORE
1494 help
1495 Support for the PLD watchdog on some Kontron ETX and COMexpress
1496 (ETXexpress) modules
1497
1498 This driver can also be built as a module. If so, the module will be
1499 called kempld_wdt.
1500
1501config SC1200_WDT
1502 tristate "National Semiconductor PC87307/PC97307 (ala SC1200) Watchdog"
1503 depends on (X86 || COMPILE_TEST) && HAS_IOPORT
1504 help
1505 This is a driver for National Semiconductor PC87307/PC97307 hardware
1506 watchdog cards as found on the SC1200. This watchdog is mainly used
1507 for power management purposes and can be used to power down the device
1508 during inactivity periods (includes interrupt activity monitoring).
1509
1510 To compile this driver as a module, choose M here: the
1511 module will be called sc1200wdt.
1512
1513 Most people will say N.
1514
1515config SCx200_WDT
1516 tristate "National Semiconductor SCx200 Watchdog"
1517 depends on SCx200 && PCI
1518 help
1519 Enable the built-in watchdog timer support on the National
1520 Semiconductor SCx200 processors.
1521
1522 If compiled as a module, it will be called scx200_wdt.
1523
1524config PC87413_WDT
1525 tristate "NS PC87413 watchdog"
1526 depends on (X86 || COMPILE_TEST) && HAS_IOPORT
1527 help
1528 This is the driver for the hardware watchdog on the PC87413 chipset
1529 This watchdog simply watches your kernel to make sure it doesn't
1530 freeze, and if it does, it reboots your computer after a certain
1531 amount of time.
1532
1533 To compile this driver as a module, choose M here: the
1534 module will be called pc87413_wdt.
1535
1536 Most people will say N.
1537
1538config NV_TCO
1539 tristate "nVidia TCO Timer/Watchdog"
1540 depends on (X86 || COMPILE_TEST) && PCI && HAS_IOPORT
1541 help
1542 Hardware driver for the TCO timer built into the nVidia Hub family
1543 (such as the MCP51). The TCO (Total Cost of Ownership) timer is a
1544 watchdog timer that will reboot the machine after its second
1545 expiration. The expiration time can be configured with the
1546 "heartbeat" parameter.
1547
1548 On some motherboards the driver may fail to reset the chipset's
1549 NO_REBOOT flag which prevents the watchdog from rebooting the
1550 machine. If this is the case you will get a kernel message like
1551 "failed to reset NO_REBOOT flag, reboot disabled by hardware".
1552
1553 To compile this driver as a module, choose M here: the
1554 module will be called nv_tco.
1555
1556config RDC321X_WDT
1557 tristate "RDC R-321x SoC watchdog"
1558 depends on X86_RDC321X || COMPILE_TEST
1559 depends on PCI
1560 help
1561 This is the driver for the built in hardware watchdog
1562 in the RDC R-321x SoC.
1563
1564 To compile this driver as a module, choose M here: the
1565 module will be called rdc321x_wdt.
1566
1567config 60XX_WDT
1568 tristate "SBC-60XX Watchdog Timer"
1569 depends on (X86 || COMPILE_TEST) && HAS_IOPORT
1570 help
1571 This driver can be used with the watchdog timer found on some
1572 single board computers, namely the 6010 PII based computer.
1573 It may well work with other cards. It reads port 0x443 to enable
1574 and re-set the watchdog timer, and reads port 0x45 to disable
1575 the watchdog. If you have a card that behave in similar ways,
1576 you can probably make this driver work with your card as well.
1577
1578 You can compile this driver directly into the kernel, or use
1579 it as a module. The module will be called sbc60xxwdt.
1580
1581config SBC8360_WDT
1582 tristate "SBC8360 Watchdog Timer"
1583 depends on X86_32 && HAS_IOPORT
1584 help
1585
1586 This is the driver for the hardware watchdog on the SBC8360 Single
1587 Board Computer produced by Axiomtek Co., Ltd. (www.axiomtek.com).
1588
1589 To compile this driver as a module, choose M here: the
1590 module will be called sbc8360.
1591
1592 Most people will say N.
1593
1594config SBC7240_WDT
1595 tristate "SBC Nano 7240 Watchdog Timer"
1596 depends on X86_32 && HAS_IOPORT
1597 help
1598 This is the driver for the hardware watchdog found on the IEI
1599 single board computers EPIC Nano 7240 (and likely others). This
1600 watchdog simply watches your kernel to make sure it doesn't freeze,
1601 and if it does, it reboots your computer after a certain amount of
1602 time.
1603
1604 To compile this driver as a module, choose M here: the
1605 module will be called sbc7240_wdt.
1606
1607config SMSC_SCH311X_WDT
1608 tristate "SMSC SCH311X Watchdog Timer"
1609 depends on (X86 || COMPILE_TEST) && HAS_IOPORT
1610 help
1611 This is the driver for the hardware watchdog timer on the
1612 SMSC SCH3112, SCH3114 and SCH3116 Super IO chipset
1613 (LPC IO with 8042 KBC, Reset Generation, HWM and multiple
1614 serial ports).
1615
1616 To compile this driver as a module, choose M here: the
1617 module will be called sch311x_wdt.
1618
1619config SMSC37B787_WDT
1620 tristate "Winbond SMsC37B787 Watchdog Timer"
1621 depends on (X86 || COMPILE_TEST) && HAS_IOPORT
1622 help
1623 This is the driver for the hardware watchdog component on the
1624 Winbond SMsC37B787 chipset as used on the NetRunner Mainboard
1625 from Vision Systems and maybe others.
1626
1627 This watchdog simply watches your kernel to make sure it doesn't
1628 freeze, and if it does, it reboots your computer after a certain
1629 amount of time.
1630
1631 Usually a userspace daemon will notify the kernel WDT driver that
1632 userspace is still alive, at regular intervals.
1633
1634 To compile this driver as a module, choose M here: the
1635 module will be called smsc37b787_wdt.
1636
1637 Most people will say N.
1638
1639config TQMX86_WDT
1640 tristate "TQ-Systems TQMX86 Watchdog Timer"
1641 depends on X86 || COMPILE_TEST
1642 select WATCHDOG_CORE
1643 help
1644 This is the driver for the hardware watchdog timer in the TQMX86 IO
1645 controller found on some of their ComExpress Modules.
1646
1647 To compile this driver as a module, choose M here; the module
1648 will be called tqmx86_wdt.
1649
1650 Most people will say N.
1651
1652config VIA_WDT
1653 tristate "VIA Watchdog Timer"
1654 depends on (X86 || COMPILE_TEST) && PCI
1655 select WATCHDOG_CORE
1656 help
1657 This is the driver for the hardware watchdog timer on VIA
1658 southbridge chipset CX700, VX800/VX820 or VX855/VX875.
1659
1660 To compile this driver as a module, choose M here; the module
1661 will be called via_wdt.
1662
1663 Most people will say N.
1664
1665config W83627HF_WDT
1666 tristate "Watchdog timer for W83627HF/W83627DHG and compatibles"
1667 depends on (X86 || COMPILE_TEST) && HAS_IOPORT
1668 select WATCHDOG_CORE
1669 help
1670 This is the driver for the hardware watchdog on the following
1671 Super I/O chips.
1672 W83627DHG/DHG-P/EHF/EHG/F/G/HF/S/SF/THF/UHG/UG
1673 W83637HF
1674 W83667HG/HG-B
1675 W83687THF
1676 W83697HF
1677 W83697UG
1678 NCT6775
1679 NCT6776
1680 NCT6779
1681 NCT6791
1682 NCT6792
1683 NCT6102D/04D/06D
1684 NCT6116D
1685
1686 This watchdog simply watches your kernel to make sure it doesn't
1687 freeze, and if it does, it reboots your computer after a certain
1688 amount of time.
1689
1690 To compile this driver as a module, choose M here: the
1691 module will be called w83627hf_wdt.
1692
1693 Most people will say N.
1694
1695config W83877F_WDT
1696 tristate "W83877F (EMACS) Watchdog Timer"
1697 depends on (X86 || COMPILE_TEST) && HAS_IOPORT
1698 help
1699 This is the driver for the hardware watchdog on the W83877F chipset
1700 as used in EMACS PC-104 motherboards (and likely others). This
1701 watchdog simply watches your kernel to make sure it doesn't freeze,
1702 and if it does, it reboots your computer after a certain amount of
1703 time.
1704
1705 To compile this driver as a module, choose M here: the
1706 module will be called w83877f_wdt.
1707
1708 Most people will say N.
1709
1710config W83977F_WDT
1711 tristate "W83977F (PCM-5335) Watchdog Timer"
1712 depends on (X86 || COMPILE_TEST) && HAS_IOPORT
1713 help
1714 This is the driver for the hardware watchdog on the W83977F I/O chip
1715 as used in AAEON's PCM-5335 SBC (and likely others). This
1716 watchdog simply watches your kernel to make sure it doesn't freeze,
1717 and if it does, it reboots your computer after a certain amount of
1718 time.
1719
1720 To compile this driver as a module, choose M here: the
1721 module will be called w83977f_wdt.
1722
1723config MACHZ_WDT
1724 tristate "ZF MachZ Watchdog"
1725 depends on (X86 || COMPILE_TEST) && HAS_IOPORT
1726 help
1727 If you are using a ZF Micro MachZ processor, say Y here, otherwise
1728 N. This is the driver for the watchdog timer built-in on that
1729 processor using ZF-Logic interface. This watchdog simply watches
1730 your kernel to make sure it doesn't freeze, and if it does, it
1731 reboots your computer after a certain amount of time.
1732
1733 To compile this driver as a module, choose M here: the
1734 module will be called machzwd.
1735
1736config SBC_EPX_C3_WATCHDOG
1737 tristate "Winsystems SBC EPX-C3 watchdog"
1738 depends on (X86 || COMPILE_TEST) && HAS_IOPORT
1739 help
1740 This is the driver for the built-in watchdog timer on the EPX-C3
1741 Single-board computer made by Winsystems, Inc.
1742
1743 *Note*: This hardware watchdog is not probeable and thus there
1744 is no way to know if writing to its IO address will corrupt
1745 your system or have any real effect. The only way to be sure
1746 that this driver does what you want is to make sure you
1747 are running it on an EPX-C3 from Winsystems with the watchdog
1748 timer at IO address 0x1ee and 0x1ef. It will write to both those
1749 IO ports. Basically, the assumption is made that if you compile
1750 this driver into your kernel and/or load it as a module, that you
1751 know what you are doing and that you are in fact running on an
1752 EPX-C3 board!
1753
1754 To compile this driver as a module, choose M here: the
1755 module will be called sbc_epx_c3.
1756
1757config INTEL_MEI_WDT
1758 tristate "Intel MEI iAMT Watchdog"
1759 depends on INTEL_MEI && X86
1760 select WATCHDOG_CORE
1761 help
1762 A device driver for the Intel MEI iAMT watchdog.
1763
1764 The Intel AMT Watchdog is an OS Health (Hang/Crash) watchdog.
1765 Whenever the OS hangs or crashes, iAMT will send an event
1766 to any subscriber to this event. The watchdog doesn't reset the
1767 the platform.
1768
1769 To compile this driver as a module, choose M here:
1770 the module will be called mei_wdt.
1771
1772config NI903X_WDT
1773 tristate "NI 903x/913x Watchdog"
1774 depends on X86 && ACPI
1775 select WATCHDOG_CORE
1776 help
1777 This is the driver for the watchdog timer on the National Instruments
1778 903x/913x real-time controllers.
1779
1780 To compile this driver as a module, choose M here: the module will be
1781 called ni903x_wdt.
1782
1783config NIC7018_WDT
1784 tristate "NIC7018 Watchdog"
1785 depends on HAS_IOPORT
1786 depends on ACPI || COMPILE_TEST
1787 select WATCHDOG_CORE
1788 help
1789 Support for National Instruments NIC7018 Watchdog.
1790
1791 To compile this driver as a module, choose M here: the module will be
1792 called nic7018_wdt.
1793
1794config SIEMENS_SIMATIC_IPC_WDT
1795 tristate "Siemens Simatic IPC Watchdog"
1796 depends on SIEMENS_SIMATIC_IPC && PCI
1797 default y
1798 select WATCHDOG_CORE
1799 select P2SB if X86
1800 help
1801 This driver adds support for several watchdogs found in Industrial
1802 PCs from Siemens.
1803
1804 To compile this driver as a module, choose M here: the module will be
1805 called simatic-ipc-wdt.
1806
1807# M68K Architecture
1808
1809config M54xx_WATCHDOG
1810 tristate "MCF54xx watchdog support"
1811 depends on M548x
1812 help
1813 To compile this driver as a module, choose M here: the
1814 module will be called m54xx_wdt.
1815
1816# MicroBlaze Architecture
1817
1818# MIPS Architecture
1819
1820config ATH79_WDT
1821 tristate "Atheros AR71XX/AR724X/AR913X hardware watchdog"
1822 depends on ATH79 || (ARM && COMPILE_TEST)
1823 help
1824 Hardware driver for the built-in watchdog timer on the Atheros
1825 AR71XX/AR724X/AR913X SoCs.
1826
1827config BCM47XX_WDT
1828 tristate "Broadcom BCM47xx Watchdog Timer"
1829 depends on BCM47XX || ARCH_BCM_5301X || COMPILE_TEST
1830 select WATCHDOG_CORE
1831 help
1832 Hardware driver for the Broadcom BCM47xx Watchdog Timer.
1833
1834config RC32434_WDT
1835 tristate "IDT RC32434 SoC Watchdog Timer"
1836 depends on MIKROTIK_RB532
1837 help
1838 Hardware driver for the IDT RC32434 SoC built-in
1839 watchdog timer.
1840
1841 To compile this driver as a module, choose M here: the
1842 module will be called rc32434_wdt.
1843
1844config INDYDOG
1845 tristate "Indy/I2 Hardware Watchdog"
1846 depends on SGI_HAS_INDYDOG
1847 help
1848 Hardware driver for the Indy's/I2's watchdog. This is a
1849 watchdog timer that will reboot the machine after a 60 second
1850 timer expired and no process has written to /dev/watchdog during
1851 that time.
1852
1853config JZ4740_WDT
1854 tristate "Ingenic jz4740 SoC hardware watchdog"
1855 depends on MIPS || COMPILE_TEST
1856 depends on COMMON_CLK
1857 select WATCHDOG_CORE
1858 select MFD_SYSCON
1859 help
1860 Hardware driver for the built-in watchdog timer on Ingenic jz4740 SoCs.
1861
1862config WDT_MTX1
1863 tristate "MTX-1 Hardware Watchdog"
1864 depends on MIPS_MTX1 || (MIPS && COMPILE_TEST)
1865 help
1866 Hardware driver for the MTX-1 boards. This is a watchdog timer that
1867 will reboot the machine after a 100 seconds timer expired.
1868
1869config SIBYTE_WDOG
1870 tristate "Sibyte SoC hardware watchdog"
1871 depends on CPU_SB1
1872 help
1873 Watchdog driver for the built in watchdog hardware in Sibyte
1874 SoC processors. There are apparently two watchdog timers
1875 on such processors; this driver supports only the first one,
1876 because currently Linux only supports exporting one watchdog
1877 to userspace.
1878
1879 To compile this driver as a loadable module, choose M here.
1880 The module will be called sb_wdog.
1881
1882config TXX9_WDT
1883 tristate "Toshiba TXx9 Watchdog Timer"
1884 depends on CPU_TX49XX || (MIPS && COMPILE_TEST)
1885 select WATCHDOG_CORE
1886 help
1887 Hardware driver for the built-in watchdog timer on TXx9 MIPS SoCs.
1888
1889config OCTEON_WDT
1890 tristate "Cavium OCTEON SOC family Watchdog Timer"
1891 depends on CAVIUM_OCTEON_SOC
1892 default y
1893 select WATCHDOG_CORE
1894 select EXPORT_UASM if OCTEON_WDT = m
1895 help
1896 Hardware driver for OCTEON's on chip watchdog timer.
1897 Enables the watchdog for all cores running Linux. It
1898 installs a NMI handler and pokes the watchdog based on an
1899 interrupt. On first expiration of the watchdog, the
1900 interrupt handler pokes it. The second expiration causes an
1901 NMI that prints a message. The third expiration causes a
1902 global soft reset.
1903
1904 When userspace has /dev/watchdog open, no poking is done
1905 from the first interrupt, it is then only poked when the
1906 device is written.
1907
1908config MARVELL_GTI_WDT
1909 tristate "Marvell GTI Watchdog driver"
1910 depends on ARCH_THUNDER || (COMPILE_TEST && 64BIT)
1911 default ARCH_THUNDER
1912 select WATCHDOG_CORE
1913 help
1914 Marvell GTI hardware supports watchdog timer. First timeout
1915 works as watchdog pretimeout and installed interrupt handler
1916 will be called on first timeout. Hardware can generate interrupt
1917 to SCP on second timeout but it is not enabled, so second
1918 timeout is ignored. If device poke does not happen then system
1919 will reboot on third timeout.
1920
1921config BCM2835_WDT
1922 tristate "Broadcom BCM2835 hardware watchdog"
1923 depends on ARCH_BCM2835 || (OF && COMPILE_TEST)
1924 select WATCHDOG_CORE
1925 help
1926 Watchdog driver for the built in watchdog hardware in Broadcom
1927 BCM2835 SoC.
1928
1929 To compile this driver as a loadable module, choose M here.
1930 The module will be called bcm2835_wdt.
1931
1932config BCM_KONA_WDT
1933 tristate "BCM Kona Watchdog"
1934 depends on ARCH_BCM_MOBILE || COMPILE_TEST
1935 select WATCHDOG_CORE
1936 help
1937 Support for the watchdog timer on the following Broadcom BCM281xx
1938 family, which includes BCM11130, BCM11140, BCM11351, BCM28145 and
1939 BCM28155 variants.
1940
1941 Say 'Y' or 'M' here to enable the driver. The module will be called
1942 bcm_kona_wdt.
1943
1944config BCM_KONA_WDT_DEBUG
1945 bool "DEBUGFS support for BCM Kona Watchdog"
1946 depends on BCM_KONA_WDT || COMPILE_TEST
1947 help
1948 If enabled, adds /sys/kernel/debug/bcm_kona_wdt/info which provides
1949 access to the driver's internal data structures as well as watchdog
1950 timer hardware registres.
1951
1952 If in doubt, say 'N'.
1953
1954config BCM7038_WDT
1955 tristate "BCM63xx/BCM7038 Watchdog"
1956 select WATCHDOG_CORE
1957 depends on HAS_IOMEM
1958 depends on ARCH_BCMBCA || ARCH_BRCMSTB || BMIPS_GENERIC || BCM63XX || COMPILE_TEST
1959 help
1960 Watchdog driver for the built-in hardware in Broadcom 7038 and
1961 later SoCs used in set-top boxes. BCM7038 was made public
1962 during the 2004 CES, and since then, many Broadcom chips use this
1963 watchdog block, including some cable modem chips and DSL (63xx)
1964 chips.
1965
1966config IMGPDC_WDT
1967 tristate "Imagination Technologies PDC Watchdog Timer"
1968 depends on HAS_IOMEM
1969 depends on MIPS || COMPILE_TEST
1970 select WATCHDOG_CORE
1971 help
1972 Driver for Imagination Technologies PowerDown Controller
1973 Watchdog Timer.
1974
1975 To compile this driver as a loadable module, choose M here.
1976 The module will be called imgpdc_wdt.
1977
1978config LANTIQ_WDT
1979 tristate "Lantiq SoC watchdog"
1980 depends on LANTIQ
1981 select WATCHDOG_CORE
1982 help
1983 Hardware driver for the Lantiq SoC Watchdog Timer.
1984
1985config LOONGSON1_WDT
1986 tristate "Loongson1 SoC hardware watchdog"
1987 depends on MACH_LOONGSON32 || MACH_LOONGSON64 || COMPILE_TEST
1988 select WATCHDOG_CORE
1989 help
1990 Hardware driver for the Loongson family Watchdog Timer.
1991
1992config RALINK_WDT
1993 tristate "Ralink SoC watchdog"
1994 select WATCHDOG_CORE
1995 depends on RALINK
1996 help
1997 Hardware driver for the Ralink SoC Watchdog Timer.
1998
1999config GXP_WATCHDOG
2000 tristate "HPE GXP watchdog support"
2001 depends on ARCH_HPE_GXP || COMPILE_TEST
2002 select WATCHDOG_CORE
2003 help
2004 Say Y here to include support for the watchdog timer
2005 in HPE GXP SoCs.
2006
2007 To compile this driver as a module, choose M here.
2008 The module will be called gxp-wdt.
2009
2010config MT7621_WDT
2011 tristate "Mediatek SoC watchdog"
2012 select WATCHDOG_CORE
2013 select REGMAP_MMIO
2014 select MFD_SYSCON
2015 depends on SOC_MT7620 || SOC_MT7621 || COMPILE_TEST
2016 help
2017 Hardware driver for the Mediatek/Ralink MT7621/8 SoC Watchdog Timer.
2018
2019config PIC32_WDT
2020 tristate "Microchip PIC32 hardware watchdog"
2021 select WATCHDOG_CORE
2022 depends on MACH_PIC32 || (MIPS && COMPILE_TEST)
2023 help
2024 Watchdog driver for the built in watchdog hardware in a PIC32.
2025
2026 Configuration bits must be set appropriately for the watchdog to be
2027 controlled by this driver.
2028
2029 To compile this driver as a loadable module, choose M here.
2030 The module will be called pic32-wdt.
2031
2032config PIC32_DMT
2033 tristate "Microchip PIC32 Deadman Timer"
2034 select WATCHDOG_CORE
2035 depends on MACH_PIC32 || (MIPS && COMPILE_TEST)
2036 help
2037 Watchdog driver for PIC32 instruction fetch counting timer. This
2038 specific timer is typically be used in mission critical and safety
2039 critical applications, where any single failure of the software
2040 functionality and sequencing must be detected.
2041
2042 To compile this driver as a loadable module, choose M here.
2043 The module will be called pic32-dmt.
2044
2045# PARISC Architecture
2046
2047# POWERPC Architecture
2048
2049config GEF_WDT
2050 tristate "GE Watchdog Timer"
2051 depends on GE_FPGA
2052 help
2053 Watchdog timer found in a number of GE single board computers.
2054
2055config MPC5200_WDT
2056 bool "MPC52xx Watchdog Timer"
2057 depends on PPC_MPC52xx || COMPILE_TEST
2058 help
2059 Use General Purpose Timer (GPT) 0 on the MPC5200 as Watchdog.
2060
2061config 8xxx_WDT
2062 tristate "MPC8xxx Platform Watchdog Timer"
2063 depends on PPC_8xx || PPC_83xx || PPC_86xx || PPC_MPC512x
2064 select WATCHDOG_CORE
2065 help
2066 This driver is for a SoC level watchdog that exists on some
2067 Freescale PowerPC processors. So far this driver supports:
2068 - MPC8xx watchdogs
2069 - MPC83xx watchdogs
2070 - MPC86xx watchdogs
2071
2072 For BookE processors (MPC85xx) use the BOOKE_WDT driver instead.
2073
2074config PIKA_WDT
2075 tristate "PIKA FPGA Watchdog"
2076 depends on WARP || (PPC64 && COMPILE_TEST)
2077 default WARP
2078 help
2079 This enables the watchdog in the PIKA FPGA. Currently used on
2080 the Warp platform.
2081
2082config BOOKE_WDT
2083 tristate "PowerPC Book-E Watchdog Timer"
2084 depends on BOOKE || 4xx
2085 select WATCHDOG_CORE
2086 help
2087 Watchdog driver for PowerPC Book-E chips, such as the Freescale
2088 MPC85xx SOCs and the IBM PowerPC 440.
2089
2090 Please see Documentation/watchdog/watchdog-api.rst for
2091 more information.
2092
2093config BOOKE_WDT_DEFAULT_TIMEOUT
2094 int "PowerPC Book-E Watchdog Timer Default Timeout"
2095 depends on BOOKE_WDT
2096 default 38 if PPC_E500
2097 range 0 63 if PPC_E500
2098 default 3 if !PPC_E500
2099 range 0 3 if !PPC_E500
2100 help
2101 Select the default watchdog timer period to be used by the PowerPC
2102 Book-E watchdog driver. A watchdog "event" occurs when the bit
2103 position represented by this number transitions from zero to one.
2104
2105 For Freescale Book-E processors, this is a number between 0 and 63.
2106 For other Book-E processors, this is a number between 0 and 3.
2107
2108 The value can be overridden by the wdt_period command-line parameter.
2109
2110config MEN_A21_WDT
2111 tristate "MEN A21 VME CPU Carrier Board Watchdog Timer"
2112 select WATCHDOG_CORE
2113 depends on GPIOLIB || COMPILE_TEST
2114 help
2115 Watchdog driver for MEN A21 VMEbus CPU Carrier Boards.
2116
2117 The driver can also be built as a module. If so, the module will be
2118 called mena21_wdt.
2119
2120 If unsure select N here.
2121
2122# PPC64 Architecture
2123
2124config PSERIES_WDT
2125 tristate "POWER Architecture Platform Watchdog Timer"
2126 depends on PPC_PSERIES
2127 select WATCHDOG_CORE
2128 help
2129 Driver for virtual watchdog timers provided by PAPR
2130 hypervisors (e.g. PowerVM, KVM).
2131
2132config WATCHDOG_RTAS
2133 tristate "RTAS watchdog"
2134 depends on PPC_RTAS
2135 help
2136 This driver adds watchdog support for the RTAS watchdog.
2137
2138 To compile this driver as a module, choose M here. The module
2139 will be called wdrtas.
2140
2141# RISC-V Architecture
2142
2143config STARFIVE_WATCHDOG
2144 tristate "StarFive Watchdog support"
2145 depends on ARCH_STARFIVE || COMPILE_TEST
2146 select WATCHDOG_CORE
2147 default ARCH_STARFIVE
2148 help
2149 Say Y here to support the watchdog of StarFive JH7100 and JH7110
2150 SoC. This driver can also be built as a module if choose M.
2151
2152# S390 Architecture
2153
2154config DIAG288_WATCHDOG
2155 tristate "System z diag288 Watchdog"
2156 depends on S390
2157 select WATCHDOG_CORE
2158 help
2159 IBM s/390 and zSeries machines running under z/VM 5.1 or later
2160 provide a virtual watchdog timer to their guest that cause a
2161 user define Control Program command to be executed after a
2162 timeout.
2163 LPAR provides a very similar interface. This driver handles
2164 both.
2165
2166 To compile this driver as a module, choose M here. The module
2167 will be called diag288_wdt.
2168
2169# SUPERH (sh + sh64) Architecture
2170
2171config SH_WDT
2172 tristate "SuperH Watchdog"
2173 depends on SUPERH && (CPU_SH3 || CPU_SH4 || COMPILE_TEST)
2174 select WATCHDOG_CORE
2175 help
2176 This driver adds watchdog support for the integrated watchdog in the
2177 SuperH processors. If you have one of these processors and wish
2178 to have watchdog support enabled, say Y, otherwise say N.
2179
2180 As a side note, saying Y here will automatically boost HZ to 1000
2181 so that the timer has a chance to clear the overflow counter. On
2182 slower systems (such as the SH-2 and SH-3) this will likely yield
2183 some performance issues. As such, the WDT should be avoided here
2184 unless it is absolutely necessary.
2185
2186 To compile this driver as a module, choose M here: the
2187 module will be called shwdt.
2188
2189# SPARC Architecture
2190
2191# SPARC64 Architecture
2192
2193config WATCHDOG_CP1XXX
2194 tristate "CP1XXX Hardware Watchdog support"
2195 depends on SPARC64 && PCI
2196 help
2197 This is the driver for the hardware watchdog timers present on
2198 Sun Microsystems CompactPCI models CP1400 and CP1500.
2199
2200 To compile this driver as a module, choose M here: the
2201 module will be called cpwatchdog.
2202
2203 If you do not have a CompactPCI model CP1400 or CP1500, or
2204 another UltraSPARC-IIi-cEngine boardset with hardware watchdog,
2205 you should say N to this option.
2206
2207config WATCHDOG_RIO
2208 tristate "RIO Hardware Watchdog support"
2209 depends on SPARC64 && PCI
2210 help
2211 Say Y here to support the hardware watchdog capability on Sun RIO
2212 machines. The watchdog timeout period is normally one minute but
2213 can be changed with a boot-time parameter.
2214
2215config WATCHDOG_SUN4V
2216 tristate "Sun4v Watchdog support"
2217 select WATCHDOG_CORE
2218 depends on SPARC64
2219 help
2220 Say Y here to support the hypervisor watchdog capability embedded
2221 in the SPARC sun4v architecture.
2222
2223 To compile this driver as a module, choose M here. The module will
2224 be called sun4v_wdt.
2225
2226# XTENSA Architecture
2227
2228# Xen Architecture
2229
2230config XEN_WDT
2231 tristate "Xen Watchdog support"
2232 depends on XEN
2233 select WATCHDOG_CORE
2234 help
2235 Say Y here to support the hypervisor watchdog capability provided
2236 by Xen 4.0 and newer. The watchdog timeout period is normally one
2237 minute but can be changed with a boot-time parameter.
2238
2239config UML_WATCHDOG
2240 tristate "UML watchdog"
2241 depends on UML || COMPILE_TEST
2242
2243#
2244# ISA-based Watchdog Cards
2245#
2246
2247comment "ISA-based Watchdog Cards"
2248 depends on ISA
2249
2250config PCWATCHDOG
2251 tristate "Berkshire Products ISA-PC Watchdog"
2252 depends on ISA
2253 help
2254 This is the driver for the Berkshire Products ISA-PC Watchdog card.
2255 This card simply watches your kernel to make sure it doesn't freeze,
2256 and if it does, it reboots your computer after a certain amount of
2257 time. This driver is like the WDT501 driver but for different
2258 hardware. Please read <file:Documentation/watchdog/pcwd-watchdog.rst>.
2259 The PC watchdog cards can be ordered from <http://www.berkprod.com/>.
2260
2261 To compile this driver as a module, choose M here: the
2262 module will be called pcwd.
2263
2264 Most people will say N.
2265
2266config MIXCOMWD
2267 tristate "Mixcom Watchdog"
2268 depends on ISA
2269 help
2270 This is a driver for the Mixcom hardware watchdog cards. This
2271 watchdog simply watches your kernel to make sure it doesn't freeze,
2272 and if it does, it reboots your computer after a certain amount of
2273 time.
2274
2275 To compile this driver as a module, choose M here: the
2276 module will be called mixcomwd.
2277
2278 Most people will say N.
2279
2280config WDT
2281 tristate "WDT Watchdog timer"
2282 depends on ISA
2283 help
2284 If you have a WDT500P or WDT501P watchdog board, say Y here,
2285 otherwise N. It is not possible to probe for this board, which means
2286 that you have to inform the kernel about the IO port and IRQ that
2287 is needed (you can do this via the io and irq parameters)
2288
2289 To compile this driver as a module, choose M here: the
2290 module will be called wdt.
2291
2292#
2293# PCI-based Watchdog Cards
2294#
2295
2296comment "PCI-based Watchdog Cards"
2297 depends on PCI
2298
2299config PCIPCWATCHDOG
2300 tristate "Berkshire Products PCI-PC Watchdog"
2301 depends on PCI && HAS_IOPORT
2302 help
2303 This is the driver for the Berkshire Products PCI-PC Watchdog card.
2304 This card simply watches your kernel to make sure it doesn't freeze,
2305 and if it does, it reboots your computer after a certain amount of
2306 time. The card can also monitor the internal temperature of the PC.
2307 More info is available at <http://www.berkprod.com/pci_pc_watchdog.htm>.
2308
2309 To compile this driver as a module, choose M here: the
2310 module will be called pcwd_pci.
2311
2312 Most people will say N.
2313
2314config WDTPCI
2315 tristate "PCI-WDT500/501 Watchdog timer"
2316 depends on PCI && HAS_IOPORT
2317 help
2318 If you have a PCI-WDT500/501 watchdog board, say Y here, otherwise N.
2319
2320 If you have a PCI-WDT501 watchdog board then you can enable the
2321 temperature sensor by setting the type parameter to 501.
2322
2323 If you want to enable the Fan Tachometer on the PCI-WDT501, then you
2324 can do this via the tachometer parameter. Only do this if you have a
2325 fan tachometer actually set up.
2326
2327 To compile this driver as a module, choose M here: the
2328 module will be called wdt_pci.
2329
2330#
2331# USB-based Watchdog Cards
2332#
2333
2334comment "USB-based Watchdog Cards"
2335 depends on USB
2336
2337config USBPCWATCHDOG
2338 tristate "Berkshire Products USB-PC Watchdog"
2339 depends on USB
2340 help
2341 This is the driver for the Berkshire Products USB-PC Watchdog card.
2342 This card simply watches your kernel to make sure it doesn't freeze,
2343 and if it does, it reboots your computer after a certain amount of
2344 time. The card can also monitor the internal temperature of the PC.
2345 More info is available at <http://www.berkprod.com/usb_pc_watchdog.htm>.
2346
2347 To compile this driver as a module, choose M here: the
2348 module will be called pcwd_usb.
2349
2350 Most people will say N.
2351
2352config KEEMBAY_WATCHDOG
2353 tristate "Intel Keem Bay SoC non-secure watchdog"
2354 depends on ARCH_KEEMBAY || (ARM64 && COMPILE_TEST)
2355 select WATCHDOG_CORE
2356 help
2357 This option enable support for an In-secure watchdog timer driver for
2358 Intel Keem Bay SoC. This WDT has a 32 bit timer and decrements in every
2359 count unit. An interrupt will be triggered, when the count crosses
2360 the threshold configured in the register.
2361
2362 To compile this driver as a module, choose M here: the
2363 module will be called keembay_wdt.
2364
2365endif # WATCHDOG