# STM32 IWDG configuration

# Copyright (c) 2016 Open-RnD Sp. z o.o.
# Copyright (c) 2017 RnDity Sp. z o.o.
# Copyright (c) 2019 Centaur Analytics, Inc
# SPDX-License-Identifier: Apache-2.0

config IWDG_STM32
	bool "Independent Watchdog (IWDG) Driver for STM32 family of MCUs"
	default y
	depends on DT_HAS_ST_STM32_WATCHDOG_ENABLED
	select HAS_WDT_DISABLE_AT_BOOT
	help
	  Enable IWDG driver for STM32 line of MCUs

config IWDG_STM32_INITIAL_TIMEOUT
	int "Value for IWDG timeout in ms"
	depends on IWDG_STM32
	default 100
	range 1 26214
	help
	  Set initial timeout value for IWDG in ms if enabled at boot.

	  The min timeout supported is 1 ms. The max timeout depends on the
	  MCU's LSI clock frequency and can be calculated with:

	    max. prescaler value (256) * max. reload ticks (4096) / LSI freq.

	  Limiting maximum timeout to a safe value of 26214 ms here, which was
	  calculated for highest LSI frequency among STM32 MCUs of 40 kHz.

config WWDG_STM32
	bool "System Window Watchdog (WWDG) Driver for STM32 family of MCUs"
	default y
	depends on DT_HAS_ST_STM32_WINDOW_WATCHDOG_ENABLED
	help
	  Enable WWDG driver for STM32 line of MCUs
