1# Watchdog configuration options
2
3# Copyright (c) 2015 Intel Corporation
4# Copyright (c) 2017 Nordic Semiconductor ASA
5# SPDX-License-Identifier: Apache-2.0
6
7menuconfig WATCHDOG
8	bool "Watchdog drivers"
9	help
10	  Include support for watchdogs.
11
12if WATCHDOG
13
14config WDT_DISABLE_AT_BOOT
15	bool "Disable at boot"
16	help
17	  Disable watchdog at Zephyr system startup.
18
19module = WDT
20module-str = watchdog
21source "subsys/logging/Kconfig.template.log_config"
22
23config HAS_WDT_MULTISTAGE
24	bool
25
26config WDT_MULTISTAGE
27	bool "Multistage timeouts"
28	depends on HAS_WDT_MULTISTAGE
29	help
30	  Enable multistage operation of watchdog timeouts.
31
32config WDT_COUNTER
33	bool "Counter based watchdog"
34	default y
35	depends on DT_HAS_ZEPHYR_COUNTER_WATCHDOG_ENABLED
36	select COUNTER
37	help
38	  Watchdog emulated with counter device. If counter device supports using
39	  zero latency interrupts (ZLI) then expiration callback can be called from
40	  that context. This watchdog can be used along hardware watchdog to
41	  overcome hardware  watchdog limitations, e.g. Nordic devices reset
42	  unconditionally at fixed time after hitting watchdog interrupt, leaving
43	  no time to print debug information. Watchdog has limitations since it
44	  cannot interrupt same or higher priorities so it cannot fully replace
45	  hardware based watchdog.
46
47if WDT_COUNTER
48
49config WDT_COUNTER_CH_COUNT
50	int "Maximum number of supported channel"
51	default 4
52	range 1 255
53	help
54	  Note that actual channel count will be limited to number of channels
55	  supported by the counter device which is used for watchdog.
56
57endif # WDT_COUNTER
58
59source "drivers/watchdog/Kconfig.stm32"
60
61source "drivers/watchdog/Kconfig.cmsdk_apb"
62
63source "drivers/watchdog/Kconfig.sam"
64
65source "drivers/watchdog/Kconfig.esp32"
66
67source "drivers/watchdog/Kconfig.sam0"
68
69source "drivers/watchdog/Kconfig.nrfx"
70
71source "drivers/watchdog/Kconfig.mcux"
72
73source "drivers/watchdog/Kconfig.mcux_imx"
74
75source "drivers/watchdog/Kconfig.xec"
76
77source "drivers/watchdog/Kconfig.gecko"
78
79source "drivers/watchdog/Kconfig.sifive"
80
81source "drivers/watchdog/Kconfig.npcx"
82
83source "drivers/watchdog/Kconfig.cc32xx"
84
85source "drivers/watchdog/Kconfig.cc13xx_cc26xx"
86
87source "drivers/watchdog/Kconfig.it8xxx2"
88
89source "drivers/watchdog/Kconfig.rpi_pico"
90
91source "drivers/watchdog/Kconfig.gd32"
92
93source "drivers/watchdog/Kconfig.npm1300"
94
95source "drivers/watchdog/Kconfig.npm6001"
96
97source "drivers/watchdog/Kconfig.nxp_s32"
98
99source "drivers/watchdog/Kconfig.dw"
100
101source "drivers/watchdog/Kconfig.intel_adsp"
102
103source "drivers/watchdog/Kconfig.smartbond"
104
105source "drivers/watchdog/Kconfig.ti_tps382x"
106
107source "drivers/watchdog/Kconfig.tco"
108
109source "drivers/watchdog/Kconfig.xlnx"
110
111source "drivers/watchdog/Kconfig.ifx_cat1"
112
113source "drivers/watchdog/Kconfig.opentitan"
114
115source "drivers/watchdog/Kconfig.andes_atcwdt200"
116
117source "drivers/watchdog/Kconfig.nxp_fs26"
118
119source "drivers/watchdog/Kconfig.ambiq"
120
121source "drivers/watchdog/Kconfig.shell"
122
123source "drivers/watchdog/Kconfig.xmc4xxx"
124
125endif # WATCHDOG
126