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