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