# Watchdog configuration options

# Copyright (c) 2015 Intel Corporation
# Copyright (c) 2017 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0

menuconfig WATCHDOG
	bool "Watchdog Support"
	help
	  Include support for watchdogs.

if WATCHDOG

if !HAS_DTS_WDT

config WDT_0_NAME
	string "Watchdog driver instance name"
	default "WATCHDOG_0"
	help
	  Set the name used by the watchdog device during registration.

endif # HAS_DTS_WDT

config WDT_DISABLE_AT_BOOT
	bool "Disable at boot"
	help
	  Disable watchdog at Zephyr system startup.

module = WDT
module-str = watchdog
source "subsys/logging/Kconfig.template.log_config"

config HAS_WDT_MULTISTAGE
	bool

config WDT_MULTISTAGE
	bool "Enable multistage timeouts"
	depends on HAS_WDT_MULTISTAGE
	help
	  Enable multistage operation of watchdog timeouts.

source "drivers/watchdog/Kconfig.stm32"

source "drivers/watchdog/Kconfig.cmsdk_apb"

source "drivers/watchdog/Kconfig.sam"

source "drivers/watchdog/Kconfig.esp32"

source "drivers/watchdog/Kconfig.sam0"

source "drivers/watchdog/Kconfig.nrfx"

source "drivers/watchdog/Kconfig.mcux"

source "drivers/watchdog/Kconfig.xec"

endif
