# Kconfig - 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.

config SYS_LOG_WDT_LEVEL
	int "Watchdog Driver Log level"
	depends on SYS_LOG
	default 0
	range 0 4
	help
	  Sets log level for Watchdog drivers.
	  Levels are:
	  0 OFF, do not write
	  1 ERROR, only write SYS_LOG_ERR
	  2 WARNING, write SYS_LOG_WRN in addition to previous level
	  3 INFO, write SYS_LOG_INF in addition to previous levels
	  4 DEBUG, write SYS_LOG_DBG in addition to previous levels

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

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_wdog"

endif
