menu "Watchdog Timer Support"

config WATCHDOG
	bool "Enable U-Boot watchdog reset"
	depends on !HW_WATCHDOG
	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_AUTOSTART
	bool "Automatically start watchdog timer"
	depends on WDT
	default n if ARCH_SUNXI
	default y
	help
	  Automatically start watchdog timer and start servicing it during
	  init phase. Enabled by default. Disable this option if you want
	  to compile U-Boot with CONFIG_WDT support but do not want to
	  activate watchdog, like when CONFIG_WDT option is disabled. You
	  would be able to start watchdog manually by 'wdt' command. Useful
	  when you want to have support for 'wdt' command but do not want
	  to have watchdog enabled by default.

config WATCHDOG_TIMEOUT_MSECS
	int "Watchdog timeout in msec"
	default 128000 if ARCH_MX31 || ARCH_MX5 || ARCH_MX6
	default 128000 if ARCH_MX7 || ARCH_VF610
	default 30000 if ARCH_SOCFPGA
	default 16000 if ARCH_SUNXI
	default 60000
	help
	  Watchdog timeout in msec

config HW_WATCHDOG
	bool

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 WATCHDOG_RESET_DISABLE
	bool "Disable reset watchdog"
	depends on IMX_WATCHDOG
	help
	  Disable reset watchdog, which can let WATCHDOG_RESET invalid, so
	  that the watchdog will not be fed in u-boot.

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 DESIGNWARE_WATCHDOG
	bool "Designware watchdog timer support"
	select HW_WATCHDOG if !WDT
	default y if WDT && ROCKCHIP_RK3399
	help
	  Enable this to support Designware Watchdog Timer IP, present e.g.
	  on Altera SoCFPGA SoCs.

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_AST2600
	bool "Aspeed AST2600 watchdog timer support"
	depends on WDT
	default y if ASPEED_AST2600
	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.

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_BOOKE
	bool "PowerPC Book-E watchdog driver"
	depends on WDT && MPC85xx
	help
	  Watchdog driver for PowerPC Book-E chips, such as the Freescale
	  MPC85xx SOCs and the IBM PowerPC 440.

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_CORTINA
	bool "Cortina Access CAxxxx watchdog timer support"
	depends on WDT
	help
	  Cortina Access CAxxxx watchdog timer support.
	  This driver support all CPU ISAs supported by Cortina
	  Access CAxxxx SoCs.

config WDT_GPIO
	bool "External gpio watchdog support"
	depends on WDT
	depends on DM_GPIO
	help
	  Support for external watchdog fed by toggling a gpio. See
	  doc/device-tree-bindings/watchdog/gpio-wdt.txt for
	  information on how to describe the watchdog in device tree.

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

config WDT_MT7620
	bool "MediaTek MT7620 watchdog timer support"
	depends on WDT && SOC_MT7620
	help
	  Select this to enable watchdog timer on MediaTek MT7620 and earlier
	  SoC chips.

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_OCTEONTX
	bool "OcteonTX core watchdog support"
	depends on WDT && (ARCH_OCTEONTX || ARCH_OCTEONTX2)
	default y
	imply WATCHDOG
	help
	  This enables OcteonTX watchdog driver, which can be
	  found on OcteonTX/TX2 chipsets and inline with driver model.
	  Only supports watchdog 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_K3_RTI
	bool "Texas Instruments K3 RTI watchdog"
	depends on WDT && ARCH_K3
	help
	  Say Y here if you want to include support for the K3 watchdog
	  timer (RTI module) available in the K3 generation of processors.

if WDT_K3_RTI

config WDT_K3_RTI_LOAD_FW
	bool "Load watchdog firmware"
	depends on REMOTEPROC
	help
	  Automatically load the specified firmware image into the MCU R5F
	  core 0. On the AM65x, this firmware is supposed to handle the expiry
	  of the watchdog timer, typically by resetting the system.

config WDT_K3_RTI_FW_FILE
	string "Watchdog firmware image file"
	default "k3-rti-wdt.fw"
	depends on WDT_K3_RTI_LOAD_FW
	help
	  Firmware image to be embedded into U-Boot and loaded on watchdog
	  start.

endif

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_SBSA
	bool "SBSA watchdog timer support"
	depends on WDT
	help
	   Select this to enable SBSA watchdog timer.
	   This driver can operate ARM SBSA Generic Watchdog as a single stage.
	   In the single stage mode, when the timeout is reached, your system
	   will be reset by WS1. The first signal (WS0) is ignored.

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 WDT_SUNXI
	bool "Allwinner sunxi watchdog timer support"
	depends on WDT && ARCH_SUNXI
	default y
	help
	  Enable support for the watchdog timer in Allwinner sunxi SoCs.

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_XILINX
	bool "Xilinx window watchdog timer support"
	depends on WDT && ARCH_VERSAL
	select REGMAP
	imply WATCHDOG
	help
	  Select this to enable Xilinx window watchdog timer, which can be found on
	  Xilinx Versal 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
