Merge branch 'for-3.5-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj...
[firefly-linux-kernel-4.4.55.git] / drivers / watchdog / Kconfig
1 #
2 # Watchdog device configuration
3 #
4
5 menuconfig WATCHDOG
6         bool "Watchdog Timer Support"
7         ---help---
8           If you say Y here (and to one of the following options) and create a
9           character special file /dev/watchdog with major number 10 and minor
10           number 130 using mknod ("man mknod"), you will get a watchdog, i.e.:
11           subsequently opening the file and then failing to write to it for
12           longer than 1 minute will result in rebooting the machine. This
13           could be useful for a networked machine that needs to come back
14           on-line as fast as possible after a lock-up. There's both a watchdog
15           implementation entirely in software (which can sometimes fail to
16           reboot the machine) and a driver for hardware watchdog boards, which
17           are more robust and can also keep track of the temperature inside
18           your computer. For details, read
19           <file:Documentation/watchdog/watchdog-api.txt> in the kernel source.
20
21           The watchdog is usually used together with the watchdog daemon
22           which is available from
23           <ftp://ibiblio.org/pub/Linux/system/daemons/watchdog/>. This daemon can
24           also monitor NFS connections and can reboot the machine when the process
25           table is full.
26
27           If unsure, say N.
28
29 if WATCHDOG
30
31 config WATCHDOG_CORE
32         bool "WatchDog Timer Driver Core"
33         ---help---
34           Say Y here if you want to use the new watchdog timer driver core.
35           This driver provides a framework for all watchdog timer drivers
36           and gives them the /dev/watchdog interface (and later also the
37           sysfs interface).
38
39 config WATCHDOG_NOWAYOUT
40         bool "Disable watchdog shutdown on close"
41         help
42           The default watchdog behaviour (which you get if you say N here) is
43           to stop the timer if the process managing it closes the file
44           /dev/watchdog. It's always remotely possible that this process might
45           get killed. If you say Y here, the watchdog cannot be stopped once
46           it has been started.
47
48 #
49 # General Watchdog drivers
50 #
51
52 comment "Watchdog Device Drivers"
53
54 # Architecture Independent
55
56 config SOFT_WATCHDOG
57         tristate "Software watchdog"
58         select WATCHDOG_CORE
59         help
60           A software monitoring watchdog. This will fail to reboot your system
61           from some situations that the hardware watchdog will recover
62           from. Equally it's a lot cheaper to install.
63
64           To compile this driver as a module, choose M here: the
65           module will be called softdog.
66
67 config DA9052_WATCHDOG
68         tristate "Dialog DA9052 Watchdog"
69         depends on PMIC_DA9052
70         select WATCHDOG_CORE
71         help
72           Support for the watchdog in the DA9052 PMIC. Watchdog trigger
73           cause system reset.
74
75           Say Y here to include support for the DA9052 watchdog.
76           Alternatively say M to compile the driver as a module,
77           which will be called da9052_wdt.
78
79 config WM831X_WATCHDOG
80         tristate "WM831x watchdog"
81         depends on MFD_WM831X
82         select WATCHDOG_CORE
83         help
84           Support for the watchdog in the WM831x AudioPlus PMICs.  When
85           the watchdog triggers the system will be reset.
86
87 config WM8350_WATCHDOG
88         tristate "WM8350 watchdog"
89         depends on MFD_WM8350
90         select WATCHDOG_CORE
91         help
92           Support for the watchdog in the WM8350 AudioPlus PMIC.  When
93           the watchdog triggers the system will be reset.
94
95 # ALPHA Architecture
96
97 # ARM Architecture
98
99 config ARM_SP805_WATCHDOG
100         tristate "ARM SP805 Watchdog"
101         depends on ARM_AMBA
102         select WATCHDOG_CORE
103         help
104           ARM Primecell SP805 Watchdog timer. This will reboot your system when
105           the timeout is reached.
106
107 config AT91RM9200_WATCHDOG
108         tristate "AT91RM9200 watchdog"
109         depends on ARCH_AT91RM9200
110         help
111           Watchdog timer embedded into AT91RM9200 chips. This will reboot your
112           system when the timeout is reached.
113
114 config AT91SAM9X_WATCHDOG
115         tristate "AT91SAM9X / AT91CAP9 watchdog"
116         depends on ARCH_AT91 && !ARCH_AT91RM9200
117         help
118           Watchdog timer embedded into AT91SAM9X and AT91CAP9 chips. This will
119           reboot your system when the timeout is reached.
120
121 config 21285_WATCHDOG
122         tristate "DC21285 watchdog"
123         depends on FOOTBRIDGE
124         help
125           The Intel Footbridge chip contains a built-in watchdog circuit. Say Y
126           here if you wish to use this. Alternatively say M to compile the
127           driver as a module, which will be called wdt285.
128
129           This driver does not work on all machines. In particular, early CATS
130           boards have hardware problems that will cause the machine to simply
131           lock up if the watchdog fires.
132
133           "If in doubt, leave it out" - say N.
134
135 config 977_WATCHDOG
136         tristate "NetWinder WB83C977 watchdog"
137         depends on FOOTBRIDGE && ARCH_NETWINDER
138         help
139           Say Y here to include support for the WB977 watchdog included in
140           NetWinder machines. Alternatively say M to compile the driver as
141           a module, which will be called wdt977.
142
143           Not sure? It's safe to say N.
144
145 config IXP4XX_WATCHDOG
146         tristate "IXP4xx Watchdog"
147         depends on ARCH_IXP4XX
148         help
149           Say Y here if to include support for the watchdog timer
150           in the Intel IXP4xx network processors. This driver can
151           be built as a module by choosing M. The module will
152           be called ixp4xx_wdt.
153
154           Note: The internal IXP4xx watchdog does a soft CPU reset
155           which doesn't reset any peripherals. There are circumstances
156           where the watchdog will fail to reset the board correctly
157           (e.g., if the boot ROM is in an unreadable state).
158
159           Say N if you are unsure.
160
161 config KS8695_WATCHDOG
162         tristate "KS8695 watchdog"
163         depends on ARCH_KS8695
164         help
165           Watchdog timer embedded into KS8695 processor. This will reboot your
166           system when the timeout is reached.
167
168 config HAVE_S3C2410_WATCHDOG
169         bool
170         help
171           This will include watchdog timer support for Samsung SoCs. If
172           you want to include watchdog support for any machine, kindly
173           select this in the respective mach-XXXX/Kconfig file.
174
175 config S3C2410_WATCHDOG
176         tristate "S3C2410 Watchdog"
177         depends on HAVE_S3C2410_WATCHDOG
178         select WATCHDOG_CORE
179         help
180           Watchdog timer block in the Samsung SoCs. This will reboot
181           the system when the timer expires with the watchdog enabled.
182
183           The driver is limited by the speed of the system's PCLK
184           signal, so with reasonably fast systems (PCLK around 50-66MHz)
185           then watchdog intervals of over approximately 20seconds are
186           unavailable.
187
188           The driver can be built as a module by choosing M, and will
189           be called s3c2410_wdt
190
191 config SA1100_WATCHDOG
192         tristate "SA1100/PXA2xx watchdog"
193         depends on ARCH_SA1100 || ARCH_PXA
194         help
195           Watchdog timer embedded into SA11x0 and PXA2xx chips. This will
196           reboot your system when timeout is reached.
197
198           NOTE: once enabled, this timer cannot be disabled.
199
200           To compile this driver as a module, choose M here: the
201           module will be called sa1100_wdt.
202
203 config DW_WATCHDOG
204         tristate "Synopsys DesignWare watchdog"
205         depends on ARM && HAVE_CLK
206         help
207           Say Y here if to include support for the Synopsys DesignWare
208           watchdog timer found in many ARM chips.
209           To compile this driver as a module, choose M here: the
210           module will be called dw_wdt.
211
212 config MPCORE_WATCHDOG
213         tristate "MPcore watchdog"
214         depends on HAVE_ARM_TWD
215         help
216           Watchdog timer embedded into the MPcore system.
217
218           To compile this driver as a module, choose M here: the
219           module will be called mpcore_wdt.
220
221 config EP93XX_WATCHDOG
222         tristate "EP93xx Watchdog"
223         depends on ARCH_EP93XX
224         select WATCHDOG_CORE
225         help
226           Say Y here if to include support for the watchdog timer
227           embedded in the Cirrus Logic EP93xx family of devices.
228
229           To compile this driver as a module, choose M here: the
230           module will be called ep93xx_wdt.
231
232 config OMAP_WATCHDOG
233         tristate "OMAP Watchdog"
234         depends on ARCH_OMAP16XX || ARCH_OMAP2PLUS
235         help
236           Support for TI OMAP1610/OMAP1710/OMAP2420/OMAP3430/OMAP4430 watchdog.  Say 'Y'
237           here to enable the OMAP1610/OMAP1710/OMAP2420/OMAP3430/OMAP4430 watchdog timer.
238
239 config PNX4008_WATCHDOG
240         tristate "PNX4008 and LPC32XX Watchdog"
241         depends on ARCH_PNX4008 || ARCH_LPC32XX
242         select WATCHDOG_CORE
243         help
244           Say Y here if to include support for the watchdog timer
245           in the PNX4008 or LPC32XX processor.
246           This driver can be built as a module by choosing M. The module
247           will be called pnx4008_wdt.
248
249           Say N if you are unsure.
250
251 config IOP_WATCHDOG
252         tristate "IOP Watchdog"
253         depends on PLAT_IOP
254         select WATCHDOG_NOWAYOUT if (ARCH_IOP32X || ARCH_IOP33X)
255         help
256           Say Y here if to include support for the watchdog timer
257           in the Intel IOP3XX & IOP13XX I/O Processors.  This driver can
258           be built as a module by choosing M. The module will
259           be called iop_wdt.
260
261           Note: The IOP13XX watchdog does an Internal Bus Reset which will
262           affect both cores and the peripherals of the IOP.  The ATU-X
263           and/or ATUe configuration registers will remain intact, but if
264           operating as an Root Complex and/or Central Resource, the PCI-X
265           and/or PCIe busses will also be reset.  THIS IS A VERY BIG HAMMER.
266
267 config DAVINCI_WATCHDOG
268         tristate "DaVinci watchdog"
269         depends on ARCH_DAVINCI
270         help
271           Say Y here if to include support for the watchdog timer
272           in the DaVinci DM644x/DM646x processors.
273           To compile this driver as a module, choose M here: the
274           module will be called davinci_wdt.
275
276           NOTE: once enabled, this timer cannot be disabled.
277           Say N if you are unsure.
278
279 config ORION_WATCHDOG
280         tristate "Orion watchdog"
281         depends on ARCH_ORION5X || ARCH_KIRKWOOD
282         help
283           Say Y here if to include support for the watchdog timer
284           in the Marvell Orion5x and Kirkwood ARM SoCs.
285           To compile this driver as a module, choose M here: the
286           module will be called orion_wdt.
287
288 config COH901327_WATCHDOG
289         bool "ST-Ericsson COH 901 327 watchdog"
290         depends on ARCH_U300
291         default y if MACH_U300
292         select WATCHDOG_CORE
293         help
294           Say Y here to include Watchdog timer support for the
295           watchdog embedded into the ST-Ericsson U300 series platforms.
296           This watchdog is used to reset the system and thus cannot be
297           compiled as a module.
298
299 config TWL4030_WATCHDOG
300         tristate "TWL4030 Watchdog"
301         depends on TWL4030_CORE
302         help
303           Support for TI TWL4030 watchdog.  Say 'Y' here to enable the
304           watchdog timer support for TWL4030 chips.
305
306 config STMP3XXX_WATCHDOG
307         tristate "Freescale STMP3XXX watchdog"
308         depends on ARCH_STMP3XXX
309         help
310           Say Y here if to include support for the watchdog timer
311           for the Sigmatel STMP37XX/378X SoC.
312           To compile this driver as a module, choose M here: the
313           module will be called stmp3xxx_wdt.
314
315 config NUC900_WATCHDOG
316         tristate "Nuvoton NUC900 watchdog"
317         depends on ARCH_W90X900
318         help
319           Say Y here if to include support for the watchdog timer
320           for the Nuvoton NUC900 series SoCs.
321           To compile this driver as a module, choose M here: the
322           module will be called nuc900_wdt.
323
324 config TS72XX_WATCHDOG
325         tristate "TS-72XX SBC Watchdog"
326         depends on MACH_TS72XX
327         help
328           Technologic Systems TS-7200, TS-7250 and TS-7260 boards have
329           watchdog timer implemented in a external CPLD chip. Say Y here
330           if you want to support for the watchdog timer on TS-72XX boards.
331
332           To compile this driver as a module, choose M here: the
333           module will be called ts72xx_wdt.
334
335 config MAX63XX_WATCHDOG
336         tristate "Max63xx watchdog"
337         depends on ARM && HAS_IOMEM
338         select WATCHDOG_CORE
339         help
340           Support for memory mapped max63{69,70,71,72,73,74} watchdog timer.
341
342 config IMX2_WDT
343         tristate "IMX2+ Watchdog"
344         depends on IMX_HAVE_PLATFORM_IMX2_WDT
345         help
346           This is the driver for the hardware watchdog
347           on the Freescale IMX2 and later processors.
348           If you have one of these processors and wish to have
349           watchdog support enabled, say Y, otherwise say N.
350
351           To compile this driver as a module, choose M here: the
352           module will be called imx2_wdt.
353
354 # AVR32 Architecture
355
356 config AT32AP700X_WDT
357         tristate "AT32AP700x watchdog"
358         depends on CPU_AT32AP700X
359         help
360           Watchdog timer embedded into AT32AP700x devices. This will reboot
361           your system when the timeout is reached.
362
363 # BLACKFIN Architecture
364
365 config BFIN_WDT
366         tristate "Blackfin On-Chip Watchdog Timer"
367         depends on BLACKFIN
368         ---help---
369           If you say yes here you will get support for the Blackfin On-Chip
370           Watchdog Timer. If you have one of these processors and wish to
371           have watchdog support enabled, say Y, otherwise say N.
372
373           To compile this driver as a module, choose M here: the
374           module will be called bfin_wdt.
375
376 # CRIS Architecture
377
378 # FRV Architecture
379
380 # H8300 Architecture
381
382 # X86 (i386 + ia64 + x86_64) Architecture
383
384 config ACQUIRE_WDT
385         tristate "Acquire SBC Watchdog Timer"
386         depends on X86
387         ---help---
388           This is the driver for the hardware watchdog on Single Board
389           Computers produced by Acquire Inc (and others). This watchdog
390           simply watches your kernel to make sure it doesn't freeze, and if
391           it does, it reboots your computer after a certain amount of time.
392
393           To compile this driver as a module, choose M here: the
394           module will be called acquirewdt.
395
396           Most people will say N.
397
398 config ADVANTECH_WDT
399         tristate "Advantech SBC Watchdog Timer"
400         depends on X86
401         help
402           If you are configuring a Linux kernel for the Advantech single-board
403           computer, say `Y' here to support its built-in watchdog timer
404           feature. More information can be found at
405           <http://www.advantech.com.tw/products/>
406
407 config ALIM1535_WDT
408         tristate "ALi M1535 PMU Watchdog Timer"
409         depends on X86 && PCI
410         ---help---
411           This is the driver for the hardware watchdog on the ALi M1535 PMU.
412
413           To compile this driver as a module, choose M here: the
414           module will be called alim1535_wdt.
415
416           Most people will say N.
417
418 config ALIM7101_WDT
419         tristate "ALi M7101 PMU Computer Watchdog"
420         depends on PCI
421         help
422           This is the driver for the hardware watchdog on the ALi M7101 PMU
423           as used in the x86 Cobalt servers and also found in some
424           SPARC Netra servers too.
425
426           To compile this driver as a module, choose M here: the
427           module will be called alim7101_wdt.
428
429           Most people will say N.
430
431 config F71808E_WDT
432         tristate "Fintek F71808E, F71862FG, F71869, F71882FG and F71889FG Watchdog"
433         depends on X86 && EXPERIMENTAL
434         help
435           This is the driver for the hardware watchdog on the Fintek
436           F71808E, F71862FG, F71869, F71882FG and F71889FG Super I/O controllers.
437
438           You can compile this driver directly into the kernel, or use
439           it as a module.  The module will be called f71808e_wdt.
440
441 config SP5100_TCO
442         tristate "AMD/ATI SP5100 TCO Timer/Watchdog"
443         depends on X86 && PCI
444         ---help---
445           Hardware watchdog driver for the AMD/ATI SP5100 chipset. The TCO
446           (Total Cost of Ownership) timer is a watchdog timer that will reboot
447           the machine after its expiration. The expiration time can be
448           configured with the "heartbeat" parameter.
449
450           To compile this driver as a module, choose M here: the
451           module will be called sp5100_tco.
452
453 config GEODE_WDT
454         tristate "AMD Geode CS5535/CS5536 Watchdog"
455         depends on CS5535_MFGPT
456         help
457           This driver enables a watchdog capability built into the
458           CS5535/CS5536 companion chips for the AMD Geode GX and LX
459           processors.  This watchdog watches your kernel to make sure
460           it doesn't freeze, and if it does, it reboots your computer after
461           a certain amount of time.
462
463           You can compile this driver directly into the kernel, or use
464           it as a module.  The module will be called geodewdt.
465
466 config SC520_WDT
467         tristate "AMD Elan SC520 processor Watchdog"
468         depends on X86
469         help
470           This is the driver for the hardware watchdog built in to the
471           AMD "Elan" SC520 microcomputer commonly used in embedded systems.
472           This watchdog simply watches your kernel to make sure it doesn't
473           freeze, and if it does, it reboots your computer after a certain
474           amount of time.
475
476           You can compile this driver directly into the kernel, or use
477           it as a module.  The module will be called sc520_wdt.
478
479 config SBC_FITPC2_WATCHDOG
480         tristate "Compulab SBC-FITPC2 watchdog"
481         depends on X86
482         ---help---
483           This is the driver for the built-in watchdog timer on the fit-PC2,
484           fit-PC2i, CM-iAM single-board computers made by Compulab.
485
486           It`s possible to enable watchdog timer either from BIOS (F2) or from booted Linux.
487           When "Watchdog Timer Value" enabled one can set 31-255 s operational range.
488
489           Entering BIOS setup temporary disables watchdog operation regardless to current state,
490           so system will not be restarted while user in BIOS setup.
491
492           Once watchdog was enabled the system will be restarted every
493           "Watchdog Timer Value" period, so to prevent it user can restart or
494           disable the watchdog.
495
496           To compile this driver as a module, choose M here: the
497           module will be called sbc_fitpc2_wdt.
498
499           Most people will say N.
500
501 config EUROTECH_WDT
502         tristate "Eurotech CPU-1220/1410 Watchdog Timer"
503         depends on X86
504         help
505           Enable support for the watchdog timer on the Eurotech CPU-1220 and
506           CPU-1410 cards.  These are PC/104 SBCs. Spec sheets and product
507           information are at <http://www.eurotech.it/>.
508
509 config IB700_WDT
510         tristate "IB700 SBC Watchdog Timer"
511         depends on X86
512         ---help---
513           This is the driver for the hardware watchdog on the IB700 Single
514           Board Computer produced by TMC Technology (www.tmc-uk.com). This watchdog
515           simply watches your kernel to make sure it doesn't freeze, and if
516           it does, it reboots your computer after a certain amount of time.
517
518           This driver is like the WDT501 driver but for slightly different hardware.
519
520           To compile this driver as a module, choose M here: the
521           module will be called ib700wdt.
522
523           Most people will say N.
524
525 config IBMASR
526         tristate "IBM Automatic Server Restart"
527         depends on X86
528         help
529           This is the driver for the IBM Automatic Server Restart watchdog
530           timer built-in into some eServer xSeries machines.
531
532           To compile this driver as a module, choose M here: the
533           module will be called ibmasr.
534
535 config WAFER_WDT
536         tristate "ICP Single Board Computer Watchdog Timer"
537         depends on X86
538         help
539           This is a driver for the hardware watchdog on the ICP Single
540           Board Computer. This driver is working on (at least) the following
541           IPC SBC's: Wafer 5823, Rocky 4783, Rocky 3703 and Rocky 3782.
542
543           To compile this driver as a module, choose M here: the
544           module will be called wafer5823wdt.
545
546 config I6300ESB_WDT
547         tristate "Intel 6300ESB Timer/Watchdog"
548         depends on PCI
549         ---help---
550           Hardware driver for the watchdog timer built into the Intel
551           6300ESB controller hub.
552
553           To compile this driver as a module, choose M here: the
554           module will be called i6300esb.
555
556 config IE6XX_WDT
557         tristate "Intel Atom E6xx Watchdog"
558         depends on X86 && PCI
559         select WATCHDOG_CORE
560         select MFD_CORE
561         select LPC_SCH
562         ---help---
563           Hardware driver for the watchdog timer built into the Intel
564           Atom E6XX (TunnelCreek) processor.
565
566           To compile this driver as a module, choose M here: the
567           module will be called ie6xx_wdt.
568
569 config INTEL_SCU_WATCHDOG
570         bool "Intel SCU Watchdog for Mobile Platforms"
571         depends on X86_MRST
572         ---help---
573           Hardware driver for the watchdog time built into the Intel SCU
574           for Intel Mobile Platforms.
575
576           To compile this driver as a module, choose M here.
577
578 config ITCO_WDT
579         tristate "Intel TCO Timer/Watchdog"
580         depends on (X86 || IA64) && PCI
581         select LPC_ICH
582         ---help---
583           Hardware driver for the intel TCO timer based watchdog devices.
584           These drivers are included in the Intel 82801 I/O Controller
585           Hub family (from ICH0 up to ICH10) and in the Intel 63xxESB
586           controller hub.
587
588           The TCO (Total Cost of Ownership) timer is a watchdog timer
589           that will reboot the machine after its second expiration. The
590           expiration time can be configured with the "heartbeat" parameter.
591
592           On some motherboards the driver may fail to reset the chipset's
593           NO_REBOOT flag which prevents the watchdog from rebooting the
594           machine. If this is the case you will get a kernel message like
595           "failed to reset NO_REBOOT flag, reboot disabled by hardware".
596
597           To compile this driver as a module, choose M here: the
598           module will be called iTCO_wdt.
599
600 config ITCO_VENDOR_SUPPORT
601         bool "Intel TCO Timer/Watchdog Specific Vendor Support"
602         depends on ITCO_WDT
603         ---help---
604           Add vendor specific support to the intel TCO timer based watchdog
605           devices. At this moment we only have additional support for some
606           SuperMicro Inc. motherboards.
607
608 config IT8712F_WDT
609         tristate "IT8712F (Smart Guardian) Watchdog Timer"
610         depends on X86
611         ---help---
612           This is the driver for the built-in watchdog timer on the IT8712F
613           Super I/0 chipset used on many motherboards.
614
615           If the driver does not work, then make sure that the game port in
616           the BIOS is enabled.
617
618           To compile this driver as a module, choose M here: the
619           module will be called it8712f_wdt.
620
621 config IT87_WDT
622         tristate "IT87 Watchdog Timer"
623         depends on X86 && EXPERIMENTAL
624         ---help---
625           This is the driver for the hardware watchdog on the ITE IT8702,
626           IT8712, IT8716, IT8718, IT8720, IT8721, IT8726 and IT8728
627           Super I/O chips.
628
629           If the driver does not work, then make sure that the game port in
630           the BIOS is enabled.
631
632           This watchdog simply watches your kernel to make sure it doesn't
633           freeze, and if it does, it reboots your computer after a certain
634           amount of time.
635
636           To compile this driver as a module, choose M here: the module will
637           be called it87_wdt.
638
639 config HP_WATCHDOG
640         tristate "HP ProLiant iLO2+ Hardware Watchdog Timer"
641         depends on X86 && PCI
642         help
643           A software monitoring watchdog and NMI sourcing driver. This driver
644           will detect lockups and provide a stack trace. This is a driver that
645           will only load on an HP ProLiant system with a minimum of iLO2 support.
646           To compile this driver as a module, choose M here: the module will be
647           called hpwdt.
648
649 config HPWDT_NMI_DECODING
650         bool "NMI decoding support for the HP ProLiant iLO2+ Hardware Watchdog Timer"
651         depends on HP_WATCHDOG
652         default y
653         help
654           When an NMI occurs this feature will make the necessary BIOS calls to
655           log the cause of the NMI.
656
657 config SC1200_WDT
658         tristate "National Semiconductor PC87307/PC97307 (ala SC1200) Watchdog"
659         depends on X86
660         help
661           This is a driver for National Semiconductor PC87307/PC97307 hardware
662           watchdog cards as found on the SC1200. This watchdog is mainly used
663           for power management purposes and can be used to power down the device
664           during inactivity periods (includes interrupt activity monitoring).
665
666           To compile this driver as a module, choose M here: the
667           module will be called sc1200wdt.
668
669           Most people will say N.
670
671 config SCx200_WDT
672         tristate "National Semiconductor SCx200 Watchdog"
673         depends on SCx200 && PCI
674         help
675           Enable the built-in watchdog timer support on the National
676           Semiconductor SCx200 processors.
677
678           If compiled as a module, it will be called scx200_wdt.
679
680 config PC87413_WDT
681         tristate "NS PC87413 watchdog"
682         depends on X86
683         ---help---
684           This is the driver for the hardware watchdog on the PC87413 chipset
685           This watchdog simply watches your kernel to make sure it doesn't
686           freeze, and if it does, it reboots your computer after a certain
687           amount of time.
688
689           To compile this driver as a module, choose M here: the
690           module will be called pc87413_wdt.
691
692           Most people will say N.
693
694 config NV_TCO
695         tristate "nVidia TCO Timer/Watchdog"
696         depends on X86 && PCI
697         ---help---
698           Hardware driver for the TCO timer built into the nVidia Hub family
699           (such as the MCP51).  The TCO (Total Cost of Ownership) timer is a
700           watchdog timer that will reboot the machine after its second
701           expiration. The expiration time can be configured with the
702           "heartbeat" parameter.
703
704           On some motherboards the driver may fail to reset the chipset's
705           NO_REBOOT flag which prevents the watchdog from rebooting the
706           machine. If this is the case you will get a kernel message like
707           "failed to reset NO_REBOOT flag, reboot disabled by hardware".
708
709           To compile this driver as a module, choose M here: the
710           module will be called nv_tco.
711
712 config RDC321X_WDT
713         tristate "RDC R-321x SoC watchdog"
714         depends on X86_RDC321X
715         help
716           This is the driver for the built in hardware watchdog
717           in the RDC R-321x SoC.
718
719           To compile this driver as a module, choose M here: the
720           module will be called rdc321x_wdt.
721
722 config 60XX_WDT
723         tristate "SBC-60XX Watchdog Timer"
724         depends on X86
725         help
726           This driver can be used with the watchdog timer found on some
727           single board computers, namely the 6010 PII based computer.
728           It may well work with other cards.  It reads port 0x443 to enable
729           and re-set the watchdog timer, and reads port 0x45 to disable
730           the watchdog.  If you have a card that behave in similar ways,
731           you can probably make this driver work with your card as well.
732
733           You can compile this driver directly into the kernel, or use
734           it as a module.  The module will be called sbc60xxwdt.
735
736 config SBC8360_WDT
737         tristate "SBC8360 Watchdog Timer"
738         depends on X86
739         ---help---
740
741           This is the driver for the hardware watchdog on the SBC8360 Single
742           Board Computer produced by Axiomtek Co., Ltd. (www.axiomtek.com).
743
744           To compile this driver as a module, choose M here: the
745           module will be called sbc8360.
746
747           Most people will say N.
748
749 config SBC7240_WDT
750         tristate "SBC Nano 7240 Watchdog Timer"
751         depends on X86_32 && !UML
752         ---help---
753           This is the driver for the hardware watchdog found on the IEI
754           single board computers EPIC Nano 7240 (and likely others). This
755           watchdog simply watches your kernel to make sure it doesn't freeze,
756           and if it does, it reboots your computer after a certain amount of
757           time.
758
759           To compile this driver as a module, choose M here: the
760           module will be called sbc7240_wdt.
761
762 config CPU5_WDT
763         tristate "SMA CPU5 Watchdog"
764         depends on X86
765         ---help---
766           TBD.
767           To compile this driver as a module, choose M here: the
768           module will be called cpu5wdt.
769
770 config SMSC_SCH311X_WDT
771         tristate "SMSC SCH311X Watchdog Timer"
772         depends on X86
773         ---help---
774           This is the driver for the hardware watchdog timer on the
775           SMSC SCH3112, SCH3114 and SCH3116 Super IO chipset
776           (LPC IO with 8042 KBC, Reset Generation, HWM and multiple
777           serial ports).
778
779           To compile this driver as a module, choose M here: the
780           module will be called sch311x_wdt.
781
782 config SMSC37B787_WDT
783         tristate "Winbond SMsC37B787 Watchdog Timer"
784         depends on X86
785         ---help---
786           This is the driver for the hardware watchdog component on the
787           Winbond SMsC37B787 chipset as used on the NetRunner Mainboard
788           from Vision Systems and maybe others.
789
790           This watchdog simply watches your kernel to make sure it doesn't
791           freeze, and if it does, it reboots your computer after a certain
792           amount of time.
793
794           Usually a userspace daemon will notify the kernel WDT driver that
795           userspace is still alive, at regular intervals.
796
797           To compile this driver as a module, choose M here: the
798           module will be called smsc37b787_wdt.
799
800           Most people will say N.
801
802 config VIA_WDT
803         tristate "VIA Watchdog Timer"
804         depends on X86 && PCI
805         select WATCHDOG_CORE
806         ---help---
807         This is the driver for the hardware watchdog timer on VIA
808         southbridge chipset CX700, VX800/VX820 or VX855/VX875.
809
810         To compile this driver as a module, choose M here; the module
811         will be called via_wdt.
812
813         Most people will say N.
814
815 config W83627HF_WDT
816         tristate "W83627HF/W83627DHG Watchdog Timer"
817         depends on X86
818         ---help---
819           This is the driver for the hardware watchdog on the W83627HF chipset
820           as used in Advantech PC-9578 and Tyan S2721-533 motherboards
821           (and likely others). The driver also supports the W83627DHG chip.
822           This watchdog simply watches your kernel to make sure it doesn't
823           freeze, and if it does, it reboots your computer after a certain
824           amount of time.
825
826           To compile this driver as a module, choose M here: the
827           module will be called w83627hf_wdt.
828
829           Most people will say N.
830
831 config W83697HF_WDT
832         tristate "W83697HF/W83697HG Watchdog Timer"
833         depends on X86
834         ---help---
835           This is the driver for the hardware watchdog on the W83697HF/HG
836           chipset as used in Dedibox/VIA motherboards (and likely others).
837           This watchdog simply watches your kernel to make sure it doesn't
838           freeze, and if it does, it reboots your computer after a certain
839           amount of time.
840
841           To compile this driver as a module, choose M here: the
842           module will be called w83697hf_wdt.
843
844           Most people will say N.
845
846 config W83697UG_WDT
847         tristate "W83697UG/W83697UF Watchdog Timer"
848         depends on X86
849         ---help---
850           This is the driver for the hardware watchdog on the W83697UG/UF
851           chipset as used in MSI Fuzzy CX700 VIA motherboards (and likely others).
852           This watchdog simply watches your kernel to make sure it doesn't
853           freeze, and if it does, it reboots your computer after a certain
854           amount of time.
855
856           To compile this driver as a module, choose M here: the
857           module will be called w83697ug_wdt.
858
859           Most people will say N.
860
861 config W83877F_WDT
862         tristate "W83877F (EMACS) Watchdog Timer"
863         depends on X86
864         ---help---
865           This is the driver for the hardware watchdog on the W83877F chipset
866           as used in EMACS PC-104 motherboards (and likely others).  This
867           watchdog simply watches your kernel to make sure it doesn't freeze,
868           and if it does, it reboots your computer after a certain amount of
869           time.
870
871           To compile this driver as a module, choose M here: the
872           module will be called w83877f_wdt.
873
874           Most people will say N.
875
876 config W83977F_WDT
877         tristate "W83977F (PCM-5335) Watchdog Timer"
878         depends on X86
879         ---help---
880           This is the driver for the hardware watchdog on the W83977F I/O chip
881           as used in AAEON's PCM-5335 SBC (and likely others).  This
882           watchdog simply watches your kernel to make sure it doesn't freeze,
883           and if it does, it reboots your computer after a certain amount of
884           time.
885
886           To compile this driver as a module, choose M here: the
887           module will be called w83977f_wdt.
888
889 config MACHZ_WDT
890         tristate "ZF MachZ Watchdog"
891         depends on X86
892         ---help---
893           If you are using a ZF Micro MachZ processor, say Y here, otherwise
894           N.  This is the driver for the watchdog timer built-in on that
895           processor using ZF-Logic interface.  This watchdog simply watches
896           your kernel to make sure it doesn't freeze, and if it does, it
897           reboots your computer after a certain amount of time.
898
899           To compile this driver as a module, choose M here: the
900           module will be called machzwd.
901
902 config SBC_EPX_C3_WATCHDOG
903         tristate "Winsystems SBC EPX-C3 watchdog"
904         depends on X86
905         ---help---
906           This is the driver for the built-in watchdog timer on the EPX-C3
907           Single-board computer made by Winsystems, Inc.
908
909           *Note*: This hardware watchdog is not probeable and thus there
910           is no way to know if writing to its IO address will corrupt
911           your system or have any real effect.  The only way to be sure
912           that this driver does what you want is to make sure you
913           are running it on an EPX-C3 from Winsystems with the watchdog
914           timer at IO address 0x1ee and 0x1ef.  It will write to both those
915           IO ports.  Basically, the assumption is made that if you compile
916           this driver into your kernel and/or load it as a module, that you
917           know what you are doing and that you are in fact running on an
918           EPX-C3 board!
919
920           To compile this driver as a module, choose M here: the
921           module will be called sbc_epx_c3.
922
923 # M32R Architecture
924
925 # M68K Architecture
926
927 config M54xx_WATCHDOG
928         tristate "MCF54xx watchdog support"
929         depends on M548x
930         help
931           To compile this driver as a module, choose M here: the
932           module will be called m54xx_wdt.
933
934 # MicroBlaze Architecture
935
936 config XILINX_WATCHDOG
937         tristate "Xilinx Watchdog timer"
938         depends on MICROBLAZE
939         ---help---
940           Watchdog driver for the xps_timebase_wdt ip core.
941
942           IMPORTANT: The xps_timebase_wdt parent must have the property
943           "clock-frequency" at device tree.
944
945           To compile this driver as a module, choose M here: the
946           module will be called of_xilinx_wdt.
947
948 # MIPS Architecture
949
950 config ATH79_WDT
951         tristate "Atheros AR71XX/AR724X/AR913X hardware watchdog"
952         depends on ATH79
953         help
954           Hardware driver for the built-in watchdog timer on the Atheros
955           AR71XX/AR724X/AR913X SoCs.
956
957 config BCM47XX_WDT
958         tristate "Broadcom BCM47xx Watchdog Timer"
959         depends on BCM47XX
960         help
961           Hardware driver for the Broadcom BCM47xx Watchdog Timer.
962
963 config RC32434_WDT
964         tristate "IDT RC32434 SoC Watchdog Timer"
965         depends on MIKROTIK_RB532
966         help
967           Hardware driver for the IDT RC32434 SoC built-in
968           watchdog timer.
969
970           To compile this driver as a module, choose M here: the
971           module will be called rc32434_wdt.
972
973 config INDYDOG
974         tristate "Indy/I2 Hardware Watchdog"
975         depends on SGI_HAS_INDYDOG
976         help
977           Hardware driver for the Indy's/I2's watchdog. This is a
978           watchdog timer that will reboot the machine after a 60 second
979           timer expired and no process has written to /dev/watchdog during
980           that time.
981
982 config JZ4740_WDT
983         tristate "Ingenic jz4740 SoC hardware watchdog"
984         depends on MACH_JZ4740
985         select WATCHDOG_CORE
986         help
987           Hardware driver for the built-in watchdog timer on Ingenic jz4740 SoCs.
988
989 config WDT_MTX1
990         tristate "MTX-1 Hardware Watchdog"
991         depends on MIPS_MTX1
992         help
993           Hardware driver for the MTX-1 boards. This is a watchdog timer that
994           will reboot the machine after a 100 seconds timer expired.
995
996 config PNX833X_WDT
997         tristate "PNX833x Hardware Watchdog"
998         depends on SOC_PNX8335
999         help
1000           Hardware driver for the PNX833x's watchdog. This is a
1001           watchdog timer that will reboot the machine after a programmable
1002           timer has expired and no process has written to /dev/watchdog during
1003           that time.
1004
1005 config SIBYTE_WDOG
1006         tristate "Sibyte SoC hardware watchdog"
1007         depends on CPU_SB1
1008         help
1009           Watchdog driver for the built in watchdog hardware in Sibyte
1010           SoC processors.  There are apparently two watchdog timers
1011           on such processors; this driver supports only the first one,
1012           because currently Linux only supports exporting one watchdog
1013           to userspace.
1014
1015           To compile this driver as a loadable module, choose M here.
1016           The module will be called sb_wdog.
1017
1018 config AR7_WDT
1019         tristate "TI AR7 Watchdog Timer"
1020         depends on AR7
1021         help
1022           Hardware driver for the TI AR7 Watchdog Timer.
1023
1024 config TXX9_WDT
1025         tristate "Toshiba TXx9 Watchdog Timer"
1026         depends on CPU_TX39XX || CPU_TX49XX
1027         select WATCHDOG_CORE
1028         help
1029           Hardware driver for the built-in watchdog timer on TXx9 MIPS SoCs.
1030
1031 config OCTEON_WDT
1032         tristate "Cavium OCTEON SOC family Watchdog Timer"
1033         depends on CPU_CAVIUM_OCTEON
1034         default y
1035         select EXPORT_UASM if OCTEON_WDT = m
1036         help
1037           Hardware driver for OCTEON's on chip watchdog timer.
1038           Enables the watchdog for all cores running Linux. It
1039           installs a NMI handler and pokes the watchdog based on an
1040           interrupt.  On first expiration of the watchdog, the
1041           interrupt handler pokes it.  The second expiration causes an
1042           NMI that prints a message. The third expiration causes a
1043           global soft reset.
1044
1045           When userspace has /dev/watchdog open, no poking is done
1046           from the first interrupt, it is then only poked when the
1047           device is written.
1048
1049 config BCM63XX_WDT
1050         tristate "Broadcom BCM63xx hardware watchdog"
1051         depends on BCM63XX
1052         help
1053           Watchdog driver for the built in watchdog hardware in Broadcom
1054           BCM63xx SoC.
1055
1056           To compile this driver as a loadable module, choose M here.
1057           The module will be called bcm63xx_wdt.
1058
1059 config LANTIQ_WDT
1060         tristate "Lantiq SoC watchdog"
1061         depends on LANTIQ
1062         help
1063           Hardware driver for the Lantiq SoC Watchdog Timer.
1064
1065 # PARISC Architecture
1066
1067 # POWERPC Architecture
1068
1069 config GEF_WDT
1070         tristate "GE Watchdog Timer"
1071         depends on GE_FPGA
1072         ---help---
1073           Watchdog timer found in a number of GE single board computers.
1074
1075 config MPC5200_WDT
1076         bool "MPC52xx Watchdog Timer"
1077         depends on PPC_MPC52xx
1078         help
1079           Use General Purpose Timer (GPT) 0 on the MPC5200 as Watchdog.
1080
1081 config 8xxx_WDT
1082         tristate "MPC8xxx Platform Watchdog Timer"
1083         depends on PPC_8xx || PPC_83xx || PPC_86xx
1084         help
1085           This driver is for a SoC level watchdog that exists on some
1086           Freescale PowerPC processors. So far this driver supports:
1087           - MPC8xx watchdogs
1088           - MPC83xx watchdogs
1089           - MPC86xx watchdogs
1090
1091           For BookE processors (MPC85xx) use the BOOKE_WDT driver instead.
1092
1093 config MV64X60_WDT
1094         tristate "MV64X60 (Marvell Discovery) Watchdog Timer"
1095         depends on MV64X60
1096
1097 config PIKA_WDT
1098         tristate "PIKA FPGA Watchdog"
1099         depends on WARP
1100         default y
1101         help
1102           This enables the watchdog in the PIKA FPGA. Currently used on
1103           the Warp platform.
1104
1105 config BOOKE_WDT
1106         tristate "PowerPC Book-E Watchdog Timer"
1107         depends on BOOKE || 4xx
1108         ---help---
1109           Watchdog driver for PowerPC Book-E chips, such as the Freescale
1110           MPC85xx SOCs and the IBM PowerPC 440.
1111
1112           Please see Documentation/watchdog/watchdog-api.txt for
1113           more information.
1114
1115 config BOOKE_WDT_DEFAULT_TIMEOUT
1116         int "PowerPC Book-E Watchdog Timer Default Timeout"
1117         depends on BOOKE_WDT
1118         default 38 if FSL_BOOKE
1119         range 0 63 if FSL_BOOKE
1120         default 3 if !FSL_BOOKE
1121         range 0 3 if !FSL_BOOKE
1122         help
1123           Select the default watchdog timer period to be used by the PowerPC
1124           Book-E watchdog driver.  A watchdog "event" occurs when the bit
1125           position represented by this number transitions from zero to one.
1126
1127           For Freescale Book-E processors, this is a number between 0 and 63.
1128           For other Book-E processors, this is a number between 0 and 3.
1129
1130           The value can be overridden by the wdt_period command-line parameter.
1131
1132 # PPC64 Architecture
1133
1134 config WATCHDOG_RTAS
1135         tristate "RTAS watchdog"
1136         depends on PPC_RTAS
1137         help
1138           This driver adds watchdog support for the RTAS watchdog.
1139
1140           To compile this driver as a module, choose M here. The module
1141           will be called wdrtas.
1142
1143 # S390 Architecture
1144
1145 config ZVM_WATCHDOG
1146         tristate "z/VM Watchdog Timer"
1147         depends on S390
1148         help
1149           IBM s/390 and zSeries machines running under z/VM 5.1 or later
1150           provide a virtual watchdog timer to their guest that cause a
1151           user define Control Program command to be executed after a
1152           timeout.
1153
1154           To compile this driver as a module, choose M here. The module
1155           will be called vmwatchdog.
1156
1157 # SUPERH (sh + sh64) Architecture
1158
1159 config SH_WDT
1160         tristate "SuperH Watchdog"
1161         depends on SUPERH && (CPU_SH3 || CPU_SH4)
1162         select WATCHDOG_CORE
1163         help
1164           This driver adds watchdog support for the integrated watchdog in the
1165           SuperH processors. If you have one of these processors and wish
1166           to have watchdog support enabled, say Y, otherwise say N.
1167
1168           As a side note, saying Y here will automatically boost HZ to 1000
1169           so that the timer has a chance to clear the overflow counter. On
1170           slower systems (such as the SH-2 and SH-3) this will likely yield
1171           some performance issues. As such, the WDT should be avoided here
1172           unless it is absolutely necessary.
1173
1174           To compile this driver as a module, choose M here: the
1175           module will be called shwdt.
1176
1177 # SPARC Architecture
1178
1179 # SPARC64 Architecture
1180
1181 config WATCHDOG_CP1XXX
1182         tristate "CP1XXX Hardware Watchdog support"
1183         depends on SPARC64 && PCI
1184         ---help---
1185           This is the driver for the hardware watchdog timers present on
1186           Sun Microsystems CompactPCI models CP1400 and CP1500.
1187
1188           To compile this driver as a module, choose M here: the
1189           module will be called cpwatchdog.
1190
1191           If you do not have a CompactPCI model CP1400 or CP1500, or
1192           another UltraSPARC-IIi-cEngine boardset with hardware watchdog,
1193           you should say N to this option.
1194
1195 config WATCHDOG_RIO
1196         tristate "RIO Hardware Watchdog support"
1197         depends on SPARC64 && PCI
1198         help
1199           Say Y here to support the hardware watchdog capability on Sun RIO
1200           machines.  The watchdog timeout period is normally one minute but
1201           can be changed with a boot-time parameter.
1202
1203 # XTENSA Architecture
1204
1205 # Xen Architecture
1206
1207 config XEN_WDT
1208         tristate "Xen Watchdog support"
1209         depends on XEN
1210         help
1211           Say Y here to support the hypervisor watchdog capability provided
1212           by Xen 4.0 and newer.  The watchdog timeout period is normally one
1213           minute but can be changed with a boot-time parameter.
1214
1215 config UML_WATCHDOG
1216         tristate "UML watchdog"
1217         depends on UML
1218
1219 #
1220 # ISA-based Watchdog Cards
1221 #
1222
1223 comment "ISA-based Watchdog Cards"
1224         depends on ISA
1225
1226 config PCWATCHDOG
1227         tristate "Berkshire Products ISA-PC Watchdog"
1228         depends on ISA
1229         ---help---
1230           This is the driver for the Berkshire Products ISA-PC Watchdog card.
1231           This card simply watches your kernel to make sure it doesn't freeze,
1232           and if it does, it reboots your computer after a certain amount of
1233           time. This driver is like the WDT501 driver but for different
1234           hardware. Please read <file:Documentation/watchdog/pcwd-watchdog.txt>. The PC
1235           watchdog cards can be ordered from <http://www.berkprod.com/>.
1236
1237           To compile this driver as a module, choose M here: the
1238           module will be called pcwd.
1239
1240           Most people will say N.
1241
1242 config MIXCOMWD
1243         tristate "Mixcom Watchdog"
1244         depends on ISA
1245         ---help---
1246           This is a driver for the Mixcom hardware watchdog cards.  This
1247           watchdog simply watches your kernel to make sure it doesn't freeze,
1248           and if it does, it reboots your computer after a certain amount of
1249           time.
1250
1251           To compile this driver as a module, choose M here: the
1252           module will be called mixcomwd.
1253
1254           Most people will say N.
1255
1256 config WDT
1257         tristate "WDT Watchdog timer"
1258         depends on ISA
1259         ---help---
1260           If you have a WDT500P or WDT501P watchdog board, say Y here,
1261           otherwise N. It is not possible to probe for this board, which means
1262           that you have to inform the kernel about the IO port and IRQ that
1263           is needed (you can do this via the io and irq parameters)
1264
1265           To compile this driver as a module, choose M here: the
1266           module will be called wdt.
1267
1268 #
1269 # PCI-based Watchdog Cards
1270 #
1271
1272 comment "PCI-based Watchdog Cards"
1273         depends on PCI
1274
1275 config PCIPCWATCHDOG
1276         tristate "Berkshire Products PCI-PC Watchdog"
1277         depends on PCI
1278         ---help---
1279           This is the driver for the Berkshire Products PCI-PC Watchdog card.
1280           This card simply watches your kernel to make sure it doesn't freeze,
1281           and if it does, it reboots your computer after a certain amount of
1282           time. The card can also monitor the internal temperature of the PC.
1283           More info is available at <http://www.berkprod.com/pci_pc_watchdog.htm>.
1284
1285           To compile this driver as a module, choose M here: the
1286           module will be called pcwd_pci.
1287
1288           Most people will say N.
1289
1290 config WDTPCI
1291         tristate "PCI-WDT500/501 Watchdog timer"
1292         depends on PCI
1293         ---help---
1294           If you have a PCI-WDT500/501 watchdog board, say Y here, otherwise N.
1295
1296           If you have a PCI-WDT501 watchdog board then you can enable the
1297           temperature sensor by setting the type parameter to 501.
1298
1299           If you want to enable the Fan Tachometer on the PCI-WDT501, then you
1300           can do this via the tachometer parameter. Only do this if you have a
1301           fan tachometer actually set up.
1302
1303           To compile this driver as a module, choose M here: the
1304           module will be called wdt_pci.
1305
1306 #
1307 # USB-based Watchdog Cards
1308 #
1309
1310 comment "USB-based Watchdog Cards"
1311         depends on USB
1312
1313 config USBPCWATCHDOG
1314         tristate "Berkshire Products USB-PC Watchdog"
1315         depends on USB
1316         ---help---
1317           This is the driver for the Berkshire Products USB-PC Watchdog card.
1318           This card simply watches your kernel to make sure it doesn't freeze,
1319           and if it does, it reboots your computer after a certain amount of
1320           time. The card can also monitor the internal temperature of the PC.
1321           More info is available at <http://www.berkprod.com/usb_pc_watchdog.htm>.
1322
1323           To compile this driver as a module, choose M here: the
1324           module will be called pcwd_usb.
1325
1326           Most people will say N.
1327
1328 endif # WATCHDOG