# 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"
	select HAS_DTS_WDT
	help
	  Include support for watchdogs.

if WATCHDOG

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.mcux_imx"

source "drivers/watchdog/Kconfig.xec"

source "drivers/watchdog/Kconfig.gecko"

source "drivers/watchdog/Kconfig.sifive"

source "drivers/watchdog/Kconfig.npcx"

source "drivers/watchdog/Kconfig.cc32xx"

endif
