blob: b6f7e4ee08aea6ce8ada09d7079c3e98b0a2d94b [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
Simon Glass0b385222024-07-31 08:44:08 -06007 imply SPL_CYCLIC if SPL
Shreenidhi Shedi0787c7c2018-02-21 16:50:20 +01008 help
9 This option enables U-Boot watchdog support where U-Boot is using
10 watchdog_reset function to service watchdog device in U-Boot. Enable
11 this option if you want to service enabled watchdog by U-Boot. Disable
12 this option if you want U-Boot to start watchdog but never service it.
13
Pali Rohárf698a772021-03-09 14:26:56 +010014config WATCHDOG_AUTOSTART
15 bool "Automatically start watchdog timer"
16 depends on WDT
Heinrich Schuchardt150528f2021-11-05 19:34:31 +010017 default n if ARCH_SUNXI
Pali Rohárf698a772021-03-09 14:26:56 +010018 default y
19 help
20 Automatically start watchdog timer and start servicing it during
21 init phase. Enabled by default. Disable this option if you want
22 to compile U-Boot with CONFIG_WDT support but do not want to
23 activate watchdog, like when CONFIG_WDT option is disabled. You
24 would be able to start watchdog manually by 'wdt' command. Useful
25 when you want to have support for 'wdt' command but do not want
26 to have watchdog enabled by default.
27
Heiko Schocherf409f1a2019-09-30 09:33:43 +020028config WATCHDOG_TIMEOUT_MSECS
29 int "Watchdog timeout in msec"
Tom Rinieac76b82021-09-09 07:54:50 -040030 default 128000 if ARCH_MX31 || ARCH_MX5 || ARCH_MX6
Heiko Schocherf409f1a2019-09-30 09:33:43 +020031 default 128000 if ARCH_MX7 || ARCH_VF610
32 default 30000 if ARCH_SOCFPGA
Samuel Holland65c982b2021-08-22 13:53:27 -050033 default 16000 if ARCH_SUNXI
Tom Rini0ab49a12023-01-10 11:19:44 -050034 default 5376 if ULP_WATCHDOG
ETIENNE DUBLE73a6e702023-01-25 10:57:28 +010035 default 15000 if ARCH_BCM283X
Heiko Schocherf409f1a2019-09-30 09:33:43 +020036 default 60000
37 help
38 Watchdog timeout in msec
39
Paolo Pisati6213c552017-02-10 17:28:05 +010040config HW_WATCHDOG
41 bool
42
Patrice Chotard4a0ae732019-04-30 17:26:20 +020043config IMX_WATCHDOG
44 bool "Enable Watchdog Timer support for IMX and LSCH2 of NXP"
Marek Vasutf7fc5c12019-06-09 03:46:22 +020045 select HW_WATCHDOG if !WDT
Patrice Chotard4a0ae732019-04-30 17:26:20 +020046 help
Michal Simek5288b9b2020-03-11 12:26:53 +010047 Select this to enable the IMX and LSCH2 of Layerscape watchdog
48 driver.
Patrice Chotard4a0ae732019-04-30 17:26:20 +020049
Michael Walleb9c72d02020-09-24 10:09:15 +020050config WATCHDOG_RESET_DISABLE
51 bool "Disable reset watchdog"
52 depends on IMX_WATCHDOG
53 help
54 Disable reset watchdog, which can let WATCHDOG_RESET invalid, so
55 that the watchdog will not be fed in u-boot.
56
Tom Rini4a3e7982017-05-12 22:33:24 -040057config OMAP_WATCHDOG
58 bool "TI OMAP watchdog driver"
59 depends on ARCH_OMAP2PLUS
60 select HW_WATCHDOG
Tom Rini4a3e7982017-05-12 22:33:24 -040061 help
62 Say Y here to enable the OMAP3+ watchdog driver.
Felipe Balbi24252da2017-07-05 20:33:20 +030063
Ye Li62862b62017-02-22 16:21:48 +080064config ULP_WATCHDOG
65 bool "i.MX7ULP watchdog"
66 help
67 Say Y here to enable i.MX7ULP watchdog driver.
68
Marek Vasut40919d92019-06-27 00:26:34 +020069config DESIGNWARE_WATCHDOG
70 bool "Designware watchdog timer support"
Tom Rinib5eb2fe2022-06-15 12:03:46 -040071 depends on WDT
72 default y if ROCKCHIP_RK3399
Marek Vasut40919d92019-06-27 00:26:34 +020073 help
Michal Simek5288b9b2020-03-11 12:26:53 +010074 Enable this to support Designware Watchdog Timer IP, present e.g.
75 on Altera SoCFPGA SoCs.
Marek Vasut40919d92019-06-27 00:26:34 +020076
maxims@google.comdaea6d42017-04-17 12:00:21 -070077config WDT
78 bool "Enable driver model for watchdog timer drivers"
79 depends on DM
Stefan Roese502acb02019-04-11 15:58:44 +020080 imply WATCHDOG
Stefan Roesecce24722022-08-18 13:22:46 +020081 select CYCLIC
maxims@google.comdaea6d42017-04-17 12:00:21 -070082 help
83 Enable driver model for watchdog timer. At the moment the API
84 is very simple and only supports four operations:
Patrice Chotard0a060242019-04-25 12:57:28 +020085 start, stop, reset and expire_now (expire immediately).
maxims@google.comdaea6d42017-04-17 12:00:21 -070086 What exactly happens when the timer expires is up to a particular
87 device/driver.
88
Mark Kettenis7e8c6dd2022-01-12 19:55:15 +010089config WDT_APPLE
90 bool "Apple watchdog timer support"
91 depends on WDT
92 default y if ARCH_APPLE
93 help
94 Enable support for the watchdog timer on Apple SoCs.
95 The watchdog will perform a full SoC reset resulting in a
96 reboot of the entire system.
97
Marek Behúna86b97d2018-04-24 17:21:30 +020098config WDT_ARMADA_37XX
99 bool "Marvell Armada 37xx watchdog timer support"
100 depends on WDT && ARMADA_3700
101 help
Michal Simek5288b9b2020-03-11 12:26:53 +0100102 Enable this to support Watchdog Timer on Marvell Armada 37xx SoC.
103 There are 4 possible clocks which can be used on these SoCs. This
104 driver uses the second clock (ID 1), assuming that so will also
105 Linux's driver.
Marek Behúna86b97d2018-04-24 17:21:30 +0200106
maxims@google.comdf35df22017-04-17 12:00:22 -0700107config WDT_ASPEED
108 bool "Aspeed ast2400/ast2500 watchdog timer support"
109 depends on WDT
110 default y if ARCH_ASPEED
111 help
112 Select this to enable watchdog timer for Aspeed ast2500/ast2400 devices.
113 The watchdog timer is stopped when initialized. It performs reset, either
114 full SoC reset or CPU or just some peripherals, based on the flags.
115 It currently does not support Boot Flash Addressing Mode Detection or
116 Second Boot.
117
Chia-Wei, Wang67ef5872020-12-14 13:54:25 +0800118config WDT_AST2600
119 bool "Aspeed AST2600 watchdog timer support"
120 depends on WDT
121 default y if ASPEED_AST2600
122 help
123 Select this to enable watchdog timer for Aspeed ast2500/ast2400 devices.
124 The watchdog timer is stopped when initialized. It performs reset, either
125 full SoC reset or CPU or just some peripherals, based on the flags.
126
Patrice Chotard4a0ae732019-04-30 17:26:20 +0200127config WDT_AT91
128 bool "AT91 watchdog timer support"
129 depends on WDT
130 help
Michal Simek5288b9b2020-03-11 12:26:53 +0100131 Select this to enable Microchip watchdog timer, which can be found on
132 some AT91 devices.
Patrice Chotard4a0ae732019-04-30 17:26:20 +0200133
Randolph330222c2024-01-24 14:21:32 +0800134config WDT_ATCWDT200
135 bool "Andes watchdog timer support"
136 depends on WDT
137 help
138 Select this to enable Andes ATCWDT200 watchdog timer
139
Álvaro Fernández Rojasd8759a52017-05-16 18:29:09 +0200140config WDT_BCM6345
141 bool "BCM6345 watchdog timer support"
William Zhangdf0b5bb2022-08-22 11:31:43 -0700142 depends on WDT && (ARCH_BMIPS || BCM6856 || \
William Zhang38921822022-08-22 11:49:08 -0700143 BCM6858 || BCM63158 || BCM6855)
Álvaro Fernández Rojasd8759a52017-05-16 18:29:09 +0200144 help
145 Select this to enable watchdog timer for BCM6345 SoCs.
146 The watchdog timer is stopped when initialized.
147 It performs full SoC reset.
148
Chris Packham69a430f2021-03-05 16:32:58 +1300149config WDT_BOOKE
150 bool "PowerPC Book-E watchdog driver"
151 depends on WDT && MPC85xx
152 help
153 Watchdog driver for PowerPC Book-E chips, such as the Freescale
154 MPC85xx SOCs and the IBM PowerPC 440.
155
Shreenidhi Shedi0787c7c2018-02-21 16:50:20 +0100156config WDT_CDNS
157 bool "Cadence watchdog timer support"
158 depends on WDT
159 imply WATCHDOG
160 help
Michal Simek5288b9b2020-03-11 12:26:53 +0100161 Select this to enable Cadence watchdog timer, which can be found on some
162 Xilinx Microzed Platform.
Shreenidhi Shedi0787c7c2018-02-21 16:50:20 +0100163
Jason Lidd2b30b2020-01-30 12:34:57 -0800164config WDT_CORTINA
165 bool "Cortina Access CAxxxx watchdog timer support"
166 depends on WDT
167 help
168 Cortina Access CAxxxx watchdog timer support.
169 This driver support all CPU ISAs supported by Cortina
Michal Simek5288b9b2020-03-11 12:26:53 +0100170 Access CAxxxx SoCs.
Jason Lidd2b30b2020-01-30 12:34:57 -0800171
Fabio Estevam74bee302024-09-17 10:55:50 -0300172config WDT_DA9063
173 bool "DA9063 watchdog timer support"
174 depends on WDT && DM_PMIC_DA9063
175 help
176 Enable support for the watchdog timer in Dialog DA9063.
177
Bastien Curutchet617f5d22024-10-03 10:42:55 +0200178config WDT_DAVINCI
179 bool "DaVinci watchdog timer support"
180 depends on WDT
181 help
182 Select this to enable the watchdog timer for DaVinci SoCs such as the
183 OMAP-L138.
184
Rasmus Villemoes08667602021-08-19 11:57:04 +0200185config WDT_GPIO
186 bool "External gpio watchdog support"
187 depends on WDT
188 depends on DM_GPIO
189 help
190 Support for external watchdog fed by toggling a gpio. See
191 doc/device-tree-bindings/watchdog/gpio-wdt.txt for
192 information on how to describe the watchdog in device tree.
193
Pali Rohárb93e8ea2022-05-02 18:41:07 +0200194config WDT_MAX6370
195 bool "MAX6370 watchdog timer support"
196 depends on WDT
197 select DM_GPIO
198 help
199 Select this to enable max6370 watchdog timer.
200
Angelo Dureghello5e118dd2023-06-24 22:30:18 +0200201config WDT_MCF
202 bool "ColdFire family watchdog timer support"
203 depends on WDT
204 help
205 Select this to enable ColdFire watchdog timer,
206 which supports mcf52x2 mcf532x mcf523x families.
207
Philippe Boos35de0c52022-06-13 16:00:56 +0200208config WDT_MESON_GXBB
209 bool "Amlogic watchdog timer support"
210 depends on WDT
211 help
212 Select this to enable Meson watchdog timer,
213 which can be found on some Amlogic platforms.
214
Christophe Leroy1919fce2023-04-03 10:27:39 +0200215config WDT_MPC8xxx
216 bool "MPC8xxx watchdog timer support"
Christophe Leroy39d37952023-04-03 10:39:59 +0200217 depends on WDT && (MPC8xx || MPC83xx)
Patrice Chotard4a0ae732019-04-30 17:26:20 +0200218 help
Christophe Leroy1919fce2023-04-03 10:27:39 +0200219 Select this to enable mpc8xxx watchdog timer
Patrice Chotard4a0ae732019-04-30 17:26:20 +0200220
Christophe Leroy0fe1a202023-04-03 10:27:39 +0200221config WDT_MPC8xxx_BME
222 bool "Enable MPC8xx Bus Monitoring"
223 depends on WDT_MPC8xxx && MPC8xx
224 help
225 Select this to enable mpc8xx Bus Monitor.
226
227config WDT_MPC8xxx_BMT
228 int "MPC8xx Bus Monitor Timing" if WDT_MPC8xxx_BME
229 range 0 255
230 default 255
231 depends on WDT_MPC8xxx
Patrice Chotard4a0ae732019-04-30 17:26:20 +0200232 help
Christophe Leroy0fe1a202023-04-03 10:27:39 +0200233 Bus monitor timing. Defines the timeout period, in 8 system clock
234 resolution, for the bus monitor.
235
236 Maximum timeout is 2,040 clocks (255 x 8).
Patrice Chotard4a0ae732019-04-30 17:26:20 +0200237
developer33a3bc92020-11-12 16:36:28 +0800238config WDT_MT7620
239 bool "MediaTek MT7620 watchdog timer support"
240 depends on WDT && SOC_MT7620
241 help
242 Select this to enable watchdog timer on MediaTek MT7620 and earlier
243 SoC chips.
244
Patrice Chotard4a0ae732019-04-30 17:26:20 +0200245config WDT_MT7621
246 bool "MediaTek MT7621 watchdog timer support"
developercf569c02022-05-20 11:23:19 +0800247 depends on WDT && (SOC_MT7621 || SOC_MT7628)
Patrice Chotard4a0ae732019-04-30 17:26:20 +0200248 help
Michal Simek5288b9b2020-03-11 12:26:53 +0100249 Select this to enable Ralink / Mediatek watchdog timer,
250 which can be found on some MediaTek chips.
Patrice Chotard4a0ae732019-04-30 17:26:20 +0200251
developer93053be2018-11-15 10:07:57 +0800252config WDT_MTK
253 bool "MediaTek watchdog timer support"
254 depends on WDT && ARCH_MEDIATEK
255 help
256 Select this to enable watchdog timer for MediaTek SoCs.
257 The watchdog timer is stopped when initialized.
258 It performs full SoC reset.
259
Jim Liufc166b02022-04-01 17:59:39 +0800260config WDT_NPCM
261 bool "Nuvoton watchdog timer support"
262 depends on WDT && ARCH_NPCM
263 help
264 This enables Nuvoton npcm7xx/npcm8xx watchdog timer driver,
265 The watchdog timer is stopped when initialized.
266 It performs full SoC reset.
267
Suneel Garapati7072b172019-10-21 16:09:36 -0700268config WDT_OCTEONTX
Stefan Roeseaf3b2102022-05-11 09:08:47 +0200269 bool "Octeon core watchdog support"
270 depends on WDT && (ARCH_OCTEON || ARCH_OCTEONTX || ARCH_OCTEONTX2)
Suneel Garapati7072b172019-10-21 16:09:36 -0700271 default y
272 imply WATCHDOG
273 help
Stefan Roeseaf3b2102022-05-11 09:08:47 +0200274 This enables the Octeon watchdog driver, which can be found on
275 various Octeon parts such as Octeon II/III and OcteonTX/TX2.
Suneel Garapati7072b172019-10-21 16:09:36 -0700276
Suniel Mahesh1c783ab2019-07-31 21:54:06 +0530277config WDT_OMAP3
Michal Simek5288b9b2020-03-11 12:26:53 +0100278 bool "TI OMAP watchdog timer support"
279 depends on WDT && ARCH_OMAP2PLUS
280 default y if AM33XX
281 help
Suniel Mahesh1c783ab2019-07-31 21:54:06 +0530282 This enables OMAP3+ watchdog timer driver, which can be
283 found on some TI chipsets and inline with driver model.
284
Patrice Chotard4a0ae732019-04-30 17:26:20 +0200285config WDT_ORION
286 bool "Orion watchdog timer support"
Shreenidhi Shedi335fb5b2018-07-15 02:05:41 +0530287 depends on WDT
Patrice Chotard4a0ae732019-04-30 17:26:20 +0200288 select CLK
Shreenidhi Shedi335fb5b2018-07-15 02:05:41 +0530289 help
Michal Simek5288b9b2020-03-11 12:26:53 +0100290 Select this to enable Orion watchdog timer, which can be found on some
291 Marvell Armada chips.
Shreenidhi Shedi335fb5b2018-07-15 02:05:41 +0530292
Jan Kiszkaddf21d52020-06-23 13:15:08 +0200293config WDT_K3_RTI
294 bool "Texas Instruments K3 RTI watchdog"
295 depends on WDT && ARCH_K3
296 help
297 Say Y here if you want to include support for the K3 watchdog
298 timer (RTI module) available in the K3 generation of processors.
299
Jan Kiszkad35cdfb2021-09-18 08:17:55 +0200300if WDT_K3_RTI
301
302config WDT_K3_RTI_LOAD_FW
303 bool "Load watchdog firmware"
304 depends on REMOTEPROC
305 help
306 Automatically load the specified firmware image into the MCU R5F
307 core 0. On the AM65x, this firmware is supposed to handle the expiry
308 of the watchdog timer, typically by resetting the system.
309
310config WDT_K3_RTI_FW_FILE
311 string "Watchdog firmware image file"
312 default "k3-rti-wdt.fw"
313 depends on WDT_K3_RTI_LOAD_FW
314 help
315 Firmware image to be embedded into U-Boot and loaded on watchdog
316 start.
317
318endif
319
Patrice Chotard4a0ae732019-04-30 17:26:20 +0200320config WDT_SANDBOX
321 bool "Enable Watchdog Timer support for Sandbox"
322 depends on SANDBOX && WDT
Xiaoliang Yang4161dc22018-10-18 17:14:19 +0800323 help
Patrice Chotard4a0ae732019-04-30 17:26:20 +0200324 Enable Watchdog Timer support in Sandbox. This is a dummy device that
325 can be probed and supports all of the methods of WDT, but does not
326 really do anything.
Xiaoliang Yang4161dc22018-10-18 17:14:19 +0800327
Rasmus Villemoesae400f32022-09-27 11:54:04 +0200328config WDT_ALARM_SANDBOX
329 bool "Enable SIGALRM-based Watchdog Timer support for Sandbox"
330 depends on SANDBOX && WDT
331 help
332 Enable support for a SIGALRM-based watchdog timer in Sandbox. This is
333 a watchdog device based on the host OS' alarm() function, which will
334 kill the sandbox with SIGALRM unless properly maintained.
335
Zhao Qiangfb816fa2020-07-10 16:55:18 +0800336config WDT_SBSA
337 bool "SBSA watchdog timer support"
338 depends on WDT
339 help
340 Select this to enable SBSA watchdog timer.
341 This driver can operate ARM SBSA Generic Watchdog as a single stage.
342 In the single stage mode, when the timeout is reached, your system
343 will be reset by WS1. The first signal (WS0) is ignored.
344
Michael Wallefa842012021-11-15 23:45:43 +0100345config WDT_SL28CPLD
346 bool "sl28cpld watchdog timer support"
347 depends on WDT && SL28CPLD
348 help
349 Enable support for the watchdog timer in the Kontron sl28cpld
350 management controller.
351
Patrice Chotard4a0ae732019-04-30 17:26:20 +0200352config WDT_SP805
353 bool "SP805 watchdog timer support"
Prasanthi Chellakumar0509c4e2018-10-09 11:46:40 -0700354 depends on WDT
355 help
Michal Simek5288b9b2020-03-11 12:26:53 +0100356 Select this to enable SP805 watchdog timer, which can be found on some
357 nxp layerscape chips.
Stefan Roese84569692018-10-04 13:39:07 +0200358
Patrice Chotard473b2442019-04-30 17:26:22 +0200359config WDT_STM32MP
360 bool "IWDG watchdog driver for STM32 MP's family"
361 depends on WDT
362 imply WATCHDOG
363 help
364 Enable the STM32 watchdog (IWDG) driver. Enable support to
365 configure STM32's on-SoC watchdog.
366
Chanho Parke8a348f2023-11-06 08:13:16 +0900367config WDT_STARFIVE
368 bool "StarFive watchdog timer support"
369 depends on WDT
370 imply WATCHDOG
371 help
372 Enable support for the watchdog timer of StarFive JH7110 SoC.
373
Samuel Holland65c982b2021-08-22 13:53:27 -0500374config WDT_SUNXI
375 bool "Allwinner sunxi watchdog timer support"
376 depends on WDT && ARCH_SUNXI
377 default y
378 help
379 Enable support for the watchdog timer in Allwinner sunxi SoCs.
380
ETIENNE DUBLE73a6e702023-01-25 10:57:28 +0100381config WDT_BCM2835
382 bool "Broadcom 2835 watchdog timer support"
383 depends on WDT && ARCH_BCM283X
384 default y
385 help
386 Enable support for the watchdog timer in Broadcom 283X SoCs such
387 as Raspberry Pi boards.
388
Patrice Chotard4a0ae732019-04-30 17:26:20 +0200389config XILINX_TB_WATCHDOG
390 bool "Xilinx Axi watchdog timer support"
391 depends on WDT
392 imply WATCHDOG
Christophe Leroy40159302018-11-21 08:51:45 +0000393 help
Michal Simek5288b9b2020-03-11 12:26:53 +0100394 Select this to enable Xilinx Axi watchdog timer, which can be found on some
395 Xilinx Microblaze Platforms.
Christophe Leroy40159302018-11-21 08:51:45 +0000396
Ashok Reddy Somaf4aecf42020-03-11 03:06:04 -0600397config WDT_XILINX
398 bool "Xilinx window watchdog timer support"
399 depends on WDT && ARCH_VERSAL
400 select REGMAP
401 imply WATCHDOG
402 help
403 Select this to enable Xilinx window watchdog timer, which can be found on
404 Xilinx Versal Platforms.
405
Andy Shevchenkod13a8a32019-06-21 13:28:08 +0300406config WDT_TANGIER
407 bool "Intel Tangier watchdog timer support"
408 depends on WDT && INTEL_MID
409 help
410 This enables support for watchdog controller available on
411 Intel Tangier SoC. If you're using a board with Intel Tangier
412 SoC, say Y here.
413
Lionel Debieve47e022c2023-04-14 15:49:15 +0200414config WDT_ARM_SMC
415 bool "ARM SMC watchdog timer support"
416 depends on WDT && ARM_SMCCC
417 imply WATCHDOG
418 help
419 Select this to enable Arm SMC watchdog timer. This watchdog will manage
420 a watchdog based on ARM SMCCC communication.
421
Marek Vasut55ec91b2019-06-09 03:46:21 +0200422config SPL_WDT
423 bool "Enable driver model for watchdog timer drivers in SPL"
424 depends on SPL_DM
Simon Glass0b385222024-07-31 08:44:08 -0600425 select SPL_CYCLIC if CYCLIC
Marek Vasut55ec91b2019-06-09 03:46:21 +0200426 help
427 Enable driver model for watchdog timer in SPL.
428 This is similar to CONFIG_WDT in U-Boot.
429
Sergei Antonova0d98602023-04-12 14:01:58 +0300430config WDT_FTWDT010
431 bool "Faraday Technology ftwdt010 watchdog timer support"
432 depends on WDT
433 imply WATCHDOG
434 help
435 Faraday Technology ftwdt010 watchdog is an architecture independent
436 watchdog. It is usually used in SoC chip design.
Ye Li62862b62017-02-22 16:21:48 +0800437endmenu