menu "Watchdog Timer Support"

config WATCHDOG
	bool "Enable U-Boot watchdog reset"
	help
	  This option enables U-Boot watchdog support where U-Boot is using
	  watchdog_reset function to service watchdog device in U-Boot. Enable
	  this option if you want to service enabled watchdog by U-Boot. Disable
	  this option if you want U-Boot to start watchdog but never service it.

config HW_WATCHDOG
	bool

config WATCHDOG_RESET_DISABLE
	bool "Disable reset watchdog"
	help
	   Disable reset watchdog, which can let WATCHDOG_RESET invalid, so
	   that the watchdog will not be fed in u-boot.

config BCM2835_WDT
	bool "Enable BCM2835/2836 watchdog driver"
	select HW_WATCHDOG
	help
	  Say Y here to enable the BCM2835/2836 watchdog

	  This provides basic infrastructure to support BCM2835/2836 watchdog
	  hardware, with a max timeout of ~15secs.

config OMAP_WATCHDOG
	bool "TI OMAP watchdog driver"
	depends on ARCH_OMAP2PLUS
	select HW_WATCHDOG
	default y if AM33XX
	help
	  Say Y here to enable the OMAP3+ watchdog driver.

config TANGIER_WATCHDOG
	bool "Intel Tangier watchdog"
	depends on INTEL_MID
	select HW_WATCHDOG
	help
	  This enables support for watchdog controller available on
	  Intel Tangier SoC. If you're using a board with Intel Tangier
	  SoC, say Y here.

config ULP_WATCHDOG
	bool "i.MX7ULP watchdog"
	help
	  Say Y here to enable i.MX7ULP watchdog driver.

config WDT
	bool "Enable driver model for watchdog timer drivers"
	depends on DM
	help
	  Enable driver model for watchdog timer. At the moment the API
	  is very simple and only supports four operations:
	  start, restart, stop and reset (expire immediately).
	  What exactly happens when the timer expires is up to a particular
	  device/driver.

config WDT_SANDBOX
	bool "Enable Watchdog Timer support for Sandbox"
	depends on SANDBOX && WDT
	help
	  Enable Watchdog Timer support in Sandbox. This is a dummy device that
	  can be probed and supports all of the methods of WDT, but does not
	  really do anything.

config WDT_ARMADA_37XX
	bool "Marvell Armada 37xx watchdog timer support"
	depends on WDT && ARMADA_3700
	help
	   Enable this to support Watchdog Timer on Marvell Armada 37xx SoC.
	   There are 4 possible clocks which can be used on these SoCs. This
	   driver uses the second clock (ID 1), assuming that so will also
	   Linux's driver.

config WDT_ASPEED
	bool "Aspeed ast2400/ast2500 watchdog timer support"
	depends on WDT
	default y if ARCH_ASPEED
	help
	  Select this to enable watchdog timer for Aspeed ast2500/ast2400 devices.
	  The watchdog timer is stopped when initialized. It performs reset, either
	  full SoC reset or CPU or just some peripherals, based on the flags.
	  It currently does not support Boot Flash Addressing Mode Detection or
	  Second Boot.

config WDT_BCM6345
	bool "BCM6345 watchdog timer support"
	depends on WDT && (ARCH_BMIPS || ARCH_BCM6858 || ARCH_BCM63158)
	help
	  Select this to enable watchdog timer for BCM6345 SoCs.
	  The watchdog timer is stopped when initialized.
	  It performs full SoC reset.

config WDT_ORION
	bool "Orion watchdog timer support"
	depends on WDT
	help
	   Select this to enable Orion watchdog timer, which can be found on some
	   Marvell Armada chips.

config WDT_CDNS
	bool "Cadence watchdog timer support"
	depends on WDT
	imply WATCHDOG
	help
	   Select this to enable Cadence watchdog timer, which can be found on some
	   Xilinx Microzed Platform.

config WDT_MTK
	bool "MediaTek watchdog timer support"
	depends on WDT && ARCH_MEDIATEK
	help
	  Select this to enable watchdog timer for MediaTek SoCs.
	  The watchdog timer is stopped when initialized.
	  It performs full SoC reset.

config XILINX_TB_WATCHDOG
	bool "Xilinx Axi watchdog timer support"
	depends on WDT
	imply WATCHDOG
	help
	   Select this to enable Xilinx Axi watchdog timer, which can be found on some
	   Xilinx Microblaze Platforms.

config IMX_WATCHDOG
	bool "Enable Watchdog Timer support for IMX and LSCH2 of NXP"
	select HW_WATCHDOG
	help
	   Select this to enable the IMX and LSCH2 of Layerscape watchdog
	   driver.

config WDT_AT91
	bool "AT91 watchdog timer support"
	depends on WDT
	help
	   Select this to enable Microchip watchdog timer, which can be found on
	   some AT91 devices.

config AT91_HW_WDT_TIMEOUT
	bool "AT91 watchdog timeout specified"
	depends on WDT_AT91

config WDT_MT7621
	bool "MediaTek MT7621 watchdog timer support"
	depends on WDT && ARCH_MT7620
	help
	   Select this to enable Ralink / Mediatek watchdog timer,
	   which can be found on some MediaTek chips.

config WDT_MPC8xx
	bool "MPC8xx watchdog timer support"
	depends on WDT && MPC8xx
	select CONFIG_MPC8xx_WATCHDOG
	help
	   Select this to enable mpc8xx watchdog timer

endmenu
