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