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 WATCHDOG_TIMEOUT_MSECS
	int "Watchdog timeout in msec"
	default 128000 if ARCH_MX25 || ARCH_MX31 || ARCH_MX5 || ARCH_MX6
	default 128000 if ARCH_MX7 || ARCH_VF610
	default 30000 if ARCH_SOCFPGA
	default 60000
	help
	  Watchdog timeout in msec

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 IMX_WATCHDOG
	bool "Enable Watchdog Timer support for IMX and LSCH2 of NXP"
	select HW_WATCHDOG if !WDT
	help
	   Select this to enable the IMX and LSCH2 of Layerscape watchdog
	   driver.

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

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
	imply WATCHDOG
	help
	  Enable driver model for watchdog timer. At the moment the API
	  is very simple and only supports four operations:
	  start, stop, reset and expire_now (expire immediately).
	  What exactly happens when the timer expires is up to a particular
	  device/driver.

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_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 WDT_BCM6345
	bool "BCM6345 watchdog timer support"
	depends on WDT && (ARCH_BMIPS || ARCH_BCM68360 || \
			   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_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_MPC8xx
	bool "MPC8xx watchdog timer support"
	depends on WDT && MPC8xx
	select CONFIG_MPC8xx_WATCHDOG
	help
	   Select this to enable mpc8xx watchdog timer

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

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 WDT_OMAP3
        bool "TI OMAP watchdog timer support"
        depends on WDT && ARCH_OMAP2PLUS
        default y if AM33XX
        help
	  This enables OMAP3+ watchdog timer driver, which can be
	  found on some TI chipsets and inline with driver model.

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

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_SP805
	bool "SP805 watchdog timer support"
	depends on WDT
	help
	   Select this to enable SP805 watchdog timer, which can be found on some
	   nxp layerscape chips.

config WDT_STM32MP
	bool "IWDG watchdog driver for STM32 MP's family"
	depends on WDT
	imply WATCHDOG
	help
	  Enable the STM32 watchdog (IWDG) driver. Enable support to
	  configure STM32's on-SoC watchdog.

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 WDT_TANGIER
	bool "Intel Tangier watchdog timer support"
	depends on WDT && INTEL_MID
	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 SPL_WDT
	bool "Enable driver model for watchdog timer drivers in SPL"
	depends on SPL_DM
	help
	  Enable driver model for watchdog timer in SPL.
	  This is similar to CONFIG_WDT in U-Boot.

endmenu
