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 HAS_WDT_DISABLE_AT_BOOT
15	bool
16
17config WDT_DISABLE_AT_BOOT
18	bool "Disable at boot"
19	depends on HAS_WDT_DISABLE_AT_BOOT
20	help
21	  Disable watchdog at Zephyr system startup.
22
23config HAS_WDT_NO_CALLBACKS
24	bool
25	help
26	  Watchdog driver does not support callbacks.
27
28module = WDT
29module-str = watchdog
30source "subsys/logging/Kconfig.template.log_config"
31
32config HAS_WDT_MULTISTAGE
33	bool
34
35config WDT_MULTISTAGE
36	bool "Multistage timeouts"
37	depends on HAS_WDT_MULTISTAGE
38	help
39	  Enable multistage operation of watchdog timeouts.
40
41config WDT_COUNTER
42	bool "Counter based watchdog"
43	default y
44	depends on DT_HAS_ZEPHYR_COUNTER_WATCHDOG_ENABLED
45	select COUNTER
46	help
47	  Watchdog emulated with counter device. If counter device supports using
48	  zero latency interrupts (ZLI) then expiration callback can be called from
49	  that context. This watchdog can be used along hardware watchdog to
50	  overcome hardware  watchdog limitations, e.g. Nordic devices reset
51	  unconditionally at fixed time after hitting watchdog interrupt, leaving
52	  no time to print debug information. Watchdog has limitations since it
53	  cannot interrupt same or higher priorities so it cannot fully replace
54	  hardware based watchdog.
55
56if WDT_COUNTER
57
58config WDT_COUNTER_CH_COUNT
59	int "Maximum number of supported channel"
60	default 4
61	range 1 $(UINT8_MAX)
62	help
63	  Note that actual channel count will be limited to number of channels
64	  supported by the counter device which is used for watchdog.
65
66endif # WDT_COUNTER
67
68source "drivers/watchdog/Kconfig.stm32"
69
70source "drivers/watchdog/Kconfig.cmsdk_apb"
71
72source "drivers/watchdog/Kconfig.esp32"
73
74source "drivers/watchdog/Kconfig.sam"
75
76source "drivers/watchdog/Kconfig.sam4l"
77
78source "drivers/watchdog/Kconfig.sam0"
79
80source "drivers/watchdog/Kconfig.nrfx"
81
82source "drivers/watchdog/Kconfig.mcux"
83
84source "drivers/watchdog/Kconfig.mcux_imx"
85
86source "drivers/watchdog/Kconfig.xec"
87
88source "drivers/watchdog/Kconfig.gecko"
89
90source "drivers/watchdog/Kconfig.siwx91x"
91
92source "drivers/watchdog/Kconfig.sifive"
93
94source "drivers/watchdog/Kconfig.npcx"
95
96source "drivers/watchdog/Kconfig.cc32xx"
97
98source "drivers/watchdog/Kconfig.cc13xx_cc26xx"
99
100source "drivers/watchdog/Kconfig.it8xxx2"
101
102source "drivers/watchdog/Kconfig.rpi_pico"
103
104source "drivers/watchdog/Kconfig.gd32"
105
106source "drivers/watchdog/Kconfig.npm1300"
107
108source "drivers/watchdog/Kconfig.npm2100"
109
110source "drivers/watchdog/Kconfig.npm6001"
111
112source "drivers/watchdog/Kconfig.nxp_s32"
113
114source "drivers/watchdog/Kconfig.dw"
115
116source "drivers/watchdog/Kconfig.intel_adsp"
117
118source "drivers/watchdog/Kconfig.smartbond"
119
120source "drivers/watchdog/Kconfig.ti_tps382x"
121
122source "drivers/watchdog/Kconfig.tco"
123
124source "drivers/watchdog/Kconfig.xlnx"
125
126source "drivers/watchdog/Kconfig.ifx_cat1"
127
128source "drivers/watchdog/Kconfig.opentitan"
129
130source "drivers/watchdog/Kconfig.andes_atcwdt200"
131
132source "drivers/watchdog/Kconfig.nxp_fs26"
133
134source "drivers/watchdog/Kconfig.ambiq"
135
136source "drivers/watchdog/Kconfig.shell"
137
138source "drivers/watchdog/Kconfig.max32"
139
140source "drivers/watchdog/Kconfig.xmc4xxx"
141
142source "drivers/watchdog/Kconfig.numaker"
143
144source "drivers/watchdog/Kconfig.ene"
145
146source "drivers/watchdog/Kconfig.litex"
147
148source "drivers/watchdog/Kconfig.rts5912"
149
150source "drivers/watchdog/Kconfig.renesas_ra"
151
152endif # WATCHDOG
153