Merge tag 'printk-for-5.10-fixup' of git://git.kernel.org/pub/scm/linux/kernel/git...
[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 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 # X86 (i386 + ia64 + x86_64) Architecture
1019
1020 config ACQUIRE_WDT
1021         tristate "Acquire SBC Watchdog Timer"
1022         depends on X86
1023         help
1024           This is the driver for the hardware watchdog on Single Board
1025           Computers produced by Acquire Inc (and others). This watchdog
1026           simply watches your kernel to make sure it doesn't freeze, and if
1027           it does, it reboots your computer after a certain amount of time.
1028
1029           To compile this driver as a module, choose M here: the
1030           module will be called acquirewdt.
1031
1032           Most people will say N.
1033
1034 config ADVANTECH_WDT
1035         tristate "Advantech SBC Watchdog Timer"
1036         depends on X86
1037         help
1038           If you are configuring a Linux kernel for the Advantech single-board
1039           computer, say `Y' here to support its built-in watchdog timer
1040           feature. More information can be found at
1041           <https://www.advantech.com.tw/products/>
1042
1043 config ALIM1535_WDT
1044         tristate "ALi M1535 PMU Watchdog Timer"
1045         depends on X86 && PCI
1046         help
1047           This is the driver for the hardware watchdog on the ALi M1535 PMU.
1048
1049           To compile this driver as a module, choose M here: the
1050           module will be called alim1535_wdt.
1051
1052           Most people will say N.
1053
1054 config ALIM7101_WDT
1055         tristate "ALi M7101 PMU Computer Watchdog"
1056         depends on PCI
1057         help
1058           This is the driver for the hardware watchdog on the ALi M7101 PMU
1059           as used in the x86 Cobalt servers and also found in some
1060           SPARC Netra servers too.
1061
1062           To compile this driver as a module, choose M here: the
1063           module will be called alim7101_wdt.
1064
1065           Most people will say N.
1066
1067 config EBC_C384_WDT
1068         tristate "WinSystems EBC-C384 Watchdog Timer"
1069         depends on X86
1070         select ISA_BUS_API
1071         select WATCHDOG_CORE
1072         help
1073           Enables watchdog timer support for the watchdog timer on the
1074           WinSystems EBC-C384 motherboard. The timeout may be configured via
1075           the timeout module parameter.
1076
1077 config F71808E_WDT
1078         tristate "Fintek F718xx, F818xx Super I/O Watchdog"
1079         depends on X86
1080         help
1081           This is the driver for the hardware watchdog on the Fintek F71808E,
1082           F71862FG, F71868, F71869, F71882FG, F71889FG, F81803, F81865, and
1083           F81866 Super I/O controllers.
1084
1085           You can compile this driver directly into the kernel, or use
1086           it as a module.  The module will be called f71808e_wdt.
1087
1088 config SP5100_TCO
1089         tristate "AMD/ATI SP5100 TCO Timer/Watchdog"
1090         depends on X86 && PCI
1091         select WATCHDOG_CORE
1092         help
1093           Hardware watchdog driver for the AMD/ATI SP5100 chipset. The TCO
1094           (Total Cost of Ownership) timer is a watchdog timer that will reboot
1095           the machine after its expiration. The expiration time can be
1096           configured with the "heartbeat" parameter.
1097
1098           To compile this driver as a module, choose M here: the
1099           module will be called sp5100_tco.
1100
1101 config GEODE_WDT
1102         tristate "AMD Geode CS5535/CS5536 Watchdog"
1103         depends on CS5535_MFGPT
1104         help
1105           This driver enables a watchdog capability built into the
1106           CS5535/CS5536 companion chips for the AMD Geode GX and LX
1107           processors.  This watchdog watches your kernel to make sure
1108           it doesn't freeze, and if it does, it reboots your computer after
1109           a certain amount of time.
1110
1111           You can compile this driver directly into the kernel, or use
1112           it as a module.  The module will be called geodewdt.
1113
1114 config SC520_WDT
1115         tristate "AMD Elan SC520 processor Watchdog"
1116         depends on MELAN || COMPILE_TEST
1117         help
1118           This is the driver for the hardware watchdog built in to the
1119           AMD "Elan" SC520 microcomputer commonly used in embedded systems.
1120           This watchdog simply watches your kernel to make sure it doesn't
1121           freeze, and if it does, it reboots your computer after a certain
1122           amount of time.
1123
1124           You can compile this driver directly into the kernel, or use
1125           it as a module.  The module will be called sc520_wdt.
1126
1127 config SBC_FITPC2_WATCHDOG
1128         tristate "Compulab SBC-FITPC2 watchdog"
1129         depends on X86
1130         help
1131           This is the driver for the built-in watchdog timer on the fit-PC2,
1132           fit-PC2i, CM-iAM single-board computers made by Compulab.
1133
1134           It`s possible to enable watchdog timer either from BIOS (F2) or from booted Linux.
1135           When "Watchdog Timer Value" enabled one can set 31-255 s operational range.
1136
1137           Entering BIOS setup temporary disables watchdog operation regardless to current state,
1138           so system will not be restarted while user in BIOS setup.
1139
1140           Once watchdog was enabled the system will be restarted every
1141           "Watchdog Timer Value" period, so to prevent it user can restart or
1142           disable the watchdog.
1143
1144           To compile this driver as a module, choose M here: the
1145           module will be called sbc_fitpc2_wdt.
1146
1147           Most people will say N.
1148
1149 config EUROTECH_WDT
1150         tristate "Eurotech CPU-1220/1410 Watchdog Timer"
1151         depends on X86
1152         help
1153           Enable support for the watchdog timer on the Eurotech CPU-1220 and
1154           CPU-1410 cards.  These are PC/104 SBCs. Spec sheets and product
1155           information are at <http://www.eurotech.it/>.
1156
1157 config IB700_WDT
1158         tristate "IB700 SBC Watchdog Timer"
1159         depends on X86
1160         help
1161           This is the driver for the hardware watchdog on the IB700 Single
1162           Board Computer produced by TMC Technology (www.tmc-uk.com). This watchdog
1163           simply watches your kernel to make sure it doesn't freeze, and if
1164           it does, it reboots your computer after a certain amount of time.
1165
1166           This driver is like the WDT501 driver but for slightly different hardware.
1167
1168           To compile this driver as a module, choose M here: the
1169           module will be called ib700wdt.
1170
1171           Most people will say N.
1172
1173 config IBMASR
1174         tristate "IBM Automatic Server Restart"
1175         depends on X86
1176         help
1177           This is the driver for the IBM Automatic Server Restart watchdog
1178           timer built-in into some eServer xSeries machines.
1179
1180           To compile this driver as a module, choose M here: the
1181           module will be called ibmasr.
1182
1183 config WAFER_WDT
1184         tristate "ICP Single Board Computer Watchdog Timer"
1185         depends on X86
1186         help
1187           This is a driver for the hardware watchdog on the ICP Single
1188           Board Computer. This driver is working on (at least) the following
1189           IPC SBC's: Wafer 5823, Rocky 4783, Rocky 3703 and Rocky 3782.
1190
1191           To compile this driver as a module, choose M here: the
1192           module will be called wafer5823wdt.
1193
1194 config I6300ESB_WDT
1195         tristate "Intel 6300ESB Timer/Watchdog"
1196         depends on PCI
1197         select WATCHDOG_CORE
1198         help
1199           Hardware driver for the watchdog timer built into the Intel
1200           6300ESB controller hub.
1201
1202           To compile this driver as a module, choose M here: the
1203           module will be called i6300esb.
1204
1205 config IE6XX_WDT
1206         tristate "Intel Atom E6xx Watchdog"
1207         depends on X86 && PCI
1208         select WATCHDOG_CORE
1209         select MFD_CORE
1210         select LPC_SCH
1211         help
1212           Hardware driver for the watchdog timer built into the Intel
1213           Atom E6XX (TunnelCreek) processor.
1214
1215           To compile this driver as a module, choose M here: the
1216           module will be called ie6xx_wdt.
1217
1218 config INTEL_SCU_WATCHDOG
1219         bool "Intel SCU Watchdog for Mobile Platforms"
1220         depends on X86_INTEL_MID
1221         help
1222           Hardware driver for the watchdog time built into the Intel SCU
1223           for Intel Mobile Platforms.
1224
1225           To compile this driver as a module, choose M here.
1226
1227 config INTEL_MID_WATCHDOG
1228         tristate "Intel MID Watchdog Timer"
1229         depends on X86_INTEL_MID
1230         select WATCHDOG_CORE
1231         help
1232           Watchdog timer driver built into the Intel SCU for Intel MID
1233           Platforms.
1234
1235           This driver currently supports only the watchdog evolution
1236           implementation in SCU, available for Merrifield generation.
1237
1238           To compile this driver as a module, choose M here.
1239
1240 config ITCO_WDT
1241         tristate "Intel TCO Timer/Watchdog"
1242         depends on (X86 || IA64) && PCI
1243         select WATCHDOG_CORE
1244         depends on I2C || I2C=n
1245         depends on MFD_INTEL_PMC_BXT || !MFD_INTEL_PMC_BXT
1246         select LPC_ICH if !EXPERT
1247         select I2C_I801 if !EXPERT && I2C
1248         help
1249           Hardware driver for the intel TCO timer based watchdog devices.
1250           These drivers are included in the Intel 82801 I/O Controller
1251           Hub family (from ICH0 up to ICH10) and in the Intel 63xxESB
1252           controller hub.
1253
1254           The TCO (Total Cost of Ownership) timer is a watchdog timer
1255           that will reboot the machine after its second expiration. The
1256           expiration time can be configured with the "heartbeat" parameter.
1257
1258           On some motherboards the driver may fail to reset the chipset's
1259           NO_REBOOT flag which prevents the watchdog from rebooting the
1260           machine. If this is the case you will get a kernel message like
1261           "failed to reset NO_REBOOT flag, reboot disabled by hardware".
1262
1263           To compile this driver as a module, choose M here: the
1264           module will be called iTCO_wdt.
1265
1266 config ITCO_VENDOR_SUPPORT
1267         bool "Intel TCO Timer/Watchdog Specific Vendor Support"
1268         depends on ITCO_WDT
1269         help
1270           Add vendor specific support to the intel TCO timer based watchdog
1271           devices. At this moment we only have additional support for some
1272           SuperMicro Inc. motherboards.
1273
1274 config IT8712F_WDT
1275         tristate "IT8712F (Smart Guardian) Watchdog Timer"
1276         depends on X86
1277         help
1278           This is the driver for the built-in watchdog timer on the IT8712F
1279           Super I/0 chipset used on many motherboards.
1280
1281           If the driver does not work, then make sure that the game port in
1282           the BIOS is enabled.
1283
1284           To compile this driver as a module, choose M here: the
1285           module will be called it8712f_wdt.
1286
1287 config IT87_WDT
1288         tristate "IT87 Watchdog Timer"
1289         depends on X86
1290         select WATCHDOG_CORE
1291         help
1292           This is the driver for the hardware watchdog on the ITE IT8607,
1293           IT8620, IT8622, IT8625, IT8628, IT8655, IT8665, IT8686, IT8702,
1294           IT8712, IT8716, IT8718, IT8720, IT8721, IT8726, IT8728, and
1295           IT8783 Super I/O chips.
1296
1297           This watchdog simply watches your kernel to make sure it doesn't
1298           freeze, and if it does, it reboots your computer after a certain
1299           amount of time.
1300
1301           To compile this driver as a module, choose M here: the module will
1302           be called it87_wdt.
1303
1304 config HP_WATCHDOG
1305         tristate "HP ProLiant iLO2+ Hardware Watchdog Timer"
1306         select WATCHDOG_CORE
1307         depends on X86 && PCI
1308         help
1309           A software monitoring watchdog and NMI handling driver. This driver
1310           will detect lockups and provide a stack trace. This is a driver that
1311           will only load on an HP ProLiant system with a minimum of iLO2 support.
1312           To compile this driver as a module, choose M here: the module will be
1313           called hpwdt.
1314
1315 config HPWDT_NMI_DECODING
1316         bool "NMI support for the HP ProLiant iLO2+ Hardware Watchdog Timer"
1317         depends on HP_WATCHDOG
1318         default y
1319         help
1320           Enables the NMI handler for the watchdog pretimeout NMI and the iLO
1321           "Generate NMI to System" virtual button.  When an NMI is claimed
1322           by the driver, panic is called.
1323
1324 config KEMPLD_WDT
1325         tristate "Kontron COM Watchdog Timer"
1326         depends on MFD_KEMPLD
1327         select WATCHDOG_CORE
1328         help
1329           Support for the PLD watchdog on some Kontron ETX and COMexpress
1330           (ETXexpress) modules
1331
1332           This driver can also be built as a module. If so, the module will be
1333           called kempld_wdt.
1334
1335 config SC1200_WDT
1336         tristate "National Semiconductor PC87307/PC97307 (ala SC1200) Watchdog"
1337         depends on X86
1338         help
1339           This is a driver for National Semiconductor PC87307/PC97307 hardware
1340           watchdog cards as found on the SC1200. This watchdog is mainly used
1341           for power management purposes and can be used to power down the device
1342           during inactivity periods (includes interrupt activity monitoring).
1343
1344           To compile this driver as a module, choose M here: the
1345           module will be called sc1200wdt.
1346
1347           Most people will say N.
1348
1349 config SCx200_WDT
1350         tristate "National Semiconductor SCx200 Watchdog"
1351         depends on SCx200 && PCI
1352         help
1353           Enable the built-in watchdog timer support on the National
1354           Semiconductor SCx200 processors.
1355
1356           If compiled as a module, it will be called scx200_wdt.
1357
1358 config PC87413_WDT
1359         tristate "NS PC87413 watchdog"
1360         depends on X86
1361         help
1362           This is the driver for the hardware watchdog on the PC87413 chipset
1363           This watchdog simply watches your kernel to make sure it doesn't
1364           freeze, and if it does, it reboots your computer after a certain
1365           amount of time.
1366
1367           To compile this driver as a module, choose M here: the
1368           module will be called pc87413_wdt.
1369
1370           Most people will say N.
1371
1372 config NV_TCO
1373         tristate "nVidia TCO Timer/Watchdog"
1374         depends on X86 && PCI
1375         help
1376           Hardware driver for the TCO timer built into the nVidia Hub family
1377           (such as the MCP51).  The TCO (Total Cost of Ownership) timer is a
1378           watchdog timer that will reboot the machine after its second
1379           expiration. The expiration time can be configured with the
1380           "heartbeat" parameter.
1381
1382           On some motherboards the driver may fail to reset the chipset's
1383           NO_REBOOT flag which prevents the watchdog from rebooting the
1384           machine. If this is the case you will get a kernel message like
1385           "failed to reset NO_REBOOT flag, reboot disabled by hardware".
1386
1387           To compile this driver as a module, choose M here: the
1388           module will be called nv_tco.
1389
1390 config RDC321X_WDT
1391         tristate "RDC R-321x SoC watchdog"
1392         depends on X86_RDC321X || COMPILE_TEST
1393         depends on PCI
1394         help
1395           This is the driver for the built in hardware watchdog
1396           in the RDC R-321x SoC.
1397
1398           To compile this driver as a module, choose M here: the
1399           module will be called rdc321x_wdt.
1400
1401 config 60XX_WDT
1402         tristate "SBC-60XX Watchdog Timer"
1403         depends on X86
1404         help
1405           This driver can be used with the watchdog timer found on some
1406           single board computers, namely the 6010 PII based computer.
1407           It may well work with other cards.  It reads port 0x443 to enable
1408           and re-set the watchdog timer, and reads port 0x45 to disable
1409           the watchdog.  If you have a card that behave in similar ways,
1410           you can probably make this driver work with your card as well.
1411
1412           You can compile this driver directly into the kernel, or use
1413           it as a module.  The module will be called sbc60xxwdt.
1414
1415 config SBC8360_WDT
1416         tristate "SBC8360 Watchdog Timer"
1417         depends on X86_32
1418         help
1419
1420           This is the driver for the hardware watchdog on the SBC8360 Single
1421           Board Computer produced by Axiomtek Co., Ltd. (www.axiomtek.com).
1422
1423           To compile this driver as a module, choose M here: the
1424           module will be called sbc8360.
1425
1426           Most people will say N.
1427
1428 config SBC7240_WDT
1429         tristate "SBC Nano 7240 Watchdog Timer"
1430         depends on X86_32 && !UML
1431         help
1432           This is the driver for the hardware watchdog found on the IEI
1433           single board computers EPIC Nano 7240 (and likely others). This
1434           watchdog simply watches your kernel to make sure it doesn't freeze,
1435           and if it does, it reboots your computer after a certain amount of
1436           time.
1437
1438           To compile this driver as a module, choose M here: the
1439           module will be called sbc7240_wdt.
1440
1441 config CPU5_WDT
1442         tristate "SMA CPU5 Watchdog"
1443         depends on X86
1444         help
1445           TBD.
1446           To compile this driver as a module, choose M here: the
1447           module will be called cpu5wdt.
1448
1449 config SMSC_SCH311X_WDT
1450         tristate "SMSC SCH311X Watchdog Timer"
1451         depends on X86
1452         help
1453           This is the driver for the hardware watchdog timer on the
1454           SMSC SCH3112, SCH3114 and SCH3116 Super IO chipset
1455           (LPC IO with 8042 KBC, Reset Generation, HWM and multiple
1456           serial ports).
1457
1458           To compile this driver as a module, choose M here: the
1459           module will be called sch311x_wdt.
1460
1461 config SMSC37B787_WDT
1462         tristate "Winbond SMsC37B787 Watchdog Timer"
1463         depends on X86
1464         help
1465           This is the driver for the hardware watchdog component on the
1466           Winbond SMsC37B787 chipset as used on the NetRunner Mainboard
1467           from Vision Systems and maybe others.
1468
1469           This watchdog simply watches your kernel to make sure it doesn't
1470           freeze, and if it does, it reboots your computer after a certain
1471           amount of time.
1472
1473           Usually a userspace daemon will notify the kernel WDT driver that
1474           userspace is still alive, at regular intervals.
1475
1476           To compile this driver as a module, choose M here: the
1477           module will be called smsc37b787_wdt.
1478
1479           Most people will say N.
1480
1481 config TQMX86_WDT
1482         tristate "TQ-Systems TQMX86 Watchdog Timer"
1483         depends on X86
1484         select WATCHDOG_CORE
1485         help
1486         This is the driver for the hardware watchdog timer in the TQMX86 IO
1487         controller found on some of their ComExpress Modules.
1488
1489         To compile this driver as a module, choose M here; the module
1490         will be called tqmx86_wdt.
1491
1492         Most people will say N.
1493
1494 config VIA_WDT
1495         tristate "VIA Watchdog Timer"
1496         depends on X86 && PCI
1497         select WATCHDOG_CORE
1498         help
1499         This is the driver for the hardware watchdog timer on VIA
1500         southbridge chipset CX700, VX800/VX820 or VX855/VX875.
1501
1502         To compile this driver as a module, choose M here; the module
1503         will be called via_wdt.
1504
1505         Most people will say N.
1506
1507 config W83627HF_WDT
1508         tristate "Watchdog timer for W83627HF/W83627DHG and compatibles"
1509         depends on X86
1510         select WATCHDOG_CORE
1511         help
1512           This is the driver for the hardware watchdog on the following
1513           Super I/O chips.
1514                 W83627DHG/DHG-P/EHF/EHG/F/G/HF/S/SF/THF/UHG/UG
1515                 W83637HF
1516                 W83667HG/HG-B
1517                 W83687THF
1518                 W83697HF
1519                 W83697UG
1520                 NCT6775
1521                 NCT6776
1522                 NCT6779
1523                 NCT6791
1524                 NCT6792
1525                 NCT6102D/04D/06D
1526                 NCT6116D
1527
1528           This watchdog simply watches your kernel to make sure it doesn't
1529           freeze, and if it does, it reboots your computer after a certain
1530           amount of time.
1531
1532           To compile this driver as a module, choose M here: the
1533           module will be called w83627hf_wdt.
1534
1535           Most people will say N.
1536
1537 config W83877F_WDT
1538         tristate "W83877F (EMACS) Watchdog Timer"
1539         depends on X86
1540         help
1541           This is the driver for the hardware watchdog on the W83877F chipset
1542           as used in EMACS PC-104 motherboards (and likely others).  This
1543           watchdog simply watches your kernel to make sure it doesn't freeze,
1544           and if it does, it reboots your computer after a certain amount of
1545           time.
1546
1547           To compile this driver as a module, choose M here: the
1548           module will be called w83877f_wdt.
1549
1550           Most people will say N.
1551
1552 config W83977F_WDT
1553         tristate "W83977F (PCM-5335) Watchdog Timer"
1554         depends on X86
1555         help
1556           This is the driver for the hardware watchdog on the W83977F I/O chip
1557           as used in AAEON's PCM-5335 SBC (and likely others).  This
1558           watchdog simply watches your kernel to make sure it doesn't freeze,
1559           and if it does, it reboots your computer after a certain amount of
1560           time.
1561
1562           To compile this driver as a module, choose M here: the
1563           module will be called w83977f_wdt.
1564
1565 config MACHZ_WDT
1566         tristate "ZF MachZ Watchdog"
1567         depends on X86
1568         help
1569           If you are using a ZF Micro MachZ processor, say Y here, otherwise
1570           N.  This is the driver for the watchdog timer built-in on that
1571           processor using ZF-Logic interface.  This watchdog simply watches
1572           your kernel to make sure it doesn't freeze, and if it does, it
1573           reboots your computer after a certain amount of time.
1574
1575           To compile this driver as a module, choose M here: the
1576           module will be called machzwd.
1577
1578 config SBC_EPX_C3_WATCHDOG
1579         tristate "Winsystems SBC EPX-C3 watchdog"
1580         depends on X86
1581         help
1582           This is the driver for the built-in watchdog timer on the EPX-C3
1583           Single-board computer made by Winsystems, Inc.
1584
1585           *Note*: This hardware watchdog is not probeable and thus there
1586           is no way to know if writing to its IO address will corrupt
1587           your system or have any real effect.  The only way to be sure
1588           that this driver does what you want is to make sure you
1589           are running it on an EPX-C3 from Winsystems with the watchdog
1590           timer at IO address 0x1ee and 0x1ef.  It will write to both those
1591           IO ports.  Basically, the assumption is made that if you compile
1592           this driver into your kernel and/or load it as a module, that you
1593           know what you are doing and that you are in fact running on an
1594           EPX-C3 board!
1595
1596           To compile this driver as a module, choose M here: the
1597           module will be called sbc_epx_c3.
1598
1599 config INTEL_MEI_WDT
1600         tristate "Intel MEI iAMT Watchdog"
1601         depends on INTEL_MEI && X86
1602         select WATCHDOG_CORE
1603         help
1604           A device driver for the Intel MEI iAMT watchdog.
1605
1606           The Intel AMT Watchdog is an OS Health (Hang/Crash) watchdog.
1607           Whenever the OS hangs or crashes, iAMT will send an event
1608           to any subscriber to this event. The watchdog doesn't reset the
1609           the platform.
1610
1611           To compile this driver as a module, choose M here:
1612           the module will be called mei_wdt.
1613
1614 config NI903X_WDT
1615         tristate "NI 903x/913x Watchdog"
1616         depends on X86 && ACPI
1617         select WATCHDOG_CORE
1618         help
1619           This is the driver for the watchdog timer on the National Instruments
1620           903x/913x real-time controllers.
1621
1622           To compile this driver as a module, choose M here: the module will be
1623           called ni903x_wdt.
1624
1625 config NIC7018_WDT
1626         tristate "NIC7018 Watchdog"
1627         depends on X86 && ACPI
1628         select WATCHDOG_CORE
1629         help
1630           Support for National Instruments NIC7018 Watchdog.
1631
1632           To compile this driver as a module, choose M here: the module will be
1633           called nic7018_wdt.
1634
1635 # M68K Architecture
1636
1637 config M54xx_WATCHDOG
1638         tristate "MCF54xx watchdog support"
1639         depends on M548x
1640         help
1641           To compile this driver as a module, choose M here: the
1642           module will be called m54xx_wdt.
1643
1644 # MicroBlaze Architecture
1645
1646 # MIPS Architecture
1647
1648 config ATH79_WDT
1649         tristate "Atheros AR71XX/AR724X/AR913X hardware watchdog"
1650         depends on ATH79 || (ARM && COMPILE_TEST)
1651         help
1652           Hardware driver for the built-in watchdog timer on the Atheros
1653           AR71XX/AR724X/AR913X SoCs.
1654
1655 config BCM47XX_WDT
1656         tristate "Broadcom BCM47xx Watchdog Timer"
1657         depends on BCM47XX || ARCH_BCM_5301X || COMPILE_TEST
1658         select WATCHDOG_CORE
1659         help
1660           Hardware driver for the Broadcom BCM47xx Watchdog Timer.
1661
1662 config RC32434_WDT
1663         tristate "IDT RC32434 SoC Watchdog Timer"
1664         depends on MIKROTIK_RB532
1665         help
1666           Hardware driver for the IDT RC32434 SoC built-in
1667           watchdog timer.
1668
1669           To compile this driver as a module, choose M here: the
1670           module will be called rc32434_wdt.
1671
1672 config INDYDOG
1673         tristate "Indy/I2 Hardware Watchdog"
1674         depends on SGI_HAS_INDYDOG
1675         help
1676           Hardware driver for the Indy's/I2's watchdog. This is a
1677           watchdog timer that will reboot the machine after a 60 second
1678           timer expired and no process has written to /dev/watchdog during
1679           that time.
1680
1681 config JZ4740_WDT
1682         tristate "Ingenic jz4740 SoC hardware watchdog"
1683         depends on MIPS
1684         depends on COMMON_CLK
1685         select WATCHDOG_CORE
1686         select MFD_SYSCON
1687         help
1688           Hardware driver for the built-in watchdog timer on Ingenic jz4740 SoCs.
1689
1690 config WDT_MTX1
1691         tristate "MTX-1 Hardware Watchdog"
1692         depends on MIPS_MTX1 || (MIPS && COMPILE_TEST)
1693         help
1694           Hardware driver for the MTX-1 boards. This is a watchdog timer that
1695           will reboot the machine after a 100 seconds timer expired.
1696
1697 config PNX833X_WDT
1698         tristate "PNX833x Hardware Watchdog"
1699         depends on SOC_PNX8335
1700         depends on BROKEN
1701         help
1702           Hardware driver for the PNX833x's watchdog. This is a
1703           watchdog timer that will reboot the machine after a programmable
1704           timer has expired and no process has written to /dev/watchdog during
1705           that time.
1706
1707 config SIBYTE_WDOG
1708         tristate "Sibyte SoC hardware watchdog"
1709         depends on CPU_SB1 || (MIPS && COMPILE_TEST)
1710         help
1711           Watchdog driver for the built in watchdog hardware in Sibyte
1712           SoC processors.  There are apparently two watchdog timers
1713           on such processors; this driver supports only the first one,
1714           because currently Linux only supports exporting one watchdog
1715           to userspace.
1716
1717           To compile this driver as a loadable module, choose M here.
1718           The module will be called sb_wdog.
1719
1720 config AR7_WDT
1721         tristate "TI AR7 Watchdog Timer"
1722         depends on AR7 || (MIPS && COMPILE_TEST)
1723         help
1724           Hardware driver for the TI AR7 Watchdog Timer.
1725
1726 config TXX9_WDT
1727         tristate "Toshiba TXx9 Watchdog Timer"
1728         depends on CPU_TX39XX || CPU_TX49XX || (MIPS && COMPILE_TEST)
1729         select WATCHDOG_CORE
1730         help
1731           Hardware driver for the built-in watchdog timer on TXx9 MIPS SoCs.
1732
1733 config OCTEON_WDT
1734         tristate "Cavium OCTEON SOC family Watchdog Timer"
1735         depends on CAVIUM_OCTEON_SOC
1736         default y
1737         select WATCHDOG_CORE
1738         select EXPORT_UASM if OCTEON_WDT = m
1739         help
1740           Hardware driver for OCTEON's on chip watchdog timer.
1741           Enables the watchdog for all cores running Linux. It
1742           installs a NMI handler and pokes the watchdog based on an
1743           interrupt.  On first expiration of the watchdog, the
1744           interrupt handler pokes it.  The second expiration causes an
1745           NMI that prints a message. The third expiration causes a
1746           global soft reset.
1747
1748           When userspace has /dev/watchdog open, no poking is done
1749           from the first interrupt, it is then only poked when the
1750           device is written.
1751
1752 config BCM63XX_WDT
1753         tristate "Broadcom BCM63xx hardware watchdog"
1754         depends on BCM63XX
1755         help
1756           Watchdog driver for the built in watchdog hardware in Broadcom
1757           BCM63xx SoC.
1758
1759           To compile this driver as a loadable module, choose M here.
1760           The module will be called bcm63xx_wdt.
1761
1762 config BCM2835_WDT
1763         tristate "Broadcom BCM2835 hardware watchdog"
1764         depends on ARCH_BCM2835 || (OF && COMPILE_TEST)
1765         select WATCHDOG_CORE
1766         help
1767           Watchdog driver for the built in watchdog hardware in Broadcom
1768           BCM2835 SoC.
1769
1770           To compile this driver as a loadable module, choose M here.
1771           The module will be called bcm2835_wdt.
1772
1773 config BCM_KONA_WDT
1774         tristate "BCM Kona Watchdog"
1775         depends on ARCH_BCM_MOBILE || COMPILE_TEST
1776         select WATCHDOG_CORE
1777         help
1778           Support for the watchdog timer on the following Broadcom BCM281xx
1779           family, which includes BCM11130, BCM11140, BCM11351, BCM28145 and
1780           BCM28155 variants.
1781
1782           Say 'Y' or 'M' here to enable the driver. The module will be called
1783           bcm_kona_wdt.
1784
1785 config BCM_KONA_WDT_DEBUG
1786         bool "DEBUGFS support for BCM Kona Watchdog"
1787         depends on BCM_KONA_WDT
1788         help
1789           If enabled, adds /sys/kernel/debug/bcm_kona_wdt/info which provides
1790           access to the driver's internal data structures as well as watchdog
1791           timer hardware registres.
1792
1793           If in doubt, say 'N'.
1794
1795 config BCM7038_WDT
1796         tristate "BCM7038 Watchdog"
1797         select WATCHDOG_CORE
1798         depends on HAS_IOMEM
1799         depends on ARCH_BRCMSTB || BMIPS_GENERIC || COMPILE_TEST
1800         help
1801          Watchdog driver for the built-in hardware in Broadcom 7038 and
1802          later SoCs used in set-top boxes.  BCM7038 was made public
1803          during the 2004 CES, and since then, many Broadcom chips use this
1804          watchdog block, including some cable modem chips.
1805
1806 config IMGPDC_WDT
1807         tristate "Imagination Technologies PDC Watchdog Timer"
1808         depends on HAS_IOMEM
1809         depends on MIPS || COMPILE_TEST
1810         select WATCHDOG_CORE
1811         help
1812           Driver for Imagination Technologies PowerDown Controller
1813           Watchdog Timer.
1814
1815           To compile this driver as a loadable module, choose M here.
1816           The module will be called imgpdc_wdt.
1817
1818 config LANTIQ_WDT
1819         tristate "Lantiq SoC watchdog"
1820         depends on LANTIQ
1821         select WATCHDOG_CORE
1822         help
1823           Hardware driver for the Lantiq SoC Watchdog Timer.
1824
1825 config LOONGSON1_WDT
1826         tristate "Loongson1 SoC hardware watchdog"
1827         depends on MACH_LOONGSON32
1828         select WATCHDOG_CORE
1829         help
1830           Hardware driver for the Loongson1 SoC Watchdog Timer.
1831
1832 config RALINK_WDT
1833         tristate "Ralink SoC watchdog"
1834         select WATCHDOG_CORE
1835         depends on RALINK
1836         help
1837           Hardware driver for the Ralink SoC Watchdog Timer.
1838
1839 config MT7621_WDT
1840         tristate "Mediatek SoC watchdog"
1841         select WATCHDOG_CORE
1842         depends on SOC_MT7620 || SOC_MT7621
1843         help
1844           Hardware driver for the Mediatek/Ralink MT7621/8 SoC Watchdog Timer.
1845
1846 config PIC32_WDT
1847         tristate "Microchip PIC32 hardware watchdog"
1848         select WATCHDOG_CORE
1849         depends on MACH_PIC32 || (MIPS && COMPILE_TEST)
1850         help
1851           Watchdog driver for the built in watchdog hardware in a PIC32.
1852
1853           Configuration bits must be set appropriately for the watchdog to be
1854           controlled by this driver.
1855
1856           To compile this driver as a loadable module, choose M here.
1857           The module will be called pic32-wdt.
1858
1859 config PIC32_DMT
1860         tristate "Microchip PIC32 Deadman Timer"
1861         select WATCHDOG_CORE
1862         depends on MACH_PIC32 || (MIPS && COMPILE_TEST)
1863         help
1864           Watchdog driver for PIC32 instruction fetch counting timer. This specific
1865           timer is typically be used in misson critical and safety critical
1866           applications, where any single failure of the software functionality
1867           and sequencing must be detected.
1868
1869           To compile this driver as a loadable module, choose M here.
1870           The module will be called pic32-dmt.
1871
1872 # PARISC Architecture
1873
1874 # POWERPC Architecture
1875
1876 config GEF_WDT
1877         tristate "GE Watchdog Timer"
1878         depends on GE_FPGA
1879         help
1880           Watchdog timer found in a number of GE single board computers.
1881
1882 config MPC5200_WDT
1883         bool "MPC52xx Watchdog Timer"
1884         depends on PPC_MPC52xx || COMPILE_TEST
1885         help
1886           Use General Purpose Timer (GPT) 0 on the MPC5200 as Watchdog.
1887
1888 config 8xxx_WDT
1889         tristate "MPC8xxx Platform Watchdog Timer"
1890         depends on PPC_8xx || PPC_83xx || PPC_86xx || PPC_MPC512x
1891         select WATCHDOG_CORE
1892         help
1893           This driver is for a SoC level watchdog that exists on some
1894           Freescale PowerPC processors. So far this driver supports:
1895           - MPC8xx watchdogs
1896           - MPC83xx watchdogs
1897           - MPC86xx watchdogs
1898
1899           For BookE processors (MPC85xx) use the BOOKE_WDT driver instead.
1900
1901 config MV64X60_WDT
1902         tristate "MV64X60 (Marvell Discovery) Watchdog Timer"
1903         depends on MV64X60 || COMPILE_TEST
1904
1905 config PIKA_WDT
1906         tristate "PIKA FPGA Watchdog"
1907         depends on WARP || (PPC64 && COMPILE_TEST)
1908         default y
1909         help
1910           This enables the watchdog in the PIKA FPGA. Currently used on
1911           the Warp platform.
1912
1913 config BOOKE_WDT
1914         tristate "PowerPC Book-E Watchdog Timer"
1915         depends on BOOKE || 4xx
1916         select WATCHDOG_CORE
1917         help
1918           Watchdog driver for PowerPC Book-E chips, such as the Freescale
1919           MPC85xx SOCs and the IBM PowerPC 440.
1920
1921           Please see Documentation/watchdog/watchdog-api.rst for
1922           more information.
1923
1924 config BOOKE_WDT_DEFAULT_TIMEOUT
1925         int "PowerPC Book-E Watchdog Timer Default Timeout"
1926         depends on BOOKE_WDT
1927         default 38 if PPC_FSL_BOOK3E
1928         range 0 63 if PPC_FSL_BOOK3E
1929         default 3 if !PPC_FSL_BOOK3E
1930         range 0 3 if !PPC_FSL_BOOK3E
1931         help
1932           Select the default watchdog timer period to be used by the PowerPC
1933           Book-E watchdog driver.  A watchdog "event" occurs when the bit
1934           position represented by this number transitions from zero to one.
1935
1936           For Freescale Book-E processors, this is a number between 0 and 63.
1937           For other Book-E processors, this is a number between 0 and 3.
1938
1939           The value can be overridden by the wdt_period command-line parameter.
1940
1941 config MEN_A21_WDT
1942         tristate "MEN A21 VME CPU Carrier Board Watchdog Timer"
1943         select WATCHDOG_CORE
1944         depends on GPIOLIB || COMPILE_TEST
1945         help
1946           Watchdog driver for MEN A21 VMEbus CPU Carrier Boards.
1947
1948           The driver can also be built as a module. If so, the module will be
1949           called mena21_wdt.
1950
1951           If unsure select N here.
1952
1953 # PPC64 Architecture
1954
1955 config WATCHDOG_RTAS
1956         tristate "RTAS watchdog"
1957         depends on PPC_RTAS
1958         help
1959           This driver adds watchdog support for the RTAS watchdog.
1960
1961           To compile this driver as a module, choose M here. The module
1962           will be called wdrtas.
1963
1964 # S390 Architecture
1965
1966 config DIAG288_WATCHDOG
1967         tristate "System z diag288 Watchdog"
1968         depends on S390
1969         select WATCHDOG_CORE
1970         help
1971           IBM s/390 and zSeries machines running under z/VM 5.1 or later
1972           provide a virtual watchdog timer to their guest that cause a
1973           user define Control Program command to be executed after a
1974           timeout.
1975           LPAR provides a very similar interface. This driver handles
1976           both.
1977
1978           To compile this driver as a module, choose M here. The module
1979           will be called diag288_wdt.
1980
1981 # SUPERH (sh + sh64) Architecture
1982
1983 config SH_WDT
1984         tristate "SuperH Watchdog"
1985         depends on SUPERH && (CPU_SH3 || CPU_SH4 || COMPILE_TEST)
1986         select WATCHDOG_CORE
1987         help
1988           This driver adds watchdog support for the integrated watchdog in the
1989           SuperH processors. If you have one of these processors and wish
1990           to have watchdog support enabled, say Y, otherwise say N.
1991
1992           As a side note, saying Y here will automatically boost HZ to 1000
1993           so that the timer has a chance to clear the overflow counter. On
1994           slower systems (such as the SH-2 and SH-3) this will likely yield
1995           some performance issues. As such, the WDT should be avoided here
1996           unless it is absolutely necessary.
1997
1998           To compile this driver as a module, choose M here: the
1999           module will be called shwdt.
2000
2001 # SPARC Architecture
2002
2003 # SPARC64 Architecture
2004
2005 config WATCHDOG_CP1XXX
2006         tristate "CP1XXX Hardware Watchdog support"
2007         depends on SPARC64 && PCI
2008         help
2009           This is the driver for the hardware watchdog timers present on
2010           Sun Microsystems CompactPCI models CP1400 and CP1500.
2011
2012           To compile this driver as a module, choose M here: the
2013           module will be called cpwatchdog.
2014
2015           If you do not have a CompactPCI model CP1400 or CP1500, or
2016           another UltraSPARC-IIi-cEngine boardset with hardware watchdog,
2017           you should say N to this option.
2018
2019 config WATCHDOG_RIO
2020         tristate "RIO Hardware Watchdog support"
2021         depends on SPARC64 && PCI
2022         help
2023           Say Y here to support the hardware watchdog capability on Sun RIO
2024           machines.  The watchdog timeout period is normally one minute but
2025           can be changed with a boot-time parameter.
2026
2027 config WATCHDOG_SUN4V
2028         tristate "Sun4v Watchdog support"
2029         select WATCHDOG_CORE
2030         depends on SPARC64
2031         help
2032           Say Y here to support the hypervisor watchdog capability embedded
2033           in the SPARC sun4v architecture.
2034
2035           To compile this driver as a module, choose M here. The module will
2036           be called sun4v_wdt.
2037
2038 # XTENSA Architecture
2039
2040 # Xen Architecture
2041
2042 config XEN_WDT
2043         tristate "Xen Watchdog support"
2044         depends on XEN
2045         select WATCHDOG_CORE
2046         help
2047           Say Y here to support the hypervisor watchdog capability provided
2048           by Xen 4.0 and newer.  The watchdog timeout period is normally one
2049           minute but can be changed with a boot-time parameter.
2050
2051 config UML_WATCHDOG
2052         tristate "UML watchdog"
2053         depends on UML || COMPILE_TEST
2054
2055 #
2056 # ISA-based Watchdog Cards
2057 #
2058
2059 comment "ISA-based Watchdog Cards"
2060         depends on ISA
2061
2062 config PCWATCHDOG
2063         tristate "Berkshire Products ISA-PC Watchdog"
2064         depends on ISA
2065         help
2066           This is the driver for the Berkshire Products ISA-PC Watchdog card.
2067           This card simply watches your kernel to make sure it doesn't freeze,
2068           and if it does, it reboots your computer after a certain amount of
2069           time. This driver is like the WDT501 driver but for different
2070           hardware. Please read <file:Documentation/watchdog/pcwd-watchdog.rst>. The PC
2071           watchdog cards can be ordered from <http://www.berkprod.com/>.
2072
2073           To compile this driver as a module, choose M here: the
2074           module will be called pcwd.
2075
2076           Most people will say N.
2077
2078 config MIXCOMWD
2079         tristate "Mixcom Watchdog"
2080         depends on ISA
2081         help
2082           This is a driver for the Mixcom hardware watchdog cards.  This
2083           watchdog simply watches your kernel to make sure it doesn't freeze,
2084           and if it does, it reboots your computer after a certain amount of
2085           time.
2086
2087           To compile this driver as a module, choose M here: the
2088           module will be called mixcomwd.
2089
2090           Most people will say N.
2091
2092 config WDT
2093         tristate "WDT Watchdog timer"
2094         depends on ISA
2095         help
2096           If you have a WDT500P or WDT501P watchdog board, say Y here,
2097           otherwise N. It is not possible to probe for this board, which means
2098           that you have to inform the kernel about the IO port and IRQ that
2099           is needed (you can do this via the io and irq parameters)
2100
2101           To compile this driver as a module, choose M here: the
2102           module will be called wdt.
2103
2104 #
2105 # PCI-based Watchdog Cards
2106 #
2107
2108 comment "PCI-based Watchdog Cards"
2109         depends on PCI
2110
2111 config PCIPCWATCHDOG
2112         tristate "Berkshire Products PCI-PC Watchdog"
2113         depends on PCI
2114         help
2115           This is the driver for the Berkshire Products PCI-PC Watchdog card.
2116           This card simply watches your kernel to make sure it doesn't freeze,
2117           and if it does, it reboots your computer after a certain amount of
2118           time. The card can also monitor the internal temperature of the PC.
2119           More info is available at <http://www.berkprod.com/pci_pc_watchdog.htm>.
2120
2121           To compile this driver as a module, choose M here: the
2122           module will be called pcwd_pci.
2123
2124           Most people will say N.
2125
2126 config WDTPCI
2127         tristate "PCI-WDT500/501 Watchdog timer"
2128         depends on PCI
2129         help
2130           If you have a PCI-WDT500/501 watchdog board, say Y here, otherwise N.
2131
2132           If you have a PCI-WDT501 watchdog board then you can enable the
2133           temperature sensor by setting the type parameter to 501.
2134
2135           If you want to enable the Fan Tachometer on the PCI-WDT501, then you
2136           can do this via the tachometer parameter. Only do this if you have a
2137           fan tachometer actually set up.
2138
2139           To compile this driver as a module, choose M here: the
2140           module will be called wdt_pci.
2141
2142 #
2143 # USB-based Watchdog Cards
2144 #
2145
2146 comment "USB-based Watchdog Cards"
2147         depends on USB
2148
2149 config USBPCWATCHDOG
2150         tristate "Berkshire Products USB-PC Watchdog"
2151         depends on USB
2152         help
2153           This is the driver for the Berkshire Products USB-PC Watchdog card.
2154           This card simply watches your kernel to make sure it doesn't freeze,
2155           and if it does, it reboots your computer after a certain amount of
2156           time. The card can also monitor the internal temperature of the PC.
2157           More info is available at <http://www.berkprod.com/usb_pc_watchdog.htm>.
2158
2159           To compile this driver as a module, choose M here: the
2160           module will be called pcwd_usb.
2161
2162           Most people will say N.
2163
2164 endif # WATCHDOG