Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: GPL-2.0-only
0002 
0003 #
0004 # Watchdog device configuration
0005 #
0006 
0007 menuconfig WATCHDOG
0008         bool "Watchdog Timer Support"
0009         help
0010           If you say Y here (and to one of the following options) and create a
0011           character special file /dev/watchdog with major number 10 and minor
0012           number 130 using mknod ("man mknod"), you will get a watchdog, i.e.:
0013           subsequently opening the file and then failing to write to it for
0014           longer than 1 minute will result in rebooting the machine. This
0015           could be useful for a networked machine that needs to come back
0016           on-line as fast as possible after a lock-up. There's both a watchdog
0017           implementation entirely in software (which can sometimes fail to
0018           reboot the machine) and a driver for hardware watchdog boards, which
0019           are more robust and can also keep track of the temperature inside
0020           your computer. For details, read
0021           <file:Documentation/watchdog/watchdog-api.rst> in the kernel source.
0022 
0023           The watchdog is usually used together with the watchdog daemon
0024           which is available from
0025           <https://ibiblio.org/pub/Linux/system/daemons/watchdog/>. This daemon
0026           can also monitor NFS connections and can reboot the machine when the
0027           process table is full.
0028 
0029           If unsure, say N.
0030 
0031 if WATCHDOG
0032 
0033 config WATCHDOG_CORE
0034         tristate "WatchDog Timer Driver Core"
0035         help
0036           Say Y here if you want to use the new watchdog timer driver core.
0037           This driver provides a framework for all watchdog timer drivers
0038           and gives them the /dev/watchdog interface (and later also the
0039           sysfs interface).
0040 
0041 config WATCHDOG_NOWAYOUT
0042         bool "Disable watchdog shutdown on close"
0043         help
0044           The default watchdog behaviour (which you get if you say N here) is
0045           to stop the timer if the process managing it closes the file
0046           /dev/watchdog. It's always remotely possible that this process might
0047           get killed. If you say Y here, the watchdog cannot be stopped once
0048           it has been started.
0049 
0050 config WATCHDOG_HANDLE_BOOT_ENABLED
0051         bool "Update boot-enabled watchdog until userspace takes over"
0052         default y
0053         help
0054           The default watchdog behaviour (which you get if you say Y here) is
0055           to ping watchdog devices that were enabled before the driver has
0056           been loaded until control is taken over from userspace using the
0057           /dev/watchdog file. If you say N here, the kernel will not update
0058           the watchdog on its own. Thus if your userspace does not start fast
0059           enough your device will reboot.
0060 
0061 config WATCHDOG_OPEN_TIMEOUT
0062         int "Timeout value for opening watchdog device"
0063         default 0
0064         help
0065           The maximum time, in seconds, for which the watchdog framework takes
0066           care of pinging a hardware watchdog.  A value of 0 means infinite. The
0067           value set here can be overridden by the commandline parameter
0068           "watchdog.open_timeout".
0069 
0070 config WATCHDOG_SYSFS
0071         bool "Read different watchdog information through sysfs"
0072         help
0073           Say Y here if you want to enable watchdog device status read through
0074           sysfs attributes.
0075 
0076 config WATCHDOG_HRTIMER_PRETIMEOUT
0077         bool "Enable watchdog hrtimer-based pretimeouts"
0078         help
0079           Enable this if you want to use a hrtimer timer based pretimeout for
0080           watchdogs that do not natively support pretimeout support. Be aware
0081           that because this pretimeout functionality uses hrtimers, it may not
0082           be able to fire before the actual watchdog fires in some situations.
0083 
0084 comment "Watchdog Pretimeout Governors"
0085 
0086 config WATCHDOG_PRETIMEOUT_GOV
0087         bool "Enable watchdog pretimeout governors"
0088         depends on WATCHDOG_CORE
0089         help
0090           The option allows to select watchdog pretimeout governors.
0091 
0092 config WATCHDOG_PRETIMEOUT_GOV_SEL
0093         tristate
0094         depends on WATCHDOG_PRETIMEOUT_GOV
0095         default m
0096         select WATCHDOG_PRETIMEOUT_GOV_PANIC if WATCHDOG_PRETIMEOUT_GOV_NOOP=n
0097 
0098 if WATCHDOG_PRETIMEOUT_GOV
0099 
0100 config WATCHDOG_PRETIMEOUT_GOV_NOOP
0101         tristate "Noop watchdog pretimeout governor"
0102         depends on WATCHDOG_CORE
0103         default WATCHDOG_CORE
0104         help
0105           Noop watchdog pretimeout governor, only an informational
0106           message is added to kernel log buffer.
0107 
0108 config WATCHDOG_PRETIMEOUT_GOV_PANIC
0109         tristate "Panic watchdog pretimeout governor"
0110         depends on WATCHDOG_CORE
0111         default WATCHDOG_CORE
0112         help
0113           Panic watchdog pretimeout governor, on watchdog pretimeout
0114           event put the kernel into panic.
0115 
0116 choice
0117         prompt "Default Watchdog Pretimeout Governor"
0118         default WATCHDOG_PRETIMEOUT_DEFAULT_GOV_PANIC
0119         help
0120           This option selects a default watchdog pretimeout governor.
0121           The governor takes its action, if a watchdog is capable
0122           to report a pretimeout event.
0123 
0124 config WATCHDOG_PRETIMEOUT_DEFAULT_GOV_NOOP
0125         bool "noop"
0126         depends on WATCHDOG_PRETIMEOUT_GOV_NOOP
0127         help
0128           Use noop watchdog pretimeout governor by default. If noop
0129           governor is selected by a user, write a short message to
0130           the kernel log buffer and don't do any system changes.
0131 
0132 config WATCHDOG_PRETIMEOUT_DEFAULT_GOV_PANIC
0133         bool "panic"
0134         depends on WATCHDOG_PRETIMEOUT_GOV_PANIC
0135         help
0136           Use panic watchdog pretimeout governor by default, if
0137           a watchdog pretimeout event happens, consider that
0138           a watchdog feeder is dead and reboot is unavoidable.
0139 
0140 endchoice
0141 
0142 endif # WATCHDOG_PRETIMEOUT_GOV
0143 
0144 #
0145 # General Watchdog drivers
0146 #
0147 
0148 comment "Watchdog Device Drivers"
0149 
0150 # Architecture Independent
0151 
0152 config SOFT_WATCHDOG
0153         tristate "Software watchdog"
0154         select WATCHDOG_CORE
0155         help
0156           A software monitoring watchdog. This will fail to reboot your system
0157           from some situations that the hardware watchdog will recover
0158           from. Equally it's a lot cheaper to install.
0159 
0160           To compile this driver as a module, choose M here: the
0161           module will be called softdog.
0162 
0163 config SOFT_WATCHDOG_PRETIMEOUT
0164         bool "Software watchdog pretimeout governor support"
0165         depends on SOFT_WATCHDOG && WATCHDOG_PRETIMEOUT_GOV
0166         help
0167           Enable this if you want to use pretimeout governors with the software
0168           watchdog. Be aware that governors might affect the watchdog because it
0169           is purely software, e.g. the panic governor will stall it!
0170 
0171 config BD957XMUF_WATCHDOG
0172         tristate "ROHM BD9576MUF and BD9573MUF PMIC Watchdog"
0173         depends on MFD_ROHM_BD957XMUF
0174         select WATCHDOG_CORE
0175         help
0176           Support for the watchdog in the ROHM BD9576 and BD9573 PMICs.
0177           These PMIC ICs contain watchdog block which can be configured
0178           to toggle reset line if SoC fails to ping watchdog via GPIO.
0179 
0180           Say Y here to include support for the ROHM BD9576 or BD9573
0181           watchdog. Alternatively say M to compile the driver as a module,
0182           which will be called bd9576_wdt.
0183 
0184 config DA9052_WATCHDOG
0185         tristate "Dialog DA9052 Watchdog"
0186         depends on PMIC_DA9052 || COMPILE_TEST
0187         select WATCHDOG_CORE
0188         help
0189           Support for the watchdog in the DA9052 PMIC. Watchdog trigger
0190           cause system reset.
0191 
0192           Say Y here to include support for the DA9052 watchdog.
0193           Alternatively say M to compile the driver as a module,
0194           which will be called da9052_wdt.
0195 
0196 config DA9055_WATCHDOG
0197         tristate "Dialog Semiconductor DA9055 Watchdog"
0198         depends on MFD_DA9055 || COMPILE_TEST
0199         select WATCHDOG_CORE
0200         help
0201           If you say yes here you get support for watchdog on the Dialog
0202           Semiconductor DA9055 PMIC.
0203 
0204           This driver can also be built as a module.  If so, the module
0205           will be called da9055_wdt.
0206 
0207 config DA9063_WATCHDOG
0208         tristate "Dialog DA9063 Watchdog"
0209         depends on MFD_DA9063 || COMPILE_TEST
0210         depends on I2C
0211         select WATCHDOG_CORE
0212         help
0213           Support for the watchdog in the DA9063 PMIC.
0214 
0215           This driver can be built as a module. The module name is da9063_wdt.
0216 
0217 config DA9062_WATCHDOG
0218         tristate "Dialog DA9062/61 Watchdog"
0219         depends on MFD_DA9062 || COMPILE_TEST
0220         depends on I2C
0221         select WATCHDOG_CORE
0222         help
0223           Support for the watchdog in the DA9062 and DA9061 PMICs.
0224 
0225           This driver can be built as a module. The module name is da9062_wdt.
0226 
0227 config GPIO_WATCHDOG
0228         tristate "Watchdog device controlled through GPIO-line"
0229         depends on OF_GPIO
0230         select WATCHDOG_CORE
0231         help
0232           If you say yes here you get support for watchdog device
0233           controlled through GPIO-line.
0234 
0235 config GPIO_WATCHDOG_ARCH_INITCALL
0236         bool "Register the watchdog as early as possible"
0237         depends on GPIO_WATCHDOG=y
0238         help
0239           In some situations, the default initcall level (module_init)
0240           in not early enough in the boot process to avoid the watchdog
0241           to be triggered.
0242           If you say yes here, the initcall level would be raised to
0243           arch_initcall.
0244           If in doubt, say N.
0245 
0246 config MENF21BMC_WATCHDOG
0247         tristate "MEN 14F021P00 BMC Watchdog"
0248         depends on MFD_MENF21BMC || COMPILE_TEST
0249         depends on I2C
0250         select WATCHDOG_CORE
0251         help
0252           Say Y here to include support for the MEN 14F021P00 BMC Watchdog.
0253 
0254           This driver can also be built as a module. If so the module
0255           will be called menf21bmc_wdt.
0256 
0257 config MENZ069_WATCHDOG
0258         tristate "MEN 16Z069 Watchdog"
0259         depends on MCB
0260         select WATCHDOG_CORE
0261         help
0262           Say Y here to include support for the MEN 16Z069 Watchdog.
0263 
0264           This driver can also be built as a module. If so the module
0265           will be called menz069_wdt.
0266 
0267 config WDAT_WDT
0268         tristate "ACPI Watchdog Action Table (WDAT)"
0269         depends on ACPI
0270         select WATCHDOG_CORE
0271         select ACPI_WATCHDOG
0272         help
0273           This driver adds support for systems with ACPI Watchdog Action
0274           Table (WDAT) table. Servers typically have this but it can be
0275           found on some desktop machines as well. This driver will take
0276           over the native iTCO watchdog driver found on many Intel CPUs.
0277 
0278           To compile this driver as module, choose M here: the module will
0279           be called wdat_wdt.
0280 
0281 config WM831X_WATCHDOG
0282         tristate "WM831x watchdog"
0283         depends on MFD_WM831X
0284         select WATCHDOG_CORE
0285         help
0286           Support for the watchdog in the WM831x AudioPlus PMICs.  When
0287           the watchdog triggers the system will be reset.
0288 
0289 config WM8350_WATCHDOG
0290         tristate "WM8350 watchdog"
0291         depends on MFD_WM8350
0292         select WATCHDOG_CORE
0293         help
0294           Support for the watchdog in the WM8350 AudioPlus PMIC.  When
0295           the watchdog triggers the system will be reset.
0296 
0297 config XILINX_WATCHDOG
0298         tristate "Xilinx Watchdog timer"
0299         depends on HAS_IOMEM
0300         select WATCHDOG_CORE
0301         help
0302           Watchdog driver for the xps_timebase_wdt IP core.
0303 
0304           To compile this driver as a module, choose M here: the
0305           module will be called of_xilinx_wdt.
0306 
0307 config ZIIRAVE_WATCHDOG
0308         tristate "Zodiac RAVE Watchdog Timer"
0309         depends on I2C
0310         select WATCHDOG_CORE
0311         help
0312           Watchdog driver for the Zodiac Aerospace RAVE Switch Watchdog
0313           Processor.
0314 
0315           To compile this driver as a module, choose M here: the
0316           module will be called ziirave_wdt.
0317 
0318 config RAVE_SP_WATCHDOG
0319         tristate "RAVE SP Watchdog timer"
0320         depends on RAVE_SP_CORE
0321         depends on NVMEM || !NVMEM
0322         select WATCHDOG_CORE
0323         help
0324           Support for the watchdog on RAVE SP device.
0325 
0326 config MLX_WDT
0327         tristate "Mellanox Watchdog"
0328         depends on MELLANOX_PLATFORM
0329         select WATCHDOG_CORE
0330         select REGMAP
0331         help
0332           This is the driver for the hardware watchdog on Mellanox systems.
0333           If you are going to use it, say Y here, otherwise N.
0334           This driver can be used together with the watchdog daemon.
0335           It can also watch your kernel to make sure it doesn't freeze,
0336           and if it does, it reboots your system after a certain amount of
0337           time.
0338 
0339           To compile this driver as a module, choose M here: the
0340           module will be called mlx-wdt.
0341 
0342 config SL28CPLD_WATCHDOG
0343         tristate "Kontron sl28cpld Watchdog"
0344         depends on MFD_SL28CPLD || COMPILE_TEST
0345         select WATCHDOG_CORE
0346         help
0347           Say Y here to include support for the watchdog timer
0348           on the Kontron sl28 CPLD.
0349 
0350           To compile this driver as a module, choose M here: the
0351           module will be called sl28cpld_wdt.
0352 
0353 # ALPHA Architecture
0354 
0355 # ARM Architecture
0356 
0357 config ARM_SP805_WATCHDOG
0358         tristate "ARM SP805 Watchdog"
0359         depends on (ARM || ARM64 || COMPILE_TEST) && ARM_AMBA
0360         select WATCHDOG_CORE
0361         help
0362           ARM Primecell SP805 Watchdog timer. This will reboot your system when
0363           the timeout is reached.
0364 
0365 config ARM_SBSA_WATCHDOG
0366         tristate "ARM SBSA Generic Watchdog"
0367         depends on ARM64
0368         depends on ARM_ARCH_TIMER
0369         select WATCHDOG_CORE
0370         help
0371           ARM SBSA Generic Watchdog has two stage timeouts:
0372           the first signal (WS0) is for alerting the system by interrupt,
0373           the second one (WS1) is a real hardware reset.
0374           More details: ARM DEN0029B - Server Base System Architecture (SBSA)
0375 
0376           This driver can operate ARM SBSA Generic Watchdog as a single stage
0377           or a two stages watchdog, it depends on the module parameter "action".
0378 
0379           Note: the maximum timeout in the two stages mode is half of that in
0380           the single stage mode.
0381 
0382           To compile this driver as module, choose M here: The module
0383           will be called sbsa_gwdt.
0384 
0385 config ARMADA_37XX_WATCHDOG
0386         tristate "Armada 37xx watchdog"
0387         depends on ARCH_MVEBU || COMPILE_TEST
0388         depends on HAS_IOMEM
0389         select MFD_SYSCON
0390         select WATCHDOG_CORE
0391         help
0392            Say Y here to include support for the watchdog timer found on
0393            Marvell Armada 37xx SoCs.
0394            To compile this driver as a module, choose M here: the
0395            module will be called armada_37xx_wdt.
0396 
0397 config ASM9260_WATCHDOG
0398         tristate "Alphascale ASM9260 watchdog"
0399         depends on MACH_ASM9260 || COMPILE_TEST
0400         depends on OF
0401         select WATCHDOG_CORE
0402         select RESET_CONTROLLER
0403         help
0404           Watchdog timer embedded into Alphascale asm9260 chips. This will
0405           reboot your system when the timeout is reached.
0406 
0407 config AT91RM9200_WATCHDOG
0408         tristate "AT91RM9200 watchdog"
0409         depends on (SOC_AT91RM9200 && MFD_SYSCON) || COMPILE_TEST
0410         help
0411           Watchdog timer embedded into AT91RM9200 chips. This will reboot your
0412           system when the timeout is reached.
0413 
0414 config AT91SAM9X_WATCHDOG
0415         tristate "AT91SAM9X / AT91CAP9 watchdog"
0416         depends on ARCH_AT91 || COMPILE_TEST
0417         select WATCHDOG_CORE
0418         help
0419           Watchdog timer embedded into AT91SAM9X and AT91CAP9 chips. This will
0420           reboot your system when the timeout is reached.
0421 
0422 config SAMA5D4_WATCHDOG
0423         tristate "Atmel SAMA5D4 Watchdog Timer"
0424         depends on ARCH_AT91 || COMPILE_TEST
0425         select WATCHDOG_CORE
0426         help
0427           Atmel SAMA5D4 watchdog timer is embedded into SAMA5D4 chips.
0428           Its Watchdog Timer Mode Register can be written more than once.
0429           This will reboot your system when the timeout is reached.
0430 
0431 config CADENCE_WATCHDOG
0432         tristate "Cadence Watchdog Timer"
0433         depends on HAS_IOMEM
0434         select WATCHDOG_CORE
0435         help
0436           Say Y here if you want to include support for the watchdog
0437           timer in the Xilinx Zynq.
0438 
0439 config 21285_WATCHDOG
0440         tristate "DC21285 watchdog"
0441         depends on FOOTBRIDGE
0442         help
0443           The Intel Footbridge chip contains a built-in watchdog circuit. Say Y
0444           here if you wish to use this. Alternatively say M to compile the
0445           driver as a module, which will be called wdt285.
0446 
0447           This driver does not work on all machines. In particular, early CATS
0448           boards have hardware problems that will cause the machine to simply
0449           lock up if the watchdog fires.
0450 
0451           "If in doubt, leave it out" - say N.
0452 
0453 config 977_WATCHDOG
0454         tristate "NetWinder WB83C977 watchdog"
0455         depends on (FOOTBRIDGE && ARCH_NETWINDER) || (ARM && COMPILE_TEST)
0456         help
0457           Say Y here to include support for the WB977 watchdog included in
0458           NetWinder machines. Alternatively say M to compile the driver as
0459           a module, which will be called wdt977.
0460 
0461           Not sure? It's safe to say N.
0462 
0463 config FTWDT010_WATCHDOG
0464         tristate "Faraday Technology FTWDT010 watchdog"
0465         depends on ARM || COMPILE_TEST
0466         select WATCHDOG_CORE
0467         default ARCH_GEMINI
0468         help
0469           Say Y here if to include support for the Faraday Technology
0470           FTWDT010 watchdog timer embedded in the Cortina Systems Gemini
0471           family of devices.
0472 
0473           To compile this driver as a module, choose M here: the
0474           module will be called ftwdt010_wdt.
0475 
0476 config IXP4XX_WATCHDOG
0477         tristate "IXP4xx Watchdog"
0478         depends on ARCH_IXP4XX
0479         select WATCHDOG_CORE
0480         help
0481           Say Y here if to include support for the watchdog timer
0482           in the Intel IXP4xx network processors. This driver can
0483           be built as a module by choosing M. The module will
0484           be called ixp4xx_wdt.
0485 
0486           Note: The internal IXP4xx watchdog does a soft CPU reset
0487           which doesn't reset any peripherals. There are circumstances
0488           where the watchdog will fail to reset the board correctly
0489           (e.g., if the boot ROM is in an unreadable state).
0490 
0491           Say N if you are unsure.
0492 
0493 config S3C2410_WATCHDOG
0494         tristate "S3C2410 Watchdog"
0495         depends on ARCH_S3C24XX || ARCH_S3C64XX || ARCH_S5PV210 || ARCH_EXYNOS || \
0496                    COMPILE_TEST
0497         select WATCHDOG_CORE
0498         select MFD_SYSCON if ARCH_EXYNOS
0499         help
0500           Watchdog timer block in the Samsung S3C24xx, S3C64xx, S5Pv210 and
0501           Exynos SoCs. This will reboot the system when the timer expires with
0502           the watchdog enabled.
0503 
0504           The driver is limited by the speed of the system's PCLK
0505           signal, so with reasonably fast systems (PCLK around 50-66MHz)
0506           then watchdog intervals of over approximately 20seconds are
0507           unavailable.
0508 
0509           Choose Y/M here only if you build for such Samsung SoC.
0510           The driver can be built as a module by choosing M, and will
0511           be called s3c2410_wdt.
0512 
0513 config SA1100_WATCHDOG
0514         tristate "SA1100/PXA2xx watchdog"
0515         depends on ARCH_SA1100 || ARCH_PXA
0516         help
0517           Watchdog timer embedded into SA11x0 and PXA2xx chips. This will
0518           reboot your system when timeout is reached.
0519 
0520           NOTE: once enabled, this timer cannot be disabled.
0521 
0522           To compile this driver as a module, choose M here: the
0523           module will be called sa1100_wdt.
0524 
0525 config DW_WATCHDOG
0526         tristate "Synopsys DesignWare watchdog"
0527         depends on HAS_IOMEM
0528         select WATCHDOG_CORE
0529         help
0530           Say Y here if to include support for the Synopsys DesignWare
0531           watchdog timer found in many chips.
0532           To compile this driver as a module, choose M here: the
0533           module will be called dw_wdt.
0534 
0535 config EP93XX_WATCHDOG
0536         tristate "EP93xx Watchdog"
0537         depends on ARCH_EP93XX || COMPILE_TEST
0538         select WATCHDOG_CORE
0539         help
0540           Say Y here if to include support for the watchdog timer
0541           embedded in the Cirrus Logic EP93xx family of devices.
0542 
0543           To compile this driver as a module, choose M here: the
0544           module will be called ep93xx_wdt.
0545 
0546 config OMAP_WATCHDOG
0547         tristate "OMAP Watchdog"
0548         depends on ARCH_OMAP16XX || ARCH_OMAP2PLUS || COMPILE_TEST
0549         select WATCHDOG_CORE
0550         help
0551           Support for TI OMAP1610/OMAP1710/OMAP2420/OMAP3430/OMAP4430 watchdog.
0552           Say 'Y' here to enable the
0553           OMAP1610/OMAP1710/OMAP2420/OMAP3430/OMAP4430 watchdog timer.
0554 
0555 config PNX4008_WATCHDOG
0556         tristate "LPC32XX Watchdog"
0557         depends on ARCH_LPC32XX || COMPILE_TEST
0558         select WATCHDOG_CORE
0559         help
0560           Say Y here if to include support for the watchdog timer
0561           in the LPC32XX processor.
0562           This driver can be built as a module by choosing M. The module
0563           will be called pnx4008_wdt.
0564 
0565           Say N if you are unsure.
0566 
0567 config DAVINCI_WATCHDOG
0568         tristate "DaVinci watchdog"
0569         depends on ARCH_DAVINCI || ARCH_KEYSTONE || COMPILE_TEST
0570         select WATCHDOG_CORE
0571         help
0572           Say Y here if to include support for the watchdog timer
0573           in the DaVinci DM644x/DM646x or Keystone processors.
0574           To compile this driver as a module, choose M here: the
0575           module will be called davinci_wdt.
0576 
0577           NOTE: once enabled, this timer cannot be disabled.
0578           Say N if you are unsure.
0579 
0580 config K3_RTI_WATCHDOG
0581         tristate "Texas Instruments K3 RTI watchdog"
0582         depends on ARCH_K3 || COMPILE_TEST
0583         select WATCHDOG_CORE
0584         help
0585           Say Y here if you want to include support for the K3 watchdog
0586           timer (RTI module) available in the K3 generation of processors.
0587 
0588 config ORION_WATCHDOG
0589         tristate "Orion watchdog"
0590         depends on ARCH_ORION5X || ARCH_DOVE || MACH_DOVE || ARCH_MVEBU || COMPILE_TEST
0591         depends on ARM
0592         select WATCHDOG_CORE
0593         help
0594           Say Y here if to include support for the watchdog timer
0595           in the Marvell Orion5x and Kirkwood ARM SoCs.
0596           To compile this driver as a module, choose M here: the
0597           module will be called orion_wdt.
0598 
0599 config RN5T618_WATCHDOG
0600         tristate "Ricoh RN5T618 watchdog"
0601         depends on MFD_RN5T618 || COMPILE_TEST
0602         select WATCHDOG_CORE
0603         help
0604           If you say yes here you get support for watchdog on the Ricoh
0605           RN5T618 PMIC.
0606 
0607           This driver can also be built as a module.  If so, the module
0608           will be called rn5t618_wdt.
0609 
0610 config SUNXI_WATCHDOG
0611         tristate "Allwinner SoCs watchdog support"
0612         depends on ARCH_SUNXI || COMPILE_TEST
0613         select WATCHDOG_CORE
0614         help
0615           Say Y here to include support for the watchdog timer
0616           in Allwinner SoCs.
0617           To compile this driver as a module, choose M here: the
0618           module will be called sunxi_wdt.
0619 
0620 config NPCM7XX_WATCHDOG
0621         tristate "Nuvoton NPCM750 watchdog"
0622         depends on ARCH_NPCM || COMPILE_TEST
0623         default y if ARCH_NPCM7XX
0624         select WATCHDOG_CORE
0625         help
0626           Say Y here to include Watchdog timer support for the
0627           watchdog embedded into the NPCM7xx.
0628           This watchdog is used to reset the system and thus cannot be
0629           compiled as a module.
0630 
0631 config TWL4030_WATCHDOG
0632         tristate "TWL4030 Watchdog"
0633         depends on TWL4030_CORE
0634         select WATCHDOG_CORE
0635         help
0636           Support for TI TWL4030 watchdog.  Say 'Y' here to enable the
0637           watchdog timer support for TWL4030 chips.
0638 
0639 config STMP3XXX_RTC_WATCHDOG
0640         tristate "Freescale STMP3XXX & i.MX23/28 watchdog"
0641         depends on RTC_DRV_STMP || COMPILE_TEST
0642         select WATCHDOG_CORE
0643         help
0644           Say Y here to include support for the watchdog timer inside
0645           the RTC for the STMP37XX/378X or i.MX23/28 SoC.
0646           To compile this driver as a module, choose M here: the
0647           module will be called stmp3xxx_rtc_wdt.
0648 
0649 config TS4800_WATCHDOG
0650         tristate "TS-4800 Watchdog"
0651         depends on HAS_IOMEM && OF
0652         depends on SOC_IMX51 || COMPILE_TEST
0653         select WATCHDOG_CORE
0654         select MFD_SYSCON
0655         help
0656           Technologic Systems TS-4800 has watchdog timer implemented in
0657           an external FPGA. Say Y here if you want to support for the
0658           watchdog timer on TS-4800 board.
0659 
0660 config TS72XX_WATCHDOG
0661         tristate "TS-72XX SBC Watchdog"
0662         depends on MACH_TS72XX || COMPILE_TEST
0663         select WATCHDOG_CORE
0664         help
0665           Technologic Systems TS-7200, TS-7250 and TS-7260 boards have
0666           watchdog timer implemented in a external CPLD chip. Say Y here
0667           if you want to support for the watchdog timer on TS-72XX boards.
0668 
0669           To compile this driver as a module, choose M here: the
0670           module will be called ts72xx_wdt.
0671 
0672 config MAX63XX_WATCHDOG
0673         tristate "Max63xx watchdog"
0674         depends on HAS_IOMEM
0675         select WATCHDOG_CORE
0676         help
0677           Support for memory mapped max63{69,70,71,72,73,74} watchdog timer.
0678 
0679 config MAX77620_WATCHDOG
0680         tristate "Maxim Max77620 Watchdog Timer"
0681         depends on MFD_MAX77620 || MFD_MAX77714 || COMPILE_TEST
0682         select WATCHDOG_CORE
0683         help
0684           This is the driver for the Max77620 watchdog timer.
0685           Say 'Y' here to enable the watchdog timer support for
0686           MAX77620 chips. To compile this driver as a module,
0687           choose M here: the module will be called max77620_wdt.
0688 
0689 config IMX2_WDT
0690         tristate "IMX2+ Watchdog"
0691         depends on ARCH_MXC || ARCH_LAYERSCAPE || COMPILE_TEST
0692         select REGMAP_MMIO
0693         select WATCHDOG_CORE
0694         help
0695           This is the driver for the hardware watchdog
0696           on the Freescale IMX2 and later processors.
0697           If you have one of these processors and wish to have
0698           watchdog support enabled, say Y, otherwise say N.
0699 
0700           To compile this driver as a module, choose M here: the
0701           module will be called imx2_wdt.
0702 
0703 config IMX_SC_WDT
0704         tristate "IMX SC Watchdog"
0705         depends on HAVE_ARM_SMCCC
0706         depends on IMX_SCU
0707         select WATCHDOG_CORE
0708         help
0709           This is the driver for the system controller watchdog
0710           on the NXP i.MX SoCs with system controller inside, the
0711           watchdog driver will call ARM SMC API and trap into
0712           ARM-Trusted-Firmware for operations, ARM-Trusted-Firmware
0713           will request system controller to execute the operations.
0714           If you have one of these processors and wish to have
0715           watchdog support enabled, say Y, otherwise say N.
0716 
0717           To compile this driver as a module, choose M here: the
0718           module will be called imx_sc_wdt.
0719 
0720 config IMX7ULP_WDT
0721         tristate "IMX7ULP Watchdog"
0722         depends on ARCH_MXC || COMPILE_TEST
0723         select WATCHDOG_CORE
0724         help
0725           This is the driver for the hardware watchdog on the Freescale
0726           IMX7ULP and later processors. If you have one of these
0727           processors and wish to have watchdog support enabled,
0728           say Y, otherwise say N.
0729 
0730           To compile this driver as a module, choose M here: the
0731           module will be called imx7ulp_wdt.
0732 
0733 config DB500_WATCHDOG
0734         tristate "ST-Ericsson DB800 watchdog"
0735         depends on MFD_DB8500_PRCMU
0736         select WATCHDOG_CORE
0737         default y
0738         help
0739           Say Y here to include Watchdog timer support for the watchdog
0740           existing in the prcmu of ST-Ericsson DB8500 platform.
0741 
0742           To compile this driver as a module, choose M here: the
0743           module will be called db500_wdt.
0744 
0745 config RETU_WATCHDOG
0746         tristate "Retu watchdog"
0747         depends on MFD_RETU
0748         select WATCHDOG_CORE
0749         help
0750           Retu watchdog driver for Nokia Internet Tablets (770, N800,
0751           N810). At least on N800 the watchdog cannot be disabled, so
0752           this driver is essential and you should enable it.
0753 
0754           To compile this driver as a module, choose M here: the
0755           module will be called retu_wdt.
0756 
0757 config MOXART_WDT
0758         tristate "MOXART watchdog"
0759         depends on ARCH_MOXART || COMPILE_TEST
0760         help
0761           Say Y here to include Watchdog timer support for the watchdog
0762           existing on the MOXA ART SoC series platforms.
0763 
0764           To compile this driver as a module, choose M here: the
0765           module will be called moxart_wdt.
0766 
0767 config ST_LPC_WATCHDOG
0768         tristate "STMicroelectronics LPC Watchdog"
0769         depends on ARCH_STI || COMPILE_TEST
0770         depends on OF
0771         select WATCHDOG_CORE
0772         help
0773           Say Y here to include STMicroelectronics Low Power Controller
0774           (LPC) based Watchdog timer support.
0775 
0776           To compile this driver as a module, choose M here: the
0777           module will be called st_lpc_wdt.
0778 
0779 config TEGRA_WATCHDOG
0780         tristate "Tegra watchdog"
0781         depends on (ARCH_TEGRA || COMPILE_TEST) && HAS_IOMEM
0782         select WATCHDOG_CORE
0783         help
0784           Say Y here to include support for the watchdog timer
0785           embedded in NVIDIA Tegra SoCs.
0786 
0787           To compile this driver as a module, choose M here: the
0788           module will be called tegra_wdt.
0789 
0790 config QCOM_WDT
0791         tristate "QCOM watchdog"
0792         depends on HAS_IOMEM
0793         depends on ARCH_QCOM || COMPILE_TEST
0794         select WATCHDOG_CORE
0795         help
0796           Say Y here to include Watchdog timer support for the watchdog found
0797           on QCOM chipsets.  Currently supported targets are the MSM8960,
0798           APQ8064, and IPQ8064.
0799 
0800           To compile this driver as a module, choose M here: the
0801           module will be called qcom_wdt.
0802 
0803 config MESON_GXBB_WATCHDOG
0804         tristate "Amlogic Meson GXBB SoCs watchdog support"
0805         depends on ARCH_MESON || COMPILE_TEST
0806         select WATCHDOG_CORE
0807         help
0808           Say Y here to include support for the watchdog timer
0809           in Amlogic Meson GXBB SoCs.
0810           To compile this driver as a module, choose M here: the
0811           module will be called meson_gxbb_wdt.
0812 
0813 config MESON_WATCHDOG
0814         tristate "Amlogic Meson SoCs watchdog support"
0815         depends on ARCH_MESON || COMPILE_TEST
0816         select WATCHDOG_CORE
0817         help
0818           Say Y here to include support for the watchdog timer
0819           in Amlogic Meson SoCs.
0820           To compile this driver as a module, choose M here: the
0821           module will be called meson_wdt.
0822 
0823 config MEDIATEK_WATCHDOG
0824         tristate "Mediatek SoCs watchdog support"
0825         depends on ARCH_MEDIATEK || COMPILE_TEST
0826         default ARCH_MEDIATEK
0827         select WATCHDOG_CORE
0828         select RESET_CONTROLLER
0829         help
0830           Say Y here to include support for the watchdog timer
0831           in Mediatek SoCs.
0832           To compile this driver as a module, choose M here: the
0833           module will be called mtk_wdt.
0834 
0835 config DIGICOLOR_WATCHDOG
0836         tristate "Conexant Digicolor SoCs watchdog support"
0837         depends on ARCH_DIGICOLOR || COMPILE_TEST
0838         select WATCHDOG_CORE
0839         help
0840           Say Y here to include support for the watchdog timer
0841           in Conexant Digicolor SoCs.
0842           To compile this driver as a module, choose M here: the
0843           module will be called digicolor_wdt.
0844 
0845 config ARM_SMC_WATCHDOG
0846         tristate "ARM Secure Monitor Call based watchdog support"
0847         depends on ARM || ARM64
0848         depends on OF
0849         depends on HAVE_ARM_SMCCC
0850         select WATCHDOG_CORE
0851         help
0852           Say Y here to include support for a watchdog timer
0853           implemented by the EL3 Secure Monitor on ARM platforms.
0854           Requires firmware support.
0855           To compile this driver as a module, choose M here: the
0856           module will be called arm_smc_wdt.
0857 
0858 config LPC18XX_WATCHDOG
0859         tristate "LPC18xx/43xx Watchdog"
0860         depends on ARCH_LPC18XX || COMPILE_TEST
0861         depends on HAS_IOMEM
0862         select WATCHDOG_CORE
0863         help
0864           Say Y here if to include support for the watchdog timer
0865           in NXP LPC SoCs family, which includes LPC18xx/LPC43xx
0866           processors.
0867           To compile this driver as a module, choose M here: the
0868           module will be called lpc18xx_wdt.
0869 
0870 config RENESAS_WDT
0871         tristate "Renesas WDT Watchdog"
0872         depends on ARCH_RENESAS || COMPILE_TEST
0873         select WATCHDOG_CORE
0874         help
0875           This driver adds watchdog support for the integrated watchdogs in the
0876           Renesas R-Car and other SH-Mobile SoCs (usually named RWDT or SWDT).
0877 
0878 config RENESAS_RZAWDT
0879         tristate "Renesas RZ/A WDT Watchdog"
0880         depends on ARCH_RENESAS || COMPILE_TEST
0881         select WATCHDOG_CORE
0882         help
0883           This driver adds watchdog support for the integrated watchdogs in the
0884           Renesas RZ/A SoCs. These watchdogs can be used to reset a system.
0885 
0886 config RENESAS_RZN1WDT
0887         tristate "Renesas RZ/N1 watchdog"
0888         depends on ARCH_RENESAS || COMPILE_TEST
0889         select WATCHDOG_CORE
0890         help
0891           This driver adds watchdog support for the integrated watchdogs in the
0892           Renesas RZ/N1 SoCs. These watchdogs can be used to reset a system.
0893 
0894 config RENESAS_RZG2LWDT
0895         tristate "Renesas RZ/G2L WDT Watchdog"
0896         depends on ARCH_RENESAS || COMPILE_TEST
0897         select WATCHDOG_CORE
0898         help
0899           This driver adds watchdog support for the integrated watchdogs in the
0900           Renesas RZ/G2L SoCs. These watchdogs can be used to reset a system.
0901 
0902 config ASPEED_WATCHDOG
0903         tristate "Aspeed BMC watchdog support"
0904         depends on ARCH_ASPEED || COMPILE_TEST
0905         select WATCHDOG_CORE
0906         help
0907           Say Y here to include support for the watchdog timer
0908           in Aspeed BMC SoCs.
0909 
0910           This driver is required to reboot the SoC.
0911 
0912           To compile this driver as a module, choose M here: the
0913           module will be called aspeed_wdt.
0914 
0915 config STM32_WATCHDOG
0916         tristate "STM32 Independent WatchDoG (IWDG) support"
0917         depends on ARCH_STM32
0918         select WATCHDOG_CORE
0919         default y
0920         help
0921           Say Y here to include support for the watchdog timer
0922           in stm32 SoCs.
0923 
0924           To compile this driver as a module, choose M here: the
0925           module will be called stm32_iwdg.
0926 
0927 config STPMIC1_WATCHDOG
0928         tristate "STPMIC1 PMIC watchdog support"
0929         depends on MFD_STPMIC1
0930         select WATCHDOG_CORE
0931         help
0932           Say Y here to include watchdog support embedded into STPMIC1 PMIC.
0933           If the watchdog timer expires, stpmic1 will shut down all its power
0934           supplies.
0935 
0936           To compile this driver as a module, choose M here: the
0937           module will be called spmic1_wdt.
0938 
0939 config UNIPHIER_WATCHDOG
0940         tristate "UniPhier watchdog support"
0941         depends on ARCH_UNIPHIER || COMPILE_TEST
0942         depends on OF && MFD_SYSCON
0943         select WATCHDOG_CORE
0944         help
0945           Say Y here to include support watchdog timer embedded
0946           into the UniPhier system.
0947 
0948           To compile this driver as a module, choose M here: the
0949           module will be called uniphier_wdt.
0950 
0951 config RTD119X_WATCHDOG
0952         bool "Realtek RTD119x/RTD129x watchdog support"
0953         depends on ARCH_REALTEK || COMPILE_TEST
0954         depends on OF
0955         select WATCHDOG_CORE
0956         default ARCH_REALTEK
0957         help
0958           Say Y here to include support for the watchdog timer in
0959           Realtek RTD1295 SoCs.
0960 
0961 config REALTEK_OTTO_WDT
0962         tristate "Realtek Otto MIPS watchdog support"
0963         depends on MACH_REALTEK_RTL || COMPILE_TEST
0964         depends on COMMON_CLK
0965         select WATCHDOG_CORE
0966         default MACH_REALTEK_RTL
0967         help
0968           Say Y here to include support for the watchdog timer on Realtek
0969           RTL838x, RTL839x, RTL930x SoCs. This watchdog has pretimeout
0970           notifications and system reset on timeout.
0971 
0972           When built as a module this will be called realtek_otto_wdt.
0973 
0974 config SPRD_WATCHDOG
0975         tristate "Spreadtrum watchdog support"
0976         depends on ARCH_SPRD || COMPILE_TEST
0977         select WATCHDOG_CORE
0978         help
0979           Say Y here to include watchdog timer supported
0980           by Spreadtrum system.
0981 
0982 config PM8916_WATCHDOG
0983         tristate "QCOM PM8916 pmic watchdog"
0984         depends on OF && MFD_SPMI_PMIC
0985         select WATCHDOG_CORE
0986         help
0987           Say Y here to include support watchdog timer embedded into the
0988           pm8916 module.
0989 
0990 config VISCONTI_WATCHDOG
0991         tristate "Toshiba Visconti series watchdog support"
0992         depends on ARCH_VISCONTI || COMPILE_TEST
0993         select WATCHDOG_CORE
0994         help
0995           Say Y here to include support for the watchdog timer in Toshiba
0996           Visconti SoCs.
0997 
0998 config MSC313E_WATCHDOG
0999         tristate "MStar MSC313e watchdog"
1000         depends on ARCH_MSTARV7 || COMPILE_TEST
1001         select WATCHDOG_CORE
1002         help
1003           Say Y here to include support for the Watchdog timer embedded
1004           into MStar MSC313e chips. This will reboot your system when the
1005           timeout is reached.
1006 
1007           To compile this driver as a module, choose M here: the
1008           module will be called msc313e_wdt.
1009 
1010 config APPLE_WATCHDOG
1011         tristate "Apple SoC watchdog"
1012         depends on ARCH_APPLE || COMPILE_TEST
1013         select WATCHDOG_CORE
1014         help
1015           Say Y here to include support for the Watchdog found in Apple
1016           SoCs such as the M1. Next to the common watchdog features this
1017           driver is also required in order to reboot these SoCs.
1018 
1019           To compile this driver as a module, choose M here: the
1020           module will be called apple_wdt.
1021 
1022 config SUNPLUS_WATCHDOG
1023         tristate "Sunplus watchdog support"
1024         depends on ARCH_SUNPLUS || COMPILE_TEST
1025         select WATCHDOG_CORE
1026         help
1027           Say Y here to include support for the watchdog timer
1028           in Sunplus SoCs.
1029 
1030           To compile this driver as a module, choose M here: the
1031           module will be called sunplus_wdt.
1032 
1033 # X86 (i386 + ia64 + x86_64) Architecture
1034 
1035 config ACQUIRE_WDT
1036         tristate "Acquire SBC Watchdog Timer"
1037         depends on X86
1038         help
1039           This is the driver for the hardware watchdog on Single Board
1040           Computers produced by Acquire Inc (and others). This watchdog
1041           simply watches your kernel to make sure it doesn't freeze, and if
1042           it does, it reboots your computer after a certain amount of time.
1043 
1044           To compile this driver as a module, choose M here: the
1045           module will be called acquirewdt.
1046 
1047           Most people will say N.
1048 
1049 config ADVANTECH_WDT
1050         tristate "Advantech SBC Watchdog Timer"
1051         depends on X86
1052         help
1053           If you are configuring a Linux kernel for the Advantech single-board
1054           computer, say `Y' here to support its built-in watchdog timer
1055           feature. More information can be found at
1056           <https://www.advantech.com.tw/products/>
1057 
1058 config ALIM1535_WDT
1059         tristate "ALi M1535 PMU Watchdog Timer"
1060         depends on X86 && PCI
1061         help
1062           This is the driver for the hardware watchdog on the ALi M1535 PMU.
1063 
1064           To compile this driver as a module, choose M here: the
1065           module will be called alim1535_wdt.
1066 
1067           Most people will say N.
1068 
1069 config ALIM7101_WDT
1070         tristate "ALi M7101 PMU Computer Watchdog"
1071         depends on PCI
1072         help
1073           This is the driver for the hardware watchdog on the ALi M7101 PMU
1074           as used in the x86 Cobalt servers and also found in some
1075           SPARC Netra servers too.
1076 
1077           To compile this driver as a module, choose M here: the
1078           module will be called alim7101_wdt.
1079 
1080           Most people will say N.
1081 
1082 config EBC_C384_WDT
1083         tristate "WinSystems EBC-C384 Watchdog Timer"
1084         depends on X86
1085         select ISA_BUS_API
1086         select WATCHDOG_CORE
1087         help
1088           Enables watchdog timer support for the watchdog timer on the
1089           WinSystems EBC-C384 motherboard. The timeout may be configured via
1090           the timeout module parameter.
1091 
1092 config F71808E_WDT
1093         tristate "Fintek F718xx, F818xx Super I/O Watchdog"
1094         depends on X86
1095         select WATCHDOG_CORE
1096         help
1097           This is the driver for the hardware watchdog on the Fintek F71808E,
1098           F71862FG, F71868, F71869, F71882FG, F71889FG, F81803, F81865, and
1099           F81866 Super I/O controllers.
1100 
1101           You can compile this driver directly into the kernel, or use
1102           it as a module.  The module will be called f71808e_wdt.
1103 
1104 config SP5100_TCO
1105         tristate "AMD/ATI SP5100 TCO Timer/Watchdog"
1106         depends on X86 && PCI
1107         select WATCHDOG_CORE
1108         help
1109           Hardware watchdog driver for the AMD/ATI SP5100 chipset. The TCO
1110           (Total Cost of Ownership) timer is a watchdog timer that will reboot
1111           the machine after its expiration. The expiration time can be
1112           configured with the "heartbeat" parameter.
1113 
1114           To compile this driver as a module, choose M here: the
1115           module will be called sp5100_tco.
1116 
1117 config GEODE_WDT
1118         tristate "AMD Geode CS5535/CS5536 Watchdog"
1119         depends on CS5535_MFGPT
1120         help
1121           This driver enables a watchdog capability built into the
1122           CS5535/CS5536 companion chips for the AMD Geode GX and LX
1123           processors.  This watchdog watches your kernel to make sure
1124           it doesn't freeze, and if it does, it reboots your computer after
1125           a certain amount of time.
1126 
1127           You can compile this driver directly into the kernel, or use
1128           it as a module.  The module will be called geodewdt.
1129 
1130 config SC520_WDT
1131         tristate "AMD Elan SC520 processor Watchdog"
1132         depends on MELAN || COMPILE_TEST
1133         help
1134           This is the driver for the hardware watchdog built in to the
1135           AMD "Elan" SC520 microcomputer commonly used in embedded systems.
1136           This watchdog simply watches your kernel to make sure it doesn't
1137           freeze, and if it does, it reboots your computer after a certain
1138           amount of time.
1139 
1140           You can compile this driver directly into the kernel, or use
1141           it as a module.  The module will be called sc520_wdt.
1142 
1143 config SBC_FITPC2_WATCHDOG
1144         tristate "Compulab SBC-FITPC2 watchdog"
1145         depends on X86
1146         help
1147           This is the driver for the built-in watchdog timer on the fit-PC2,
1148           fit-PC2i, CM-iAM single-board computers made by Compulab.
1149 
1150           It's possible to enable the watchdog timer either from BIOS (F2) or
1151           from booted Linux.
1152           When the "Watchdog Timer Value" is enabled one can set 31-255 seconds
1153           operational range.
1154 
1155           Entering BIOS setup temporarily disables watchdog operation regardless
1156           of current state, so system will not be restarted while user is in
1157           BIOS setup.
1158 
1159           Once the watchdog is enabled the system will be restarted every
1160           "Watchdog Timer Value" period, so to prevent it user can restart or
1161           disable the watchdog.
1162 
1163           To compile this driver as a module, choose M here: the
1164           module will be called sbc_fitpc2_wdt.
1165 
1166           Most people will say N.
1167 
1168 config EUROTECH_WDT
1169         tristate "Eurotech CPU-1220/1410 Watchdog Timer"
1170         depends on X86
1171         help
1172           Enable support for the watchdog timer on the Eurotech CPU-1220 and
1173           CPU-1410 cards.  These are PC/104 SBCs. Spec sheets and product
1174           information are at <http://www.eurotech.it/>.
1175 
1176 config IB700_WDT
1177         tristate "IB700 SBC Watchdog Timer"
1178         depends on X86
1179         help
1180           This is the driver for the hardware watchdog on the IB700 Single
1181           Board Computer produced by TMC Technology (www.tmc-uk.com). This
1182           watchdog simply watches your kernel to make sure it doesn't freeze,
1183           and if it does, it reboots your computer after a certain amount of time.
1184 
1185           This driver is like the WDT501 driver but for slightly different
1186           hardware.
1187 
1188           To compile this driver as a module, choose M here: the
1189           module will be called ib700wdt.
1190 
1191           Most people will say N.
1192 
1193 config IBMASR
1194         tristate "IBM Automatic Server Restart"
1195         depends on X86
1196         help
1197           This is the driver for the IBM Automatic Server Restart watchdog
1198           timer built-in into some eServer xSeries machines.
1199 
1200           To compile this driver as a module, choose M here: the
1201           module will be called ibmasr.
1202 
1203 config WAFER_WDT
1204         tristate "ICP Single Board Computer Watchdog Timer"
1205         depends on X86
1206         help
1207           This is a driver for the hardware watchdog on the ICP Single
1208           Board Computer. This driver is working on (at least) the following
1209           IPC SBC's: Wafer 5823, Rocky 4783, Rocky 3703 and Rocky 3782.
1210 
1211           To compile this driver as a module, choose M here: the
1212           module will be called wafer5823wdt.
1213 
1214 config I6300ESB_WDT
1215         tristate "Intel 6300ESB Timer/Watchdog"
1216         depends on PCI
1217         select WATCHDOG_CORE
1218         help
1219           Hardware driver for the watchdog timer built into the Intel
1220           6300ESB controller hub.
1221 
1222           To compile this driver as a module, choose M here: the
1223           module will be called i6300esb.
1224 
1225 config IE6XX_WDT
1226         tristate "Intel Atom E6xx Watchdog"
1227         depends on X86 && PCI
1228         select WATCHDOG_CORE
1229         select MFD_CORE
1230         select LPC_SCH
1231         help
1232           Hardware driver for the watchdog timer built into the Intel
1233           Atom E6XX (TunnelCreek) processor.
1234 
1235           To compile this driver as a module, choose M here: the
1236           module will be called ie6xx_wdt.
1237 
1238 config INTEL_MID_WATCHDOG
1239         tristate "Intel MID Watchdog Timer"
1240         depends on X86_INTEL_MID
1241         select WATCHDOG_CORE
1242         help
1243           Watchdog timer driver built into the Intel SCU for Intel MID
1244           Platforms.
1245 
1246           This driver currently supports only the watchdog evolution
1247           implementation in SCU, available for Merrifield generation.
1248 
1249           To compile this driver as a module, choose M here.
1250 
1251 config ITCO_WDT
1252         tristate "Intel TCO Timer/Watchdog"
1253         depends on (X86 || IA64) && PCI
1254         select WATCHDOG_CORE
1255         depends on I2C || I2C=n
1256         depends on MFD_INTEL_PMC_BXT || !MFD_INTEL_PMC_BXT
1257         select LPC_ICH if !EXPERT
1258         select I2C_I801 if !EXPERT && I2C
1259         help
1260           Hardware driver for the intel TCO timer based watchdog devices.
1261           These drivers are included in the Intel 82801 I/O Controller
1262           Hub family (from ICH0 up to ICH10) and in the Intel 63xxESB
1263           controller hub.
1264 
1265           The TCO (Total Cost of Ownership) timer is a watchdog timer
1266           that will reboot the machine after its second expiration. The
1267           expiration time can be configured with the "heartbeat" parameter.
1268 
1269           On some motherboards the driver may fail to reset the chipset's
1270           NO_REBOOT flag which prevents the watchdog from rebooting the
1271           machine. If this is the case you will get a kernel message like
1272           "failed to reset NO_REBOOT flag, reboot disabled by hardware".
1273 
1274           To compile this driver as a module, choose M here: the
1275           module will be called iTCO_wdt.
1276 
1277 config ITCO_VENDOR_SUPPORT
1278         bool "Intel TCO Timer/Watchdog Specific Vendor Support"
1279         depends on ITCO_WDT
1280         help
1281           Add vendor specific support to the intel TCO timer based watchdog
1282           devices. At this moment we only have additional support for some
1283           SuperMicro Inc. motherboards.
1284 
1285 config IT8712F_WDT
1286         tristate "IT8712F (Smart Guardian) Watchdog Timer"
1287         depends on X86
1288         help
1289           This is the driver for the built-in watchdog timer on the IT8712F
1290           Super I/0 chipset used on many motherboards.
1291 
1292           If the driver does not work, then make sure that the game port in
1293           the BIOS is enabled.
1294 
1295           To compile this driver as a module, choose M here: the
1296           module will be called it8712f_wdt.
1297 
1298 config IT87_WDT
1299         tristate "IT87 Watchdog Timer"
1300         depends on X86
1301         select WATCHDOG_CORE
1302         help
1303           This is the driver for the hardware watchdog on the ITE IT8607,
1304           IT8620, IT8622, IT8625, IT8628, IT8655, IT8665, IT8686, IT8702,
1305           IT8712, IT8716, IT8718, IT8720, IT8721, IT8726, IT8728, and
1306           IT8783 Super I/O chips.
1307 
1308           This watchdog simply watches your kernel to make sure it doesn't
1309           freeze, and if it does, it reboots your computer after a certain
1310           amount of time.
1311 
1312           To compile this driver as a module, choose M here: the module will
1313           be called it87_wdt.
1314 
1315 config HP_WATCHDOG
1316         tristate "HP ProLiant iLO2+ Hardware Watchdog Timer"
1317         select WATCHDOG_CORE
1318         depends on X86 && PCI
1319         help
1320           A software monitoring watchdog and NMI handling driver. This driver
1321           will detect lockups and provide a stack trace. This is a driver that
1322           will only load on an HP ProLiant system with a minimum of iLO2 support.
1323           To compile this driver as a module, choose M here: the module will be
1324           called hpwdt.
1325 
1326 config HPWDT_NMI_DECODING
1327         bool "NMI support for the HP ProLiant iLO2+ Hardware Watchdog Timer"
1328         depends on HP_WATCHDOG
1329         default y
1330         help
1331           Enables the NMI handler for the watchdog pretimeout NMI and the iLO
1332           "Generate NMI to System" virtual button.  When an NMI is claimed
1333           by the driver, panic is called.
1334 
1335 config KEMPLD_WDT
1336         tristate "Kontron COM Watchdog Timer"
1337         depends on MFD_KEMPLD
1338         select WATCHDOG_CORE
1339         help
1340           Support for the PLD watchdog on some Kontron ETX and COMexpress
1341           (ETXexpress) modules
1342 
1343           This driver can also be built as a module. If so, the module will be
1344           called kempld_wdt.
1345 
1346 config SC1200_WDT
1347         tristate "National Semiconductor PC87307/PC97307 (ala SC1200) Watchdog"
1348         depends on X86
1349         help
1350           This is a driver for National Semiconductor PC87307/PC97307 hardware
1351           watchdog cards as found on the SC1200. This watchdog is mainly used
1352           for power management purposes and can be used to power down the device
1353           during inactivity periods (includes interrupt activity monitoring).
1354 
1355           To compile this driver as a module, choose M here: the
1356           module will be called sc1200wdt.
1357 
1358           Most people will say N.
1359 
1360 config SCx200_WDT
1361         tristate "National Semiconductor SCx200 Watchdog"
1362         depends on SCx200 && PCI
1363         help
1364           Enable the built-in watchdog timer support on the National
1365           Semiconductor SCx200 processors.
1366 
1367           If compiled as a module, it will be called scx200_wdt.
1368 
1369 config PC87413_WDT
1370         tristate "NS PC87413 watchdog"
1371         depends on X86
1372         help
1373           This is the driver for the hardware watchdog on the PC87413 chipset
1374           This watchdog simply watches your kernel to make sure it doesn't
1375           freeze, and if it does, it reboots your computer after a certain
1376           amount of time.
1377 
1378           To compile this driver as a module, choose M here: the
1379           module will be called pc87413_wdt.
1380 
1381           Most people will say N.
1382 
1383 config NV_TCO
1384         tristate "nVidia TCO Timer/Watchdog"
1385         depends on X86 && PCI
1386         help
1387           Hardware driver for the TCO timer built into the nVidia Hub family
1388           (such as the MCP51).  The TCO (Total Cost of Ownership) timer is a
1389           watchdog timer that will reboot the machine after its second
1390           expiration. The expiration time can be configured with the
1391           "heartbeat" parameter.
1392 
1393           On some motherboards the driver may fail to reset the chipset's
1394           NO_REBOOT flag which prevents the watchdog from rebooting the
1395           machine. If this is the case you will get a kernel message like
1396           "failed to reset NO_REBOOT flag, reboot disabled by hardware".
1397 
1398           To compile this driver as a module, choose M here: the
1399           module will be called nv_tco.
1400 
1401 config RDC321X_WDT
1402         tristate "RDC R-321x SoC watchdog"
1403         depends on X86_RDC321X || COMPILE_TEST
1404         depends on PCI
1405         help
1406           This is the driver for the built in hardware watchdog
1407           in the RDC R-321x SoC.
1408 
1409           To compile this driver as a module, choose M here: the
1410           module will be called rdc321x_wdt.
1411 
1412 config 60XX_WDT
1413         tristate "SBC-60XX Watchdog Timer"
1414         depends on X86
1415         help
1416           This driver can be used with the watchdog timer found on some
1417           single board computers, namely the 6010 PII based computer.
1418           It may well work with other cards.  It reads port 0x443 to enable
1419           and re-set the watchdog timer, and reads port 0x45 to disable
1420           the watchdog.  If you have a card that behave in similar ways,
1421           you can probably make this driver work with your card as well.
1422 
1423           You can compile this driver directly into the kernel, or use
1424           it as a module.  The module will be called sbc60xxwdt.
1425 
1426 config SBC8360_WDT
1427         tristate "SBC8360 Watchdog Timer"
1428         depends on X86_32
1429         help
1430 
1431           This is the driver for the hardware watchdog on the SBC8360 Single
1432           Board Computer produced by Axiomtek Co., Ltd. (www.axiomtek.com).
1433 
1434           To compile this driver as a module, choose M here: the
1435           module will be called sbc8360.
1436 
1437           Most people will say N.
1438 
1439 config SBC7240_WDT
1440         tristate "SBC Nano 7240 Watchdog Timer"
1441         depends on X86_32 && !UML
1442         help
1443           This is the driver for the hardware watchdog found on the IEI
1444           single board computers EPIC Nano 7240 (and likely others). This
1445           watchdog simply watches your kernel to make sure it doesn't freeze,
1446           and if it does, it reboots your computer after a certain amount of
1447           time.
1448 
1449           To compile this driver as a module, choose M here: the
1450           module will be called sbc7240_wdt.
1451 
1452 config CPU5_WDT
1453         tristate "SMA CPU5 Watchdog"
1454         depends on X86
1455         help
1456           TBD.
1457           To compile this driver as a module, choose M here: the
1458           module will be called cpu5wdt.
1459 
1460 config SMSC_SCH311X_WDT
1461         tristate "SMSC SCH311X Watchdog Timer"
1462         depends on X86
1463         help
1464           This is the driver for the hardware watchdog timer on the
1465           SMSC SCH3112, SCH3114 and SCH3116 Super IO chipset
1466           (LPC IO with 8042 KBC, Reset Generation, HWM and multiple
1467           serial ports).
1468 
1469           To compile this driver as a module, choose M here: the
1470           module will be called sch311x_wdt.
1471 
1472 config SMSC37B787_WDT
1473         tristate "Winbond SMsC37B787 Watchdog Timer"
1474         depends on X86
1475         help
1476           This is the driver for the hardware watchdog component on the
1477           Winbond SMsC37B787 chipset as used on the NetRunner Mainboard
1478           from Vision Systems and maybe others.
1479 
1480           This watchdog simply watches your kernel to make sure it doesn't
1481           freeze, and if it does, it reboots your computer after a certain
1482           amount of time.
1483 
1484           Usually a userspace daemon will notify the kernel WDT driver that
1485           userspace is still alive, at regular intervals.
1486 
1487           To compile this driver as a module, choose M here: the
1488           module will be called smsc37b787_wdt.
1489 
1490           Most people will say N.
1491 
1492 config TQMX86_WDT
1493         tristate "TQ-Systems TQMX86 Watchdog Timer"
1494         depends on X86
1495         select WATCHDOG_CORE
1496         help
1497           This is the driver for the hardware watchdog timer in the TQMX86 IO
1498           controller found on some of their ComExpress Modules.
1499 
1500           To compile this driver as a module, choose M here; the module
1501           will be called tqmx86_wdt.
1502 
1503           Most people will say N.
1504 
1505 config VIA_WDT
1506         tristate "VIA Watchdog Timer"
1507         depends on X86 && PCI
1508         select WATCHDOG_CORE
1509         help
1510           This is the driver for the hardware watchdog timer on VIA
1511           southbridge chipset CX700, VX800/VX820 or VX855/VX875.
1512 
1513           To compile this driver as a module, choose M here; the module
1514           will be called via_wdt.
1515 
1516           Most people will say N.
1517 
1518 config W83627HF_WDT
1519         tristate "Watchdog timer for W83627HF/W83627DHG and compatibles"
1520         depends on X86
1521         select WATCHDOG_CORE
1522         help
1523           This is the driver for the hardware watchdog on the following
1524           Super I/O chips.
1525                 W83627DHG/DHG-P/EHF/EHG/F/G/HF/S/SF/THF/UHG/UG
1526                 W83637HF
1527                 W83667HG/HG-B
1528                 W83687THF
1529                 W83697HF
1530                 W83697UG
1531                 NCT6775
1532                 NCT6776
1533                 NCT6779
1534                 NCT6791
1535                 NCT6792
1536                 NCT6102D/04D/06D
1537                 NCT6116D
1538 
1539           This watchdog simply watches your kernel to make sure it doesn't
1540           freeze, and if it does, it reboots your computer after a certain
1541           amount of time.
1542 
1543           To compile this driver as a module, choose M here: the
1544           module will be called w83627hf_wdt.
1545 
1546           Most people will say N.
1547 
1548 config W83877F_WDT
1549         tristate "W83877F (EMACS) Watchdog Timer"
1550         depends on X86
1551         help
1552           This is the driver for the hardware watchdog on the W83877F chipset
1553           as used in EMACS PC-104 motherboards (and likely others).  This
1554           watchdog simply watches your kernel to make sure it doesn't freeze,
1555           and if it does, it reboots your computer after a certain amount of
1556           time.
1557 
1558           To compile this driver as a module, choose M here: the
1559           module will be called w83877f_wdt.
1560 
1561           Most people will say N.
1562 
1563 config W83977F_WDT
1564         tristate "W83977F (PCM-5335) Watchdog Timer"
1565         depends on X86
1566         help
1567           This is the driver for the hardware watchdog on the W83977F I/O chip
1568           as used in AAEON's PCM-5335 SBC (and likely others).  This
1569           watchdog simply watches your kernel to make sure it doesn't freeze,
1570           and if it does, it reboots your computer after a certain amount of
1571           time.
1572 
1573           To compile this driver as a module, choose M here: the
1574           module will be called w83977f_wdt.
1575 
1576 config MACHZ_WDT
1577         tristate "ZF MachZ Watchdog"
1578         depends on X86
1579         help
1580           If you are using a ZF Micro MachZ processor, say Y here, otherwise
1581           N.  This is the driver for the watchdog timer built-in on that
1582           processor using ZF-Logic interface.  This watchdog simply watches
1583           your kernel to make sure it doesn't freeze, and if it does, it
1584           reboots your computer after a certain amount of time.
1585 
1586           To compile this driver as a module, choose M here: the
1587           module will be called machzwd.
1588 
1589 config SBC_EPX_C3_WATCHDOG
1590         tristate "Winsystems SBC EPX-C3 watchdog"
1591         depends on X86
1592         help
1593           This is the driver for the built-in watchdog timer on the EPX-C3
1594           Single-board computer made by Winsystems, Inc.
1595 
1596           *Note*: This hardware watchdog is not probeable and thus there
1597           is no way to know if writing to its IO address will corrupt
1598           your system or have any real effect.  The only way to be sure
1599           that this driver does what you want is to make sure you
1600           are running it on an EPX-C3 from Winsystems with the watchdog
1601           timer at IO address 0x1ee and 0x1ef.  It will write to both those
1602           IO ports.  Basically, the assumption is made that if you compile
1603           this driver into your kernel and/or load it as a module, that you
1604           know what you are doing and that you are in fact running on an
1605           EPX-C3 board!
1606 
1607           To compile this driver as a module, choose M here: the
1608           module will be called sbc_epx_c3.
1609 
1610 config INTEL_MEI_WDT
1611         tristate "Intel MEI iAMT Watchdog"
1612         depends on INTEL_MEI && X86
1613         select WATCHDOG_CORE
1614         help
1615           A device driver for the Intel MEI iAMT watchdog.
1616 
1617           The Intel AMT Watchdog is an OS Health (Hang/Crash) watchdog.
1618           Whenever the OS hangs or crashes, iAMT will send an event
1619           to any subscriber to this event. The watchdog doesn't reset the
1620           the platform.
1621 
1622           To compile this driver as a module, choose M here:
1623           the module will be called mei_wdt.
1624 
1625 config NI903X_WDT
1626         tristate "NI 903x/913x Watchdog"
1627         depends on X86 && ACPI
1628         select WATCHDOG_CORE
1629         help
1630           This is the driver for the watchdog timer on the National Instruments
1631           903x/913x real-time controllers.
1632 
1633           To compile this driver as a module, choose M here: the module will be
1634           called ni903x_wdt.
1635 
1636 config NIC7018_WDT
1637         tristate "NIC7018 Watchdog"
1638         depends on X86 && ACPI
1639         select WATCHDOG_CORE
1640         help
1641           Support for National Instruments NIC7018 Watchdog.
1642 
1643           To compile this driver as a module, choose M here: the module will be
1644           called nic7018_wdt.
1645 
1646 config SIEMENS_SIMATIC_IPC_WDT
1647         tristate "Siemens Simatic IPC Watchdog"
1648         depends on SIEMENS_SIMATIC_IPC
1649         select WATCHDOG_CORE
1650         select P2SB
1651         help
1652           This driver adds support for several watchdogs found in Industrial
1653           PCs from Siemens.
1654 
1655           To compile this driver as a module, choose M here: the module will be
1656           called simatic-ipc-wdt.
1657 
1658 # M68K Architecture
1659 
1660 config M54xx_WATCHDOG
1661         tristate "MCF54xx watchdog support"
1662         depends on M548x
1663         help
1664           To compile this driver as a module, choose M here: the
1665           module will be called m54xx_wdt.
1666 
1667 # MicroBlaze Architecture
1668 
1669 # MIPS Architecture
1670 
1671 config ATH79_WDT
1672         tristate "Atheros AR71XX/AR724X/AR913X hardware watchdog"
1673         depends on ATH79 || (ARM && COMPILE_TEST)
1674         help
1675           Hardware driver for the built-in watchdog timer on the Atheros
1676           AR71XX/AR724X/AR913X SoCs.
1677 
1678 config BCM47XX_WDT
1679         tristate "Broadcom BCM47xx Watchdog Timer"
1680         depends on BCM47XX || ARCH_BCM_5301X || COMPILE_TEST
1681         select WATCHDOG_CORE
1682         help
1683           Hardware driver for the Broadcom BCM47xx Watchdog Timer.
1684 
1685 config RC32434_WDT
1686         tristate "IDT RC32434 SoC Watchdog Timer"
1687         depends on MIKROTIK_RB532
1688         help
1689           Hardware driver for the IDT RC32434 SoC built-in
1690           watchdog timer.
1691 
1692           To compile this driver as a module, choose M here: the
1693           module will be called rc32434_wdt.
1694 
1695 config INDYDOG
1696         tristate "Indy/I2 Hardware Watchdog"
1697         depends on SGI_HAS_INDYDOG
1698         help
1699           Hardware driver for the Indy's/I2's watchdog. This is a
1700           watchdog timer that will reboot the machine after a 60 second
1701           timer expired and no process has written to /dev/watchdog during
1702           that time.
1703 
1704 config JZ4740_WDT
1705         tristate "Ingenic jz4740 SoC hardware watchdog"
1706         depends on MIPS
1707         depends on COMMON_CLK
1708         select WATCHDOG_CORE
1709         select MFD_SYSCON
1710         help
1711           Hardware driver for the built-in watchdog timer on Ingenic jz4740 SoCs.
1712 
1713 config WDT_MTX1
1714         tristate "MTX-1 Hardware Watchdog"
1715         depends on MIPS_MTX1 || (MIPS && COMPILE_TEST)
1716         help
1717           Hardware driver for the MTX-1 boards. This is a watchdog timer that
1718           will reboot the machine after a 100 seconds timer expired.
1719 
1720 config SIBYTE_WDOG
1721         tristate "Sibyte SoC hardware watchdog"
1722         depends on CPU_SB1
1723         help
1724           Watchdog driver for the built in watchdog hardware in Sibyte
1725           SoC processors.  There are apparently two watchdog timers
1726           on such processors; this driver supports only the first one,
1727           because currently Linux only supports exporting one watchdog
1728           to userspace.
1729 
1730           To compile this driver as a loadable module, choose M here.
1731           The module will be called sb_wdog.
1732 
1733 config AR7_WDT
1734         tristate "TI AR7 Watchdog Timer"
1735         depends on AR7 || (MIPS && 32BIT && COMPILE_TEST)
1736         help
1737           Hardware driver for the TI AR7 Watchdog Timer.
1738 
1739 config TXX9_WDT
1740         tristate "Toshiba TXx9 Watchdog Timer"
1741         depends on CPU_TX49XX || (MIPS && COMPILE_TEST)
1742         select WATCHDOG_CORE
1743         help
1744           Hardware driver for the built-in watchdog timer on TXx9 MIPS SoCs.
1745 
1746 config OCTEON_WDT
1747         tristate "Cavium OCTEON SOC family Watchdog Timer"
1748         depends on CAVIUM_OCTEON_SOC
1749         default y
1750         select WATCHDOG_CORE
1751         select EXPORT_UASM if OCTEON_WDT = m
1752         help
1753           Hardware driver for OCTEON's on chip watchdog timer.
1754           Enables the watchdog for all cores running Linux. It
1755           installs a NMI handler and pokes the watchdog based on an
1756           interrupt.  On first expiration of the watchdog, the
1757           interrupt handler pokes it.  The second expiration causes an
1758           NMI that prints a message. The third expiration causes a
1759           global soft reset.
1760 
1761           When userspace has /dev/watchdog open, no poking is done
1762           from the first interrupt, it is then only poked when the
1763           device is written.
1764 
1765 config BCM2835_WDT
1766         tristate "Broadcom BCM2835 hardware watchdog"
1767         depends on ARCH_BCM2835 || (OF && COMPILE_TEST)
1768         select WATCHDOG_CORE
1769         help
1770           Watchdog driver for the built in watchdog hardware in Broadcom
1771           BCM2835 SoC.
1772 
1773           To compile this driver as a loadable module, choose M here.
1774           The module will be called bcm2835_wdt.
1775 
1776 config BCM_KONA_WDT
1777         tristate "BCM Kona Watchdog"
1778         depends on ARCH_BCM_MOBILE || COMPILE_TEST
1779         select WATCHDOG_CORE
1780         help
1781           Support for the watchdog timer on the following Broadcom BCM281xx
1782           family, which includes BCM11130, BCM11140, BCM11351, BCM28145 and
1783           BCM28155 variants.
1784 
1785           Say 'Y' or 'M' here to enable the driver. The module will be called
1786           bcm_kona_wdt.
1787 
1788 config BCM_KONA_WDT_DEBUG
1789         bool "DEBUGFS support for BCM Kona Watchdog"
1790         depends on BCM_KONA_WDT
1791         help
1792           If enabled, adds /sys/kernel/debug/bcm_kona_wdt/info which provides
1793           access to the driver's internal data structures as well as watchdog
1794           timer hardware registres.
1795 
1796           If in doubt, say 'N'.
1797 
1798 config BCM7038_WDT
1799         tristate "BCM63xx/BCM7038 Watchdog"
1800         select WATCHDOG_CORE
1801         depends on HAS_IOMEM
1802         depends on ARCH_BCM4908 || ARCH_BRCMSTB || BMIPS_GENERIC || BCM63XX || COMPILE_TEST
1803         help
1804           Watchdog driver for the built-in hardware in Broadcom 7038 and
1805           later SoCs used in set-top boxes.  BCM7038 was made public
1806           during the 2004 CES, and since then, many Broadcom chips use this
1807           watchdog block, including some cable modem chips and DSL (63xx)
1808           chips.
1809 
1810 config IMGPDC_WDT
1811         tristate "Imagination Technologies PDC Watchdog Timer"
1812         depends on HAS_IOMEM
1813         depends on MIPS || COMPILE_TEST
1814         select WATCHDOG_CORE
1815         help
1816           Driver for Imagination Technologies PowerDown Controller
1817           Watchdog Timer.
1818 
1819           To compile this driver as a loadable module, choose M here.
1820           The module will be called imgpdc_wdt.
1821 
1822 config LANTIQ_WDT
1823         tristate "Lantiq SoC watchdog"
1824         depends on LANTIQ
1825         select WATCHDOG_CORE
1826         help
1827           Hardware driver for the Lantiq SoC Watchdog Timer.
1828 
1829 config LOONGSON1_WDT
1830         tristate "Loongson1 SoC hardware watchdog"
1831         depends on MACH_LOONGSON32
1832         select WATCHDOG_CORE
1833         help
1834           Hardware driver for the Loongson1 SoC Watchdog Timer.
1835 
1836 config RALINK_WDT
1837         tristate "Ralink SoC watchdog"
1838         select WATCHDOG_CORE
1839         depends on RALINK
1840         help
1841           Hardware driver for the Ralink SoC Watchdog Timer.
1842 
1843 config GXP_WATCHDOG
1844         tristate "HPE GXP watchdog support"
1845         depends on ARCH_HPE_GXP
1846         select WATCHDOG_CORE
1847         help
1848           Say Y here to include support for the watchdog timer
1849           in HPE GXP SoCs.
1850 
1851           To compile this driver as a module, choose M here.
1852           The module will be called gxp-wdt.
1853 
1854 config MT7621_WDT
1855         tristate "Mediatek SoC watchdog"
1856         select WATCHDOG_CORE
1857         depends on SOC_MT7620 || SOC_MT7621
1858         help
1859           Hardware driver for the Mediatek/Ralink MT7621/8 SoC Watchdog Timer.
1860 
1861 config PIC32_WDT
1862         tristate "Microchip PIC32 hardware watchdog"
1863         select WATCHDOG_CORE
1864         depends on MACH_PIC32 || (MIPS && COMPILE_TEST)
1865         help
1866           Watchdog driver for the built in watchdog hardware in a PIC32.
1867 
1868           Configuration bits must be set appropriately for the watchdog to be
1869           controlled by this driver.
1870 
1871           To compile this driver as a loadable module, choose M here.
1872           The module will be called pic32-wdt.
1873 
1874 config PIC32_DMT
1875         tristate "Microchip PIC32 Deadman Timer"
1876         select WATCHDOG_CORE
1877         depends on MACH_PIC32 || (MIPS && COMPILE_TEST)
1878         help
1879           Watchdog driver for PIC32 instruction fetch counting timer. This
1880           specific timer is typically be used in mission critical and safety
1881           critical applications, where any single failure of the software
1882           functionality and sequencing must be detected.
1883 
1884           To compile this driver as a loadable module, choose M here.
1885           The module will be called pic32-dmt.
1886 
1887 # PARISC Architecture
1888 
1889 # POWERPC Architecture
1890 
1891 config GEF_WDT
1892         tristate "GE Watchdog Timer"
1893         depends on GE_FPGA
1894         help
1895           Watchdog timer found in a number of GE single board computers.
1896 
1897 config MPC5200_WDT
1898         bool "MPC52xx Watchdog Timer"
1899         depends on PPC_MPC52xx || COMPILE_TEST
1900         help
1901           Use General Purpose Timer (GPT) 0 on the MPC5200 as Watchdog.
1902 
1903 config 8xxx_WDT
1904         tristate "MPC8xxx Platform Watchdog Timer"
1905         depends on PPC_8xx || PPC_83xx || PPC_86xx || PPC_MPC512x
1906         select WATCHDOG_CORE
1907         help
1908           This driver is for a SoC level watchdog that exists on some
1909           Freescale PowerPC processors. So far this driver supports:
1910           - MPC8xx watchdogs
1911           - MPC83xx watchdogs
1912           - MPC86xx watchdogs
1913 
1914           For BookE processors (MPC85xx) use the BOOKE_WDT driver instead.
1915 
1916 config PIKA_WDT
1917         tristate "PIKA FPGA Watchdog"
1918         depends on WARP || (PPC64 && COMPILE_TEST)
1919         default y
1920         help
1921           This enables the watchdog in the PIKA FPGA. Currently used on
1922           the Warp platform.
1923 
1924 config BOOKE_WDT
1925         tristate "PowerPC Book-E Watchdog Timer"
1926         depends on BOOKE || 4xx
1927         select WATCHDOG_CORE
1928         help
1929           Watchdog driver for PowerPC Book-E chips, such as the Freescale
1930           MPC85xx SOCs and the IBM PowerPC 440.
1931 
1932           Please see Documentation/watchdog/watchdog-api.rst for
1933           more information.
1934 
1935 config BOOKE_WDT_DEFAULT_TIMEOUT
1936         int "PowerPC Book-E Watchdog Timer Default Timeout"
1937         depends on BOOKE_WDT
1938         default 38 if PPC_FSL_BOOK3E
1939         range 0 63 if PPC_FSL_BOOK3E
1940         default 3 if !PPC_FSL_BOOK3E
1941         range 0 3 if !PPC_FSL_BOOK3E
1942         help
1943           Select the default watchdog timer period to be used by the PowerPC
1944           Book-E watchdog driver.  A watchdog "event" occurs when the bit
1945           position represented by this number transitions from zero to one.
1946 
1947           For Freescale Book-E processors, this is a number between 0 and 63.
1948           For other Book-E processors, this is a number between 0 and 3.
1949 
1950           The value can be overridden by the wdt_period command-line parameter.
1951 
1952 config MEN_A21_WDT
1953         tristate "MEN A21 VME CPU Carrier Board Watchdog Timer"
1954         select WATCHDOG_CORE
1955         depends on GPIOLIB || COMPILE_TEST
1956         help
1957           Watchdog driver for MEN A21 VMEbus CPU Carrier Boards.
1958 
1959           The driver can also be built as a module. If so, the module will be
1960           called mena21_wdt.
1961 
1962           If unsure select N here.
1963 
1964 # PPC64 Architecture
1965 
1966 config PSERIES_WDT
1967         tristate "POWER Architecture Platform Watchdog Timer"
1968         depends on PPC_PSERIES
1969         select WATCHDOG_CORE
1970         help
1971           Driver for virtual watchdog timers provided by PAPR
1972           hypervisors (e.g. PowerVM, KVM).
1973 
1974 config WATCHDOG_RTAS
1975         tristate "RTAS watchdog"
1976         depends on PPC_RTAS
1977         help
1978           This driver adds watchdog support for the RTAS watchdog.
1979 
1980           To compile this driver as a module, choose M here. The module
1981           will be called wdrtas.
1982 
1983 # S390 Architecture
1984 
1985 config DIAG288_WATCHDOG
1986         tristate "System z diag288 Watchdog"
1987         depends on S390
1988         select WATCHDOG_CORE
1989         help
1990           IBM s/390 and zSeries machines running under z/VM 5.1 or later
1991           provide a virtual watchdog timer to their guest that cause a
1992           user define Control Program command to be executed after a
1993           timeout.
1994           LPAR provides a very similar interface. This driver handles
1995           both.
1996 
1997           To compile this driver as a module, choose M here. The module
1998           will be called diag288_wdt.
1999 
2000 # SUPERH (sh + sh64) Architecture
2001 
2002 config SH_WDT
2003         tristate "SuperH Watchdog"
2004         depends on SUPERH && (CPU_SH3 || CPU_SH4 || COMPILE_TEST)
2005         select WATCHDOG_CORE
2006         help
2007           This driver adds watchdog support for the integrated watchdog in the
2008           SuperH processors. If you have one of these processors and wish
2009           to have watchdog support enabled, say Y, otherwise say N.
2010 
2011           As a side note, saying Y here will automatically boost HZ to 1000
2012           so that the timer has a chance to clear the overflow counter. On
2013           slower systems (such as the SH-2 and SH-3) this will likely yield
2014           some performance issues. As such, the WDT should be avoided here
2015           unless it is absolutely necessary.
2016 
2017           To compile this driver as a module, choose M here: the
2018           module will be called shwdt.
2019 
2020 # SPARC Architecture
2021 
2022 # SPARC64 Architecture
2023 
2024 config WATCHDOG_CP1XXX
2025         tristate "CP1XXX Hardware Watchdog support"
2026         depends on SPARC64 && PCI
2027         help
2028           This is the driver for the hardware watchdog timers present on
2029           Sun Microsystems CompactPCI models CP1400 and CP1500.
2030 
2031           To compile this driver as a module, choose M here: the
2032           module will be called cpwatchdog.
2033 
2034           If you do not have a CompactPCI model CP1400 or CP1500, or
2035           another UltraSPARC-IIi-cEngine boardset with hardware watchdog,
2036           you should say N to this option.
2037 
2038 config WATCHDOG_RIO
2039         tristate "RIO Hardware Watchdog support"
2040         depends on SPARC64 && PCI
2041         help
2042           Say Y here to support the hardware watchdog capability on Sun RIO
2043           machines.  The watchdog timeout period is normally one minute but
2044           can be changed with a boot-time parameter.
2045 
2046 config WATCHDOG_SUN4V
2047         tristate "Sun4v Watchdog support"
2048         select WATCHDOG_CORE
2049         depends on SPARC64
2050         help
2051           Say Y here to support the hypervisor watchdog capability embedded
2052           in the SPARC sun4v architecture.
2053 
2054           To compile this driver as a module, choose M here. The module will
2055           be called sun4v_wdt.
2056 
2057 # XTENSA Architecture
2058 
2059 # Xen Architecture
2060 
2061 config XEN_WDT
2062         tristate "Xen Watchdog support"
2063         depends on XEN
2064         select WATCHDOG_CORE
2065         help
2066           Say Y here to support the hypervisor watchdog capability provided
2067           by Xen 4.0 and newer.  The watchdog timeout period is normally one
2068           minute but can be changed with a boot-time parameter.
2069 
2070 config UML_WATCHDOG
2071         tristate "UML watchdog"
2072         depends on UML || COMPILE_TEST
2073 
2074 #
2075 # ISA-based Watchdog Cards
2076 #
2077 
2078 comment "ISA-based Watchdog Cards"
2079         depends on ISA
2080 
2081 config PCWATCHDOG
2082         tristate "Berkshire Products ISA-PC Watchdog"
2083         depends on ISA
2084         help
2085           This is the driver for the Berkshire Products ISA-PC Watchdog card.
2086           This card simply watches your kernel to make sure it doesn't freeze,
2087           and if it does, it reboots your computer after a certain amount of
2088           time. This driver is like the WDT501 driver but for different
2089           hardware. Please read <file:Documentation/watchdog/pcwd-watchdog.rst>.
2090           The PC watchdog cards can be ordered from <http://www.berkprod.com/>.
2091 
2092           To compile this driver as a module, choose M here: the
2093           module will be called pcwd.
2094 
2095           Most people will say N.
2096 
2097 config MIXCOMWD
2098         tristate "Mixcom Watchdog"
2099         depends on ISA
2100         help
2101           This is a driver for the Mixcom hardware watchdog cards.  This
2102           watchdog simply watches your kernel to make sure it doesn't freeze,
2103           and if it does, it reboots your computer after a certain amount of
2104           time.
2105 
2106           To compile this driver as a module, choose M here: the
2107           module will be called mixcomwd.
2108 
2109           Most people will say N.
2110 
2111 config WDT
2112         tristate "WDT Watchdog timer"
2113         depends on ISA
2114         help
2115           If you have a WDT500P or WDT501P watchdog board, say Y here,
2116           otherwise N. It is not possible to probe for this board, which means
2117           that you have to inform the kernel about the IO port and IRQ that
2118           is needed (you can do this via the io and irq parameters)
2119 
2120           To compile this driver as a module, choose M here: the
2121           module will be called wdt.
2122 
2123 #
2124 # PCI-based Watchdog Cards
2125 #
2126 
2127 comment "PCI-based Watchdog Cards"
2128         depends on PCI
2129 
2130 config PCIPCWATCHDOG
2131         tristate "Berkshire Products PCI-PC Watchdog"
2132         depends on PCI
2133         help
2134           This is the driver for the Berkshire Products PCI-PC Watchdog card.
2135           This card simply watches your kernel to make sure it doesn't freeze,
2136           and if it does, it reboots your computer after a certain amount of
2137           time. The card can also monitor the internal temperature of the PC.
2138           More info is available at <http://www.berkprod.com/pci_pc_watchdog.htm>.
2139 
2140           To compile this driver as a module, choose M here: the
2141           module will be called pcwd_pci.
2142 
2143           Most people will say N.
2144 
2145 config WDTPCI
2146         tristate "PCI-WDT500/501 Watchdog timer"
2147         depends on PCI
2148         help
2149           If you have a PCI-WDT500/501 watchdog board, say Y here, otherwise N.
2150 
2151           If you have a PCI-WDT501 watchdog board then you can enable the
2152           temperature sensor by setting the type parameter to 501.
2153 
2154           If you want to enable the Fan Tachometer on the PCI-WDT501, then you
2155           can do this via the tachometer parameter. Only do this if you have a
2156           fan tachometer actually set up.
2157 
2158           To compile this driver as a module, choose M here: the
2159           module will be called wdt_pci.
2160 
2161 #
2162 # USB-based Watchdog Cards
2163 #
2164 
2165 comment "USB-based Watchdog Cards"
2166         depends on USB
2167 
2168 config USBPCWATCHDOG
2169         tristate "Berkshire Products USB-PC Watchdog"
2170         depends on USB
2171         help
2172           This is the driver for the Berkshire Products USB-PC Watchdog card.
2173           This card simply watches your kernel to make sure it doesn't freeze,
2174           and if it does, it reboots your computer after a certain amount of
2175           time. The card can also monitor the internal temperature of the PC.
2176           More info is available at <http://www.berkprod.com/usb_pc_watchdog.htm>.
2177 
2178           To compile this driver as a module, choose M here: the
2179           module will be called pcwd_usb.
2180 
2181           Most people will say N.
2182 
2183 config KEEMBAY_WATCHDOG
2184         tristate "Intel Keem Bay SoC non-secure watchdog"
2185         depends on ARCH_KEEMBAY || (ARM64 && COMPILE_TEST)
2186         select WATCHDOG_CORE
2187         help
2188           This option enable support for an In-secure watchdog timer driver for
2189           Intel Keem Bay SoC. This WDT has a 32 bit timer and decrements in every
2190           count unit. An interrupt will be triggered, when the count crosses
2191           the threshold configured in the register.
2192 
2193           To compile this driver as a module, choose M here: the
2194           module will be called keembay_wdt.
2195 
2196 endif # WATCHDOG