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