# Copyright (c) 2021 TOKITA Hiroshi <tokita.hiroshi@gmail.com>
# SPDX-License-Identifier: Apache-2.0

config FWDGT_GD32
	bool "GD32 Free watchdog timer (FWDGT) driver"
	default y
	depends on DT_HAS_GD_GD32_FWDGT_ENABLED
	select HAS_WDT_DISABLE_AT_BOOT
	select USE_GD32_FWDGT
	help
	  Enable the Free watchdog timer (FWDGT) driver for GD32 SoCs.

config WWDGT_GD32
	bool "GD32 Window watchdog timer (WWDGT) Driver"
	default y
	depends on DT_HAS_GD_GD32_WWDGT_ENABLED
	select USE_GD32_WWDGT
	help
	  Enable the Window watchdog timer (WWDGT) driver for GD32 SoCs.
