xref: /linux/drivers/watchdog/Kconfig (revision 1f6602c8ed1eccac4fa83e338d02aafe3a0e2c0a)
1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only
25e53c8edSJean-Baptiste Theou
3b7e04f8cSWim Van Sebroeck#
4b7e04f8cSWim Van Sebroeck# Watchdog device configuration
5b7e04f8cSWim Van Sebroeck#
6b7e04f8cSWim Van Sebroeck
7b7e04f8cSWim Van Sebroeckmenuconfig WATCHDOG
8b7e04f8cSWim Van Sebroeck	bool "Watchdog Timer Support"
9a7f7f624SMasahiro Yamada	help
10b7e04f8cSWim Van Sebroeck	  If you say Y here (and to one of the following options) and create a
11b7e04f8cSWim Van Sebroeck	  character special file /dev/watchdog with major number 10 and minor
12b7e04f8cSWim Van Sebroeck	  number 130 using mknod ("man mknod"), you will get a watchdog, i.e.:
13b7e04f8cSWim Van Sebroeck	  subsequently opening the file and then failing to write to it for
14b7e04f8cSWim Van Sebroeck	  longer than 1 minute will result in rebooting the machine. This
15b7e04f8cSWim Van Sebroeck	  could be useful for a networked machine that needs to come back
16b7e04f8cSWim Van Sebroeck	  on-line as fast as possible after a lock-up. There's both a watchdog
17b7e04f8cSWim Van Sebroeck	  implementation entirely in software (which can sometimes fail to
18b7e04f8cSWim Van Sebroeck	  reboot the machine) and a driver for hardware watchdog boards, which
19b7e04f8cSWim Van Sebroeck	  are more robust and can also keep track of the temperature inside
20e403149cSDirk Hohndel	  your computer. For details, read
2174665686SMauro Carvalho Chehab	  <file:Documentation/watchdog/watchdog-api.rst> in the kernel source.
22b7e04f8cSWim Van Sebroeck
23b7e04f8cSWim Van Sebroeck	  The watchdog is usually used together with the watchdog daemon
24b7e04f8cSWim Van Sebroeck	  which is available from
2501028829SRandy Dunlap	  <https://ibiblio.org/pub/Linux/system/daemons/watchdog/>. This daemon
2601028829SRandy Dunlap	  can also monitor NFS connections and can reboot the machine when the
2701028829SRandy Dunlap	  process table is full.
28b7e04f8cSWim Van Sebroeck
29b7e04f8cSWim Van Sebroeck	  If unsure, say N.
30b7e04f8cSWim Van Sebroeck
31b7e04f8cSWim Van Sebroeckif WATCHDOG
32b7e04f8cSWim Van Sebroeck
3343316044SWim Van Sebroeckconfig WATCHDOG_CORE
340d3e1563SGuenter Roeck	tristate "WatchDog Timer Driver Core"
35a7f7f624SMasahiro Yamada	help
3643316044SWim Van Sebroeck	  Say Y here if you want to use the new watchdog timer driver core.
3743316044SWim Van Sebroeck	  This driver provides a framework for all watchdog timer drivers
3843316044SWim Van Sebroeck	  and gives them the /dev/watchdog interface (and later also the
3943316044SWim Van Sebroeck	  sysfs interface).
4043316044SWim Van Sebroeck
41b7e04f8cSWim Van Sebroeckconfig WATCHDOG_NOWAYOUT
42b7e04f8cSWim Van Sebroeck	bool "Disable watchdog shutdown on close"
43b7e04f8cSWim Van Sebroeck	help
44b7e04f8cSWim Van Sebroeck	  The default watchdog behaviour (which you get if you say N here) is
45b7e04f8cSWim Van Sebroeck	  to stop the timer if the process managing it closes the file
46b7e04f8cSWim Van Sebroeck	  /dev/watchdog. It's always remotely possible that this process might
47b7e04f8cSWim Van Sebroeck	  get killed. If you say Y here, the watchdog cannot be stopped once
48b7e04f8cSWim Van Sebroeck	  it has been started.
49b7e04f8cSWim Van Sebroeck
502501b015SSebastian Reichelconfig WATCHDOG_HANDLE_BOOT_ENABLED
512501b015SSebastian Reichel	bool "Update boot-enabled watchdog until userspace takes over"
522501b015SSebastian Reichel	default y
532501b015SSebastian Reichel	help
542501b015SSebastian Reichel	  The default watchdog behaviour (which you get if you say Y here) is
552501b015SSebastian Reichel	  to ping watchdog devices that were enabled before the driver has
562501b015SSebastian Reichel	  been loaded until control is taken over from userspace using the
572501b015SSebastian Reichel	  /dev/watchdog file. If you say N here, the kernel will not update
582501b015SSebastian Reichel	  the watchdog on its own. Thus if your userspace does not start fast
592501b015SSebastian Reichel	  enough your device will reboot.
602501b015SSebastian Reichel
61487e4e08SRasmus Villemoesconfig WATCHDOG_OPEN_TIMEOUT
62487e4e08SRasmus Villemoes	int "Timeout value for opening watchdog device"
63487e4e08SRasmus Villemoes	default 0
64487e4e08SRasmus Villemoes	help
65487e4e08SRasmus Villemoes	  The maximum time, in seconds, for which the watchdog framework takes
66487e4e08SRasmus Villemoes	  care of pinging a hardware watchdog.  A value of 0 means infinite. The
67487e4e08SRasmus Villemoes	  value set here can be overridden by the commandline parameter
68487e4e08SRasmus Villemoes	  "watchdog.open_timeout".
69487e4e08SRasmus Villemoes
7033b71126SPratyush Anandconfig WATCHDOG_SYSFS
7133b71126SPratyush Anand	bool "Read different watchdog information through sysfs"
7233b71126SPratyush Anand	help
7333b71126SPratyush Anand	  Say Y here if you want to enable watchdog device status read through
7433b71126SPratyush Anand	  sysfs attributes.
7533b71126SPratyush Anand
767b7d2fdcSCurtis Kleinconfig WATCHDOG_HRTIMER_PRETIMEOUT
777b7d2fdcSCurtis Klein	bool "Enable watchdog hrtimer-based pretimeouts"
787b7d2fdcSCurtis Klein	help
797b7d2fdcSCurtis Klein	  Enable this if you want to use a hrtimer timer based pretimeout for
807b7d2fdcSCurtis Klein	  watchdogs that do not natively support pretimeout support. Be aware
817b7d2fdcSCurtis Klein	  that because this pretimeout functionality uses hrtimers, it may not
827b7d2fdcSCurtis Klein	  be able to fire before the actual watchdog fires in some situations.
837b7d2fdcSCurtis Klein
84471ce88bSGuenter Roeckcomment "Watchdog Pretimeout Governors"
85471ce88bSGuenter Roeck
86471ce88bSGuenter Roeckconfig WATCHDOG_PRETIMEOUT_GOV
87471ce88bSGuenter Roeck	bool "Enable watchdog pretimeout governors"
88471ce88bSGuenter Roeck	depends on WATCHDOG_CORE
89471ce88bSGuenter Roeck	help
90471ce88bSGuenter Roeck	  The option allows to select watchdog pretimeout governors.
91471ce88bSGuenter Roeck
92a9f0bda5SGuenter Roeckconfig WATCHDOG_PRETIMEOUT_GOV_SEL
93a9f0bda5SGuenter Roeck	tristate
94a9f0bda5SGuenter Roeck	depends on WATCHDOG_PRETIMEOUT_GOV
95a9f0bda5SGuenter Roeck	default m
96a9f0bda5SGuenter Roeck	select WATCHDOG_PRETIMEOUT_GOV_PANIC if WATCHDOG_PRETIMEOUT_GOV_NOOP=n
97a9f0bda5SGuenter Roeck
98471ce88bSGuenter Roeckif WATCHDOG_PRETIMEOUT_GOV
99471ce88bSGuenter Roeck
100471ce88bSGuenter Roeckconfig WATCHDOG_PRETIMEOUT_GOV_NOOP
101471ce88bSGuenter Roeck	tristate "Noop watchdog pretimeout governor"
1020d3e1563SGuenter Roeck	depends on WATCHDOG_CORE
103471ce88bSGuenter Roeck	default WATCHDOG_CORE
104471ce88bSGuenter Roeck	help
105471ce88bSGuenter Roeck	  Noop watchdog pretimeout governor, only an informational
106471ce88bSGuenter Roeck	  message is added to kernel log buffer.
107471ce88bSGuenter Roeck
108471ce88bSGuenter Roeckconfig WATCHDOG_PRETIMEOUT_GOV_PANIC
109471ce88bSGuenter Roeck	tristate "Panic watchdog pretimeout governor"
1100d3e1563SGuenter Roeck	depends on WATCHDOG_CORE
111471ce88bSGuenter Roeck	default WATCHDOG_CORE
112471ce88bSGuenter Roeck	help
113471ce88bSGuenter Roeck	  Panic watchdog pretimeout governor, on watchdog pretimeout
114471ce88bSGuenter Roeck	  event put the kernel into panic.
115471ce88bSGuenter Roeck
116471ce88bSGuenter Roeckchoice
117471ce88bSGuenter Roeck	prompt "Default Watchdog Pretimeout Governor"
118471ce88bSGuenter Roeck	default WATCHDOG_PRETIMEOUT_DEFAULT_GOV_PANIC
119471ce88bSGuenter Roeck	help
120471ce88bSGuenter Roeck	  This option selects a default watchdog pretimeout governor.
121471ce88bSGuenter Roeck	  The governor takes its action, if a watchdog is capable
122471ce88bSGuenter Roeck	  to report a pretimeout event.
123471ce88bSGuenter Roeck
124471ce88bSGuenter Roeckconfig WATCHDOG_PRETIMEOUT_DEFAULT_GOV_NOOP
125471ce88bSGuenter Roeck	bool "noop"
126471ce88bSGuenter Roeck	depends on WATCHDOG_PRETIMEOUT_GOV_NOOP
127471ce88bSGuenter Roeck	help
128471ce88bSGuenter Roeck	  Use noop watchdog pretimeout governor by default. If noop
129471ce88bSGuenter Roeck	  governor is selected by a user, write a short message to
130471ce88bSGuenter Roeck	  the kernel log buffer and don't do any system changes.
131471ce88bSGuenter Roeck
132471ce88bSGuenter Roeckconfig WATCHDOG_PRETIMEOUT_DEFAULT_GOV_PANIC
133471ce88bSGuenter Roeck	bool "panic"
134471ce88bSGuenter Roeck	depends on WATCHDOG_PRETIMEOUT_GOV_PANIC
135471ce88bSGuenter Roeck	help
136471ce88bSGuenter Roeck	  Use panic watchdog pretimeout governor by default, if
137471ce88bSGuenter Roeck	  a watchdog pretimeout event happens, consider that
138471ce88bSGuenter Roeck	  a watchdog feeder is dead and reboot is unavoidable.
139471ce88bSGuenter Roeck
140471ce88bSGuenter Roeckendchoice
141471ce88bSGuenter Roeck
142471ce88bSGuenter Roeckendif # WATCHDOG_PRETIMEOUT_GOV
143471ce88bSGuenter Roeck
144b7e04f8cSWim Van Sebroeck#
145b7e04f8cSWim Van Sebroeck# General Watchdog drivers
146b7e04f8cSWim Van Sebroeck#
147b7e04f8cSWim Van Sebroeck
148b7e04f8cSWim Van Sebroeckcomment "Watchdog Device Drivers"
149b7e04f8cSWim Van Sebroeck
150b7e04f8cSWim Van Sebroeck# Architecture Independent
151b7e04f8cSWim Van Sebroeck
152b7e04f8cSWim Van Sebroeckconfig SOFT_WATCHDOG
153b7e04f8cSWim Van Sebroeck	tristate "Software watchdog"
154a5132cafSAlan Cox	select WATCHDOG_CORE
155b7e04f8cSWim Van Sebroeck	help
156b7e04f8cSWim Van Sebroeck	  A software monitoring watchdog. This will fail to reboot your system
157b7e04f8cSWim Van Sebroeck	  from some situations that the hardware watchdog will recover
158b7e04f8cSWim Van Sebroeck	  from. Equally it's a lot cheaper to install.
159b7e04f8cSWim Van Sebroeck
160b7e04f8cSWim Van Sebroeck	  To compile this driver as a module, choose M here: the
161b7e04f8cSWim Van Sebroeck	  module will be called softdog.
162b7e04f8cSWim Van Sebroeck
1634cbc6902SWolfram Sangconfig SOFT_WATCHDOG_PRETIMEOUT
1644cbc6902SWolfram Sang	bool "Software watchdog pretimeout governor support"
1654cbc6902SWolfram Sang	depends on SOFT_WATCHDOG && WATCHDOG_PRETIMEOUT_GOV
1664cbc6902SWolfram Sang	help
1674cbc6902SWolfram Sang	  Enable this if you want to use pretimeout governors with the software
1684cbc6902SWolfram Sang	  watchdog. Be aware that governors might affect the watchdog because it
1694cbc6902SWolfram Sang	  is purely software, e.g. the panic governor will stall it!
1704cbc6902SWolfram Sang
171b237bcacSMatti Vaittinenconfig BD957XMUF_WATCHDOG
172b237bcacSMatti Vaittinen	tristate "ROHM BD9576MUF and BD9573MUF PMIC Watchdog"
173b237bcacSMatti Vaittinen	depends on MFD_ROHM_BD957XMUF
174b237bcacSMatti Vaittinen	select WATCHDOG_CORE
175b237bcacSMatti Vaittinen	help
176b237bcacSMatti Vaittinen	  Support for the watchdog in the ROHM BD9576 and BD9573 PMICs.
177b237bcacSMatti Vaittinen	  These PMIC ICs contain watchdog block which can be configured
178b237bcacSMatti Vaittinen	  to toggle reset line if SoC fails to ping watchdog via GPIO.
179b237bcacSMatti Vaittinen
180b237bcacSMatti Vaittinen	  Say Y here to include support for the ROHM BD9576 or BD9573
181b237bcacSMatti Vaittinen	  watchdog. Alternatively say M to compile the driver as a module,
182b237bcacSMatti Vaittinen	  which will be called bd9576_wdt.
183b237bcacSMatti Vaittinen
184843dac4dSLukasz Majczakconfig CROS_EC_WATCHDOG
185843dac4dSLukasz Majczak	tristate "ChromeOS EC-based watchdog"
186843dac4dSLukasz Majczak	select WATCHDOG_CORE
187843dac4dSLukasz Majczak	depends on CROS_EC
188843dac4dSLukasz Majczak	help
189843dac4dSLukasz Majczak	  Watchdog driver for Chromebook devices equipped with embedded controller.
190843dac4dSLukasz Majczak	  Trigger event is recorded in EC and checked on the subsequent boot.
191843dac4dSLukasz Majczak
192843dac4dSLukasz Majczak	  To compile this driver as a module, choose M here: the
193843dac4dSLukasz Majczak	  module will be called cros_ec_wdt.
194843dac4dSLukasz Majczak
195664a0d78SAshish Jangamconfig DA9052_WATCHDOG
196664a0d78SAshish Jangam	tristate "Dialog DA9052 Watchdog"
197da2a68b3SGuenter Roeck	depends on PMIC_DA9052 || COMPILE_TEST
198664a0d78SAshish Jangam	select WATCHDOG_CORE
199664a0d78SAshish Jangam	help
200664a0d78SAshish Jangam	  Support for the watchdog in the DA9052 PMIC. Watchdog trigger
201664a0d78SAshish Jangam	  cause system reset.
202664a0d78SAshish Jangam
203664a0d78SAshish Jangam	  Say Y here to include support for the DA9052 watchdog.
204664a0d78SAshish Jangam	  Alternatively say M to compile the driver as a module,
205664a0d78SAshish Jangam	  which will be called da9052_wdt.
206664a0d78SAshish Jangam
207312b00e1SAshish Jangamconfig DA9055_WATCHDOG
208312b00e1SAshish Jangam	tristate "Dialog Semiconductor DA9055 Watchdog"
209da2a68b3SGuenter Roeck	depends on MFD_DA9055 || COMPILE_TEST
21012a5c05cSRandy Dunlap	select WATCHDOG_CORE
211312b00e1SAshish Jangam	help
212312b00e1SAshish Jangam	  If you say yes here you get support for watchdog on the Dialog
213312b00e1SAshish Jangam	  Semiconductor DA9055 PMIC.
214312b00e1SAshish Jangam
215312b00e1SAshish Jangam	  This driver can also be built as a module.  If so, the module
216312b00e1SAshish Jangam	  will be called da9055_wdt.
217312b00e1SAshish Jangam
2185e9c16e3SKrystian Garbaciakconfig DA9063_WATCHDOG
2195e9c16e3SKrystian Garbaciak	tristate "Dialog DA9063 Watchdog"
220da2a68b3SGuenter Roeck	depends on MFD_DA9063 || COMPILE_TEST
2217d608c33SAndrej Picej	depends on I2C
2225e9c16e3SKrystian Garbaciak	select WATCHDOG_CORE
2235e9c16e3SKrystian Garbaciak	help
2245e9c16e3SKrystian Garbaciak	  Support for the watchdog in the DA9063 PMIC.
2255e9c16e3SKrystian Garbaciak
2265e9c16e3SKrystian Garbaciak	  This driver can be built as a module. The module name is da9063_wdt.
2275e9c16e3SKrystian Garbaciak
2287a7cb009SS Twissconfig DA9062_WATCHDOG
22972106c18SSteve Twiss	tristate "Dialog DA9062/61 Watchdog"
230da2a68b3SGuenter Roeck	depends on MFD_DA9062 || COMPILE_TEST
23144144c80SGuenter Roeck	depends on I2C
2327a7cb009SS Twiss	select WATCHDOG_CORE
2337a7cb009SS Twiss	help
23472106c18SSteve Twiss	  Support for the watchdog in the DA9062 and DA9061 PMICs.
2357a7cb009SS Twiss
2367a7cb009SS Twiss	  This driver can be built as a module. The module name is da9062_wdt.
2377a7cb009SS Twiss
23825134eafSAlexander Shiyanconfig GPIO_WATCHDOG
23925134eafSAlexander Shiyan	tristate "Watchdog device controlled through GPIO-line"
24025134eafSAlexander Shiyan	depends on OF_GPIO
24125134eafSAlexander Shiyan	select WATCHDOG_CORE
24225134eafSAlexander Shiyan	help
24325134eafSAlexander Shiyan	  If you say yes here you get support for watchdog device
24425134eafSAlexander Shiyan	  controlled through GPIO-line.
24525134eafSAlexander Shiyan
2465e53c8edSJean-Baptiste Theouconfig GPIO_WATCHDOG_ARCH_INITCALL
2475e53c8edSJean-Baptiste Theou	bool "Register the watchdog as early as possible"
2485e53c8edSJean-Baptiste Theou	depends on GPIO_WATCHDOG=y
2495e53c8edSJean-Baptiste Theou	help
2505e53c8edSJean-Baptiste Theou	  In some situations, the default initcall level (module_init)
2515e53c8edSJean-Baptiste Theou	  in not early enough in the boot process to avoid the watchdog
2525e53c8edSJean-Baptiste Theou	  to be triggered.
2535e53c8edSJean-Baptiste Theou	  If you say yes here, the initcall level would be raised to
2545e53c8edSJean-Baptiste Theou	  arch_initcall.
2555e53c8edSJean-Baptiste Theou	  If in doubt, say N.
2565e53c8edSJean-Baptiste Theou
257*1f6602c8SMark Pearsonconfig LENOVO_SE10_WDT
258*1f6602c8SMark Pearson        tristate "Lenovo SE10 Watchdog"
259*1f6602c8SMark Pearson        select WATCHDOG_CORE
260*1f6602c8SMark Pearson        help
261*1f6602c8SMark Pearson          If you say yes here you get support for the watchdog
262*1f6602c8SMark Pearson          functionality for the Lenovo SE10 platform.
263*1f6602c8SMark Pearson
264*1f6602c8SMark Pearson          This driver can also be built as a module. If so, the module
265*1f6602c8SMark Pearson          will be called lenovo-se10-wdt.
266*1f6602c8SMark Pearson
26750332639SAndreas Wernerconfig MENF21BMC_WATCHDOG
26850332639SAndreas Werner	tristate "MEN 14F021P00 BMC Watchdog"
269da2a68b3SGuenter Roeck	depends on MFD_MENF21BMC || COMPILE_TEST
2706fb303a8SArnd Bergmann	depends on I2C
27150332639SAndreas Werner	select WATCHDOG_CORE
27250332639SAndreas Werner	help
27350332639SAndreas Werner	  Say Y here to include support for the MEN 14F021P00 BMC Watchdog.
27450332639SAndreas Werner
27550332639SAndreas Werner	  This driver can also be built as a module. If so the module
27650332639SAndreas Werner	  will be called menf21bmc_wdt.
27750332639SAndreas Werner
27881ceed41SJohannes Thumshirnconfig MENZ069_WATCHDOG
27981ceed41SJohannes Thumshirn	tristate "MEN 16Z069 Watchdog"
28012aea518SJohannes Thumshirn	depends on MCB
28181ceed41SJohannes Thumshirn	select WATCHDOG_CORE
28281ceed41SJohannes Thumshirn	help
28381ceed41SJohannes Thumshirn	  Say Y here to include support for the MEN 16Z069 Watchdog.
28481ceed41SJohannes Thumshirn
28581ceed41SJohannes Thumshirn	  This driver can also be built as a module. If so the module
28681ceed41SJohannes Thumshirn	  will be called menz069_wdt.
28781ceed41SJohannes Thumshirn
288058dfc76SMika Westerbergconfig WDAT_WDT
289058dfc76SMika Westerberg	tristate "ACPI Watchdog Action Table (WDAT)"
290058dfc76SMika Westerberg	depends on ACPI
291effb46b4SMika Westerberg	select WATCHDOG_CORE
292058dfc76SMika Westerberg	select ACPI_WATCHDOG
293058dfc76SMika Westerberg	help
294058dfc76SMika Westerberg	  This driver adds support for systems with ACPI Watchdog Action
295058dfc76SMika Westerberg	  Table (WDAT) table. Servers typically have this but it can be
296058dfc76SMika Westerberg	  found on some desktop machines as well. This driver will take
297058dfc76SMika Westerberg	  over the native iTCO watchdog driver found on many Intel CPUs.
298058dfc76SMika Westerberg
299058dfc76SMika Westerberg	  To compile this driver as module, choose M here: the module will
300058dfc76SMika Westerberg	  be called wdat_wdt.
301058dfc76SMika Westerberg
302502a0106SMark Brownconfig WM831X_WATCHDOG
303502a0106SMark Brown	tristate "WM831x watchdog"
304d0e32fbaSArnd Bergmann	depends on MFD_WM831X
30500411ee9SMark Brown	select WATCHDOG_CORE
306502a0106SMark Brown	help
307502a0106SMark Brown	  Support for the watchdog in the WM831x AudioPlus PMICs.  When
308502a0106SMark Brown	  the watchdog triggers the system will be reset.
309502a0106SMark Brown
310006948baSMark Brownconfig WM8350_WATCHDOG
311006948baSMark Brown	tristate "WM8350 watchdog"
312006948baSMark Brown	depends on MFD_WM8350
3132e51d90fSAxel Lin	select WATCHDOG_CORE
314006948baSMark Brown	help
315006948baSMark Brown	  Support for the watchdog in the WM8350 AudioPlus PMIC.  When
316006948baSMark Brown	  the watchdog triggers the system will be reset.
317006948baSMark Brown
318c9dcf9f2SMichal Simekconfig XILINX_WATCHDOG
319c9dcf9f2SMichal Simek	tristate "Xilinx Watchdog timer"
32071fd380aSChen Gang	depends on HAS_IOMEM
321c9dcf9f2SMichal Simek	select WATCHDOG_CORE
322c9dcf9f2SMichal Simek	help
32301028829SRandy Dunlap	  Watchdog driver for the xps_timebase_wdt IP core.
324c9dcf9f2SMichal Simek
325c9dcf9f2SMichal Simek	  To compile this driver as a module, choose M here: the
326c9dcf9f2SMichal Simek	  module will be called of_xilinx_wdt.
327c9dcf9f2SMichal Simek
32812984ceaSSrinivas Neeliconfig XILINX_WINDOW_WATCHDOG
32912984ceaSSrinivas Neeli	tristate "Xilinx window watchdog timer"
33012984ceaSSrinivas Neeli	depends on HAS_IOMEM
331f1a43aadSRob Herring	depends on ARM64 || COMPILE_TEST
33212984ceaSSrinivas Neeli	select WATCHDOG_CORE
33312984ceaSSrinivas Neeli	help
33412984ceaSSrinivas Neeli	  Window watchdog driver for the versal_wwdt IP core.
33512984ceaSSrinivas Neeli	  Window watchdog timer(WWDT) contains closed(first) and
33612984ceaSSrinivas Neeli	  open(second) window with 32 bit width. Write to the watchdog
33712984ceaSSrinivas Neeli	  timer within predefined window periods of time. This means
33812984ceaSSrinivas Neeli	  a period that is not too soon and a period that is not too
33912984ceaSSrinivas Neeli	  late. The WWDT has to be restarted within the open window time.
34012984ceaSSrinivas Neeli	  If software tries to restart WWDT outside of the open window
34112984ceaSSrinivas Neeli	  time period, it generates a reset.
34212984ceaSSrinivas Neeli
34312984ceaSSrinivas Neeli	  To compile this driver as a module, choose M here: the
34412984ceaSSrinivas Neeli	  module will be called xilinx_wwdt.
34512984ceaSSrinivas Neeli
3462a7b753aSMartyn Welchconfig ZIIRAVE_WATCHDOG
3472a7b753aSMartyn Welch	tristate "Zodiac RAVE Watchdog Timer"
3482a7b753aSMartyn Welch	depends on I2C
3492a7b753aSMartyn Welch	select WATCHDOG_CORE
3502a7b753aSMartyn Welch	help
3512a7b753aSMartyn Welch	  Watchdog driver for the Zodiac Aerospace RAVE Switch Watchdog
3522a7b753aSMartyn Welch	  Processor.
3532a7b753aSMartyn Welch
3542a7b753aSMartyn Welch	  To compile this driver as a module, choose M here: the
3552a7b753aSMartyn Welch	  module will be called ziirave_wdt.
3562a7b753aSMartyn Welch
357c3bb3334SAndrey Smirnovconfig RAVE_SP_WATCHDOG
358c3bb3334SAndrey Smirnov	tristate "RAVE SP Watchdog timer"
359c3bb3334SAndrey Smirnov	depends on RAVE_SP_CORE
36020e6bb17SArnd Bergmann	depends on NVMEM || !NVMEM
361c3bb3334SAndrey Smirnov	select WATCHDOG_CORE
362c3bb3334SAndrey Smirnov	help
363c3bb3334SAndrey Smirnov	  Support for the watchdog on RAVE SP device.
364c3bb3334SAndrey Smirnov
365c60923ddSMichael Shychconfig MLX_WDT
366c60923ddSMichael Shych	tristate "Mellanox Watchdog"
367f1a43aadSRob Herring	depends on MELLANOX_PLATFORM || COMPILE_TEST
368c60923ddSMichael Shych	select WATCHDOG_CORE
369c60923ddSMichael Shych	select REGMAP
370c60923ddSMichael Shych	help
371c60923ddSMichael Shych	  This is the driver for the hardware watchdog on Mellanox systems.
372c60923ddSMichael Shych	  If you are going to use it, say Y here, otherwise N.
373c60923ddSMichael Shych	  This driver can be used together with the watchdog daemon.
374c60923ddSMichael Shych	  It can also watch your kernel to make sure it doesn't freeze,
375c60923ddSMichael Shych	  and if it does, it reboots your system after a certain amount of
376c60923ddSMichael Shych	  time.
377c60923ddSMichael Shych
378c60923ddSMichael Shych	  To compile this driver as a module, choose M here: the
379c60923ddSMichael Shych	  module will be called mlx-wdt.
380c60923ddSMichael Shych
38185174ca6SMichael Walleconfig SL28CPLD_WATCHDOG
38285174ca6SMichael Walle	tristate "Kontron sl28cpld Watchdog"
38385174ca6SMichael Walle	depends on MFD_SL28CPLD || COMPILE_TEST
38485174ca6SMichael Walle	select WATCHDOG_CORE
38585174ca6SMichael Walle	help
38685174ca6SMichael Walle	  Say Y here to include support for the watchdog timer
38785174ca6SMichael Walle	  on the Kontron sl28 CPLD.
38885174ca6SMichael Walle
38985174ca6SMichael Walle	  To compile this driver as a module, choose M here: the
39085174ca6SMichael Walle	  module will be called sl28cpld_wdt.
39185174ca6SMichael Walle
392b7e04f8cSWim Van Sebroeck# ALPHA Architecture
393b7e04f8cSWim Van Sebroeck
394b7e04f8cSWim Van Sebroeck# ARM Architecture
395b7e04f8cSWim Van Sebroeck
3964a370278SViresh KUMARconfig ARM_SP805_WATCHDOG
3974a370278SViresh KUMAR	tristate "ARM SP805 Watchdog"
3983eafee95SArnd Bergmann	depends on (ARM || ARM64 || COMPILE_TEST) && ARM_AMBA
3994a516539SViresh Kumar	select WATCHDOG_CORE
4004a370278SViresh KUMAR	help
4014a370278SViresh KUMAR	  ARM Primecell SP805 Watchdog timer. This will reboot your system when
4024a370278SViresh KUMAR	  the timeout is reached.
4034a370278SViresh KUMAR
40457d2caaaSFu Weiconfig ARM_SBSA_WATCHDOG
40557d2caaaSFu Wei	tristate "ARM SBSA Generic Watchdog"
40657d2caaaSFu Wei	depends on ARM64
40757d2caaaSFu Wei	depends on ARM_ARCH_TIMER
40857d2caaaSFu Wei	select WATCHDOG_CORE
40957d2caaaSFu Wei	help
41057d2caaaSFu Wei	  ARM SBSA Generic Watchdog has two stage timeouts:
41157d2caaaSFu Wei	  the first signal (WS0) is for alerting the system by interrupt,
41257d2caaaSFu Wei	  the second one (WS1) is a real hardware reset.
41357d2caaaSFu Wei	  More details: ARM DEN0029B - Server Base System Architecture (SBSA)
41457d2caaaSFu Wei
41557d2caaaSFu Wei	  This driver can operate ARM SBSA Generic Watchdog as a single stage
41657d2caaaSFu Wei	  or a two stages watchdog, it depends on the module parameter "action".
41757d2caaaSFu Wei
41857d2caaaSFu Wei	  Note: the maximum timeout in the two stages mode is half of that in
41957d2caaaSFu Wei	  the single stage mode.
42057d2caaaSFu Wei
42157d2caaaSFu Wei	  To compile this driver as module, choose M here: The module
42257d2caaaSFu Wei	  will be called sbsa_gwdt.
42357d2caaaSFu Wei
42454e3d9b5SMarek Behúnconfig ARMADA_37XX_WATCHDOG
42554e3d9b5SMarek Behún	tristate "Armada 37xx watchdog"
42654e3d9b5SMarek Behún	depends on ARCH_MVEBU || COMPILE_TEST
4277f6f1dfbSGuenter Roeck	depends on HAS_IOMEM
42854e3d9b5SMarek Behún	select MFD_SYSCON
42954e3d9b5SMarek Behún	select WATCHDOG_CORE
43054e3d9b5SMarek Behún	help
43154e3d9b5SMarek Behún	   Say Y here to include support for the watchdog timer found on
43254e3d9b5SMarek Behún	   Marvell Armada 37xx SoCs.
43354e3d9b5SMarek Behún	   To compile this driver as a module, choose M here: the
43454e3d9b5SMarek Behún	   module will be called armada_37xx_wdt.
43554e3d9b5SMarek Behún
436aae03dc9SOleksij Rempelconfig ASM9260_WATCHDOG
437aae03dc9SOleksij Rempel	tristate "Alphascale ASM9260 watchdog"
438da2a68b3SGuenter Roeck	depends on MACH_ASM9260 || COMPILE_TEST
439aae03dc9SOleksij Rempel	depends on OF
440aae03dc9SOleksij Rempel	select WATCHDOG_CORE
441aae03dc9SOleksij Rempel	select RESET_CONTROLLER
442aae03dc9SOleksij Rempel	help
44301028829SRandy Dunlap	  Watchdog timer embedded into Alphascale asm9260 chips. This will
44401028829SRandy Dunlap	  reboot your system when the timeout is reached.
445aae03dc9SOleksij Rempel
446b7e04f8cSWim Van Sebroeckconfig AT91RM9200_WATCHDOG
447b7e04f8cSWim Van Sebroeck	tristate "AT91RM9200 watchdog"
448da2a68b3SGuenter Roeck	depends on (SOC_AT91RM9200 && MFD_SYSCON) || COMPILE_TEST
449b7e04f8cSWim Van Sebroeck	help
450b7e04f8cSWim Van Sebroeck	  Watchdog timer embedded into AT91RM9200 chips. This will reboot your
451b7e04f8cSWim Van Sebroeck	  system when the timeout is reached.
452b7e04f8cSWim Van Sebroeck
453e6bb42e3SRenaud CERRATOconfig AT91SAM9X_WATCHDOG
454f0e625c1SAndrew Victor	tristate "AT91SAM9X / AT91CAP9 watchdog"
455da2a68b3SGuenter Roeck	depends on ARCH_AT91 || COMPILE_TEST
456490ac7afSWenyou Yang	select WATCHDOG_CORE
457e6bb42e3SRenaud CERRATO	help
458f0e625c1SAndrew Victor	  Watchdog timer embedded into AT91SAM9X and AT91CAP9 chips. This will
459f0e625c1SAndrew Victor	  reboot your system when the timeout is reached.
460e6bb42e3SRenaud CERRATO
46176534860SWenyou Yangconfig SAMA5D4_WATCHDOG
46276534860SWenyou Yang	tristate "Atmel SAMA5D4 Watchdog Timer"
463da2a68b3SGuenter Roeck	depends on ARCH_AT91 || COMPILE_TEST
46476534860SWenyou Yang	select WATCHDOG_CORE
46576534860SWenyou Yang	help
46676534860SWenyou Yang	  Atmel SAMA5D4 watchdog timer is embedded into SAMA5D4 chips.
46776534860SWenyou Yang	  Its Watchdog Timer Mode Register can be written more than once.
46876534860SWenyou Yang	  This will reboot your system when the timeout is reached.
46976534860SWenyou Yang
47058bf0164SHarini Katakamconfig CADENCE_WATCHDOG
47158bf0164SHarini Katakam	tristate "Cadence Watchdog Timer"
4726960d485SRichard Weinberger	depends on HAS_IOMEM
47358bf0164SHarini Katakam	select WATCHDOG_CORE
47458bf0164SHarini Katakam	help
47558bf0164SHarini Katakam	  Say Y here if you want to include support for the watchdog
47658bf0164SHarini Katakam	  timer in the Xilinx Zynq.
47758bf0164SHarini Katakam
478b7e04f8cSWim Van Sebroeckconfig 21285_WATCHDOG
479b7e04f8cSWim Van Sebroeck	tristate "DC21285 watchdog"
480b7e04f8cSWim Van Sebroeck	depends on FOOTBRIDGE
481b7e04f8cSWim Van Sebroeck	help
482b7e04f8cSWim Van Sebroeck	  The Intel Footbridge chip contains a built-in watchdog circuit. Say Y
483b7e04f8cSWim Van Sebroeck	  here if you wish to use this. Alternatively say M to compile the
484b7e04f8cSWim Van Sebroeck	  driver as a module, which will be called wdt285.
485b7e04f8cSWim Van Sebroeck
486b7e04f8cSWim Van Sebroeck	  This driver does not work on all machines. In particular, early CATS
487b7e04f8cSWim Van Sebroeck	  boards have hardware problems that will cause the machine to simply
488b7e04f8cSWim Van Sebroeck	  lock up if the watchdog fires.
489b7e04f8cSWim Van Sebroeck
490b7e04f8cSWim Van Sebroeck	  "If in doubt, leave it out" - say N.
491b7e04f8cSWim Van Sebroeck
492b7e04f8cSWim Van Sebroeckconfig 977_WATCHDOG
493b7e04f8cSWim Van Sebroeck	tristate "NetWinder WB83C977 watchdog"
494da2a68b3SGuenter Roeck	depends on (FOOTBRIDGE && ARCH_NETWINDER) || (ARM && COMPILE_TEST)
495b7e04f8cSWim Van Sebroeck	help
496b7e04f8cSWim Van Sebroeck	  Say Y here to include support for the WB977 watchdog included in
497b7e04f8cSWim Van Sebroeck	  NetWinder machines. Alternatively say M to compile the driver as
498b7e04f8cSWim Van Sebroeck	  a module, which will be called wdt977.
499b7e04f8cSWim Van Sebroeck
500b7e04f8cSWim Van Sebroeck	  Not sure? It's safe to say N.
501b7e04f8cSWim Van Sebroeck
502766a2aadSLinus Walleijconfig FTWDT010_WATCHDOG
503766a2aadSLinus Walleij	tristate "Faraday Technology FTWDT010 watchdog"
504766a2aadSLinus Walleij	depends on ARM || COMPILE_TEST
505eca10ae6SLinus Walleij	select WATCHDOG_CORE
506766a2aadSLinus Walleij	default ARCH_GEMINI
507eca10ae6SLinus Walleij	help
508766a2aadSLinus Walleij	  Say Y here if to include support for the Faraday Technology
509766a2aadSLinus Walleij	  FTWDT010 watchdog timer embedded in the Cortina Systems Gemini
510766a2aadSLinus Walleij	  family of devices.
511eca10ae6SLinus Walleij
512eca10ae6SLinus Walleij	  To compile this driver as a module, choose M here: the
513766a2aadSLinus Walleij	  module will be called ftwdt010_wdt.
514eca10ae6SLinus Walleij
515b7e04f8cSWim Van Sebroeckconfig IXP4XX_WATCHDOG
516b7e04f8cSWim Van Sebroeck	tristate "IXP4xx Watchdog"
517f1a43aadSRob Herring	depends on ARCH_IXP4XX || (ARM && COMPILE_TEST)
518580b8e28SLinus Walleij	select WATCHDOG_CORE
519b7e04f8cSWim Van Sebroeck	help
520b7e04f8cSWim Van Sebroeck	  Say Y here if to include support for the watchdog timer
521b7e04f8cSWim Van Sebroeck	  in the Intel IXP4xx network processors. This driver can
522b7e04f8cSWim Van Sebroeck	  be built as a module by choosing M. The module will
523b7e04f8cSWim Van Sebroeck	  be called ixp4xx_wdt.
524b7e04f8cSWim Van Sebroeck
525b7e04f8cSWim Van Sebroeck	  Note: The internal IXP4xx watchdog does a soft CPU reset
526b7e04f8cSWim Van Sebroeck	  which doesn't reset any peripherals. There are circumstances
527b7e04f8cSWim Van Sebroeck	  where the watchdog will fail to reset the board correctly
528b7e04f8cSWim Van Sebroeck	  (e.g., if the boot ROM is in an unreadable state).
529b7e04f8cSWim Van Sebroeck
530b7e04f8cSWim Van Sebroeck	  Say N if you are unsure.
531b7e04f8cSWim Van Sebroeck
532b7e04f8cSWim Van Sebroeckconfig S3C2410_WATCHDOG
5331ea35b35SArnd Bergmann	tristate "S3C6410/S5Pv210/Exynos Watchdog"
5341ea35b35SArnd Bergmann	depends on ARCH_S3C64XX || ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
53525dc46e3SWolfram Sang	select WATCHDOG_CORE
536b7e04f8cSWim Van Sebroeck	help
5371ea35b35SArnd Bergmann	  Watchdog timer block in the Samsung S3C64xx, S5Pv210 and Exynos
5381ea35b35SArnd Bergmann	  SoCs. This will reboot the system when the timer expires with
539981785daSKrzysztof Kozlowski	  the watchdog enabled.
540b7e04f8cSWim Van Sebroeck
541b7e04f8cSWim Van Sebroeck	  The driver is limited by the speed of the system's PCLK
542b7e04f8cSWim Van Sebroeck	  signal, so with reasonably fast systems (PCLK around 50-66MHz)
543b7e04f8cSWim Van Sebroeck	  then watchdog intervals of over approximately 20seconds are
544b7e04f8cSWim Van Sebroeck	  unavailable.
545b7e04f8cSWim Van Sebroeck
546981785daSKrzysztof Kozlowski	  Choose Y/M here only if you build for such Samsung SoC.
547b7e04f8cSWim Van Sebroeck	  The driver can be built as a module by choosing M, and will
548981785daSKrzysztof Kozlowski	  be called s3c2410_wdt.
549b7e04f8cSWim Van Sebroeck
550b7e04f8cSWim Van Sebroeckconfig SA1100_WATCHDOG
551b7e04f8cSWim Van Sebroeck	tristate "SA1100/PXA2xx watchdog"
552f1a43aadSRob Herring	depends on ARCH_SA1100 || ARCH_PXA || COMPILE_TEST
553b7e04f8cSWim Van Sebroeck	help
554b7e04f8cSWim Van Sebroeck	  Watchdog timer embedded into SA11x0 and PXA2xx chips. This will
555b7e04f8cSWim Van Sebroeck	  reboot your system when timeout is reached.
556b7e04f8cSWim Van Sebroeck
557b7e04f8cSWim Van Sebroeck	  NOTE: once enabled, this timer cannot be disabled.
558b7e04f8cSWim Van Sebroeck
559b7e04f8cSWim Van Sebroeck	  To compile this driver as a module, choose M here: the
560b7e04f8cSWim Van Sebroeck	  module will be called sa1100_wdt.
561b7e04f8cSWim Van Sebroeck
562c9353ae1SJamie Ilesconfig DW_WATCHDOG
563c9353ae1SJamie Iles	tristate "Synopsys DesignWare watchdog"
5641ccfe6f9SRichard Weinberger	depends on HAS_IOMEM
565f29a72c2SGuenter Roeck	select WATCHDOG_CORE
566c9353ae1SJamie Iles	help
567c9353ae1SJamie Iles	  Say Y here if to include support for the Synopsys DesignWare
56858a251f2SBaruch Siach	  watchdog timer found in many chips.
569c9353ae1SJamie Iles	  To compile this driver as a module, choose M here: the
570c9353ae1SJamie Iles	  module will be called dw_wdt.
571c9353ae1SJamie Iles
572b7e04f8cSWim Van Sebroeckconfig EP93XX_WATCHDOG
573b7e04f8cSWim Van Sebroeck	tristate "EP93xx Watchdog"
574da2a68b3SGuenter Roeck	depends on ARCH_EP93XX || COMPILE_TEST
575e12a679dSH Hartley Sweeten	select WATCHDOG_CORE
576b7e04f8cSWim Van Sebroeck	help
577b7e04f8cSWim Van Sebroeck	  Say Y here if to include support for the watchdog timer
578b7e04f8cSWim Van Sebroeck	  embedded in the Cirrus Logic EP93xx family of devices.
579b7e04f8cSWim Van Sebroeck
580b7e04f8cSWim Van Sebroeck	  To compile this driver as a module, choose M here: the
581b7e04f8cSWim Van Sebroeck	  module will be called ep93xx_wdt.
582b7e04f8cSWim Van Sebroeck
583b7e04f8cSWim Van Sebroeckconfig OMAP_WATCHDOG
584b7e04f8cSWim Van Sebroeck	tristate "OMAP Watchdog"
585da2a68b3SGuenter Roeck	depends on ARCH_OMAP16XX || ARCH_OMAP2PLUS || COMPILE_TEST
58667c0f554SAaro Koskinen	select WATCHDOG_CORE
587b7e04f8cSWim Van Sebroeck	help
58801028829SRandy Dunlap	  Support for TI OMAP1610/OMAP1710/OMAP2420/OMAP3430/OMAP4430 watchdog.
58901028829SRandy Dunlap	  Say 'Y' here to enable the
59001028829SRandy Dunlap	  OMAP1610/OMAP1710/OMAP2420/OMAP3430/OMAP4430 watchdog timer.
591b7e04f8cSWim Van Sebroeck
592b7e04f8cSWim Van Sebroeckconfig PNX4008_WATCHDOG
593d684f05fSRoland Stigge	tristate "LPC32XX Watchdog"
594c9b8af43SArnd Bergmann	depends on ARCH_LPC32XX || COMPILE_TEST
5956b1e8386SWolfram Sang	select WATCHDOG_CORE
596b7e04f8cSWim Van Sebroeck	help
597b7e04f8cSWim Van Sebroeck	  Say Y here if to include support for the watchdog timer
598d684f05fSRoland Stigge	  in the LPC32XX processor.
599b7e04f8cSWim Van Sebroeck	  This driver can be built as a module by choosing M. The module
600b7e04f8cSWim Van Sebroeck	  will be called pnx4008_wdt.
601b7e04f8cSWim Van Sebroeck
602b7e04f8cSWim Van Sebroeck	  Say N if you are unsure.
603b7e04f8cSWim Van Sebroeck
604b7e04f8cSWim Van Sebroeckconfig DAVINCI_WATCHDOG
605b7e04f8cSWim Van Sebroeck	tristate "DaVinci watchdog"
606da2a68b3SGuenter Roeck	depends on ARCH_DAVINCI || ARCH_KEYSTONE || COMPILE_TEST
607f48f3ceaSIvan Khoronzhuk	select WATCHDOG_CORE
608b7e04f8cSWim Van Sebroeck	help
609b7e04f8cSWim Van Sebroeck	  Say Y here if to include support for the watchdog timer
6108832b200SIvan Khoronzhuk	  in the DaVinci DM644x/DM646x or Keystone processors.
611b7e04f8cSWim Van Sebroeck	  To compile this driver as a module, choose M here: the
612b7e04f8cSWim Van Sebroeck	  module will be called davinci_wdt.
613b7e04f8cSWim Van Sebroeck
614b7e04f8cSWim Van Sebroeck	  NOTE: once enabled, this timer cannot be disabled.
615b7e04f8cSWim Van Sebroeck	  Say N if you are unsure.
616b7e04f8cSWim Van Sebroeck
6172d63908bSTero Kristoconfig K3_RTI_WATCHDOG
6182d63908bSTero Kristo	tristate "Texas Instruments K3 RTI watchdog"
6192d63908bSTero Kristo	depends on ARCH_K3 || COMPILE_TEST
6202d63908bSTero Kristo	select WATCHDOG_CORE
6212d63908bSTero Kristo	help
6222d63908bSTero Kristo	  Say Y here if you want to include support for the K3 watchdog
6232d63908bSTero Kristo	  timer (RTI module) available in the K3 generation of processors.
6242d63908bSTero Kristo
6253b937a7dSNicolas Pitreconfig ORION_WATCHDOG
6263b937a7dSNicolas Pitre	tristate "Orion watchdog"
6273e3f354bSArnd Bergmann	depends on ARCH_ORION5X || ARCH_DOVE || MACH_DOVE || ARCH_MVEBU || COMPILE_TEST
628c3525e3fSThierry Reding	depends on ARM
6290dd6e484SAxel Lin	select WATCHDOG_CORE
63022ac9232SSylver Bruneau	help
63122ac9232SSylver Bruneau	  Say Y here if to include support for the watchdog timer
6323b937a7dSNicolas Pitre	  in the Marvell Orion5x and Kirkwood ARM SoCs.
63322ac9232SSylver Bruneau	  To compile this driver as a module, choose M here: the
6343b937a7dSNicolas Pitre	  module will be called orion_wdt.
63522ac9232SSylver Bruneau
63622b1c841SBeniamino Galvaniconfig RN5T618_WATCHDOG
63722b1c841SBeniamino Galvani	tristate "Ricoh RN5T618 watchdog"
638da2a68b3SGuenter Roeck	depends on MFD_RN5T618 || COMPILE_TEST
63922b1c841SBeniamino Galvani	select WATCHDOG_CORE
64022b1c841SBeniamino Galvani	help
64122b1c841SBeniamino Galvani	  If you say yes here you get support for watchdog on the Ricoh
64222b1c841SBeniamino Galvani	  RN5T618 PMIC.
64322b1c841SBeniamino Galvani
64422b1c841SBeniamino Galvani	  This driver can also be built as a module.  If so, the module
64522b1c841SBeniamino Galvani	  will be called rn5t618_wdt.
64622b1c841SBeniamino Galvani
647d00680edSCarlo Caioneconfig SUNXI_WATCHDOG
648d00680edSCarlo Caione	tristate "Allwinner SoCs watchdog support"
649da2a68b3SGuenter Roeck	depends on ARCH_SUNXI || COMPILE_TEST
650d00680edSCarlo Caione	select WATCHDOG_CORE
651d00680edSCarlo Caione	help
652d00680edSCarlo Caione	  Say Y here to include support for the watchdog timer
653d00680edSCarlo Caione	  in Allwinner SoCs.
654d00680edSCarlo Caione	  To compile this driver as a module, choose M here: the
655d00680edSCarlo Caione	  module will be called sunxi_wdt.
656d00680edSCarlo Caione
657975b7f0fSJoel Stanleyconfig NPCM7XX_WATCHDOG
658ec242929SGuenter Roeck	tristate "Nuvoton NPCM750 watchdog"
659975b7f0fSJoel Stanley	depends on ARCH_NPCM || COMPILE_TEST
6607db706a2STomer Maimon	default y if ARCH_NPCM7XX
661975b7f0fSJoel Stanley	select WATCHDOG_CORE
662975b7f0fSJoel Stanley	help
663975b7f0fSJoel Stanley	  Say Y here to include Watchdog timer support for the
664975b7f0fSJoel Stanley	  watchdog embedded into the NPCM7xx.
665975b7f0fSJoel Stanley	  This watchdog is used to reset the system and thus cannot be
666975b7f0fSJoel Stanley	  compiled as a module.
667975b7f0fSJoel Stanley
66880e45b1eSTimo Kokkonenconfig TWL4030_WATCHDOG
66980e45b1eSTimo Kokkonen	tristate "TWL4030 Watchdog"
67080e45b1eSTimo Kokkonen	depends on TWL4030_CORE
671b2c4e4b2SJarkko Nikula	select WATCHDOG_CORE
67280e45b1eSTimo Kokkonen	help
67380e45b1eSTimo Kokkonen	  Support for TI TWL4030 watchdog.  Say 'Y' here to enable the
67480e45b1eSTimo Kokkonen	  watchdog timer support for TWL4030 chips.
67580e45b1eSTimo Kokkonen
676de6303abSWolfram Sangconfig STMP3XXX_RTC_WATCHDOG
677de6303abSWolfram Sang	tristate "Freescale STMP3XXX & i.MX23/28 watchdog"
678da2a68b3SGuenter Roeck	depends on RTC_DRV_STMP || COMPILE_TEST
679de6303abSWolfram Sang	select WATCHDOG_CORE
680de6303abSWolfram Sang	help
681de6303abSWolfram Sang	  Say Y here to include support for the watchdog timer inside
682de6303abSWolfram Sang	  the RTC for the STMP37XX/378X or i.MX23/28 SoC.
683de6303abSWolfram Sang	  To compile this driver as a module, choose M here: the
684de6303abSWolfram Sang	  module will be called stmp3xxx_rtc_wdt.
685de6303abSWolfram Sang
686bf900639SDamien Riegelconfig TS4800_WATCHDOG
687bf900639SDamien Riegel	tristate "TS-4800 Watchdog"
688bf900639SDamien Riegel	depends on HAS_IOMEM && OF
6890519e91dSJean Delvare	depends on SOC_IMX51 || COMPILE_TEST
690bf900639SDamien Riegel	select WATCHDOG_CORE
691bf900639SDamien Riegel	select MFD_SYSCON
692bf900639SDamien Riegel	help
693bf900639SDamien Riegel	  Technologic Systems TS-4800 has watchdog timer implemented in
694bf900639SDamien Riegel	  an external FPGA. Say Y here if you want to support for the
695bf900639SDamien Riegel	  watchdog timer on TS-4800 board.
696bf900639SDamien Riegel
697c90bf2aaSMika Westerbergconfig TS72XX_WATCHDOG
698c90bf2aaSMika Westerberg	tristate "TS-72XX SBC Watchdog"
699da2a68b3SGuenter Roeck	depends on MACH_TS72XX || COMPILE_TEST
7000f0dbd9bSShyam Saini	select WATCHDOG_CORE
701c90bf2aaSMika Westerberg	help
702c90bf2aaSMika Westerberg	  Technologic Systems TS-7200, TS-7250 and TS-7260 boards have
703c90bf2aaSMika Westerberg	  watchdog timer implemented in a external CPLD chip. Say Y here
704c90bf2aaSMika Westerberg	  if you want to support for the watchdog timer on TS-72XX boards.
705c90bf2aaSMika Westerberg
706c90bf2aaSMika Westerberg	  To compile this driver as a module, choose M here: the
707c90bf2aaSMika Westerberg	  module will be called ts72xx_wdt.
708c90bf2aaSMika Westerberg
7095e803716SMarc Zyngierconfig MAX63XX_WATCHDOG
7105e803716SMarc Zyngier	tristate "Max63xx watchdog"
71104658449SVivien Didelot	depends on HAS_IOMEM
712a0f36833SAxel Lin	select WATCHDOG_CORE
7135e803716SMarc Zyngier	help
7145e803716SMarc Zyngier	  Support for memory mapped max63{69,70,71,72,73,74} watchdog timer.
7155e803716SMarc Zyngier
716ff3bb2f5SLaxman Dewanganconfig MAX77620_WATCHDOG
717ff3bb2f5SLaxman Dewangan	tristate "Maxim Max77620 Watchdog Timer"
718254099d8SLuca Ceresoli	depends on MFD_MAX77620 || MFD_MAX77714 || COMPILE_TEST
719da9e3f4eSDavid Engraf	select WATCHDOG_CORE
720ff3bb2f5SLaxman Dewangan	help
721ff3bb2f5SLaxman Dewangan	  This is the driver for the Max77620 watchdog timer.
722ff3bb2f5SLaxman Dewangan	  Say 'Y' here to enable the watchdog timer support for
723ff3bb2f5SLaxman Dewangan	  MAX77620 chips. To compile this driver as a module,
724ff3bb2f5SLaxman Dewangan	  choose M here: the module will be called max77620_wdt.
725ff3bb2f5SLaxman Dewangan
726bb2fd8a8SWolfram Sangconfig IMX2_WDT
727bb2fd8a8SWolfram Sang	tristate "IMX2+ Watchdog"
728da2a68b3SGuenter Roeck	depends on ARCH_MXC || ARCH_LAYERSCAPE || COMPILE_TEST
729a7977003SXiubo Li	select REGMAP_MMIO
730faad5de0SAnatolij Gustschin	select WATCHDOG_CORE
731bb2fd8a8SWolfram Sang	help
732bb2fd8a8SWolfram Sang	  This is the driver for the hardware watchdog
733bb2fd8a8SWolfram Sang	  on the Freescale IMX2 and later processors.
734bb2fd8a8SWolfram Sang	  If you have one of these processors and wish to have
735bb2fd8a8SWolfram Sang	  watchdog support enabled, say Y, otherwise say N.
736bb2fd8a8SWolfram Sang
737bb2fd8a8SWolfram Sang	  To compile this driver as a module, choose M here: the
738bb2fd8a8SWolfram Sang	  module will be called imx2_wdt.
739bb2fd8a8SWolfram Sang
740986857acSAnson Huangconfig IMX_SC_WDT
741986857acSAnson Huang	tristate "IMX SC Watchdog"
742986857acSAnson Huang	depends on HAVE_ARM_SMCCC
743f1a43aadSRob Herring	depends on IMX_SCU || COMPILE_TEST
744986857acSAnson Huang	select WATCHDOG_CORE
745986857acSAnson Huang	help
746986857acSAnson Huang	  This is the driver for the system controller watchdog
747986857acSAnson Huang	  on the NXP i.MX SoCs with system controller inside, the
748986857acSAnson Huang	  watchdog driver will call ARM SMC API and trap into
749986857acSAnson Huang	  ARM-Trusted-Firmware for operations, ARM-Trusted-Firmware
750986857acSAnson Huang	  will request system controller to execute the operations.
751986857acSAnson Huang	  If you have one of these processors and wish to have
752986857acSAnson Huang	  watchdog support enabled, say Y, otherwise say N.
753986857acSAnson Huang
754986857acSAnson Huang	  To compile this driver as a module, choose M here: the
755986857acSAnson Huang	  module will be called imx_sc_wdt.
756986857acSAnson Huang
75741b630f4SAnson Huangconfig IMX7ULP_WDT
75841b630f4SAnson Huang	tristate "IMX7ULP Watchdog"
75941b630f4SAnson Huang	depends on ARCH_MXC || COMPILE_TEST
76041b630f4SAnson Huang	select WATCHDOG_CORE
76141b630f4SAnson Huang	help
76241b630f4SAnson Huang	  This is the driver for the hardware watchdog on the Freescale
76341b630f4SAnson Huang	  IMX7ULP and later processors. If you have one of these
76441b630f4SAnson Huang	  processors and wish to have watchdog support enabled,
76541b630f4SAnson Huang	  say Y, otherwise say N.
76641b630f4SAnson Huang
76741b630f4SAnson Huang	  To compile this driver as a module, choose M here: the
76841b630f4SAnson Huang	  module will be called imx7ulp_wdt.
76941b630f4SAnson Huang
770d0305aacSLinus Walleijconfig DB500_WATCHDOG
771d0305aacSLinus Walleij	tristate "ST-Ericsson DB800 watchdog"
7729297b652SArnd Bergmann	depends on MFD_DB8500_PRCMU
773f0e5bd41SFabio Baltieri	select WATCHDOG_CORE
774f0e5bd41SFabio Baltieri	default y
775f0e5bd41SFabio Baltieri	help
776f0e5bd41SFabio Baltieri	  Say Y here to include Watchdog timer support for the watchdog
777d0305aacSLinus Walleij	  existing in the prcmu of ST-Ericsson DB8500 platform.
778f0e5bd41SFabio Baltieri
779f0e5bd41SFabio Baltieri	  To compile this driver as a module, choose M here: the
780d0305aacSLinus Walleij	  module will be called db500_wdt.
781f0e5bd41SFabio Baltieri
7823d3a6d18SAaro Koskinenconfig RETU_WATCHDOG
7833d3a6d18SAaro Koskinen	tristate "Retu watchdog"
7849ad82f11SArnd Bergmann	depends on MFD_RETU
7853d3a6d18SAaro Koskinen	select WATCHDOG_CORE
7863d3a6d18SAaro Koskinen	help
7873d3a6d18SAaro Koskinen	  Retu watchdog driver for Nokia Internet Tablets (770, N800,
7883d3a6d18SAaro Koskinen	  N810). At least on N800 the watchdog cannot be disabled, so
7893d3a6d18SAaro Koskinen	  this driver is essential and you should enable it.
7903d3a6d18SAaro Koskinen
7913d3a6d18SAaro Koskinen	  To compile this driver as a module, choose M here: the
7923d3a6d18SAaro Koskinen	  module will be called retu_wdt.
7933d3a6d18SAaro Koskinen
794e14538e0SJonas Jensenconfig MOXART_WDT
795e14538e0SJonas Jensen	tristate "MOXART watchdog"
796da2a68b3SGuenter Roeck	depends on ARCH_MOXART || COMPILE_TEST
797e14538e0SJonas Jensen	help
798e14538e0SJonas Jensen	  Say Y here to include Watchdog timer support for the watchdog
799e14538e0SJonas Jensen	  existing on the MOXA ART SoC series platforms.
800e14538e0SJonas Jensen
801e14538e0SJonas Jensen	  To compile this driver as a module, choose M here: the
802e14538e0SJonas Jensen	  module will be called moxart_wdt.
803e14538e0SJonas Jensen
804f27925a6SLee Jonesconfig ST_LPC_WATCHDOG
805f27925a6SLee Jones	tristate "STMicroelectronics LPC Watchdog"
806da2a68b3SGuenter Roeck	depends on ARCH_STI || COMPILE_TEST
807f27925a6SLee Jones	depends on OF
808f27925a6SLee Jones	select WATCHDOG_CORE
809f27925a6SLee Jones	help
810f27925a6SLee Jones	  Say Y here to include STMicroelectronics Low Power Controller
811f27925a6SLee Jones	  (LPC) based Watchdog timer support.
812f27925a6SLee Jones
813f27925a6SLee Jones	  To compile this driver as a module, choose M here: the
814f27925a6SLee Jones	  module will be called st_lpc_wdt.
815f27925a6SLee Jones
816c33a1597SAndrew Chewconfig TEGRA_WATCHDOG
817c33a1597SAndrew Chew	tristate "Tegra watchdog"
81871fd380aSChen Gang	depends on (ARCH_TEGRA || COMPILE_TEST) && HAS_IOMEM
819c33a1597SAndrew Chew	select WATCHDOG_CORE
820c33a1597SAndrew Chew	help
821c33a1597SAndrew Chew	  Say Y here to include support for the watchdog timer
822c33a1597SAndrew Chew	  embedded in NVIDIA Tegra SoCs.
823c33a1597SAndrew Chew
824c33a1597SAndrew Chew	  To compile this driver as a module, choose M here: the
825c33a1597SAndrew Chew	  module will be called tegra_wdt.
826c33a1597SAndrew Chew
8271094ebe9SJosh Cartwrightconfig QCOM_WDT
8281094ebe9SJosh Cartwright	tristate "QCOM watchdog"
8291094ebe9SJosh Cartwright	depends on HAS_IOMEM
830da2a68b3SGuenter Roeck	depends on ARCH_QCOM || COMPILE_TEST
8311094ebe9SJosh Cartwright	select WATCHDOG_CORE
8321094ebe9SJosh Cartwright	help
8331094ebe9SJosh Cartwright	  Say Y here to include Watchdog timer support for the watchdog found
8341094ebe9SJosh Cartwright	  on QCOM chipsets.  Currently supported targets are the MSM8960,
8351094ebe9SJosh Cartwright	  APQ8064, and IPQ8064.
8361094ebe9SJosh Cartwright
8371094ebe9SJosh Cartwright	  To compile this driver as a module, choose M here: the
8381094ebe9SJosh Cartwright	  module will be called qcom_wdt.
8391094ebe9SJosh Cartwright
840683fa50fSNeil Armstrongconfig MESON_GXBB_WATCHDOG
841683fa50fSNeil Armstrong	tristate "Amlogic Meson GXBB SoCs watchdog support"
842da2a68b3SGuenter Roeck	depends on ARCH_MESON || COMPILE_TEST
843683fa50fSNeil Armstrong	select WATCHDOG_CORE
844683fa50fSNeil Armstrong	help
845683fa50fSNeil Armstrong	  Say Y here to include support for the watchdog timer
846683fa50fSNeil Armstrong	  in Amlogic Meson GXBB SoCs.
847683fa50fSNeil Armstrong	  To compile this driver as a module, choose M here: the
848683fa50fSNeil Armstrong	  module will be called meson_gxbb_wdt.
849683fa50fSNeil Armstrong
85022e1b8f6SCarlo Caioneconfig MESON_WATCHDOG
85122e1b8f6SCarlo Caione	tristate "Amlogic Meson SoCs watchdog support"
852da2a68b3SGuenter Roeck	depends on ARCH_MESON || COMPILE_TEST
85322e1b8f6SCarlo Caione	select WATCHDOG_CORE
85422e1b8f6SCarlo Caione	help
85522e1b8f6SCarlo Caione	  Say Y here to include support for the watchdog timer
85622e1b8f6SCarlo Caione	  in Amlogic Meson SoCs.
85722e1b8f6SCarlo Caione	  To compile this driver as a module, choose M here: the
85822e1b8f6SCarlo Caione	  module will be called meson_wdt.
85922e1b8f6SCarlo Caione
860a44a4553SMatthias Bruggerconfig MEDIATEK_WATCHDOG
861a44a4553SMatthias Brugger	tristate "Mediatek SoCs watchdog support"
862da2a68b3SGuenter Roeck	depends on ARCH_MEDIATEK || COMPILE_TEST
863ab571cbcSKevin Hilman	default ARCH_MEDIATEK
864a44a4553SMatthias Brugger	select WATCHDOG_CORE
8655eee7c62SRandy Dunlap	select RESET_CONTROLLER
866a44a4553SMatthias Brugger	help
867a44a4553SMatthias Brugger	  Say Y here to include support for the watchdog timer
868a44a4553SMatthias Brugger	  in Mediatek SoCs.
869a44a4553SMatthias Brugger	  To compile this driver as a module, choose M here: the
870a44a4553SMatthias Brugger	  module will be called mtk_wdt.
871a44a4553SMatthias Brugger
872336694a0SBaruch Siachconfig DIGICOLOR_WATCHDOG
873336694a0SBaruch Siach	tristate "Conexant Digicolor SoCs watchdog support"
874da2a68b3SGuenter Roeck	depends on ARCH_DIGICOLOR || COMPILE_TEST
875336694a0SBaruch Siach	select WATCHDOG_CORE
876336694a0SBaruch Siach	help
877336694a0SBaruch Siach	  Say Y here to include support for the watchdog timer
878336694a0SBaruch Siach	  in Conexant Digicolor SoCs.
879336694a0SBaruch Siach	  To compile this driver as a module, choose M here: the
880336694a0SBaruch Siach	  module will be called digicolor_wdt.
881336694a0SBaruch Siach
88272a9e7feSJulius Wernerconfig ARM_SMC_WATCHDOG
88372a9e7feSJulius Werner	tristate "ARM Secure Monitor Call based watchdog support"
88472a9e7feSJulius Werner	depends on ARM || ARM64
88572a9e7feSJulius Werner	depends on OF
88672a9e7feSJulius Werner	depends on HAVE_ARM_SMCCC
88772a9e7feSJulius Werner	select WATCHDOG_CORE
88872a9e7feSJulius Werner	help
88972a9e7feSJulius Werner	  Say Y here to include support for a watchdog timer
89072a9e7feSJulius Werner	  implemented by the EL3 Secure Monitor on ARM platforms.
89172a9e7feSJulius Werner	  Requires firmware support.
89272a9e7feSJulius Werner	  To compile this driver as a module, choose M here: the
89372a9e7feSJulius Werner	  module will be called arm_smc_wdt.
89472a9e7feSJulius Werner
8957c25f8c9SAriel D'Alessandroconfig LPC18XX_WATCHDOG
8967c25f8c9SAriel D'Alessandro	tristate "LPC18xx/43xx Watchdog"
8977c25f8c9SAriel D'Alessandro	depends on ARCH_LPC18XX || COMPILE_TEST
898d42d6108SRichard Weinberger	depends on HAS_IOMEM
8997c25f8c9SAriel D'Alessandro	select WATCHDOG_CORE
9007c25f8c9SAriel D'Alessandro	help
9017c25f8c9SAriel D'Alessandro	  Say Y here if to include support for the watchdog timer
9027c25f8c9SAriel D'Alessandro	  in NXP LPC SoCs family, which includes LPC18xx/LPC43xx
9037c25f8c9SAriel D'Alessandro	  processors.
9047c25f8c9SAriel D'Alessandro	  To compile this driver as a module, choose M here: the
9057c25f8c9SAriel D'Alessandro	  module will be called lpc18xx_wdt.
9067c25f8c9SAriel D'Alessandro
907bd99b68eSWolfram Sangconfig RENESAS_WDT
908bd99b68eSWolfram Sang	tristate "Renesas WDT Watchdog"
909bd99b68eSWolfram Sang	depends on ARCH_RENESAS || COMPILE_TEST
910bd99b68eSWolfram Sang	select WATCHDOG_CORE
911bd99b68eSWolfram Sang	help
912bd99b68eSWolfram Sang	  This driver adds watchdog support for the integrated watchdogs in the
913bd99b68eSWolfram Sang	  Renesas R-Car and other SH-Mobile SoCs (usually named RWDT or SWDT).
914bd99b68eSWolfram Sang
915aea24187SChris Brandtconfig RENESAS_RZAWDT
916aea24187SChris Brandt	tristate "Renesas RZ/A WDT Watchdog"
917aea24187SChris Brandt	depends on ARCH_RENESAS || COMPILE_TEST
918aea24187SChris Brandt	select WATCHDOG_CORE
919aea24187SChris Brandt	help
920aea24187SChris Brandt	  This driver adds watchdog support for the integrated watchdogs in the
921aea24187SChris Brandt	  Renesas RZ/A SoCs. These watchdogs can be used to reset a system.
922aea24187SChris Brandt
923d65112f5SPhil Edworthyconfig RENESAS_RZN1WDT
924d65112f5SPhil Edworthy	tristate "Renesas RZ/N1 watchdog"
925d65112f5SPhil Edworthy	depends on ARCH_RENESAS || COMPILE_TEST
926d65112f5SPhil Edworthy	select WATCHDOG_CORE
927d65112f5SPhil Edworthy	help
928d65112f5SPhil Edworthy	  This driver adds watchdog support for the integrated watchdogs in the
929d65112f5SPhil Edworthy	  Renesas RZ/N1 SoCs. These watchdogs can be used to reset a system.
930d65112f5SPhil Edworthy
9312cbc5cd0SBiju Dasconfig RENESAS_RZG2LWDT
9322cbc5cd0SBiju Das	tristate "Renesas RZ/G2L WDT Watchdog"
9332cbc5cd0SBiju Das	depends on ARCH_RENESAS || COMPILE_TEST
9342cbc5cd0SBiju Das	select WATCHDOG_CORE
9352cbc5cd0SBiju Das	help
9362cbc5cd0SBiju Das	  This driver adds watchdog support for the integrated watchdogs in the
9372cbc5cd0SBiju Das	  Renesas RZ/G2L SoCs. These watchdogs can be used to reset a system.
9382cbc5cd0SBiju Das
939efa859f7SJoel Stanleyconfig ASPEED_WATCHDOG
9402050dd06SAndrew Jeffery	tristate "Aspeed BMC watchdog support"
941efa859f7SJoel Stanley	depends on ARCH_ASPEED || COMPILE_TEST
942efa859f7SJoel Stanley	select WATCHDOG_CORE
943efa859f7SJoel Stanley	help
944efa859f7SJoel Stanley	  Say Y here to include support for the watchdog timer
945ffff023aSAndrew Jeffery	  in Aspeed BMC SoCs.
946efa859f7SJoel Stanley
947efa859f7SJoel Stanley	  This driver is required to reboot the SoC.
948efa859f7SJoel Stanley
949efa859f7SJoel Stanley	  To compile this driver as a module, choose M here: the
950efa859f7SJoel Stanley	  module will be called aspeed_wdt.
951efa859f7SJoel Stanley
9524332d113SYannick Fertreconfig STM32_WATCHDOG
9534332d113SYannick Fertre	tristate "STM32 Independent WatchDoG (IWDG) support"
954f1a43aadSRob Herring	depends on ARCH_STM32 || COMPILE_TEST
9554332d113SYannick Fertre	select WATCHDOG_CORE
9564332d113SYannick Fertre	default y
9574332d113SYannick Fertre	help
9584332d113SYannick Fertre	  Say Y here to include support for the watchdog timer
9594332d113SYannick Fertre	  in stm32 SoCs.
9604332d113SYannick Fertre
9614332d113SYannick Fertre	  To compile this driver as a module, choose M here: the
9624332d113SYannick Fertre	  module will be called stm32_iwdg.
9634332d113SYannick Fertre
96428804c2cSPascal PAILLET-LMEconfig STPMIC1_WATCHDOG
96528804c2cSPascal PAILLET-LME	tristate "STPMIC1 PMIC watchdog support"
96628804c2cSPascal PAILLET-LME	depends on MFD_STPMIC1
96728804c2cSPascal PAILLET-LME	select WATCHDOG_CORE
96828804c2cSPascal PAILLET-LME	help
96928804c2cSPascal PAILLET-LME	  Say Y here to include watchdog support embedded into STPMIC1 PMIC.
97028804c2cSPascal PAILLET-LME	  If the watchdog timer expires, stpmic1 will shut down all its power
97128804c2cSPascal PAILLET-LME	  supplies.
97228804c2cSPascal PAILLET-LME
97328804c2cSPascal PAILLET-LME	  To compile this driver as a module, choose M here: the
97428804c2cSPascal PAILLET-LME	  module will be called spmic1_wdt.
97528804c2cSPascal PAILLET-LME
976e7bf0289SKeiji Hayashibaraconfig UNIPHIER_WATCHDOG
977e7bf0289SKeiji Hayashibara	tristate "UniPhier watchdog support"
978e7bf0289SKeiji Hayashibara	depends on ARCH_UNIPHIER || COMPILE_TEST
979e7bf0289SKeiji Hayashibara	depends on OF && MFD_SYSCON
980e7bf0289SKeiji Hayashibara	select WATCHDOG_CORE
981e7bf0289SKeiji Hayashibara	help
982e7bf0289SKeiji Hayashibara	  Say Y here to include support watchdog timer embedded
983e7bf0289SKeiji Hayashibara	  into the UniPhier system.
984e7bf0289SKeiji Hayashibara
985e7bf0289SKeiji Hayashibara	  To compile this driver as a module, choose M here: the
986e7bf0289SKeiji Hayashibara	  module will be called uniphier_wdt.
987e7bf0289SKeiji Hayashibara
9882bdf6acbSAndreas Färberconfig RTD119X_WATCHDOG
9892bdf6acbSAndreas Färber	bool "Realtek RTD119x/RTD129x watchdog support"
9902bdf6acbSAndreas Färber	depends on ARCH_REALTEK || COMPILE_TEST
9912bdf6acbSAndreas Färber	depends on OF
9922bdf6acbSAndreas Färber	select WATCHDOG_CORE
9932bdf6acbSAndreas Färber	default ARCH_REALTEK
994b7e04f8cSWim Van Sebroeck	help
9952bdf6acbSAndreas Färber	  Say Y here to include support for the watchdog timer in
9962bdf6acbSAndreas Färber	  Realtek RTD1295 SoCs.
9972bdf6acbSAndreas Färber
9987d7267aeSSander Vanheuleconfig REALTEK_OTTO_WDT
9997d7267aeSSander Vanheule	tristate "Realtek Otto MIPS watchdog support"
10007d7267aeSSander Vanheule	depends on MACH_REALTEK_RTL || COMPILE_TEST
10017d7267aeSSander Vanheule	depends on COMMON_CLK
10027d7267aeSSander Vanheule	select WATCHDOG_CORE
10037d7267aeSSander Vanheule	default MACH_REALTEK_RTL
10047d7267aeSSander Vanheule	help
10057d7267aeSSander Vanheule	  Say Y here to include support for the watchdog timer on Realtek
10067d7267aeSSander Vanheule	  RTL838x, RTL839x, RTL930x SoCs. This watchdog has pretimeout
10077d7267aeSSander Vanheule	  notifications and system reset on timeout.
10087d7267aeSSander Vanheule
10097d7267aeSSander Vanheule	  When built as a module this will be called realtek_otto_wdt.
10107d7267aeSSander Vanheule
101147760346SEric Longconfig SPRD_WATCHDOG
101247760346SEric Long	tristate "Spreadtrum watchdog support"
101347760346SEric Long	depends on ARCH_SPRD || COMPILE_TEST
101447760346SEric Long	select WATCHDOG_CORE
101547760346SEric Long	help
101647760346SEric Long	  Say Y here to include watchdog timer supported
101747760346SEric Long	  by Spreadtrum system.
1018b7e04f8cSWim Van Sebroeck
1019969c0accSLoic Poulainconfig PM8916_WATCHDOG
1020969c0accSLoic Poulain	tristate "QCOM PM8916 pmic watchdog"
1021969c0accSLoic Poulain	depends on OF && MFD_SPMI_PMIC
1022969c0accSLoic Poulain	select WATCHDOG_CORE
1023969c0accSLoic Poulain	help
1024969c0accSLoic Poulain	  Say Y here to include support watchdog timer embedded into the
1025969c0accSLoic Poulain	  pm8916 module.
1026969c0accSLoic Poulain
1027c5b8e464SNobuhiro Iwamatsuconfig VISCONTI_WATCHDOG
1028c5b8e464SNobuhiro Iwamatsu	tristate "Toshiba Visconti series watchdog support"
1029c5b8e464SNobuhiro Iwamatsu	depends on ARCH_VISCONTI || COMPILE_TEST
1030c5b8e464SNobuhiro Iwamatsu	select WATCHDOG_CORE
1031c5b8e464SNobuhiro Iwamatsu	help
1032c5b8e464SNobuhiro Iwamatsu	  Say Y here to include support for the watchdog timer in Toshiba
1033c5b8e464SNobuhiro Iwamatsu	  Visconti SoCs.
1034c5b8e464SNobuhiro Iwamatsu
1035e9800b79SDaniel Palmerconfig MSC313E_WATCHDOG
1036e9800b79SDaniel Palmer	tristate "MStar MSC313e watchdog"
1037e9800b79SDaniel Palmer	depends on ARCH_MSTARV7 || COMPILE_TEST
1038e9800b79SDaniel Palmer	select WATCHDOG_CORE
1039e9800b79SDaniel Palmer	help
1040e9800b79SDaniel Palmer	  Say Y here to include support for the Watchdog timer embedded
1041e9800b79SDaniel Palmer	  into MStar MSC313e chips. This will reboot your system when the
1042e9800b79SDaniel Palmer	  timeout is reached.
1043e9800b79SDaniel Palmer
1044e9800b79SDaniel Palmer	  To compile this driver as a module, choose M here: the
1045e9800b79SDaniel Palmer	  module will be called msc313e_wdt.
1046e9800b79SDaniel Palmer
10474ed224aeSSven Peterconfig APPLE_WATCHDOG
10484ed224aeSSven Peter	tristate "Apple SoC watchdog"
10494ed224aeSSven Peter	depends on ARCH_APPLE || COMPILE_TEST
10504ed224aeSSven Peter	select WATCHDOG_CORE
10514ed224aeSSven Peter	help
10524ed224aeSSven Peter	  Say Y here to include support for the Watchdog found in Apple
10534ed224aeSSven Peter	  SoCs such as the M1. Next to the common watchdog features this
10544ed224aeSSven Peter	  driver is also required in order to reboot these SoCs.
10554ed224aeSSven Peter
10564ed224aeSSven Peter	  To compile this driver as a module, choose M here: the
10574ed224aeSSven Peter	  module will be called apple_wdt.
10584ed224aeSSven Peter
1059daf42866SXiantao Huconfig SUNPLUS_WATCHDOG
1060daf42866SXiantao Hu	tristate "Sunplus watchdog support"
1061daf42866SXiantao Hu	depends on ARCH_SUNPLUS || COMPILE_TEST
1062daf42866SXiantao Hu	select WATCHDOG_CORE
1063daf42866SXiantao Hu	help
1064daf42866SXiantao Hu	  Say Y here to include support for the watchdog timer
1065daf42866SXiantao Hu	  in Sunplus SoCs.
1066daf42866SXiantao Hu
1067daf42866SXiantao Hu	  To compile this driver as a module, choose M here: the
1068daf42866SXiantao Hu	  module will be called sunplus_wdt.
1069daf42866SXiantao Hu
1070b7e04f8cSWim Van Sebroeck# X86 (i386 + ia64 + x86_64) Architecture
1071b7e04f8cSWim Van Sebroeck
1072b7e04f8cSWim Van Sebroeckconfig ACQUIRE_WDT
1073b7e04f8cSWim Van Sebroeck	tristate "Acquire SBC Watchdog Timer"
1074b7e04f8cSWim Van Sebroeck	depends on X86
1075a7f7f624SMasahiro Yamada	help
1076b7e04f8cSWim Van Sebroeck	  This is the driver for the hardware watchdog on Single Board
1077b7e04f8cSWim Van Sebroeck	  Computers produced by Acquire Inc (and others). This watchdog
1078b7e04f8cSWim Van Sebroeck	  simply watches your kernel to make sure it doesn't freeze, and if
1079b7e04f8cSWim Van Sebroeck	  it does, it reboots your computer after a certain amount of time.
1080b7e04f8cSWim Van Sebroeck
1081b7e04f8cSWim Van Sebroeck	  To compile this driver as a module, choose M here: the
1082b7e04f8cSWim Van Sebroeck	  module will be called acquirewdt.
1083b7e04f8cSWim Van Sebroeck
1084b7e04f8cSWim Van Sebroeck	  Most people will say N.
1085b7e04f8cSWim Van Sebroeck
1086b7e04f8cSWim Van Sebroeckconfig ADVANTECH_WDT
1087b7e04f8cSWim Van Sebroeck	tristate "Advantech SBC Watchdog Timer"
1088f1a43aadSRob Herring	depends on X86 || COMPILE_TEST
1089b7e04f8cSWim Van Sebroeck	help
1090b7e04f8cSWim Van Sebroeck	  If you are configuring a Linux kernel for the Advantech single-board
1091b7e04f8cSWim Van Sebroeck	  computer, say `Y' here to support its built-in watchdog timer
1092b7e04f8cSWim Van Sebroeck	  feature. More information can be found at
10932ab77a34SAlexander A. Klimov	  <https://www.advantech.com.tw/products/>
1094b7e04f8cSWim Van Sebroeck
109508435c2aSThomas Kastnerconfig ADVANTECH_EC_WDT
109608435c2aSThomas Kastner	tristate "Advantech Embedded Controller Watchdog Timer"
1097f1a43aadSRob Herring	depends on X86 || COMPILE_TEST
10986eb28a38SFlorent CARLI	select ISA_BUS_API
10996eb28a38SFlorent CARLI	select WATCHDOG_CORE
110008435c2aSThomas Kastner	help
110108435c2aSThomas Kastner		This driver supports Advantech products with ITE based Embedded Controller.
110208435c2aSThomas Kastner		It does not support Advantech products with other ECs or without EC.
110308435c2aSThomas Kastner
1104b7e04f8cSWim Van Sebroeckconfig ALIM1535_WDT
1105b7e04f8cSWim Van Sebroeck	tristate "ALi M1535 PMU Watchdog Timer"
1106f1a43aadSRob Herring	depends on (X86 || COMPILE_TEST) && PCI
1107a7f7f624SMasahiro Yamada	help
1108b7e04f8cSWim Van Sebroeck	  This is the driver for the hardware watchdog on the ALi M1535 PMU.
1109b7e04f8cSWim Van Sebroeck
1110b7e04f8cSWim Van Sebroeck	  To compile this driver as a module, choose M here: the
1111b7e04f8cSWim Van Sebroeck	  module will be called alim1535_wdt.
1112b7e04f8cSWim Van Sebroeck
1113b7e04f8cSWim Van Sebroeck	  Most people will say N.
1114b7e04f8cSWim Van Sebroeck
1115b7e04f8cSWim Van Sebroeckconfig ALIM7101_WDT
1116b7e04f8cSWim Van Sebroeck	tristate "ALi M7101 PMU Computer Watchdog"
1117bdd87354SAlexander Clouter	depends on PCI
1118b7e04f8cSWim Van Sebroeck	help
1119b7e04f8cSWim Van Sebroeck	  This is the driver for the hardware watchdog on the ALi M7101 PMU
1120bdd87354SAlexander Clouter	  as used in the x86 Cobalt servers and also found in some
1121bdd87354SAlexander Clouter	  SPARC Netra servers too.
1122b7e04f8cSWim Van Sebroeck
1123b7e04f8cSWim Van Sebroeck	  To compile this driver as a module, choose M here: the
1124b7e04f8cSWim Van Sebroeck	  module will be called alim7101_wdt.
1125b7e04f8cSWim Van Sebroeck
1126b7e04f8cSWim Van Sebroeck	  Most people will say N.
1127b7e04f8cSWim Van Sebroeck
1128c36a483dSWilliam Breathitt Grayconfig EBC_C384_WDT
1129c36a483dSWilliam Breathitt Gray	tristate "WinSystems EBC-C384 Watchdog Timer"
1130f1a43aadSRob Herring	depends on X86 || COMPILE_TEST
1131ccfe35eaSWilliam Breathitt Gray	select ISA_BUS_API
1132c36a483dSWilliam Breathitt Gray	select WATCHDOG_CORE
1133c36a483dSWilliam Breathitt Gray	help
1134c36a483dSWilliam Breathitt Gray	  Enables watchdog timer support for the watchdog timer on the
1135c36a483dSWilliam Breathitt Gray	  WinSystems EBC-C384 motherboard. The timeout may be configured via
1136c36a483dSWilliam Breathitt Gray	  the timeout module parameter.
1137c36a483dSWilliam Breathitt Gray
113881126222SDavid Müllerconfig EXAR_WDT
113981126222SDavid Müller	tristate "Exar Watchdog Timer"
1140f1a43aadSRob Herring	depends on X86 || COMPILE_TEST
114181126222SDavid Müller	select WATCHDOG_CORE
114281126222SDavid Müller	help
114381126222SDavid Müller	  Enables watchdog timer support for the watchdog timer present
114481126222SDavid Müller	  in some Exar/MaxLinear UART chips like the XR28V38x.
114581126222SDavid Müller
114681126222SDavid Müller	  To compile this driver as a module, choose M here: the
114781126222SDavid Müller	  module will be called exar_wdt.
114881126222SDavid Müller
114996cb4eb0SGiel van Schijndelconfig F71808E_WDT
1150166fbcf8SMaciej S. Szmigiero	tristate "Fintek F718xx, F818xx Super I/O Watchdog"
1151f1a43aadSRob Herring	depends on X86 || COMPILE_TEST
11528bea27edSAhmad Fatoum	select WATCHDOG_CORE
115396cb4eb0SGiel van Schijndel	help
1154166fbcf8SMaciej S. Szmigiero	  This is the driver for the hardware watchdog on the Fintek F71808E,
1155ca2fc5efSJaret Cantu	  F71862FG, F71868, F71869, F71882FG, F71889FG, F81803, F81865, and
1156ca2fc5efSJaret Cantu	  F81866 Super I/O controllers.
115796cb4eb0SGiel van Schijndel
115896cb4eb0SGiel van Schijndel	  You can compile this driver directly into the kernel, or use
115996cb4eb0SGiel van Schijndel	  it as a module.  The module will be called f71808e_wdt.
116096cb4eb0SGiel van Schijndel
116115e28bf1SPriyanka Guptaconfig SP5100_TCO
116215e28bf1SPriyanka Gupta	tristate "AMD/ATI SP5100 TCO Timer/Watchdog"
1163f1a43aadSRob Herring	depends on (X86 || COMPILE_TEST) && PCI
1164a17f4f03SWim Van Sebroeck	select WATCHDOG_CORE
1165a7f7f624SMasahiro Yamada	help
116615e28bf1SPriyanka Gupta	  Hardware watchdog driver for the AMD/ATI SP5100 chipset. The TCO
116715e28bf1SPriyanka Gupta	  (Total Cost of Ownership) timer is a watchdog timer that will reboot
116815e28bf1SPriyanka Gupta	  the machine after its expiration. The expiration time can be
116915e28bf1SPriyanka Gupta	  configured with the "heartbeat" parameter.
117015e28bf1SPriyanka Gupta
117115e28bf1SPriyanka Gupta	  To compile this driver as a module, choose M here: the
117215e28bf1SPriyanka Gupta	  module will be called sp5100_tco.
117396cb4eb0SGiel van Schijndel
11740b36086bSJordan Crouseconfig GEODE_WDT
11750b36086bSJordan Crouse	tristate "AMD Geode CS5535/CS5536 Watchdog"
11760369fdf2SArnd Bergmann	depends on CS5535_MFGPT
11770b36086bSJordan Crouse	help
11780b36086bSJordan Crouse	  This driver enables a watchdog capability built into the
11790b36086bSJordan Crouse	  CS5535/CS5536 companion chips for the AMD Geode GX and LX
11800b36086bSJordan Crouse	  processors.  This watchdog watches your kernel to make sure
11810b36086bSJordan Crouse	  it doesn't freeze, and if it does, it reboots your computer after
11820b36086bSJordan Crouse	  a certain amount of time.
11830b36086bSJordan Crouse
11840b36086bSJordan Crouse	  You can compile this driver directly into the kernel, or use
11850b36086bSJordan Crouse	  it as a module.  The module will be called geodewdt.
11860b36086bSJordan Crouse
1187b7e04f8cSWim Van Sebroeckconfig SC520_WDT
1188b7e04f8cSWim Van Sebroeck	tristate "AMD Elan SC520 processor Watchdog"
1189da2a68b3SGuenter Roeck	depends on MELAN || COMPILE_TEST
1190b7e04f8cSWim Van Sebroeck	help
1191b7e04f8cSWim Van Sebroeck	  This is the driver for the hardware watchdog built in to the
1192b7e04f8cSWim Van Sebroeck	  AMD "Elan" SC520 microcomputer commonly used in embedded systems.
1193b7e04f8cSWim Van Sebroeck	  This watchdog simply watches your kernel to make sure it doesn't
1194b7e04f8cSWim Van Sebroeck	  freeze, and if it does, it reboots your computer after a certain
1195b7e04f8cSWim Van Sebroeck	  amount of time.
1196b7e04f8cSWim Van Sebroeck
1197b7e04f8cSWim Van Sebroeck	  You can compile this driver directly into the kernel, or use
1198b7e04f8cSWim Van Sebroeck	  it as a module.  The module will be called sc520_wdt.
1199b7e04f8cSWim Van Sebroeck
12003a5f9000SDenis Turischevconfig SBC_FITPC2_WATCHDOG
12013a5f9000SDenis Turischev	tristate "Compulab SBC-FITPC2 watchdog"
1202f1a43aadSRob Herring	depends on X86 || COMPILE_TEST
1203a7f7f624SMasahiro Yamada	help
1204ef39a1bfSDenis Turischev	  This is the driver for the built-in watchdog timer on the fit-PC2,
1205ef39a1bfSDenis Turischev	  fit-PC2i, CM-iAM single-board computers made by Compulab.
12063a5f9000SDenis Turischev
120701028829SRandy Dunlap	  It's possible to enable the watchdog timer either from BIOS (F2) or
120801028829SRandy Dunlap	  from booted Linux.
120901028829SRandy Dunlap	  When the "Watchdog Timer Value" is enabled one can set 31-255 seconds
121001028829SRandy Dunlap	  operational range.
12113a5f9000SDenis Turischev
121201028829SRandy Dunlap	  Entering BIOS setup temporarily disables watchdog operation regardless
121301028829SRandy Dunlap	  of current state, so system will not be restarted while user is in
121401028829SRandy Dunlap	  BIOS setup.
12153a5f9000SDenis Turischev
121601028829SRandy Dunlap	  Once the watchdog is enabled the system will be restarted every
12173a5f9000SDenis Turischev	  "Watchdog Timer Value" period, so to prevent it user can restart or
12183a5f9000SDenis Turischev	  disable the watchdog.
12193a5f9000SDenis Turischev
12203a5f9000SDenis Turischev	  To compile this driver as a module, choose M here: the
12213a5f9000SDenis Turischev	  module will be called sbc_fitpc2_wdt.
12223a5f9000SDenis Turischev
12233a5f9000SDenis Turischev	  Most people will say N.
12243a5f9000SDenis Turischev
1225b7e04f8cSWim Van Sebroeckconfig EUROTECH_WDT
1226b7e04f8cSWim Van Sebroeck	tristate "Eurotech CPU-1220/1410 Watchdog Timer"
1227f1a43aadSRob Herring	depends on X86 || COMPILE_TEST
1228b7e04f8cSWim Van Sebroeck	help
1229b7e04f8cSWim Van Sebroeck	  Enable support for the watchdog timer on the Eurotech CPU-1220 and
1230b7e04f8cSWim Van Sebroeck	  CPU-1410 cards.  These are PC/104 SBCs. Spec sheets and product
1231b7e04f8cSWim Van Sebroeck	  information are at <http://www.eurotech.it/>.
1232b7e04f8cSWim Van Sebroeck
1233b7e04f8cSWim Van Sebroeckconfig IB700_WDT
1234b7e04f8cSWim Van Sebroeck	tristate "IB700 SBC Watchdog Timer"
1235f1a43aadSRob Herring	depends on X86 || COMPILE_TEST
1236a7f7f624SMasahiro Yamada	help
1237b7e04f8cSWim Van Sebroeck	  This is the driver for the hardware watchdog on the IB700 Single
123801028829SRandy Dunlap	  Board Computer produced by TMC Technology (www.tmc-uk.com). This
123901028829SRandy Dunlap	  watchdog simply watches your kernel to make sure it doesn't freeze,
124001028829SRandy Dunlap	  and if it does, it reboots your computer after a certain amount of time.
1241b7e04f8cSWim Van Sebroeck
124201028829SRandy Dunlap	  This driver is like the WDT501 driver but for slightly different
124301028829SRandy Dunlap	  hardware.
1244b7e04f8cSWim Van Sebroeck
1245b7e04f8cSWim Van Sebroeck	  To compile this driver as a module, choose M here: the
1246b7e04f8cSWim Van Sebroeck	  module will be called ib700wdt.
1247b7e04f8cSWim Van Sebroeck
1248b7e04f8cSWim Van Sebroeck	  Most people will say N.
1249b7e04f8cSWim Van Sebroeck
1250b7e04f8cSWim Van Sebroeckconfig IBMASR
1251b7e04f8cSWim Van Sebroeck	tristate "IBM Automatic Server Restart"
1252f1a43aadSRob Herring	depends on X86 || COMPILE_TEST
1253b7e04f8cSWim Van Sebroeck	help
1254b7e04f8cSWim Van Sebroeck	  This is the driver for the IBM Automatic Server Restart watchdog
1255b7e04f8cSWim Van Sebroeck	  timer built-in into some eServer xSeries machines.
1256b7e04f8cSWim Van Sebroeck
1257b7e04f8cSWim Van Sebroeck	  To compile this driver as a module, choose M here: the
1258b7e04f8cSWim Van Sebroeck	  module will be called ibmasr.
1259b7e04f8cSWim Van Sebroeck
1260b7e04f8cSWim Van Sebroeckconfig WAFER_WDT
126101ed08c1SVeljkovic Srdjan	tristate "ICP Single Board Computer Watchdog Timer"
1262f1a43aadSRob Herring	depends on X86 || COMPILE_TEST
1263b7e04f8cSWim Van Sebroeck	help
126401ed08c1SVeljkovic Srdjan	  This is a driver for the hardware watchdog on the ICP Single
126501ed08c1SVeljkovic Srdjan	  Board Computer. This driver is working on (at least) the following
126601ed08c1SVeljkovic Srdjan	  IPC SBC's: Wafer 5823, Rocky 4783, Rocky 3703 and Rocky 3782.
1267b7e04f8cSWim Van Sebroeck
1268b7e04f8cSWim Van Sebroeck	  To compile this driver as a module, choose M here: the
1269b7e04f8cSWim Van Sebroeck	  module will be called wafer5823wdt.
1270b7e04f8cSWim Van Sebroeck
1271b7e04f8cSWim Van Sebroeckconfig I6300ESB_WDT
1272b7e04f8cSWim Van Sebroeck	tristate "Intel 6300ESB Timer/Watchdog"
12737050bd54SMichael Olbrich	depends on PCI
12747e2e5158SMatteo Croce	select WATCHDOG_CORE
1275a7f7f624SMasahiro Yamada	help
1276b7e04f8cSWim Van Sebroeck	  Hardware driver for the watchdog timer built into the Intel
1277b7e04f8cSWim Van Sebroeck	  6300ESB controller hub.
1278b7e04f8cSWim Van Sebroeck
1279b7e04f8cSWim Van Sebroeck	  To compile this driver as a module, choose M here: the
1280b7e04f8cSWim Van Sebroeck	  module will be called i6300esb.
1281b7e04f8cSWim Van Sebroeck
1282101ce87bSAlexander Steinconfig IE6XX_WDT
1283101ce87bSAlexander Stein	tristate "Intel Atom E6xx Watchdog"
1284f1a43aadSRob Herring	depends on (X86 || COMPILE_TEST) && PCI
1285101ce87bSAlexander Stein	select WATCHDOG_CORE
1286101ce87bSAlexander Stein	select MFD_CORE
1287101ce87bSAlexander Stein	select LPC_SCH
1288a7f7f624SMasahiro Yamada	help
1289101ce87bSAlexander Stein	  Hardware driver for the watchdog timer built into the Intel
1290101ce87bSAlexander Stein	  Atom E6XX (TunnelCreek) processor.
1291101ce87bSAlexander Stein
1292101ce87bSAlexander Stein	  To compile this driver as a module, choose M here: the
1293101ce87bSAlexander Stein	  module will be called ie6xx_wdt.
1294101ce87bSAlexander Stein
129587a1ef80SDavid Cohenconfig INTEL_MID_WATCHDOG
129687a1ef80SDavid Cohen	tristate "Intel MID Watchdog Timer"
129787a1ef80SDavid Cohen	depends on X86_INTEL_MID
129887a1ef80SDavid Cohen	select WATCHDOG_CORE
1299a7f7f624SMasahiro Yamada	help
130087a1ef80SDavid Cohen	  Watchdog timer driver built into the Intel SCU for Intel MID
130187a1ef80SDavid Cohen	  Platforms.
130287a1ef80SDavid Cohen
130387a1ef80SDavid Cohen	  This driver currently supports only the watchdog evolution
130487a1ef80SDavid Cohen	  implementation in SCU, available for Merrifield generation.
130587a1ef80SDavid Cohen
130687a1ef80SDavid Cohen	  To compile this driver as a module, choose M here.
130787a1ef80SDavid Cohen
1308b7e04f8cSWim Van Sebroeckconfig ITCO_WDT
1309b7e04f8cSWim Van Sebroeck	tristate "Intel TCO Timer/Watchdog"
1310cf8e8658SArd Biesheuvel	depends on X86 && PCI
1311bff23431SWim Van Sebroeck	select WATCHDOG_CORE
13123cef072dSGuenter Roeck	depends on I2C || I2C=n
1313b30c1a46SArnd Bergmann	depends on MFD_INTEL_PMC_BXT || !MFD_INTEL_PMC_BXT
13142a7a0e9bSMatt Fleming	select LPC_ICH if !EXPERT
13153cef072dSGuenter Roeck	select I2C_I801 if !EXPERT && I2C
1316a7f7f624SMasahiro Yamada	help
1317b7e04f8cSWim Van Sebroeck	  Hardware driver for the intel TCO timer based watchdog devices.
1318b7e04f8cSWim Van Sebroeck	  These drivers are included in the Intel 82801 I/O Controller
131912d60e28SWim Van Sebroeck	  Hub family (from ICH0 up to ICH10) and in the Intel 63xxESB
1320b7e04f8cSWim Van Sebroeck	  controller hub.
1321b7e04f8cSWim Van Sebroeck
1322b7e04f8cSWim Van Sebroeck	  The TCO (Total Cost of Ownership) timer is a watchdog timer
1323b7e04f8cSWim Van Sebroeck	  that will reboot the machine after its second expiration. The
1324b7e04f8cSWim Van Sebroeck	  expiration time can be configured with the "heartbeat" parameter.
1325b7e04f8cSWim Van Sebroeck
1326b7e04f8cSWim Van Sebroeck	  On some motherboards the driver may fail to reset the chipset's
1327b7e04f8cSWim Van Sebroeck	  NO_REBOOT flag which prevents the watchdog from rebooting the
1328b7e04f8cSWim Van Sebroeck	  machine. If this is the case you will get a kernel message like
1329b7e04f8cSWim Van Sebroeck	  "failed to reset NO_REBOOT flag, reboot disabled by hardware".
1330b7e04f8cSWim Van Sebroeck
1331b7e04f8cSWim Van Sebroeck	  To compile this driver as a module, choose M here: the
1332b7e04f8cSWim Van Sebroeck	  module will be called iTCO_wdt.
1333b7e04f8cSWim Van Sebroeck
1334b7e04f8cSWim Van Sebroeckconfig ITCO_VENDOR_SUPPORT
1335b7e04f8cSWim Van Sebroeck	bool "Intel TCO Timer/Watchdog Specific Vendor Support"
1336b7e04f8cSWim Van Sebroeck	depends on ITCO_WDT
1337a7f7f624SMasahiro Yamada	help
1338b7e04f8cSWim Van Sebroeck	  Add vendor specific support to the intel TCO timer based watchdog
1339b7e04f8cSWim Van Sebroeck	  devices. At this moment we only have additional support for some
1340b7e04f8cSWim Van Sebroeck	  SuperMicro Inc. motherboards.
1341b7e04f8cSWim Van Sebroeck
134238ff6fd2SJorge Boncompte [DTI2]config IT8712F_WDT
134338ff6fd2SJorge Boncompte [DTI2]	tristate "IT8712F (Smart Guardian) Watchdog Timer"
1344f1a43aadSRob Herring	depends on X86 || COMPILE_TEST
1345a7f7f624SMasahiro Yamada	help
134638ff6fd2SJorge Boncompte [DTI2]	  This is the driver for the built-in watchdog timer on the IT8712F
134738ff6fd2SJorge Boncompte [DTI2]	  Super I/0 chipset used on many motherboards.
134838ff6fd2SJorge Boncompte [DTI2]
13494fc36808SWim Van Sebroeck	  If the driver does not work, then make sure that the game port in
13504fc36808SWim Van Sebroeck	  the BIOS is enabled.
13514fc36808SWim Van Sebroeck
135238ff6fd2SJorge Boncompte [DTI2]	  To compile this driver as a module, choose M here: the
135338ff6fd2SJorge Boncompte [DTI2]	  module will be called it8712f_wdt.
135438ff6fd2SJorge Boncompte [DTI2]
1355e1fee94fSOliver Schusterconfig IT87_WDT
1356e1fee94fSOliver Schuster	tristate "IT87 Watchdog Timer"
1357f1a43aadSRob Herring	depends on X86 || COMPILE_TEST
13581d7b8039SGuenter Roeck	select WATCHDOG_CORE
1359a7f7f624SMasahiro Yamada	help
1360cddda07cSGuenter Roeck	  This is the driver for the hardware watchdog on the ITE IT8607,
1361cddda07cSGuenter Roeck	  IT8620, IT8622, IT8625, IT8628, IT8655, IT8665, IT8686, IT8702,
1362cddda07cSGuenter Roeck	  IT8712, IT8716, IT8718, IT8720, IT8721, IT8726, IT8728, and
1363cddda07cSGuenter Roeck	  IT8783 Super I/O chips.
1364198ca015SDiego Elio Pettenò
1365dfb0b8eaSOndrej Zajicek	  This watchdog simply watches your kernel to make sure it doesn't
1366dfb0b8eaSOndrej Zajicek	  freeze, and if it does, it reboots your computer after a certain
1367dfb0b8eaSOndrej Zajicek	  amount of time.
1368e1fee94fSOliver Schuster
1369e1fee94fSOliver Schuster	  To compile this driver as a module, choose M here: the module will
1370e1fee94fSOliver Schuster	  be called it87_wdt.
1371e1fee94fSOliver Schuster
13727f4da474SThomas Mingarelliconfig HP_WATCHDOG
1373ea6649c7SNaga Chumbalkar	tristate "HP ProLiant iLO2+ Hardware Watchdog Timer"
1374d0a4027fSJerry Hoemann	select WATCHDOG_CORE
1375f1a43aadSRob Herring	depends on (ARM64 || X86 || COMPILE_TEST) && PCI
13767f4da474SThomas Mingarelli	help
137700fd20b4SJerry Hoemann	  A software monitoring watchdog and NMI handling driver. This driver
137886ded1f3Sdann frazier	  will detect lockups and provide a stack trace. This is a driver that
1379ea6649c7SNaga Chumbalkar	  will only load on an HP ProLiant system with a minimum of iLO2 support.
138086ded1f3Sdann frazier	  To compile this driver as a module, choose M here: the module will be
138186ded1f3Sdann frazier	  called hpwdt.
138286ded1f3Sdann frazier
1383345f1625SGuenter Roeckconfig HPWDT_NMI_DECODING
1384345f1625SGuenter Roeck	bool "NMI support for the HP ProLiant iLO2+ Hardware Watchdog Timer"
1385891862d5SJerry Hoemann	depends on X86 && HP_WATCHDOG
1386345f1625SGuenter Roeck	default y
1387345f1625SGuenter Roeck	help
1388345f1625SGuenter Roeck	  Enables the NMI handler for the watchdog pretimeout NMI and the iLO
1389345f1625SGuenter Roeck	  "Generate NMI to System" virtual button.  When an NMI is claimed
1390345f1625SGuenter Roeck	  by the driver, panic is called.
1391345f1625SGuenter Roeck
1392e51c288eSKevin Strasserconfig KEMPLD_WDT
1393e51c288eSKevin Strasser	tristate "Kontron COM Watchdog Timer"
1394ed4a9ecaSArnd Bergmann	depends on MFD_KEMPLD
1395e51c288eSKevin Strasser	select WATCHDOG_CORE
1396e51c288eSKevin Strasser	help
1397e51c288eSKevin Strasser	  Support for the PLD watchdog on some Kontron ETX and COMexpress
1398e51c288eSKevin Strasser	  (ETXexpress) modules
1399e51c288eSKevin Strasser
1400e51c288eSKevin Strasser	  This driver can also be built as a module. If so, the module will be
1401e51c288eSKevin Strasser	  called kempld_wdt.
1402e51c288eSKevin Strasser
1403b7e04f8cSWim Van Sebroeckconfig SC1200_WDT
1404b7e04f8cSWim Van Sebroeck	tristate "National Semiconductor PC87307/PC97307 (ala SC1200) Watchdog"
1405f1a43aadSRob Herring	depends on X86 || COMPILE_TEST
1406b7e04f8cSWim Van Sebroeck	help
1407b7e04f8cSWim Van Sebroeck	  This is a driver for National Semiconductor PC87307/PC97307 hardware
1408b7e04f8cSWim Van Sebroeck	  watchdog cards as found on the SC1200. This watchdog is mainly used
1409b7e04f8cSWim Van Sebroeck	  for power management purposes and can be used to power down the device
1410b7e04f8cSWim Van Sebroeck	  during inactivity periods (includes interrupt activity monitoring).
1411b7e04f8cSWim Van Sebroeck
1412b7e04f8cSWim Van Sebroeck	  To compile this driver as a module, choose M here: the
1413b7e04f8cSWim Van Sebroeck	  module will be called sc1200wdt.
1414b7e04f8cSWim Van Sebroeck
1415b7e04f8cSWim Van Sebroeck	  Most people will say N.
1416b7e04f8cSWim Van Sebroeck
1417b7e04f8cSWim Van Sebroeckconfig SCx200_WDT
1418b7e04f8cSWim Van Sebroeck	tristate "National Semiconductor SCx200 Watchdog"
1419b7e04f8cSWim Van Sebroeck	depends on SCx200 && PCI
1420b7e04f8cSWim Van Sebroeck	help
1421b7e04f8cSWim Van Sebroeck	  Enable the built-in watchdog timer support on the National
1422b7e04f8cSWim Van Sebroeck	  Semiconductor SCx200 processors.
1423b7e04f8cSWim Van Sebroeck
1424b7e04f8cSWim Van Sebroeck	  If compiled as a module, it will be called scx200_wdt.
1425b7e04f8cSWim Van Sebroeck
1426b7e04f8cSWim Van Sebroeckconfig PC87413_WDT
1427b7e04f8cSWim Van Sebroeck	tristate "NS PC87413 watchdog"
1428f1a43aadSRob Herring	depends on X86 || COMPILE_TEST
1429a7f7f624SMasahiro Yamada	help
1430b7e04f8cSWim Van Sebroeck	  This is the driver for the hardware watchdog on the PC87413 chipset
1431b7e04f8cSWim Van Sebroeck	  This watchdog simply watches your kernel to make sure it doesn't
1432b7e04f8cSWim Van Sebroeck	  freeze, and if it does, it reboots your computer after a certain
1433b7e04f8cSWim Van Sebroeck	  amount of time.
1434b7e04f8cSWim Van Sebroeck
1435b7e04f8cSWim Van Sebroeck	  To compile this driver as a module, choose M here: the
1436b7e04f8cSWim Van Sebroeck	  module will be called pc87413_wdt.
1437b7e04f8cSWim Van Sebroeck
1438b7e04f8cSWim Van Sebroeck	  Most people will say N.
1439b7e04f8cSWim Van Sebroeck
1440456c7301SMike Waychisonconfig NV_TCO
1441456c7301SMike Waychison	tristate "nVidia TCO Timer/Watchdog"
1442f1a43aadSRob Herring	depends on (X86 || COMPILE_TEST) && PCI
1443a7f7f624SMasahiro Yamada	help
1444456c7301SMike Waychison	  Hardware driver for the TCO timer built into the nVidia Hub family
1445456c7301SMike Waychison	  (such as the MCP51).  The TCO (Total Cost of Ownership) timer is a
1446456c7301SMike Waychison	  watchdog timer that will reboot the machine after its second
1447456c7301SMike Waychison	  expiration. The expiration time can be configured with the
1448456c7301SMike Waychison	  "heartbeat" parameter.
1449456c7301SMike Waychison
1450456c7301SMike Waychison	  On some motherboards the driver may fail to reset the chipset's
1451456c7301SMike Waychison	  NO_REBOOT flag which prevents the watchdog from rebooting the
1452456c7301SMike Waychison	  machine. If this is the case you will get a kernel message like
1453456c7301SMike Waychison	  "failed to reset NO_REBOOT flag, reboot disabled by hardware".
1454456c7301SMike Waychison
1455456c7301SMike Waychison	  To compile this driver as a module, choose M here: the
1456456c7301SMike Waychison	  module will be called nv_tco.
1457456c7301SMike Waychison
1458b3e8f2c1SFlorian Fainelliconfig RDC321X_WDT
1459b3e8f2c1SFlorian Fainelli	tristate "RDC R-321x SoC watchdog"
1460da2a68b3SGuenter Roeck	depends on X86_RDC321X || COMPILE_TEST
14618751f90cSGuenter Roeck	depends on PCI
1462b3e8f2c1SFlorian Fainelli	help
1463b3e8f2c1SFlorian Fainelli	  This is the driver for the built in hardware watchdog
1464b3e8f2c1SFlorian Fainelli	  in the RDC R-321x SoC.
1465b3e8f2c1SFlorian Fainelli
1466b3e8f2c1SFlorian Fainelli	  To compile this driver as a module, choose M here: the
1467b3e8f2c1SFlorian Fainelli	  module will be called rdc321x_wdt.
1468b3e8f2c1SFlorian Fainelli
1469b7e04f8cSWim Van Sebroeckconfig 60XX_WDT
1470b7e04f8cSWim Van Sebroeck	tristate "SBC-60XX Watchdog Timer"
1471f1a43aadSRob Herring	depends on X86 || COMPILE_TEST
1472b7e04f8cSWim Van Sebroeck	help
1473b7e04f8cSWim Van Sebroeck	  This driver can be used with the watchdog timer found on some
1474b7e04f8cSWim Van Sebroeck	  single board computers, namely the 6010 PII based computer.
1475b7e04f8cSWim Van Sebroeck	  It may well work with other cards.  It reads port 0x443 to enable
1476b7e04f8cSWim Van Sebroeck	  and re-set the watchdog timer, and reads port 0x45 to disable
1477b7e04f8cSWim Van Sebroeck	  the watchdog.  If you have a card that behave in similar ways,
1478b7e04f8cSWim Van Sebroeck	  you can probably make this driver work with your card as well.
1479b7e04f8cSWim Van Sebroeck
1480b7e04f8cSWim Van Sebroeck	  You can compile this driver directly into the kernel, or use
1481b7e04f8cSWim Van Sebroeck	  it as a module.  The module will be called sbc60xxwdt.
1482b7e04f8cSWim Van Sebroeck
1483b7e04f8cSWim Van Sebroeckconfig SBC8360_WDT
1484b7e04f8cSWim Van Sebroeck	tristate "SBC8360 Watchdog Timer"
14851e8c8a5bSJean Delvare	depends on X86_32
1486a7f7f624SMasahiro Yamada	help
1487b7e04f8cSWim Van Sebroeck
1488b7e04f8cSWim Van Sebroeck	  This is the driver for the hardware watchdog on the SBC8360 Single
1489b7e04f8cSWim Van Sebroeck	  Board Computer produced by Axiomtek Co., Ltd. (www.axiomtek.com).
1490b7e04f8cSWim Van Sebroeck
1491b7e04f8cSWim Van Sebroeck	  To compile this driver as a module, choose M here: the
14924737f097SPavel Machek	  module will be called sbc8360.
1493b7e04f8cSWim Van Sebroeck
1494b7e04f8cSWim Van Sebroeck	  Most people will say N.
1495b7e04f8cSWim Van Sebroeck
1496c4c28335SGilles Giganconfig SBC7240_WDT
1497c4c28335SGilles Gigan	tristate "SBC Nano 7240 Watchdog Timer"
14983369465eSAl Viro	depends on X86_32 && !UML
1499a7f7f624SMasahiro Yamada	help
1500c4c28335SGilles Gigan	  This is the driver for the hardware watchdog found on the IEI
1501c4c28335SGilles Gigan	  single board computers EPIC Nano 7240 (and likely others). This
1502c4c28335SGilles Gigan	  watchdog simply watches your kernel to make sure it doesn't freeze,
1503c4c28335SGilles Gigan	  and if it does, it reboots your computer after a certain amount of
1504c4c28335SGilles Gigan	  time.
1505c4c28335SGilles Gigan
1506c4c28335SGilles Gigan	  To compile this driver as a module, choose M here: the
1507c4c28335SGilles Gigan	  module will be called sbc7240_wdt.
1508c4c28335SGilles Gigan
1509b7e04f8cSWim Van Sebroeckconfig CPU5_WDT
1510b7e04f8cSWim Van Sebroeck	tristate "SMA CPU5 Watchdog"
1511f1a43aadSRob Herring	depends on X86 || COMPILE_TEST
1512a7f7f624SMasahiro Yamada	help
1513b7e04f8cSWim Van Sebroeck	  TBD.
1514b7e04f8cSWim Van Sebroeck	  To compile this driver as a module, choose M here: the
1515b7e04f8cSWim Van Sebroeck	  module will be called cpu5wdt.
1516b7e04f8cSWim Van Sebroeck
15174c6e63bdSWim Van Sebroeckconfig SMSC_SCH311X_WDT
15184c6e63bdSWim Van Sebroeck	tristate "SMSC SCH311X Watchdog Timer"
1519f1a43aadSRob Herring	depends on X86 || COMPILE_TEST
1520a7f7f624SMasahiro Yamada	help
15214c6e63bdSWim Van Sebroeck	  This is the driver for the hardware watchdog timer on the
15224c6e63bdSWim Van Sebroeck	  SMSC SCH3112, SCH3114 and SCH3116 Super IO chipset
15234c6e63bdSWim Van Sebroeck	  (LPC IO with 8042 KBC, Reset Generation, HWM and multiple
15244c6e63bdSWim Van Sebroeck	  serial ports).
15254c6e63bdSWim Van Sebroeck
15264c6e63bdSWim Van Sebroeck	  To compile this driver as a module, choose M here: the
15274c6e63bdSWim Van Sebroeck	  module will be called sch311x_wdt.
15284c6e63bdSWim Van Sebroeck
1529b7e04f8cSWim Van Sebroeckconfig SMSC37B787_WDT
1530b7e04f8cSWim Van Sebroeck	tristate "Winbond SMsC37B787 Watchdog Timer"
1531f1a43aadSRob Herring	depends on X86 || COMPILE_TEST
1532a7f7f624SMasahiro Yamada	help
1533b7e04f8cSWim Van Sebroeck	  This is the driver for the hardware watchdog component on the
1534b7e04f8cSWim Van Sebroeck	  Winbond SMsC37B787 chipset as used on the NetRunner Mainboard
1535b7e04f8cSWim Van Sebroeck	  from Vision Systems and maybe others.
1536b7e04f8cSWim Van Sebroeck
1537b7e04f8cSWim Van Sebroeck	  This watchdog simply watches your kernel to make sure it doesn't
1538b7e04f8cSWim Van Sebroeck	  freeze, and if it does, it reboots your computer after a certain
1539b7e04f8cSWim Van Sebroeck	  amount of time.
1540b7e04f8cSWim Van Sebroeck
1541b7e04f8cSWim Van Sebroeck	  Usually a userspace daemon will notify the kernel WDT driver that
1542b7e04f8cSWim Van Sebroeck	  userspace is still alive, at regular intervals.
1543b7e04f8cSWim Van Sebroeck
1544b7e04f8cSWim Van Sebroeck	  To compile this driver as a module, choose M here: the
1545b7e04f8cSWim Van Sebroeck	  module will be called smsc37b787_wdt.
1546b7e04f8cSWim Van Sebroeck
1547b7e04f8cSWim Van Sebroeck	  Most people will say N.
1548b7e04f8cSWim Van Sebroeck
1549e3c21e08SAndrew Lunnconfig TQMX86_WDT
1550e3c21e08SAndrew Lunn	tristate "TQ-Systems TQMX86 Watchdog Timer"
1551f1a43aadSRob Herring	depends on X86 || COMPILE_TEST
15529a6c274aSYueHaibing	select WATCHDOG_CORE
1553e3c21e08SAndrew Lunn	help
1554e3c21e08SAndrew Lunn	  This is the driver for the hardware watchdog timer in the TQMX86 IO
1555e3c21e08SAndrew Lunn	  controller found on some of their ComExpress Modules.
1556e3c21e08SAndrew Lunn
1557e3c21e08SAndrew Lunn	  To compile this driver as a module, choose M here; the module
1558e3c21e08SAndrew Lunn	  will be called tqmx86_wdt.
1559e3c21e08SAndrew Lunn
1560e3c21e08SAndrew Lunn	  Most people will say N.
1561e3c21e08SAndrew Lunn
1562dc3c56b7SMarc Vertesconfig VIA_WDT
1563dc3c56b7SMarc Vertes	tristate "VIA Watchdog Timer"
1564f1a43aadSRob Herring	depends on (X86 || COMPILE_TEST) && PCI
1565dc3c56b7SMarc Vertes	select WATCHDOG_CORE
1566a7f7f624SMasahiro Yamada	help
1567dc3c56b7SMarc Vertes	  This is the driver for the hardware watchdog timer on VIA
1568dc3c56b7SMarc Vertes	  southbridge chipset CX700, VX800/VX820 or VX855/VX875.
1569dc3c56b7SMarc Vertes
1570dc3c56b7SMarc Vertes	  To compile this driver as a module, choose M here; the module
1571dc3c56b7SMarc Vertes	  will be called via_wdt.
1572dc3c56b7SMarc Vertes
1573dc3c56b7SMarc Vertes	  Most people will say N.
1574dc3c56b7SMarc Vertes
1575b7e04f8cSWim Van Sebroeckconfig W83627HF_WDT
1576962c04f5SGuenter Roeck	tristate "Watchdog timer for W83627HF/W83627DHG and compatibles"
1577f1a43aadSRob Herring	depends on X86 || COMPILE_TEST
157830a83695SGuenter Roeck	select WATCHDOG_CORE
1579a7f7f624SMasahiro Yamada	help
1580962c04f5SGuenter Roeck	  This is the driver for the hardware watchdog on the following
1581962c04f5SGuenter Roeck	  Super I/O chips.
1582962c04f5SGuenter Roeck		W83627DHG/DHG-P/EHF/EHG/F/G/HF/S/SF/THF/UHG/UG
1583962c04f5SGuenter Roeck		W83637HF
1584962c04f5SGuenter Roeck		W83667HG/HG-B
1585962c04f5SGuenter Roeck		W83687THF
15867b6d0b6aSGuenter Roeck		W83697HF
15877b6d0b6aSGuenter Roeck		W83697UG
1588962c04f5SGuenter Roeck		NCT6775
1589962c04f5SGuenter Roeck		NCT6776
1590962c04f5SGuenter Roeck		NCT6779
1591a77841d5SGuenter Roeck		NCT6791
1592a77841d5SGuenter Roeck		NCT6792
159333f74b89SRob Kramer		NCT6102D/04D/06D
1594e11cfc69SSrikanth Krishnakar		NCT6116D
1595962c04f5SGuenter Roeck
15969c67bea4SBenny Loenstrup Ammitzboell	  This watchdog simply watches your kernel to make sure it doesn't
15979c67bea4SBenny Loenstrup Ammitzboell	  freeze, and if it does, it reboots your computer after a certain
15989c67bea4SBenny Loenstrup Ammitzboell	  amount of time.
1599b7e04f8cSWim Van Sebroeck
1600b7e04f8cSWim Van Sebroeck	  To compile this driver as a module, choose M here: the
1601b7e04f8cSWim Van Sebroeck	  module will be called w83627hf_wdt.
1602b7e04f8cSWim Van Sebroeck
1603b7e04f8cSWim Van Sebroeck	  Most people will say N.
1604b7e04f8cSWim Van Sebroeck
1605b7e04f8cSWim Van Sebroeckconfig W83877F_WDT
1606b7e04f8cSWim Van Sebroeck	tristate "W83877F (EMACS) Watchdog Timer"
1607f1a43aadSRob Herring	depends on X86 || COMPILE_TEST
1608a7f7f624SMasahiro Yamada	help
1609b7e04f8cSWim Van Sebroeck	  This is the driver for the hardware watchdog on the W83877F chipset
1610b7e04f8cSWim Van Sebroeck	  as used in EMACS PC-104 motherboards (and likely others).  This
1611b7e04f8cSWim Van Sebroeck	  watchdog simply watches your kernel to make sure it doesn't freeze,
1612b7e04f8cSWim Van Sebroeck	  and if it does, it reboots your computer after a certain amount of
1613b7e04f8cSWim Van Sebroeck	  time.
1614b7e04f8cSWim Van Sebroeck
1615b7e04f8cSWim Van Sebroeck	  To compile this driver as a module, choose M here: the
1616b7e04f8cSWim Van Sebroeck	  module will be called w83877f_wdt.
1617b7e04f8cSWim Van Sebroeck
1618b7e04f8cSWim Van Sebroeck	  Most people will say N.
1619b7e04f8cSWim Van Sebroeck
1620b7e04f8cSWim Van Sebroeckconfig W83977F_WDT
1621b7e04f8cSWim Van Sebroeck	tristate "W83977F (PCM-5335) Watchdog Timer"
1622f1a43aadSRob Herring	depends on X86 || COMPILE_TEST
1623a7f7f624SMasahiro Yamada	help
1624b7e04f8cSWim Van Sebroeck	  This is the driver for the hardware watchdog on the W83977F I/O chip
1625b7e04f8cSWim Van Sebroeck	  as used in AAEON's PCM-5335 SBC (and likely others).  This
1626b7e04f8cSWim Van Sebroeck	  watchdog simply watches your kernel to make sure it doesn't freeze,
1627b7e04f8cSWim Van Sebroeck	  and if it does, it reboots your computer after a certain amount of
1628b7e04f8cSWim Van Sebroeck	  time.
1629b7e04f8cSWim Van Sebroeck
1630b7e04f8cSWim Van Sebroeck	  To compile this driver as a module, choose M here: the
1631b7e04f8cSWim Van Sebroeck	  module will be called w83977f_wdt.
1632b7e04f8cSWim Van Sebroeck
1633b7e04f8cSWim Van Sebroeckconfig MACHZ_WDT
1634b7e04f8cSWim Van Sebroeck	tristate "ZF MachZ Watchdog"
1635f1a43aadSRob Herring	depends on X86 || COMPILE_TEST
1636a7f7f624SMasahiro Yamada	help
1637b7e04f8cSWim Van Sebroeck	  If you are using a ZF Micro MachZ processor, say Y here, otherwise
1638b7e04f8cSWim Van Sebroeck	  N.  This is the driver for the watchdog timer built-in on that
1639b7e04f8cSWim Van Sebroeck	  processor using ZF-Logic interface.  This watchdog simply watches
1640b7e04f8cSWim Van Sebroeck	  your kernel to make sure it doesn't freeze, and if it does, it
1641b7e04f8cSWim Van Sebroeck	  reboots your computer after a certain amount of time.
1642b7e04f8cSWim Van Sebroeck
1643b7e04f8cSWim Van Sebroeck	  To compile this driver as a module, choose M here: the
1644b7e04f8cSWim Van Sebroeck	  module will be called machzwd.
1645b7e04f8cSWim Van Sebroeck
1646b7e04f8cSWim Van Sebroeckconfig SBC_EPX_C3_WATCHDOG
1647b7e04f8cSWim Van Sebroeck	tristate "Winsystems SBC EPX-C3 watchdog"
1648f1a43aadSRob Herring	depends on X86 || COMPILE_TEST
1649a7f7f624SMasahiro Yamada	help
1650b7e04f8cSWim Van Sebroeck	  This is the driver for the built-in watchdog timer on the EPX-C3
1651b7e04f8cSWim Van Sebroeck	  Single-board computer made by Winsystems, Inc.
1652b7e04f8cSWim Van Sebroeck
1653b7e04f8cSWim Van Sebroeck	  *Note*: This hardware watchdog is not probeable and thus there
1654b7e04f8cSWim Van Sebroeck	  is no way to know if writing to its IO address will corrupt
1655b7e04f8cSWim Van Sebroeck	  your system or have any real effect.  The only way to be sure
1656b7e04f8cSWim Van Sebroeck	  that this driver does what you want is to make sure you
1657b7e04f8cSWim Van Sebroeck	  are running it on an EPX-C3 from Winsystems with the watchdog
1658b7e04f8cSWim Van Sebroeck	  timer at IO address 0x1ee and 0x1ef.  It will write to both those
1659b7e04f8cSWim Van Sebroeck	  IO ports.  Basically, the assumption is made that if you compile
1660b7e04f8cSWim Van Sebroeck	  this driver into your kernel and/or load it as a module, that you
1661b7e04f8cSWim Van Sebroeck	  know what you are doing and that you are in fact running on an
1662b7e04f8cSWim Van Sebroeck	  EPX-C3 board!
1663b7e04f8cSWim Van Sebroeck
1664b7e04f8cSWim Van Sebroeck	  To compile this driver as a module, choose M here: the
1665b7e04f8cSWim Van Sebroeck	  module will be called sbc_epx_c3.
1666b7e04f8cSWim Van Sebroeck
1667222818c3STomas Winklerconfig INTEL_MEI_WDT
1668222818c3STomas Winkler	tristate "Intel MEI iAMT Watchdog"
1669222818c3STomas Winkler	depends on INTEL_MEI && X86
1670222818c3STomas Winkler	select WATCHDOG_CORE
1671a7f7f624SMasahiro Yamada	help
1672222818c3STomas Winkler	  A device driver for the Intel MEI iAMT watchdog.
1673222818c3STomas Winkler
1674222818c3STomas Winkler	  The Intel AMT Watchdog is an OS Health (Hang/Crash) watchdog.
1675222818c3STomas Winkler	  Whenever the OS hangs or crashes, iAMT will send an event
1676222818c3STomas Winkler	  to any subscriber to this event. The watchdog doesn't reset the
1677222818c3STomas Winkler	  the platform.
1678222818c3STomas Winkler
1679222818c3STomas Winkler	  To compile this driver as a module, choose M here:
1680222818c3STomas Winkler	  the module will be called mei_wdt.
1681222818c3STomas Winkler
168270f39976SKyle Roeschleyconfig NI903X_WDT
168370f39976SKyle Roeschley	tristate "NI 903x/913x Watchdog"
168470f39976SKyle Roeschley	depends on X86 && ACPI
168570f39976SKyle Roeschley	select WATCHDOG_CORE
1686a7f7f624SMasahiro Yamada	help
168770f39976SKyle Roeschley	  This is the driver for the watchdog timer on the National Instruments
168870f39976SKyle Roeschley	  903x/913x real-time controllers.
168970f39976SKyle Roeschley
169070f39976SKyle Roeschley	  To compile this driver as a module, choose M here: the module will be
169170f39976SKyle Roeschley	  called ni903x_wdt.
169270f39976SKyle Roeschley
169398078ca3SHui Chun Ongconfig NIC7018_WDT
169498078ca3SHui Chun Ong	tristate "NIC7018 Watchdog"
169598078ca3SHui Chun Ong	depends on X86 && ACPI
169698078ca3SHui Chun Ong	select WATCHDOG_CORE
1697a7f7f624SMasahiro Yamada	help
169898078ca3SHui Chun Ong	  Support for National Instruments NIC7018 Watchdog.
169998078ca3SHui Chun Ong
170098078ca3SHui Chun Ong	  To compile this driver as a module, choose M here: the module will be
170198078ca3SHui Chun Ong	  called nic7018_wdt.
170298078ca3SHui Chun Ong
17032ebd32ceSHenning Schildconfig SIEMENS_SIMATIC_IPC_WDT
17042ebd32ceSHenning Schild	tristate "Siemens Simatic IPC Watchdog"
1705f0ced885SArnd Bergmann	depends on SIEMENS_SIMATIC_IPC && PCI
17063fce0640SHenning Schild	default y
17072ebd32ceSHenning Schild	select WATCHDOG_CORE
170839ab0bafSAndy Shevchenko	select P2SB if X86
17092ebd32ceSHenning Schild	help
17102ebd32ceSHenning Schild	  This driver adds support for several watchdogs found in Industrial
17112ebd32ceSHenning Schild	  PCs from Siemens.
17122ebd32ceSHenning Schild
17132ebd32ceSHenning Schild	  To compile this driver as a module, choose M here: the module will be
17142ebd32ceSHenning Schild	  called simatic-ipc-wdt.
17152ebd32ceSHenning Schild
1716b7e04f8cSWim Van Sebroeck# M68K Architecture
1717b7e04f8cSWim Van Sebroeck
17184157a04dSPhilippe De Muyterconfig M54xx_WATCHDOG
17194157a04dSPhilippe De Muyter	tristate "MCF54xx watchdog support"
172088cce427SPhilippe De Muyter	depends on M548x
172188cce427SPhilippe De Muyter	help
172288cce427SPhilippe De Muyter	  To compile this driver as a module, choose M here: the
17234157a04dSPhilippe De Muyter	  module will be called m54xx_wdt.
1724b7e04f8cSWim Van Sebroeck
1725e9659e69SAlejandro Cabrera# MicroBlaze Architecture
1726e9659e69SAlejandro Cabrera
1727b7e04f8cSWim Van Sebroeck# MIPS Architecture
1728b7e04f8cSWim Van Sebroeck
1729f8394f61SGabor Juhosconfig ATH79_WDT
1730f8394f61SGabor Juhos	tristate "Atheros AR71XX/AR724X/AR913X hardware watchdog"
1731da2a68b3SGuenter Roeck	depends on ATH79 || (ARM && COMPILE_TEST)
1732f8394f61SGabor Juhos	help
1733f8394f61SGabor Juhos	  Hardware driver for the built-in watchdog timer on the Atheros
1734f8394f61SGabor Juhos	  AR71XX/AR724X/AR913X SoCs.
1735f8394f61SGabor Juhos
173690074dceSmatthieu castetconfig BCM47XX_WDT
173790074dceSmatthieu castet	tristate "Broadcom BCM47xx Watchdog Timer"
1738da2a68b3SGuenter Roeck	depends on BCM47XX || ARCH_BCM_5301X || COMPILE_TEST
17395434a04dSHauke Mehrtens	select WATCHDOG_CORE
174090074dceSmatthieu castet	help
17416b2aac42SMasanari Iida	  Hardware driver for the Broadcom BCM47xx Watchdog Timer.
174290074dceSmatthieu castet
174303ec5856SFlorian Fainelliconfig RC32434_WDT
174403ec5856SFlorian Fainelli	tristate "IDT RC32434 SoC Watchdog Timer"
174503ec5856SFlorian Fainelli	depends on MIKROTIK_RB532
174603ec5856SFlorian Fainelli	help
174703ec5856SFlorian Fainelli	  Hardware driver for the IDT RC32434 SoC built-in
174803ec5856SFlorian Fainelli	  watchdog timer.
174903ec5856SFlorian Fainelli
175003ec5856SFlorian Fainelli	  To compile this driver as a module, choose M here: the
175103ec5856SFlorian Fainelli	  module will be called rc32434_wdt.
175203ec5856SFlorian Fainelli
1753b7e04f8cSWim Van Sebroeckconfig INDYDOG
1754b7e04f8cSWim Van Sebroeck	tristate "Indy/I2 Hardware Watchdog"
175524f8d233SMatt Redfearn	depends on SGI_HAS_INDYDOG
1756b7e04f8cSWim Van Sebroeck	help
1757b7e04f8cSWim Van Sebroeck	  Hardware driver for the Indy's/I2's watchdog. This is a
1758b7e04f8cSWim Van Sebroeck	  watchdog timer that will reboot the machine after a 60 second
1759b7e04f8cSWim Van Sebroeck	  timer expired and no process has written to /dev/watchdog during
1760b7e04f8cSWim Van Sebroeck	  that time.
1761b7e04f8cSWim Van Sebroeck
1762f865c352SPaul Cercueilconfig JZ4740_WDT
1763f865c352SPaul Cercueil	tristate "Ingenic jz4740 SoC hardware watchdog"
1764f1a43aadSRob Herring	depends on MIPS || COMPILE_TEST
17651d9c3074SPaul Cercueil	depends on COMMON_CLK
176685f6df14SAxel Lin	select WATCHDOG_CORE
17676d532143SPaul Cercueil	select MFD_SYSCON
1768f865c352SPaul Cercueil	help
1769f865c352SPaul Cercueil	  Hardware driver for the built-in watchdog timer on Ingenic jz4740 SoCs.
1770f865c352SPaul Cercueil
1771b7e04f8cSWim Van Sebroeckconfig WDT_MTX1
1772b7e04f8cSWim Van Sebroeck	tristate "MTX-1 Hardware Watchdog"
1773da2a68b3SGuenter Roeck	depends on MIPS_MTX1 || (MIPS && COMPILE_TEST)
1774b7e04f8cSWim Van Sebroeck	help
1775b7e04f8cSWim Van Sebroeck	  Hardware driver for the MTX-1 boards. This is a watchdog timer that
1776b7e04f8cSWim Van Sebroeck	  will reboot the machine after a 100 seconds timer expired.
1777b7e04f8cSWim Van Sebroeck
177875c752e6SAndrew Sharpconfig SIBYTE_WDOG
177975c752e6SAndrew Sharp	tristate "Sibyte SoC hardware watchdog"
1780c388a189SJackie Liu	depends on CPU_SB1
178175c752e6SAndrew Sharp	help
178275c752e6SAndrew Sharp	  Watchdog driver for the built in watchdog hardware in Sibyte
178375c752e6SAndrew Sharp	  SoC processors.  There are apparently two watchdog timers
178475c752e6SAndrew Sharp	  on such processors; this driver supports only the first one,
178575c752e6SAndrew Sharp	  because currently Linux only supports exporting one watchdog
178675c752e6SAndrew Sharp	  to userspace.
178775c752e6SAndrew Sharp
178875c752e6SAndrew Sharp	  To compile this driver as a loadable module, choose M here.
178975c752e6SAndrew Sharp	  The module will be called sb_wdog.
179075c752e6SAndrew Sharp
17916f702fceSAtsushi Nemotoconfig TXX9_WDT
17926f702fceSAtsushi Nemoto	tristate "Toshiba TXx9 Watchdog Timer"
1793455481fcSThomas Bogendoerfer	depends on CPU_TX49XX || (MIPS && COMPILE_TEST)
1794d6245842SAxel Lin	select WATCHDOG_CORE
17956f702fceSAtsushi Nemoto	help
17966f702fceSAtsushi Nemoto	  Hardware driver for the built-in watchdog timer on TXx9 MIPS SoCs.
17976f702fceSAtsushi Nemoto
17984c076fb4SDavid Daneyconfig OCTEON_WDT
17994c076fb4SDavid Daney	tristate "Cavium OCTEON SOC family Watchdog Timer"
18009ddebc46SDavid Daney	depends on CAVIUM_OCTEON_SOC
18014c076fb4SDavid Daney	default y
18023d588c93SAaro Koskinen	select WATCHDOG_CORE
18034c076fb4SDavid Daney	select EXPORT_UASM if OCTEON_WDT = m
18044c076fb4SDavid Daney	help
18054c076fb4SDavid Daney	  Hardware driver for OCTEON's on chip watchdog timer.
18064c076fb4SDavid Daney	  Enables the watchdog for all cores running Linux. It
18074c076fb4SDavid Daney	  installs a NMI handler and pokes the watchdog based on an
18084c076fb4SDavid Daney	  interrupt.  On first expiration of the watchdog, the
18094c076fb4SDavid Daney	  interrupt handler pokes it.  The second expiration causes an
18104c076fb4SDavid Daney	  NMI that prints a message. The third expiration causes a
18114c076fb4SDavid Daney	  global soft reset.
18124c076fb4SDavid Daney
18134c076fb4SDavid Daney	  When userspace has /dev/watchdog open, no poking is done
18144c076fb4SDavid Daney	  from the first interrupt, it is then only poked when the
18154c076fb4SDavid Daney	  device is written.
18164c076fb4SDavid Daney
1817ef9e7fe2SBharat Bhushanconfig MARVELL_GTI_WDT
1818ef9e7fe2SBharat Bhushan	tristate "Marvell GTI Watchdog driver"
1819ef9e7fe2SBharat Bhushan	depends on ARCH_THUNDER || (COMPILE_TEST && 64BIT)
1820ef9e7fe2SBharat Bhushan	default y
1821ef9e7fe2SBharat Bhushan	select WATCHDOG_CORE
1822ef9e7fe2SBharat Bhushan	help
1823ef9e7fe2SBharat Bhushan	  Marvell GTI hardware supports watchdog timer. First timeout
1824ef9e7fe2SBharat Bhushan	  works as watchdog pretimeout and installed interrupt handler
1825ef9e7fe2SBharat Bhushan	  will be called on first timeout. Hardware can generate interrupt
1826ef9e7fe2SBharat Bhushan	  to SCP on second timeout but it is not enabled, so second
1827ef9e7fe2SBharat Bhushan	  timeout is ignored. If device poke does not happen then system
1828ef9e7fe2SBharat Bhushan	  will reboot on third timeout.
1829ef9e7fe2SBharat Bhushan
1830938d0a84SLubomir Rintelconfig BCM2835_WDT
1831938d0a84SLubomir Rintel	tristate "Broadcom BCM2835 hardware watchdog"
18322672b7e0SArnd Bergmann	depends on ARCH_BCM2835 || (OF && COMPILE_TEST)
1833938d0a84SLubomir Rintel	select WATCHDOG_CORE
1834938d0a84SLubomir Rintel	help
1835938d0a84SLubomir Rintel	  Watchdog driver for the built in watchdog hardware in Broadcom
1836938d0a84SLubomir Rintel	  BCM2835 SoC.
1837938d0a84SLubomir Rintel
1838938d0a84SLubomir Rintel	  To compile this driver as a loadable module, choose M here.
1839938d0a84SLubomir Rintel	  The module will be called bcm2835_wdt.
1840938d0a84SLubomir Rintel
18416adb730dSMarkus Mayerconfig BCM_KONA_WDT
18426adb730dSMarkus Mayer	tristate "BCM Kona Watchdog"
1843da2a68b3SGuenter Roeck	depends on ARCH_BCM_MOBILE || COMPILE_TEST
18446adb730dSMarkus Mayer	select WATCHDOG_CORE
18456adb730dSMarkus Mayer	help
18466adb730dSMarkus Mayer	  Support for the watchdog timer on the following Broadcom BCM281xx
18476adb730dSMarkus Mayer	  family, which includes BCM11130, BCM11140, BCM11351, BCM28145 and
18486adb730dSMarkus Mayer	  BCM28155 variants.
18496adb730dSMarkus Mayer
18506adb730dSMarkus Mayer	  Say 'Y' or 'M' here to enable the driver. The module will be called
18516adb730dSMarkus Mayer	  bcm_kona_wdt.
18526adb730dSMarkus Mayer
18536e2ac20eSMarkus Mayerconfig BCM_KONA_WDT_DEBUG
18546e2ac20eSMarkus Mayer	bool "DEBUGFS support for BCM Kona Watchdog"
1855f1a43aadSRob Herring	depends on BCM_KONA_WDT || COMPILE_TEST
18566e2ac20eSMarkus Mayer	help
18576e2ac20eSMarkus Mayer	  If enabled, adds /sys/kernel/debug/bcm_kona_wdt/info which provides
18586e2ac20eSMarkus Mayer	  access to the driver's internal data structures as well as watchdog
18596e2ac20eSMarkus Mayer	  timer hardware registres.
18606e2ac20eSMarkus Mayer
18616e2ac20eSMarkus Mayer	  If in doubt, say 'N'.
18626e2ac20eSMarkus Mayer
18637a3629feSJustin Chenconfig BCM7038_WDT
1864bc0bf9e9SFlorian Fainelli	tristate "BCM63xx/BCM7038 Watchdog"
18657a3629feSJustin Chen	select WATCHDOG_CORE
1866d42d6108SRichard Weinberger	depends on HAS_IOMEM
18677bb49d77SWilliam Zhang	depends on ARCH_BCMBCA || ARCH_BRCMSTB || BMIPS_GENERIC || BCM63XX || COMPILE_TEST
18687a3629feSJustin Chen	help
1869972ec351SJean Delvare	  Watchdog driver for the built-in hardware in Broadcom 7038 and
1870972ec351SJean Delvare	  later SoCs used in set-top boxes.  BCM7038 was made public
1871972ec351SJean Delvare	  during the 2004 CES, and since then, many Broadcom chips use this
1872bc0bf9e9SFlorian Fainelli	  watchdog block, including some cable modem chips and DSL (63xx)
1873bc0bf9e9SFlorian Fainelli	  chips.
18747a3629feSJustin Chen
187593937669SNaidu Tellapaticonfig IMGPDC_WDT
187693937669SNaidu Tellapati	tristate "Imagination Technologies PDC Watchdog Timer"
187793937669SNaidu Tellapati	depends on HAS_IOMEM
1878b9b29090SJames Hogan	depends on MIPS || COMPILE_TEST
1879df1a3e64SArnd Bergmann	select WATCHDOG_CORE
188093937669SNaidu Tellapati	help
188193937669SNaidu Tellapati	  Driver for Imagination Technologies PowerDown Controller
188293937669SNaidu Tellapati	  Watchdog Timer.
188393937669SNaidu Tellapati
188493937669SNaidu Tellapati	  To compile this driver as a loadable module, choose M here.
188593937669SNaidu Tellapati	  The module will be called imgpdc_wdt.
188693937669SNaidu Tellapati
18872f58b8d0SJohn Crispinconfig LANTIQ_WDT
18882f58b8d0SJohn Crispin	tristate "Lantiq SoC watchdog"
18892f58b8d0SJohn Crispin	depends on LANTIQ
1890dcd7e04eSHauke Mehrtens	select WATCHDOG_CORE
18912f58b8d0SJohn Crispin	help
18922f58b8d0SJohn Crispin	  Hardware driver for the Lantiq SoC Watchdog Timer.
18932f58b8d0SJohn Crispin
18941d8565eeSYang Lingconfig LOONGSON1_WDT
18951d8565eeSYang Ling	tristate "Loongson1 SoC hardware watchdog"
1896f1a43aadSRob Herring	depends on MACH_LOONGSON32 || COMPILE_TEST
18971d8565eeSYang Ling	select WATCHDOG_CORE
18981d8565eeSYang Ling	help
18991d8565eeSYang Ling	  Hardware driver for the Loongson1 SoC Watchdog Timer.
19001d8565eeSYang Ling
1901473cf939SJohn Crispinconfig RALINK_WDT
1902473cf939SJohn Crispin	tristate "Ralink SoC watchdog"
1903473cf939SJohn Crispin	select WATCHDOG_CORE
1904473cf939SJohn Crispin	depends on RALINK
1905473cf939SJohn Crispin	help
1906473cf939SJohn Crispin	  Hardware driver for the Ralink SoC Watchdog Timer.
1907473cf939SJohn Crispin
19086b47441bSNick Hawkinsconfig GXP_WATCHDOG
19096b47441bSNick Hawkins	tristate "HPE GXP watchdog support"
1910f1a43aadSRob Herring	depends on ARCH_HPE_GXP || COMPILE_TEST
19116b47441bSNick Hawkins	select WATCHDOG_CORE
19126b47441bSNick Hawkins	help
19136b47441bSNick Hawkins	  Say Y here to include support for the watchdog timer
19146b47441bSNick Hawkins	  in HPE GXP SoCs.
19156b47441bSNick Hawkins
19166b47441bSNick Hawkins	  To compile this driver as a module, choose M here.
19176b47441bSNick Hawkins	  The module will be called gxp-wdt.
19186b47441bSNick Hawkins
1919ab3f09feSJohn Crispinconfig MT7621_WDT
1920ab3f09feSJohn Crispin	tristate "Mediatek SoC watchdog"
1921ab3f09feSJohn Crispin	select WATCHDOG_CORE
1922ff8ec4acSSergio Paracuellos	select REGMAP_MMIO
1923ff8ec4acSSergio Paracuellos	select MFD_SYSCON
1924ff8ec4acSSergio Paracuellos	depends on SOC_MT7620 || SOC_MT7621 || COMPILE_TEST
1925ab3f09feSJohn Crispin	help
1926ab3f09feSJohn Crispin	  Hardware driver for the Mediatek/Ralink MT7621/8 SoC Watchdog Timer.
1927ab3f09feSJohn Crispin
19288f91fc56SJoshua Hendersonconfig PIC32_WDT
19298f91fc56SJoshua Henderson	tristate "Microchip PIC32 hardware watchdog"
19308f91fc56SJoshua Henderson	select WATCHDOG_CORE
1931da2a68b3SGuenter Roeck	depends on MACH_PIC32 || (MIPS && COMPILE_TEST)
19328f91fc56SJoshua Henderson	help
19338f91fc56SJoshua Henderson	  Watchdog driver for the built in watchdog hardware in a PIC32.
19348f91fc56SJoshua Henderson
19358f91fc56SJoshua Henderson	  Configuration bits must be set appropriately for the watchdog to be
19368f91fc56SJoshua Henderson	  controlled by this driver.
19378f91fc56SJoshua Henderson
19388f91fc56SJoshua Henderson	  To compile this driver as a loadable module, choose M here.
19398f91fc56SJoshua Henderson	  The module will be called pic32-wdt.
19408f91fc56SJoshua Henderson
1941b0d8a082SPurna Chandra Mandalconfig PIC32_DMT
1942b0d8a082SPurna Chandra Mandal	tristate "Microchip PIC32 Deadman Timer"
1943b0d8a082SPurna Chandra Mandal	select WATCHDOG_CORE
1944da2a68b3SGuenter Roeck	depends on MACH_PIC32 || (MIPS && COMPILE_TEST)
1945b0d8a082SPurna Chandra Mandal	help
194601028829SRandy Dunlap	  Watchdog driver for PIC32 instruction fetch counting timer. This
194701028829SRandy Dunlap	  specific timer is typically be used in mission critical and safety
194801028829SRandy Dunlap	  critical applications, where any single failure of the software
194901028829SRandy Dunlap	  functionality and sequencing must be detected.
1950b0d8a082SPurna Chandra Mandal
1951b0d8a082SPurna Chandra Mandal	  To compile this driver as a loadable module, choose M here.
1952b0d8a082SPurna Chandra Mandal	  The module will be called pic32-dmt.
1953b0d8a082SPurna Chandra Mandal
1954b7e04f8cSWim Van Sebroeck# PARISC Architecture
1955b7e04f8cSWim Van Sebroeck
1956b7e04f8cSWim Van Sebroeck# POWERPC Architecture
1957b7e04f8cSWim Van Sebroeck
19583268b561SMartyn Welchconfig GEF_WDT
1959cda61c94SMartyn Welch	tristate "GE Watchdog Timer"
1960330bbf48SMartyn Welch	depends on GE_FPGA
1961a7f7f624SMasahiro Yamada	help
1962cda61c94SMartyn Welch	  Watchdog timer found in a number of GE single board computers.
19633268b561SMartyn Welch
1964b7e04f8cSWim Van Sebroeckconfig MPC5200_WDT
19656d535599SAlbrecht Dreß	bool "MPC52xx Watchdog Timer"
1966da2a68b3SGuenter Roeck	depends on PPC_MPC52xx || COMPILE_TEST
19676d535599SAlbrecht Dreß	help
19686d535599SAlbrecht Dreß	  Use General Purpose Timer (GPT) 0 on the MPC5200 as Watchdog.
1969b7e04f8cSWim Van Sebroeck
197028acd02fSAnton Vorontsovconfig 8xxx_WDT
197128acd02fSAnton Vorontsov	tristate "MPC8xxx Platform Watchdog Timer"
1972f8c33e97SUwe Kleine-König	depends on PPC_8xx || PPC_83xx || PPC_86xx || PPC_MPC512x
1973d5cfaf0aSChristophe Leroy	select WATCHDOG_CORE
197428acd02fSAnton Vorontsov	help
197528acd02fSAnton Vorontsov	  This driver is for a SoC level watchdog that exists on some
197628acd02fSAnton Vorontsov	  Freescale PowerPC processors. So far this driver supports:
19770d7b1014SAnton Vorontsov	  - MPC8xx watchdogs
197828acd02fSAnton Vorontsov	  - MPC83xx watchdogs
197928acd02fSAnton Vorontsov	  - MPC86xx watchdogs
198028acd02fSAnton Vorontsov
198128acd02fSAnton Vorontsov	  For BookE processors (MPC85xx) use the BOOKE_WDT driver instead.
1982b7e04f8cSWim Van Sebroeck
1983618efba9SSean MacLennanconfig PIKA_WDT
1984618efba9SSean MacLennan	tristate "PIKA FPGA Watchdog"
1985da2a68b3SGuenter Roeck	depends on WARP || (PPC64 && COMPILE_TEST)
1986618efba9SSean MacLennan	default y
1987618efba9SSean MacLennan	help
1988618efba9SSean MacLennan	  This enables the watchdog in the PIKA FPGA. Currently used on
1989618efba9SSean MacLennan	  the Warp platform.
1990618efba9SSean MacLennan
1991b7e04f8cSWim Van Sebroeckconfig BOOKE_WDT
1992fbdd7144STimur Tabi	tristate "PowerPC Book-E Watchdog Timer"
1993b7e04f8cSWim Van Sebroeck	depends on BOOKE || 4xx
199452e5cc4eSGuenter Roeck	select WATCHDOG_CORE
1995a7f7f624SMasahiro Yamada	help
1996fbdd7144STimur Tabi	  Watchdog driver for PowerPC Book-E chips, such as the Freescale
1997fbdd7144STimur Tabi	  MPC85xx SOCs and the IBM PowerPC 440.
1998fbdd7144STimur Tabi
199974665686SMauro Carvalho Chehab	  Please see Documentation/watchdog/watchdog-api.rst for
2000b7e04f8cSWim Van Sebroeck	  more information.
2001b7e04f8cSWim Van Sebroeck
2002e0dc09ffSTimur Tabiconfig BOOKE_WDT_DEFAULT_TIMEOUT
2003e0dc09ffSTimur Tabi	int "PowerPC Book-E Watchdog Timer Default Timeout"
2004e0dc09ffSTimur Tabi	depends on BOOKE_WDT
2005ec65560aSChristophe Leroy	default 38 if PPC_E500
2006ec65560aSChristophe Leroy	range 0 63 if PPC_E500
2007ec65560aSChristophe Leroy	default 3 if !PPC_E500
2008ec65560aSChristophe Leroy	range 0 3 if !PPC_E500
2009e0dc09ffSTimur Tabi	help
2010e0dc09ffSTimur Tabi	  Select the default watchdog timer period to be used by the PowerPC
2011e0dc09ffSTimur Tabi	  Book-E watchdog driver.  A watchdog "event" occurs when the bit
2012e0dc09ffSTimur Tabi	  position represented by this number transitions from zero to one.
2013e0dc09ffSTimur Tabi
2014e0dc09ffSTimur Tabi	  For Freescale Book-E processors, this is a number between 0 and 63.
2015e0dc09ffSTimur Tabi	  For other Book-E processors, this is a number between 0 and 3.
2016e0dc09ffSTimur Tabi
2017e1d1d68aSMasanari Iida	  The value can be overridden by the wdt_period command-line parameter.
2018e0dc09ffSTimur Tabi
201926c57ef1SJohannes Thumshirnconfig MEN_A21_WDT
202026c57ef1SJohannes Thumshirn	tristate "MEN A21 VME CPU Carrier Board Watchdog Timer"
202126c57ef1SJohannes Thumshirn	select WATCHDOG_CORE
202221a926a3SGeert Uytterhoeven	depends on GPIOLIB || COMPILE_TEST
202326c57ef1SJohannes Thumshirn	help
202426c57ef1SJohannes Thumshirn	  Watchdog driver for MEN A21 VMEbus CPU Carrier Boards.
202526c57ef1SJohannes Thumshirn
202626c57ef1SJohannes Thumshirn	  The driver can also be built as a module. If so, the module will be
202726c57ef1SJohannes Thumshirn	  called mena21_wdt.
202826c57ef1SJohannes Thumshirn
202926c57ef1SJohannes Thumshirn	  If unsure select N here.
203026c57ef1SJohannes Thumshirn
2031b7e04f8cSWim Van Sebroeck# PPC64 Architecture
2032b7e04f8cSWim Van Sebroeck
203369472ffaSScott Chelohaconfig PSERIES_WDT
203469472ffaSScott Cheloha	tristate "POWER Architecture Platform Watchdog Timer"
203569472ffaSScott Cheloha	depends on PPC_PSERIES
203669472ffaSScott Cheloha	select WATCHDOG_CORE
203769472ffaSScott Cheloha	help
203869472ffaSScott Cheloha	  Driver for virtual watchdog timers provided by PAPR
203969472ffaSScott Cheloha	  hypervisors (e.g. PowerVM, KVM).
204069472ffaSScott Cheloha
2041b7e04f8cSWim Van Sebroeckconfig WATCHDOG_RTAS
2042b7e04f8cSWim Van Sebroeck	tristate "RTAS watchdog"
204342bed042SMurilo Opsfelder Araujo	depends on PPC_RTAS
2044b7e04f8cSWim Van Sebroeck	help
2045b7e04f8cSWim Van Sebroeck	  This driver adds watchdog support for the RTAS watchdog.
2046b7e04f8cSWim Van Sebroeck
2047b7e04f8cSWim Van Sebroeck	  To compile this driver as a module, choose M here. The module
2048b7e04f8cSWim Van Sebroeck	  will be called wdrtas.
2049b7e04f8cSWim Van Sebroeck
2050db728ea9SXingyu Wu# RISC-V Architecture
2051db728ea9SXingyu Wu
2052db728ea9SXingyu Wuconfig STARFIVE_WATCHDOG
2053db728ea9SXingyu Wu	tristate "StarFive Watchdog support"
2054db728ea9SXingyu Wu	depends on ARCH_STARFIVE || COMPILE_TEST
2055db728ea9SXingyu Wu	select WATCHDOG_CORE
2056db728ea9SXingyu Wu	default ARCH_STARFIVE
2057db728ea9SXingyu Wu	help
2058db728ea9SXingyu Wu	  Say Y here to support the watchdog of StarFive JH7100 and JH7110
2059db728ea9SXingyu Wu	  SoC. This driver can also be built as a module if choose M.
2060db728ea9SXingyu Wu
2061b7e04f8cSWim Van Sebroeck# S390 Architecture
2062b7e04f8cSWim Van Sebroeck
2063f7a94db4SPhilipp Hachtmannconfig DIAG288_WATCHDOG
2064f7a94db4SPhilipp Hachtmann	tristate "System z diag288 Watchdog"
2065b7e04f8cSWim Van Sebroeck	depends on S390
2066f7a94db4SPhilipp Hachtmann	select WATCHDOG_CORE
2067b7e04f8cSWim Van Sebroeck	help
2068b7e04f8cSWim Van Sebroeck	  IBM s/390 and zSeries machines running under z/VM 5.1 or later
2069b7e04f8cSWim Van Sebroeck	  provide a virtual watchdog timer to their guest that cause a
2070b7e04f8cSWim Van Sebroeck	  user define Control Program command to be executed after a
2071b7e04f8cSWim Van Sebroeck	  timeout.
2072646f919eSPhilipp Hachtmann	  LPAR provides a very similar interface. This driver handles
2073646f919eSPhilipp Hachtmann	  both.
2074b7e04f8cSWim Van Sebroeck
2075b7e04f8cSWim Van Sebroeck	  To compile this driver as a module, choose M here. The module
2076a8fa3943SPhilipp Hachtmann	  will be called diag288_wdt.
2077b7e04f8cSWim Van Sebroeck
2078b7e04f8cSWim Van Sebroeck# SUPERH (sh + sh64) Architecture
2079b7e04f8cSWim Van Sebroeck
2080b7e04f8cSWim Van Sebroeckconfig SH_WDT
2081b7e04f8cSWim Van Sebroeck	tristate "SuperH Watchdog"
2082da2a68b3SGuenter Roeck	depends on SUPERH && (CPU_SH3 || CPU_SH4 || COMPILE_TEST)
20831950f499SPaul Mundt	select WATCHDOG_CORE
2084b7e04f8cSWim Van Sebroeck	help
2085b7e04f8cSWim Van Sebroeck	  This driver adds watchdog support for the integrated watchdog in the
2086b7e04f8cSWim Van Sebroeck	  SuperH processors. If you have one of these processors and wish
2087b7e04f8cSWim Van Sebroeck	  to have watchdog support enabled, say Y, otherwise say N.
2088b7e04f8cSWim Van Sebroeck
2089b7e04f8cSWim Van Sebroeck	  As a side note, saying Y here will automatically boost HZ to 1000
2090b7e04f8cSWim Van Sebroeck	  so that the timer has a chance to clear the overflow counter. On
2091b7e04f8cSWim Van Sebroeck	  slower systems (such as the SH-2 and SH-3) this will likely yield
2092b7e04f8cSWim Van Sebroeck	  some performance issues. As such, the WDT should be avoided here
2093b7e04f8cSWim Van Sebroeck	  unless it is absolutely necessary.
2094b7e04f8cSWim Van Sebroeck
2095b7e04f8cSWim Van Sebroeck	  To compile this driver as a module, choose M here: the
2096b7e04f8cSWim Van Sebroeck	  module will be called shwdt.
2097b7e04f8cSWim Van Sebroeck
2098b7e04f8cSWim Van Sebroeck# SPARC Architecture
2099b7e04f8cSWim Van Sebroeck
2100b7e04f8cSWim Van Sebroeck# SPARC64 Architecture
2101b7e04f8cSWim Van Sebroeck
2102b7e04f8cSWim Van Sebroeckconfig WATCHDOG_CP1XXX
2103b7e04f8cSWim Van Sebroeck	tristate "CP1XXX Hardware Watchdog support"
2104b7e04f8cSWim Van Sebroeck	depends on SPARC64 && PCI
2105a7f7f624SMasahiro Yamada	help
2106b7e04f8cSWim Van Sebroeck	  This is the driver for the hardware watchdog timers present on
2107b7e04f8cSWim Van Sebroeck	  Sun Microsystems CompactPCI models CP1400 and CP1500.
2108b7e04f8cSWim Van Sebroeck
2109b7e04f8cSWim Van Sebroeck	  To compile this driver as a module, choose M here: the
2110b7e04f8cSWim Van Sebroeck	  module will be called cpwatchdog.
2111b7e04f8cSWim Van Sebroeck
2112b7e04f8cSWim Van Sebroeck	  If you do not have a CompactPCI model CP1400 or CP1500, or
2113b7e04f8cSWim Van Sebroeck	  another UltraSPARC-IIi-cEngine boardset with hardware watchdog,
2114b7e04f8cSWim Van Sebroeck	  you should say N to this option.
2115b7e04f8cSWim Van Sebroeck
2116b7e04f8cSWim Van Sebroeckconfig WATCHDOG_RIO
2117b7e04f8cSWim Van Sebroeck	tristate "RIO Hardware Watchdog support"
2118b7e04f8cSWim Van Sebroeck	depends on SPARC64 && PCI
2119b7e04f8cSWim Van Sebroeck	help
2120b7e04f8cSWim Van Sebroeck	  Say Y here to support the hardware watchdog capability on Sun RIO
2121b7e04f8cSWim Van Sebroeck	  machines.  The watchdog timeout period is normally one minute but
2122b7e04f8cSWim Van Sebroeck	  can be changed with a boot-time parameter.
2123b7e04f8cSWim Van Sebroeck
2124ca0bb079Swim.coekaerts@oracle.comconfig WATCHDOG_SUN4V
2125ca0bb079Swim.coekaerts@oracle.com	tristate "Sun4v Watchdog support"
2126ca0bb079Swim.coekaerts@oracle.com	select WATCHDOG_CORE
2127ca0bb079Swim.coekaerts@oracle.com	depends on SPARC64
2128ca0bb079Swim.coekaerts@oracle.com	help
2129ca0bb079Swim.coekaerts@oracle.com	  Say Y here to support the hypervisor watchdog capability embedded
2130ca0bb079Swim.coekaerts@oracle.com	  in the SPARC sun4v architecture.
2131ca0bb079Swim.coekaerts@oracle.com
2132ca0bb079Swim.coekaerts@oracle.com	  To compile this driver as a module, choose M here. The module will
2133ca0bb079Swim.coekaerts@oracle.com	  be called sun4v_wdt.
2134ca0bb079Swim.coekaerts@oracle.com
2135b7e04f8cSWim Van Sebroeck# XTENSA Architecture
2136b7e04f8cSWim Van Sebroeck
2137066d6c7fSJan Beulich# Xen Architecture
2138066d6c7fSJan Beulich
2139066d6c7fSJan Beulichconfig XEN_WDT
2140066d6c7fSJan Beulich	tristate "Xen Watchdog support"
2141066d6c7fSJan Beulich	depends on XEN
21424cd67644SRadu Rendec	select WATCHDOG_CORE
2143066d6c7fSJan Beulich	help
2144066d6c7fSJan Beulich	  Say Y here to support the hypervisor watchdog capability provided
2145066d6c7fSJan Beulich	  by Xen 4.0 and newer.  The watchdog timeout period is normally one
2146066d6c7fSJan Beulich	  minute but can be changed with a boot-time parameter.
2147066d6c7fSJan Beulich
2148d805a786SAl Viroconfig UML_WATCHDOG
2149d805a786SAl Viro	tristate "UML watchdog"
2150da2a68b3SGuenter Roeck	depends on UML || COMPILE_TEST
2151d805a786SAl Viro
2152b7e04f8cSWim Van Sebroeck#
2153b7e04f8cSWim Van Sebroeck# ISA-based Watchdog Cards
2154b7e04f8cSWim Van Sebroeck#
2155b7e04f8cSWim Van Sebroeck
2156b7e04f8cSWim Van Sebroeckcomment "ISA-based Watchdog Cards"
2157b7e04f8cSWim Van Sebroeck	depends on ISA
2158b7e04f8cSWim Van Sebroeck
2159b7e04f8cSWim Van Sebroeckconfig PCWATCHDOG
2160b7e04f8cSWim Van Sebroeck	tristate "Berkshire Products ISA-PC Watchdog"
2161b7e04f8cSWim Van Sebroeck	depends on ISA
2162a7f7f624SMasahiro Yamada	help
2163b7e04f8cSWim Van Sebroeck	  This is the driver for the Berkshire Products ISA-PC Watchdog card.
2164b7e04f8cSWim Van Sebroeck	  This card simply watches your kernel to make sure it doesn't freeze,
2165b7e04f8cSWim Van Sebroeck	  and if it does, it reboots your computer after a certain amount of
2166b7e04f8cSWim Van Sebroeck	  time. This driver is like the WDT501 driver but for different
216701028829SRandy Dunlap	  hardware. Please read <file:Documentation/watchdog/pcwd-watchdog.rst>.
216801028829SRandy Dunlap	  The PC watchdog cards can be ordered from <http://www.berkprod.com/>.
2169b7e04f8cSWim Van Sebroeck
2170b7e04f8cSWim Van Sebroeck	  To compile this driver as a module, choose M here: the
2171b7e04f8cSWim Van Sebroeck	  module will be called pcwd.
2172b7e04f8cSWim Van Sebroeck
2173b7e04f8cSWim Van Sebroeck	  Most people will say N.
2174b7e04f8cSWim Van Sebroeck
2175b7e04f8cSWim Van Sebroeckconfig MIXCOMWD
2176b7e04f8cSWim Van Sebroeck	tristate "Mixcom Watchdog"
2177b7e04f8cSWim Van Sebroeck	depends on ISA
2178a7f7f624SMasahiro Yamada	help
2179b7e04f8cSWim Van Sebroeck	  This is a driver for the Mixcom hardware watchdog cards.  This
2180b7e04f8cSWim Van Sebroeck	  watchdog simply watches your kernel to make sure it doesn't freeze,
2181b7e04f8cSWim Van Sebroeck	  and if it does, it reboots your computer after a certain amount of
2182b7e04f8cSWim Van Sebroeck	  time.
2183b7e04f8cSWim Van Sebroeck
2184b7e04f8cSWim Van Sebroeck	  To compile this driver as a module, choose M here: the
2185b7e04f8cSWim Van Sebroeck	  module will be called mixcomwd.
2186b7e04f8cSWim Van Sebroeck
2187b7e04f8cSWim Van Sebroeck	  Most people will say N.
2188b7e04f8cSWim Van Sebroeck
2189b7e04f8cSWim Van Sebroeckconfig WDT
2190b7e04f8cSWim Van Sebroeck	tristate "WDT Watchdog timer"
2191b7e04f8cSWim Van Sebroeck	depends on ISA
2192a7f7f624SMasahiro Yamada	help
2193b7e04f8cSWim Van Sebroeck	  If you have a WDT500P or WDT501P watchdog board, say Y here,
2194b7e04f8cSWim Van Sebroeck	  otherwise N. It is not possible to probe for this board, which means
2195b7e04f8cSWim Van Sebroeck	  that you have to inform the kernel about the IO port and IRQ that
2196b7e04f8cSWim Van Sebroeck	  is needed (you can do this via the io and irq parameters)
2197b7e04f8cSWim Van Sebroeck
2198b7e04f8cSWim Van Sebroeck	  To compile this driver as a module, choose M here: the
2199b7e04f8cSWim Van Sebroeck	  module will be called wdt.
2200b7e04f8cSWim Van Sebroeck
2201b7e04f8cSWim Van Sebroeck#
2202b7e04f8cSWim Van Sebroeck# PCI-based Watchdog Cards
2203b7e04f8cSWim Van Sebroeck#
2204b7e04f8cSWim Van Sebroeck
2205b7e04f8cSWim Van Sebroeckcomment "PCI-based Watchdog Cards"
2206b7e04f8cSWim Van Sebroeck	depends on PCI
2207b7e04f8cSWim Van Sebroeck
2208b7e04f8cSWim Van Sebroeckconfig PCIPCWATCHDOG
2209b7e04f8cSWim Van Sebroeck	tristate "Berkshire Products PCI-PC Watchdog"
2210b7e04f8cSWim Van Sebroeck	depends on PCI
2211a7f7f624SMasahiro Yamada	help
2212b7e04f8cSWim Van Sebroeck	  This is the driver for the Berkshire Products PCI-PC Watchdog card.
2213b7e04f8cSWim Van Sebroeck	  This card simply watches your kernel to make sure it doesn't freeze,
2214b7e04f8cSWim Van Sebroeck	  and if it does, it reboots your computer after a certain amount of
2215b7e04f8cSWim Van Sebroeck	  time. The card can also monitor the internal temperature of the PC.
2216b7e04f8cSWim Van Sebroeck	  More info is available at <http://www.berkprod.com/pci_pc_watchdog.htm>.
2217b7e04f8cSWim Van Sebroeck
2218b7e04f8cSWim Van Sebroeck	  To compile this driver as a module, choose M here: the
2219b7e04f8cSWim Van Sebroeck	  module will be called pcwd_pci.
2220b7e04f8cSWim Van Sebroeck
2221b7e04f8cSWim Van Sebroeck	  Most people will say N.
2222b7e04f8cSWim Van Sebroeck
2223b7e04f8cSWim Van Sebroeckconfig WDTPCI
2224b7e04f8cSWim Van Sebroeck	tristate "PCI-WDT500/501 Watchdog timer"
2225b7e04f8cSWim Van Sebroeck	depends on PCI
2226a7f7f624SMasahiro Yamada	help
2227b7e04f8cSWim Van Sebroeck	  If you have a PCI-WDT500/501 watchdog board, say Y here, otherwise N.
2228b7e04f8cSWim Van Sebroeck
22299b901ee0SWim Van Sebroeck	  If you have a PCI-WDT501 watchdog board then you can enable the
22309b901ee0SWim Van Sebroeck	  temperature sensor by setting the type parameter to 501.
2231b7e04f8cSWim Van Sebroeck
2232b7e04f8cSWim Van Sebroeck	  If you want to enable the Fan Tachometer on the PCI-WDT501, then you
2233b7e04f8cSWim Van Sebroeck	  can do this via the tachometer parameter. Only do this if you have a
2234b7e04f8cSWim Van Sebroeck	  fan tachometer actually set up.
2235b7e04f8cSWim Van Sebroeck
22369b901ee0SWim Van Sebroeck	  To compile this driver as a module, choose M here: the
22379b901ee0SWim Van Sebroeck	  module will be called wdt_pci.
22389b901ee0SWim Van Sebroeck
2239b7e04f8cSWim Van Sebroeck#
2240b7e04f8cSWim Van Sebroeck# USB-based Watchdog Cards
2241b7e04f8cSWim Van Sebroeck#
2242b7e04f8cSWim Van Sebroeck
2243b7e04f8cSWim Van Sebroeckcomment "USB-based Watchdog Cards"
2244b7e04f8cSWim Van Sebroeck	depends on USB
2245b7e04f8cSWim Van Sebroeck
2246b7e04f8cSWim Van Sebroeckconfig USBPCWATCHDOG
2247b7e04f8cSWim Van Sebroeck	tristate "Berkshire Products USB-PC Watchdog"
2248b7e04f8cSWim Van Sebroeck	depends on USB
2249a7f7f624SMasahiro Yamada	help
2250b7e04f8cSWim Van Sebroeck	  This is the driver for the Berkshire Products USB-PC Watchdog card.
2251b7e04f8cSWim Van Sebroeck	  This card simply watches your kernel to make sure it doesn't freeze,
2252b7e04f8cSWim Van Sebroeck	  and if it does, it reboots your computer after a certain amount of
2253b7e04f8cSWim Van Sebroeck	  time. The card can also monitor the internal temperature of the PC.
2254b7e04f8cSWim Van Sebroeck	  More info is available at <http://www.berkprod.com/usb_pc_watchdog.htm>.
2255b7e04f8cSWim Van Sebroeck
2256b7e04f8cSWim Van Sebroeck	  To compile this driver as a module, choose M here: the
2257b7e04f8cSWim Van Sebroeck	  module will be called pcwd_usb.
2258b7e04f8cSWim Van Sebroeck
2259b7e04f8cSWim Van Sebroeck	  Most people will say N.
2260b7e04f8cSWim Van Sebroeck
2261fa0f8d51SVijayakannan Ayyathuraiconfig KEEMBAY_WATCHDOG
2262fa0f8d51SVijayakannan Ayyathurai	tristate "Intel Keem Bay SoC non-secure watchdog"
2263fa0f8d51SVijayakannan Ayyathurai	depends on ARCH_KEEMBAY || (ARM64 && COMPILE_TEST)
2264fa0f8d51SVijayakannan Ayyathurai	select WATCHDOG_CORE
2265fa0f8d51SVijayakannan Ayyathurai	help
2266fa0f8d51SVijayakannan Ayyathurai	  This option enable support for an In-secure watchdog timer driver for
2267fa0f8d51SVijayakannan Ayyathurai	  Intel Keem Bay SoC. This WDT has a 32 bit timer and decrements in every
2268fa0f8d51SVijayakannan Ayyathurai	  count unit. An interrupt will be triggered, when the count crosses
2269c891ef7dSWong Vee Khee	  the threshold configured in the register.
2270fa0f8d51SVijayakannan Ayyathurai
2271fa0f8d51SVijayakannan Ayyathurai	  To compile this driver as a module, choose M here: the
2272fa0f8d51SVijayakannan Ayyathurai	  module will be called keembay_wdt.
2273fa0f8d51SVijayakannan Ayyathurai
2274b7e04f8cSWim Van Sebroeckendif # WATCHDOG
2275