# Copyright (c) 2021 ITE Corporation. All Rights Reserved.
# SPDX-License-Identifier: Apache-2.0

config WDT_ITE_IT8XXX2
	bool "ITE it8xxx2 Watchdog Timer (WDT) driver"
	default y
	depends on DT_HAS_ITE_IT8XXX2_WATCHDOG_ENABLED
	select HAS_WDT_DISABLE_AT_BOOT
	help
	  This option enables the Watchdog Timer driver for ITE it8xxx2.
	  This driver supports only one channel that id is 0 and 16-bits
	  resolution WDT.

config WDT_ITE_WARNING_LEADING_TIME_MS
	int "Number of ms before generating watchdog event/signal"
	depends on WDT_ITE_IT8XXX2
	default 500
	help
	  This option defines the window in which a watchdog event must be
	  handled. After this time window, the watchdog reset triggers
	  immediately.

config WDT_ITE_REDUCE_WARNING_LEADING_TIME
	bool "Reduce warning leading time"
	depends on WDT_ITE_IT8XXX2
	help
	  Once warning timer triggered, if watchdog timer isn't reloaded,
	  then we will reduce interval of warning timer to 30ms to print
	  more warning messages before watchdog reset.
