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