blob: 0c3e991331867bb90148a7349625f6887795c0a9 [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
Rasmus Villemoes08667602021-08-19 11:57:04 +0200172config WDT_GPIO
173 bool "External gpio watchdog support"
174 depends on WDT
175 depends on DM_GPIO
176 help
177 Support for external watchdog fed by toggling a gpio. See
178 doc/device-tree-bindings/watchdog/gpio-wdt.txt for
179 information on how to describe the watchdog in device tree.
180
Pali Rohárb93e8ea2022-05-02 18:41:07 +0200181config WDT_MAX6370
182 bool "MAX6370 watchdog timer support"
183 depends on WDT
184 select DM_GPIO
185 help
186 Select this to enable max6370 watchdog timer.
187
Angelo Dureghello5e118dd2023-06-24 22:30:18 +0200188config WDT_MCF
189 bool "ColdFire family watchdog timer support"
190 depends on WDT
191 help
192 Select this to enable ColdFire watchdog timer,
193 which supports mcf52x2 mcf532x mcf523x families.
194
Philippe Boos35de0c52022-06-13 16:00:56 +0200195config WDT_MESON_GXBB
196 bool "Amlogic watchdog timer support"
197 depends on WDT
198 help
199 Select this to enable Meson watchdog timer,
200 which can be found on some Amlogic platforms.
201
Christophe Leroy1919fce2023-04-03 10:27:39 +0200202config WDT_MPC8xxx
203 bool "MPC8xxx watchdog timer support"
Christophe Leroy39d37952023-04-03 10:39:59 +0200204 depends on WDT && (MPC8xx || MPC83xx)
Patrice Chotard4a0ae732019-04-30 17:26:20 +0200205 help
Christophe Leroy1919fce2023-04-03 10:27:39 +0200206 Select this to enable mpc8xxx watchdog timer
Patrice Chotard4a0ae732019-04-30 17:26:20 +0200207
Christophe Leroy0fe1a202023-04-03 10:27:39 +0200208config WDT_MPC8xxx_BME
209 bool "Enable MPC8xx Bus Monitoring"
210 depends on WDT_MPC8xxx && MPC8xx
211 help
212 Select this to enable mpc8xx Bus Monitor.
213
214config WDT_MPC8xxx_BMT
215 int "MPC8xx Bus Monitor Timing" if WDT_MPC8xxx_BME
216 range 0 255
217 default 255
218 depends on WDT_MPC8xxx
Patrice Chotard4a0ae732019-04-30 17:26:20 +0200219 help
Christophe Leroy0fe1a202023-04-03 10:27:39 +0200220 Bus monitor timing. Defines the timeout period, in 8 system clock
221 resolution, for the bus monitor.
222
223 Maximum timeout is 2,040 clocks (255 x 8).
Patrice Chotard4a0ae732019-04-30 17:26:20 +0200224
developer33a3bc92020-11-12 16:36:28 +0800225config WDT_MT7620
226 bool "MediaTek MT7620 watchdog timer support"
227 depends on WDT && SOC_MT7620
228 help
229 Select this to enable watchdog timer on MediaTek MT7620 and earlier
230 SoC chips.
231
Patrice Chotard4a0ae732019-04-30 17:26:20 +0200232config WDT_MT7621
233 bool "MediaTek MT7621 watchdog timer support"
developercf569c02022-05-20 11:23:19 +0800234 depends on WDT && (SOC_MT7621 || SOC_MT7628)
Patrice Chotard4a0ae732019-04-30 17:26:20 +0200235 help
Michal Simek5288b9b2020-03-11 12:26:53 +0100236 Select this to enable Ralink / Mediatek watchdog timer,
237 which can be found on some MediaTek chips.
Patrice Chotard4a0ae732019-04-30 17:26:20 +0200238
developer93053be2018-11-15 10:07:57 +0800239config WDT_MTK
240 bool "MediaTek watchdog timer support"
241 depends on WDT && ARCH_MEDIATEK
242 help
243 Select this to enable watchdog timer for MediaTek SoCs.
244 The watchdog timer is stopped when initialized.
245 It performs full SoC reset.
246
Jim Liufc166b02022-04-01 17:59:39 +0800247config WDT_NPCM
248 bool "Nuvoton watchdog timer support"
249 depends on WDT && ARCH_NPCM
250 help
251 This enables Nuvoton npcm7xx/npcm8xx watchdog timer driver,
252 The watchdog timer is stopped when initialized.
253 It performs full SoC reset.
254
Suneel Garapati7072b172019-10-21 16:09:36 -0700255config WDT_OCTEONTX
Stefan Roeseaf3b2102022-05-11 09:08:47 +0200256 bool "Octeon core watchdog support"
257 depends on WDT && (ARCH_OCTEON || ARCH_OCTEONTX || ARCH_OCTEONTX2)
Suneel Garapati7072b172019-10-21 16:09:36 -0700258 default y
259 imply WATCHDOG
260 help
Stefan Roeseaf3b2102022-05-11 09:08:47 +0200261 This enables the Octeon watchdog driver, which can be found on
262 various Octeon parts such as Octeon II/III and OcteonTX/TX2.
Suneel Garapati7072b172019-10-21 16:09:36 -0700263
Suniel Mahesh1c783ab2019-07-31 21:54:06 +0530264config WDT_OMAP3
Michal Simek5288b9b2020-03-11 12:26:53 +0100265 bool "TI OMAP watchdog timer support"
266 depends on WDT && ARCH_OMAP2PLUS
267 default y if AM33XX
268 help
Suniel Mahesh1c783ab2019-07-31 21:54:06 +0530269 This enables OMAP3+ watchdog timer driver, which can be
270 found on some TI chipsets and inline with driver model.
271
Patrice Chotard4a0ae732019-04-30 17:26:20 +0200272config WDT_ORION
273 bool "Orion watchdog timer support"
Shreenidhi Shedi335fb5b2018-07-15 02:05:41 +0530274 depends on WDT
Patrice Chotard4a0ae732019-04-30 17:26:20 +0200275 select CLK
Shreenidhi Shedi335fb5b2018-07-15 02:05:41 +0530276 help
Michal Simek5288b9b2020-03-11 12:26:53 +0100277 Select this to enable Orion watchdog timer, which can be found on some
278 Marvell Armada chips.
Shreenidhi Shedi335fb5b2018-07-15 02:05:41 +0530279
Jan Kiszkaddf21d52020-06-23 13:15:08 +0200280config WDT_K3_RTI
281 bool "Texas Instruments K3 RTI watchdog"
282 depends on WDT && ARCH_K3
283 help
284 Say Y here if you want to include support for the K3 watchdog
285 timer (RTI module) available in the K3 generation of processors.
286
Jan Kiszkad35cdfb2021-09-18 08:17:55 +0200287if WDT_K3_RTI
288
289config WDT_K3_RTI_LOAD_FW
290 bool "Load watchdog firmware"
291 depends on REMOTEPROC
292 help
293 Automatically load the specified firmware image into the MCU R5F
294 core 0. On the AM65x, this firmware is supposed to handle the expiry
295 of the watchdog timer, typically by resetting the system.
296
297config WDT_K3_RTI_FW_FILE
298 string "Watchdog firmware image file"
299 default "k3-rti-wdt.fw"
300 depends on WDT_K3_RTI_LOAD_FW
301 help
302 Firmware image to be embedded into U-Boot and loaded on watchdog
303 start.
304
305endif
306
Patrice Chotard4a0ae732019-04-30 17:26:20 +0200307config WDT_SANDBOX
308 bool "Enable Watchdog Timer support for Sandbox"
309 depends on SANDBOX && WDT
Xiaoliang Yang4161dc22018-10-18 17:14:19 +0800310 help
Patrice Chotard4a0ae732019-04-30 17:26:20 +0200311 Enable Watchdog Timer support in Sandbox. This is a dummy device that
312 can be probed and supports all of the methods of WDT, but does not
313 really do anything.
Xiaoliang Yang4161dc22018-10-18 17:14:19 +0800314
Rasmus Villemoesae400f32022-09-27 11:54:04 +0200315config WDT_ALARM_SANDBOX
316 bool "Enable SIGALRM-based Watchdog Timer support for Sandbox"
317 depends on SANDBOX && WDT
318 help
319 Enable support for a SIGALRM-based watchdog timer in Sandbox. This is
320 a watchdog device based on the host OS' alarm() function, which will
321 kill the sandbox with SIGALRM unless properly maintained.
322
Zhao Qiangfb816fa2020-07-10 16:55:18 +0800323config WDT_SBSA
324 bool "SBSA watchdog timer support"
325 depends on WDT
326 help
327 Select this to enable SBSA watchdog timer.
328 This driver can operate ARM SBSA Generic Watchdog as a single stage.
329 In the single stage mode, when the timeout is reached, your system
330 will be reset by WS1. The first signal (WS0) is ignored.
331
Michael Wallefa842012021-11-15 23:45:43 +0100332config WDT_SL28CPLD
333 bool "sl28cpld watchdog timer support"
334 depends on WDT && SL28CPLD
335 help
336 Enable support for the watchdog timer in the Kontron sl28cpld
337 management controller.
338
Patrice Chotard4a0ae732019-04-30 17:26:20 +0200339config WDT_SP805
340 bool "SP805 watchdog timer support"
Prasanthi Chellakumar0509c4e2018-10-09 11:46:40 -0700341 depends on WDT
342 help
Michal Simek5288b9b2020-03-11 12:26:53 +0100343 Select this to enable SP805 watchdog timer, which can be found on some
344 nxp layerscape chips.
Stefan Roese84569692018-10-04 13:39:07 +0200345
Patrice Chotard473b2442019-04-30 17:26:22 +0200346config WDT_STM32MP
347 bool "IWDG watchdog driver for STM32 MP's family"
348 depends on WDT
349 imply WATCHDOG
350 help
351 Enable the STM32 watchdog (IWDG) driver. Enable support to
352 configure STM32's on-SoC watchdog.
353
Chanho Parke8a348f2023-11-06 08:13:16 +0900354config WDT_STARFIVE
355 bool "StarFive watchdog timer support"
356 depends on WDT
357 imply WATCHDOG
358 help
359 Enable support for the watchdog timer of StarFive JH7110 SoC.
360
Samuel Holland65c982b2021-08-22 13:53:27 -0500361config WDT_SUNXI
362 bool "Allwinner sunxi watchdog timer support"
363 depends on WDT && ARCH_SUNXI
364 default y
365 help
366 Enable support for the watchdog timer in Allwinner sunxi SoCs.
367
ETIENNE DUBLE73a6e702023-01-25 10:57:28 +0100368config WDT_BCM2835
369 bool "Broadcom 2835 watchdog timer support"
370 depends on WDT && ARCH_BCM283X
371 default y
372 help
373 Enable support for the watchdog timer in Broadcom 283X SoCs such
374 as Raspberry Pi boards.
375
Patrice Chotard4a0ae732019-04-30 17:26:20 +0200376config XILINX_TB_WATCHDOG
377 bool "Xilinx Axi watchdog timer support"
378 depends on WDT
379 imply WATCHDOG
Christophe Leroy40159302018-11-21 08:51:45 +0000380 help
Michal Simek5288b9b2020-03-11 12:26:53 +0100381 Select this to enable Xilinx Axi watchdog timer, which can be found on some
382 Xilinx Microblaze Platforms.
Christophe Leroy40159302018-11-21 08:51:45 +0000383
Ashok Reddy Somaf4aecf42020-03-11 03:06:04 -0600384config WDT_XILINX
385 bool "Xilinx window watchdog timer support"
386 depends on WDT && ARCH_VERSAL
387 select REGMAP
388 imply WATCHDOG
389 help
390 Select this to enable Xilinx window watchdog timer, which can be found on
391 Xilinx Versal Platforms.
392
Andy Shevchenkod13a8a32019-06-21 13:28:08 +0300393config WDT_TANGIER
394 bool "Intel Tangier watchdog timer support"
395 depends on WDT && INTEL_MID
396 help
397 This enables support for watchdog controller available on
398 Intel Tangier SoC. If you're using a board with Intel Tangier
399 SoC, say Y here.
400
Lionel Debieve47e022c2023-04-14 15:49:15 +0200401config WDT_ARM_SMC
402 bool "ARM SMC watchdog timer support"
403 depends on WDT && ARM_SMCCC
404 imply WATCHDOG
405 help
406 Select this to enable Arm SMC watchdog timer. This watchdog will manage
407 a watchdog based on ARM SMCCC communication.
408
Marek Vasut55ec91b2019-06-09 03:46:21 +0200409config SPL_WDT
410 bool "Enable driver model for watchdog timer drivers in SPL"
411 depends on SPL_DM
Simon Glass0b385222024-07-31 08:44:08 -0600412 select SPL_CYCLIC if CYCLIC
Marek Vasut55ec91b2019-06-09 03:46:21 +0200413 help
414 Enable driver model for watchdog timer in SPL.
415 This is similar to CONFIG_WDT in U-Boot.
416
Sergei Antonova0d98602023-04-12 14:01:58 +0300417config WDT_FTWDT010
418 bool "Faraday Technology ftwdt010 watchdog timer support"
419 depends on WDT
420 imply WATCHDOG
421 help
422 Faraday Technology ftwdt010 watchdog is an architecture independent
423 watchdog. It is usually used in SoC chip design.
Ye Li62862b62017-02-22 16:21:48 +0800424endmenu