blob: b5ac8f7f50dc5bbeea6ad64690b4250b33c26612 [file] [log] [blame]
maxims@google.comdaea6d42017-04-17 12:00:21 -07001menu "Watchdog Timer Support"
Ye Li62862b62017-02-22 16:21:48 +08002
Shreenidhi Shedi0787c7c2018-02-21 16:50:20 +01003config WATCHDOG
4 bool "Enable U-Boot watchdog reset"
Christophe Leroy9a5760e2020-02-26 16:17:52 +00005 depends on !HW_WATCHDOG
Stefan Roesecce24722022-08-18 13:22:46 +02006 select CYCLIC
Shreenidhi Shedi0787c7c2018-02-21 16:50:20 +01007 help
8 This option enables U-Boot watchdog support where U-Boot is using
9 watchdog_reset function to service watchdog device in U-Boot. Enable
10 this option if you want to service enabled watchdog by U-Boot. Disable
11 this option if you want U-Boot to start watchdog but never service it.
12
Pali Rohárf698a772021-03-09 14:26:56 +010013config WATCHDOG_AUTOSTART
14 bool "Automatically start watchdog timer"
15 depends on WDT
Heinrich Schuchardt150528f2021-11-05 19:34:31 +010016 default n if ARCH_SUNXI
Pali Rohárf698a772021-03-09 14:26:56 +010017 default y
18 help
19 Automatically start watchdog timer and start servicing it during
20 init phase. Enabled by default. Disable this option if you want
21 to compile U-Boot with CONFIG_WDT support but do not want to
22 activate watchdog, like when CONFIG_WDT option is disabled. You
23 would be able to start watchdog manually by 'wdt' command. Useful
24 when you want to have support for 'wdt' command but do not want
25 to have watchdog enabled by default.
26
Heiko Schocherf409f1a2019-09-30 09:33:43 +020027config WATCHDOG_TIMEOUT_MSECS
28 int "Watchdog timeout in msec"
Tom Rinieac76b82021-09-09 07:54:50 -040029 default 128000 if ARCH_MX31 || ARCH_MX5 || ARCH_MX6
Heiko Schocherf409f1a2019-09-30 09:33:43 +020030 default 128000 if ARCH_MX7 || ARCH_VF610
31 default 30000 if ARCH_SOCFPGA
Samuel Holland65c982b2021-08-22 13:53:27 -050032 default 16000 if ARCH_SUNXI
Tom Rini0ab49a12023-01-10 11:19:44 -050033 default 5376 if ULP_WATCHDOG
Heiko Schocherf409f1a2019-09-30 09:33:43 +020034 default 60000
35 help
36 Watchdog timeout in msec
37
Paolo Pisati6213c552017-02-10 17:28:05 +010038config HW_WATCHDOG
39 bool
40
Patrice Chotard4a0ae732019-04-30 17:26:20 +020041config IMX_WATCHDOG
42 bool "Enable Watchdog Timer support for IMX and LSCH2 of NXP"
Marek Vasutf7fc5c12019-06-09 03:46:22 +020043 select HW_WATCHDOG if !WDT
Patrice Chotard4a0ae732019-04-30 17:26:20 +020044 help
Michal Simek5288b9b2020-03-11 12:26:53 +010045 Select this to enable the IMX and LSCH2 of Layerscape watchdog
46 driver.
Patrice Chotard4a0ae732019-04-30 17:26:20 +020047
Michael Walleb9c72d02020-09-24 10:09:15 +020048config WATCHDOG_RESET_DISABLE
49 bool "Disable reset watchdog"
50 depends on IMX_WATCHDOG
51 help
52 Disable reset watchdog, which can let WATCHDOG_RESET invalid, so
53 that the watchdog will not be fed in u-boot.
54
Tom Rini4a3e7982017-05-12 22:33:24 -040055config OMAP_WATCHDOG
56 bool "TI OMAP watchdog driver"
57 depends on ARCH_OMAP2PLUS
58 select HW_WATCHDOG
Tom Rini4a3e7982017-05-12 22:33:24 -040059 help
60 Say Y here to enable the OMAP3+ watchdog driver.
Felipe Balbi24252da2017-07-05 20:33:20 +030061
Ye Li62862b62017-02-22 16:21:48 +080062config ULP_WATCHDOG
63 bool "i.MX7ULP watchdog"
64 help
65 Say Y here to enable i.MX7ULP watchdog driver.
66
Marek Vasut40919d92019-06-27 00:26:34 +020067config DESIGNWARE_WATCHDOG
68 bool "Designware watchdog timer support"
Tom Rinib5eb2fe2022-06-15 12:03:46 -040069 depends on WDT
70 default y if ROCKCHIP_RK3399
Marek Vasut40919d92019-06-27 00:26:34 +020071 help
Michal Simek5288b9b2020-03-11 12:26:53 +010072 Enable this to support Designware Watchdog Timer IP, present e.g.
73 on Altera SoCFPGA SoCs.
Marek Vasut40919d92019-06-27 00:26:34 +020074
maxims@google.comdaea6d42017-04-17 12:00:21 -070075config WDT
76 bool "Enable driver model for watchdog timer drivers"
77 depends on DM
Stefan Roese502acb02019-04-11 15:58:44 +020078 imply WATCHDOG
Stefan Roesecce24722022-08-18 13:22:46 +020079 select CYCLIC
maxims@google.comdaea6d42017-04-17 12:00:21 -070080 help
81 Enable driver model for watchdog timer. At the moment the API
82 is very simple and only supports four operations:
Patrice Chotard0a060242019-04-25 12:57:28 +020083 start, stop, reset and expire_now (expire immediately).
maxims@google.comdaea6d42017-04-17 12:00:21 -070084 What exactly happens when the timer expires is up to a particular
85 device/driver.
86
Mark Kettenis7e8c6dd2022-01-12 19:55:15 +010087config WDT_APPLE
88 bool "Apple watchdog timer support"
89 depends on WDT
90 default y if ARCH_APPLE
91 help
92 Enable support for the watchdog timer on Apple SoCs.
93 The watchdog will perform a full SoC reset resulting in a
94 reboot of the entire system.
95
Marek Behúna86b97d2018-04-24 17:21:30 +020096config WDT_ARMADA_37XX
97 bool "Marvell Armada 37xx watchdog timer support"
98 depends on WDT && ARMADA_3700
99 help
Michal Simek5288b9b2020-03-11 12:26:53 +0100100 Enable this to support Watchdog Timer on Marvell Armada 37xx SoC.
101 There are 4 possible clocks which can be used on these SoCs. This
102 driver uses the second clock (ID 1), assuming that so will also
103 Linux's driver.
Marek Behúna86b97d2018-04-24 17:21:30 +0200104
maxims@google.comdf35df22017-04-17 12:00:22 -0700105config WDT_ASPEED
106 bool "Aspeed ast2400/ast2500 watchdog timer support"
107 depends on WDT
108 default y if ARCH_ASPEED
109 help
110 Select this to enable watchdog timer for Aspeed ast2500/ast2400 devices.
111 The watchdog timer is stopped when initialized. It performs reset, either
112 full SoC reset or CPU or just some peripherals, based on the flags.
113 It currently does not support Boot Flash Addressing Mode Detection or
114 Second Boot.
115
Chia-Wei, Wang67ef5872020-12-14 13:54:25 +0800116config WDT_AST2600
117 bool "Aspeed AST2600 watchdog timer support"
118 depends on WDT
119 default y if ASPEED_AST2600
120 help
121 Select this to enable watchdog timer for Aspeed ast2500/ast2400 devices.
122 The watchdog timer is stopped when initialized. It performs reset, either
123 full SoC reset or CPU or just some peripherals, based on the flags.
124
Patrice Chotard4a0ae732019-04-30 17:26:20 +0200125config WDT_AT91
126 bool "AT91 watchdog timer support"
127 depends on WDT
128 help
Michal Simek5288b9b2020-03-11 12:26:53 +0100129 Select this to enable Microchip watchdog timer, which can be found on
130 some AT91 devices.
Patrice Chotard4a0ae732019-04-30 17:26:20 +0200131
Álvaro Fernández Rojasd8759a52017-05-16 18:29:09 +0200132config WDT_BCM6345
133 bool "BCM6345 watchdog timer support"
William Zhangdf0b5bb2022-08-22 11:31:43 -0700134 depends on WDT && (ARCH_BMIPS || BCM6856 || \
William Zhang38921822022-08-22 11:49:08 -0700135 BCM6858 || BCM63158 || BCM6855)
Álvaro Fernández Rojasd8759a52017-05-16 18:29:09 +0200136 help
137 Select this to enable watchdog timer for BCM6345 SoCs.
138 The watchdog timer is stopped when initialized.
139 It performs full SoC reset.
140
Chris Packham69a430f2021-03-05 16:32:58 +1300141config WDT_BOOKE
142 bool "PowerPC Book-E watchdog driver"
143 depends on WDT && MPC85xx
144 help
145 Watchdog driver for PowerPC Book-E chips, such as the Freescale
146 MPC85xx SOCs and the IBM PowerPC 440.
147
Shreenidhi Shedi0787c7c2018-02-21 16:50:20 +0100148config WDT_CDNS
149 bool "Cadence watchdog timer support"
150 depends on WDT
151 imply WATCHDOG
152 help
Michal Simek5288b9b2020-03-11 12:26:53 +0100153 Select this to enable Cadence watchdog timer, which can be found on some
154 Xilinx Microzed Platform.
Shreenidhi Shedi0787c7c2018-02-21 16:50:20 +0100155
Jason Lidd2b30b2020-01-30 12:34:57 -0800156config WDT_CORTINA
157 bool "Cortina Access CAxxxx watchdog timer support"
158 depends on WDT
159 help
160 Cortina Access CAxxxx watchdog timer support.
161 This driver support all CPU ISAs supported by Cortina
Michal Simek5288b9b2020-03-11 12:26:53 +0100162 Access CAxxxx SoCs.
Jason Lidd2b30b2020-01-30 12:34:57 -0800163
Rasmus Villemoes08667602021-08-19 11:57:04 +0200164config WDT_GPIO
165 bool "External gpio watchdog support"
166 depends on WDT
167 depends on DM_GPIO
168 help
169 Support for external watchdog fed by toggling a gpio. See
170 doc/device-tree-bindings/watchdog/gpio-wdt.txt for
171 information on how to describe the watchdog in device tree.
172
Pali Rohárb93e8ea2022-05-02 18:41:07 +0200173config WDT_MAX6370
174 bool "MAX6370 watchdog timer support"
175 depends on WDT
176 select DM_GPIO
177 help
178 Select this to enable max6370 watchdog timer.
179
Philippe Boos35de0c52022-06-13 16:00:56 +0200180config WDT_MESON_GXBB
181 bool "Amlogic watchdog timer support"
182 depends on WDT
183 help
184 Select this to enable Meson watchdog timer,
185 which can be found on some Amlogic platforms.
186
Patrice Chotard4a0ae732019-04-30 17:26:20 +0200187config WDT_MPC8xx
188 bool "MPC8xx watchdog timer support"
189 depends on WDT && MPC8xx
Christophe Leroy545e8942020-02-20 07:39:51 +0000190 select HW_WATCHDOG
Patrice Chotard4a0ae732019-04-30 17:26:20 +0200191 help
Michal Simek5288b9b2020-03-11 12:26:53 +0100192 Select this to enable mpc8xx watchdog timer
Patrice Chotard4a0ae732019-04-30 17:26:20 +0200193
developer33a3bc92020-11-12 16:36:28 +0800194config WDT_MT7620
195 bool "MediaTek MT7620 watchdog timer support"
196 depends on WDT && SOC_MT7620
197 help
198 Select this to enable watchdog timer on MediaTek MT7620 and earlier
199 SoC chips.
200
Patrice Chotard4a0ae732019-04-30 17:26:20 +0200201config WDT_MT7621
202 bool "MediaTek MT7621 watchdog timer support"
developercf569c02022-05-20 11:23:19 +0800203 depends on WDT && (SOC_MT7621 || SOC_MT7628)
Patrice Chotard4a0ae732019-04-30 17:26:20 +0200204 help
Michal Simek5288b9b2020-03-11 12:26:53 +0100205 Select this to enable Ralink / Mediatek watchdog timer,
206 which can be found on some MediaTek chips.
Patrice Chotard4a0ae732019-04-30 17:26:20 +0200207
developer93053be2018-11-15 10:07:57 +0800208config WDT_MTK
209 bool "MediaTek watchdog timer support"
210 depends on WDT && ARCH_MEDIATEK
211 help
212 Select this to enable watchdog timer for MediaTek SoCs.
213 The watchdog timer is stopped when initialized.
214 It performs full SoC reset.
215
Jim Liufc166b02022-04-01 17:59:39 +0800216config WDT_NPCM
217 bool "Nuvoton watchdog timer support"
218 depends on WDT && ARCH_NPCM
219 help
220 This enables Nuvoton npcm7xx/npcm8xx watchdog timer driver,
221 The watchdog timer is stopped when initialized.
222 It performs full SoC reset.
223
Suneel Garapati7072b172019-10-21 16:09:36 -0700224config WDT_OCTEONTX
Stefan Roeseaf3b2102022-05-11 09:08:47 +0200225 bool "Octeon core watchdog support"
226 depends on WDT && (ARCH_OCTEON || ARCH_OCTEONTX || ARCH_OCTEONTX2)
Suneel Garapati7072b172019-10-21 16:09:36 -0700227 default y
228 imply WATCHDOG
229 help
Stefan Roeseaf3b2102022-05-11 09:08:47 +0200230 This enables the Octeon watchdog driver, which can be found on
231 various Octeon parts such as Octeon II/III and OcteonTX/TX2.
Suneel Garapati7072b172019-10-21 16:09:36 -0700232
Suniel Mahesh1c783ab2019-07-31 21:54:06 +0530233config WDT_OMAP3
Michal Simek5288b9b2020-03-11 12:26:53 +0100234 bool "TI OMAP watchdog timer support"
235 depends on WDT && ARCH_OMAP2PLUS
236 default y if AM33XX
237 help
Suniel Mahesh1c783ab2019-07-31 21:54:06 +0530238 This enables OMAP3+ watchdog timer driver, which can be
239 found on some TI chipsets and inline with driver model.
240
Patrice Chotard4a0ae732019-04-30 17:26:20 +0200241config WDT_ORION
242 bool "Orion watchdog timer support"
Shreenidhi Shedi335fb5b2018-07-15 02:05:41 +0530243 depends on WDT
Patrice Chotard4a0ae732019-04-30 17:26:20 +0200244 select CLK
Shreenidhi Shedi335fb5b2018-07-15 02:05:41 +0530245 help
Michal Simek5288b9b2020-03-11 12:26:53 +0100246 Select this to enable Orion watchdog timer, which can be found on some
247 Marvell Armada chips.
Shreenidhi Shedi335fb5b2018-07-15 02:05:41 +0530248
Jan Kiszkaddf21d52020-06-23 13:15:08 +0200249config WDT_K3_RTI
250 bool "Texas Instruments K3 RTI watchdog"
251 depends on WDT && ARCH_K3
252 help
253 Say Y here if you want to include support for the K3 watchdog
254 timer (RTI module) available in the K3 generation of processors.
255
Jan Kiszkad35cdfb2021-09-18 08:17:55 +0200256if WDT_K3_RTI
257
258config WDT_K3_RTI_LOAD_FW
259 bool "Load watchdog firmware"
260 depends on REMOTEPROC
261 help
262 Automatically load the specified firmware image into the MCU R5F
263 core 0. On the AM65x, this firmware is supposed to handle the expiry
264 of the watchdog timer, typically by resetting the system.
265
266config WDT_K3_RTI_FW_FILE
267 string "Watchdog firmware image file"
268 default "k3-rti-wdt.fw"
269 depends on WDT_K3_RTI_LOAD_FW
270 help
271 Firmware image to be embedded into U-Boot and loaded on watchdog
272 start.
273
274endif
275
Patrice Chotard4a0ae732019-04-30 17:26:20 +0200276config WDT_SANDBOX
277 bool "Enable Watchdog Timer support for Sandbox"
278 depends on SANDBOX && WDT
Xiaoliang Yang4161dc22018-10-18 17:14:19 +0800279 help
Patrice Chotard4a0ae732019-04-30 17:26:20 +0200280 Enable Watchdog Timer support in Sandbox. This is a dummy device that
281 can be probed and supports all of the methods of WDT, but does not
282 really do anything.
Xiaoliang Yang4161dc22018-10-18 17:14:19 +0800283
Rasmus Villemoesae400f32022-09-27 11:54:04 +0200284config WDT_ALARM_SANDBOX
285 bool "Enable SIGALRM-based Watchdog Timer support for Sandbox"
286 depends on SANDBOX && WDT
287 help
288 Enable support for a SIGALRM-based watchdog timer in Sandbox. This is
289 a watchdog device based on the host OS' alarm() function, which will
290 kill the sandbox with SIGALRM unless properly maintained.
291
Zhao Qiangfb816fa2020-07-10 16:55:18 +0800292config WDT_SBSA
293 bool "SBSA watchdog timer support"
294 depends on WDT
295 help
296 Select this to enable SBSA watchdog timer.
297 This driver can operate ARM SBSA Generic Watchdog as a single stage.
298 In the single stage mode, when the timeout is reached, your system
299 will be reset by WS1. The first signal (WS0) is ignored.
300
Michael Wallefa842012021-11-15 23:45:43 +0100301config WDT_SL28CPLD
302 bool "sl28cpld watchdog timer support"
303 depends on WDT && SL28CPLD
304 help
305 Enable support for the watchdog timer in the Kontron sl28cpld
306 management controller.
307
Patrice Chotard4a0ae732019-04-30 17:26:20 +0200308config WDT_SP805
309 bool "SP805 watchdog timer support"
Prasanthi Chellakumar0509c4e2018-10-09 11:46:40 -0700310 depends on WDT
311 help
Michal Simek5288b9b2020-03-11 12:26:53 +0100312 Select this to enable SP805 watchdog timer, which can be found on some
313 nxp layerscape chips.
Stefan Roese84569692018-10-04 13:39:07 +0200314
Patrice Chotard473b2442019-04-30 17:26:22 +0200315config WDT_STM32MP
316 bool "IWDG watchdog driver for STM32 MP's family"
317 depends on WDT
318 imply WATCHDOG
319 help
320 Enable the STM32 watchdog (IWDG) driver. Enable support to
321 configure STM32's on-SoC watchdog.
322
Samuel Holland65c982b2021-08-22 13:53:27 -0500323config WDT_SUNXI
324 bool "Allwinner sunxi watchdog timer support"
325 depends on WDT && ARCH_SUNXI
326 default y
327 help
328 Enable support for the watchdog timer in Allwinner sunxi SoCs.
329
Patrice Chotard4a0ae732019-04-30 17:26:20 +0200330config XILINX_TB_WATCHDOG
331 bool "Xilinx Axi watchdog timer support"
332 depends on WDT
333 imply WATCHDOG
Christophe Leroy40159302018-11-21 08:51:45 +0000334 help
Michal Simek5288b9b2020-03-11 12:26:53 +0100335 Select this to enable Xilinx Axi watchdog timer, which can be found on some
336 Xilinx Microblaze Platforms.
Christophe Leroy40159302018-11-21 08:51:45 +0000337
Ashok Reddy Somaf4aecf42020-03-11 03:06:04 -0600338config WDT_XILINX
339 bool "Xilinx window watchdog timer support"
340 depends on WDT && ARCH_VERSAL
341 select REGMAP
342 imply WATCHDOG
343 help
344 Select this to enable Xilinx window watchdog timer, which can be found on
345 Xilinx Versal Platforms.
346
Andy Shevchenkod13a8a32019-06-21 13:28:08 +0300347config WDT_TANGIER
348 bool "Intel Tangier watchdog timer support"
349 depends on WDT && INTEL_MID
350 help
351 This enables support for watchdog controller available on
352 Intel Tangier SoC. If you're using a board with Intel Tangier
353 SoC, say Y here.
354
Marek Vasut55ec91b2019-06-09 03:46:21 +0200355config SPL_WDT
356 bool "Enable driver model for watchdog timer drivers in SPL"
357 depends on SPL_DM
358 help
359 Enable driver model for watchdog timer in SPL.
360 This is similar to CONFIG_WDT in U-Boot.
361
Ye Li62862b62017-02-22 16:21:48 +0800362endmenu