blob: 0e45f0a0922452d2dba53aa98a6b37a75ffa2b8f [file] [log] [blame]
maxims@google.com0753bc22017-04-17 12:00:21 -07001menu "Watchdog Timer Support"
Ye Li253531b2017-02-22 16:21:48 +08002
Shreenidhi Shedi42537ca2018-02-21 16:50:20 +01003config WATCHDOG
4 bool "Enable U-Boot watchdog reset"
Christophe Leroy7e00e902020-02-26 16:17:52 +00005 depends on !HW_WATCHDOG
Stefan Roesec2fd0ca2022-08-18 13:22:46 +02006 select CYCLIC
Simon Glass8ada14b2024-07-31 08:44:08 -06007 imply SPL_CYCLIC if SPL
Shreenidhi Shedi42537ca2018-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ár830d29a2021-03-09 14:26:56 +010014config WATCHDOG_AUTOSTART
15 bool "Automatically start watchdog timer"
16 depends on WDT
Heinrich Schuchardt86798ee2021-11-05 19:34:31 +010017 default n if ARCH_SUNXI
Pali Rohár830d29a2021-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 Schocherca51ef72019-09-30 09:33:43 +020028config WATCHDOG_TIMEOUT_MSECS
29 int "Watchdog timeout in msec"
Tom Rini8ba59602021-09-09 07:54:50 -040030 default 128000 if ARCH_MX31 || ARCH_MX5 || ARCH_MX6
Heiko Schocherca51ef72019-09-30 09:33:43 +020031 default 128000 if ARCH_MX7 || ARCH_VF610
32 default 30000 if ARCH_SOCFPGA
Samuel Holland93d34fa2021-08-22 13:53:27 -050033 default 16000 if ARCH_SUNXI
Tom Riniad242342023-01-10 11:19:44 -050034 default 5376 if ULP_WATCHDOG
ETIENNE DUBLE89c4fec2023-01-25 10:57:28 +010035 default 15000 if ARCH_BCM283X
Heiko Schocherca51ef72019-09-30 09:33:43 +020036 default 60000
37 help
38 Watchdog timeout in msec
39
Paolo Pisati45a6d232017-02-10 17:28:05 +010040config HW_WATCHDOG
41 bool
42
Patrice Chotardb3134ff2019-04-30 17:26:20 +020043config IMX_WATCHDOG
44 bool "Enable Watchdog Timer support for IMX and LSCH2 of NXP"
Marek Vasut4b969de2019-06-09 03:46:22 +020045 select HW_WATCHDOG if !WDT
Patrice Chotardb3134ff2019-04-30 17:26:20 +020046 help
Michal Simek92a19be2020-03-11 12:26:53 +010047 Select this to enable the IMX and LSCH2 of Layerscape watchdog
48 driver.
Patrice Chotardb3134ff2019-04-30 17:26:20 +020049
Michael Walle95b3d6a2020-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 Rini897f7062017-05-12 22:33:24 -040057config OMAP_WATCHDOG
58 bool "TI OMAP watchdog driver"
59 depends on ARCH_OMAP2PLUS
60 select HW_WATCHDOG
Tom Rini897f7062017-05-12 22:33:24 -040061 help
62 Say Y here to enable the OMAP3+ watchdog driver.
Felipe Balbi8f8a12d2017-07-05 20:33:20 +030063
Ye Li253531b2017-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 Vasut8941f842019-06-27 00:26:34 +020069config DESIGNWARE_WATCHDOG
70 bool "Designware watchdog timer support"
Tom Rini02854552022-06-15 12:03:46 -040071 depends on WDT
72 default y if ROCKCHIP_RK3399
Marek Vasut8941f842019-06-27 00:26:34 +020073 help
Michal Simek92a19be2020-03-11 12:26:53 +010074 Enable this to support Designware Watchdog Timer IP, present e.g.
75 on Altera SoCFPGA SoCs.
Marek Vasut8941f842019-06-27 00:26:34 +020076
maxims@google.com0753bc22017-04-17 12:00:21 -070077config WDT
78 bool "Enable driver model for watchdog timer drivers"
79 depends on DM
Stefan Roese06985282019-04-11 15:58:44 +020080 imply WATCHDOG
Stefan Roesec2fd0ca2022-08-18 13:22:46 +020081 select CYCLIC
maxims@google.com0753bc22017-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 Chotard8d4f91b2019-04-25 12:57:28 +020085 start, stop, reset and expire_now (expire immediately).
maxims@google.com0753bc22017-04-17 12:00:21 -070086 What exactly happens when the timer expires is up to a particular
87 device/driver.
88
Mark Kettenisee327d12022-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ún2b69a672018-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 Simek92a19be2020-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ún2b69a672018-04-24 17:21:30 +0200106
maxims@google.com1eb0a462017-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, Wang337d95c2020-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 Chotardb3134ff2019-04-30 17:26:20 +0200127config WDT_AT91
128 bool "AT91 watchdog timer support"
129 depends on WDT
130 help
Michal Simek92a19be2020-03-11 12:26:53 +0100131 Select this to enable Microchip watchdog timer, which can be found on
132 some AT91 devices.
Patrice Chotardb3134ff2019-04-30 17:26:20 +0200133
Randolph4350e992024-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 Rojas77331932017-05-16 18:29:09 +0200140config WDT_BCM6345
141 bool "BCM6345 watchdog timer support"
William Zhang4dcd23f2022-08-22 11:31:43 -0700142 depends on WDT && (ARCH_BMIPS || BCM6856 || \
William Zhang8c1a9c72022-08-22 11:49:08 -0700143 BCM6858 || BCM63158 || BCM6855)
Álvaro Fernández Rojas77331932017-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 Packham017af7f2021-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
Patrice Chotardb3134ff2019-04-30 17:26:20 +0200156config WDT_CDNS
157 bool "Cadence watchdog timer support"
158 depends on WDT
159 imply WATCHDOG
160 help
Michal Simek92a19be2020-03-11 12:26:53 +0100161 Select this to enable Cadence watchdog timer, which can be found on some
162 Xilinx Microzed Platform.
Patrice Chotardb3134ff2019-04-30 17:26:20 +0200163
Jason Li7f54b832020-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 Simek92a19be2020-03-11 12:26:53 +0100170 Access CAxxxx SoCs.
Jason Li7f54b832020-01-30 12:34:57 -0800171
Fabio Estevam52612182024-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 Curutchetf9318b02024-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 Villemoes2ac84902021-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
Rasmus Villemoesed3410e2024-10-07 19:47:16 +0200194config SPL_WDT_GPIO
195 bool "External gpio watchdog support in SPL"
196 depends on SPL_WDT
197 depends on SPL_DM_GPIO
198 depends on SPL_OF_REAL
199 default WDT_GPIO
200 help
201 Support for external watchdog fed by toggling a gpio in SPL.
202
Pali Rohár0a095fc2022-05-02 18:41:07 +0200203config WDT_MAX6370
204 bool "MAX6370 watchdog timer support"
205 depends on WDT
206 select DM_GPIO
207 help
208 Select this to enable max6370 watchdog timer.
209
Angelo Dureghello9b8bc512023-06-24 22:30:18 +0200210config WDT_MCF
211 bool "ColdFire family watchdog timer support"
212 depends on WDT
213 help
214 Select this to enable ColdFire watchdog timer,
215 which supports mcf52x2 mcf532x mcf523x families.
216
Philippe Boos818055f2022-06-13 16:00:56 +0200217config WDT_MESON_GXBB
218 bool "Amlogic watchdog timer support"
219 depends on WDT
220 help
221 Select this to enable Meson watchdog timer,
222 which can be found on some Amlogic platforms.
223
Christophe Leroy21eaade2023-04-03 10:27:39 +0200224config WDT_MPC8xxx
225 bool "MPC8xxx watchdog timer support"
Christophe Leroy0fd79132023-04-03 10:39:59 +0200226 depends on WDT && (MPC8xx || MPC83xx)
Patrice Chotardb3134ff2019-04-30 17:26:20 +0200227 help
Christophe Leroy21eaade2023-04-03 10:27:39 +0200228 Select this to enable mpc8xxx watchdog timer
Patrice Chotardb3134ff2019-04-30 17:26:20 +0200229
Christophe Leroy26e8ebc2023-04-03 10:27:39 +0200230config WDT_MPC8xxx_BME
231 bool "Enable MPC8xx Bus Monitoring"
232 depends on WDT_MPC8xxx && MPC8xx
233 help
234 Select this to enable mpc8xx Bus Monitor.
235
236config WDT_MPC8xxx_BMT
237 int "MPC8xx Bus Monitor Timing" if WDT_MPC8xxx_BME
238 range 0 255
239 default 255
240 depends on WDT_MPC8xxx
241 help
242 Bus monitor timing. Defines the timeout period, in 8 system clock
243 resolution, for the bus monitor.
244
245 Maximum timeout is 2,040 clocks (255 x 8).
Patrice Chotardb3134ff2019-04-30 17:26:20 +0200246
Weijie Gaobba4ec82020-11-12 16:36:28 +0800247config WDT_MT7620
248 bool "MediaTek MT7620 watchdog timer support"
249 depends on WDT && SOC_MT7620
250 help
251 Select this to enable watchdog timer on MediaTek MT7620 and earlier
252 SoC chips.
253
Patrice Chotardb3134ff2019-04-30 17:26:20 +0200254config WDT_MT7621
255 bool "MediaTek MT7621 watchdog timer support"
Weijie Gaofe3d57a2022-05-20 11:23:19 +0800256 depends on WDT && (SOC_MT7621 || SOC_MT7628)
Patrice Chotardb3134ff2019-04-30 17:26:20 +0200257 help
Michal Simek92a19be2020-03-11 12:26:53 +0100258 Select this to enable Ralink / Mediatek watchdog timer,
259 which can be found on some MediaTek chips.
Patrice Chotardb3134ff2019-04-30 17:26:20 +0200260
261config WDT_MTK
262 bool "MediaTek watchdog timer support"
263 depends on WDT && ARCH_MEDIATEK
264 help
265 Select this to enable watchdog timer for MediaTek SoCs.
266 The watchdog timer is stopped when initialized.
267 It performs full SoC reset.
268
Jim Liue885d092022-04-01 17:59:39 +0800269config WDT_NPCM
270 bool "Nuvoton watchdog timer support"
271 depends on WDT && ARCH_NPCM
272 help
273 This enables Nuvoton npcm7xx/npcm8xx watchdog timer driver,
274 The watchdog timer is stopped when initialized.
275 It performs full SoC reset.
276
Suneel Garapatiaf6ba902019-10-21 16:09:36 -0700277config WDT_OCTEONTX
Stefan Roese1aa2b852022-05-11 09:08:47 +0200278 bool "Octeon core watchdog support"
279 depends on WDT && (ARCH_OCTEON || ARCH_OCTEONTX || ARCH_OCTEONTX2)
Suneel Garapatiaf6ba902019-10-21 16:09:36 -0700280 default y
281 imply WATCHDOG
282 help
Stefan Roese1aa2b852022-05-11 09:08:47 +0200283 This enables the Octeon watchdog driver, which can be found on
284 various Octeon parts such as Octeon II/III and OcteonTX/TX2.
Suneel Garapatiaf6ba902019-10-21 16:09:36 -0700285
Suniel Mahesh7659ea32019-07-31 21:54:06 +0530286config WDT_OMAP3
Michal Simek92a19be2020-03-11 12:26:53 +0100287 bool "TI OMAP watchdog timer support"
288 depends on WDT && ARCH_OMAP2PLUS
289 default y if AM33XX
290 help
Suniel Mahesh7659ea32019-07-31 21:54:06 +0530291 This enables OMAP3+ watchdog timer driver, which can be
292 found on some TI chipsets and inline with driver model.
293
Marek Behún2ab77042017-06-09 19:28:41 +0200294config WDT_ORION
295 bool "Orion watchdog timer support"
296 depends on WDT
Chris Packham8e427ba2019-02-18 10:30:53 +1300297 select CLK
Marek Behún2ab77042017-06-09 19:28:41 +0200298 help
Michal Simek92a19be2020-03-11 12:26:53 +0100299 Select this to enable Orion watchdog timer, which can be found on some
300 Marvell Armada chips.
Marek Behún2ab77042017-06-09 19:28:41 +0200301
Jan Kiszkad388f362020-06-23 13:15:08 +0200302config WDT_K3_RTI
303 bool "Texas Instruments K3 RTI watchdog"
304 depends on WDT && ARCH_K3
305 help
306 Say Y here if you want to include support for the K3 watchdog
307 timer (RTI module) available in the K3 generation of processors.
308
Jan Kiszkaf3efb1d2021-09-18 08:17:55 +0200309if WDT_K3_RTI
310
311config WDT_K3_RTI_LOAD_FW
312 bool "Load watchdog firmware"
313 depends on REMOTEPROC
314 help
315 Automatically load the specified firmware image into the MCU R5F
316 core 0. On the AM65x, this firmware is supposed to handle the expiry
317 of the watchdog timer, typically by resetting the system.
318
319config WDT_K3_RTI_FW_FILE
320 string "Watchdog firmware image file"
321 default "k3-rti-wdt.fw"
322 depends on WDT_K3_RTI_LOAD_FW
323 help
324 Firmware image to be embedded into U-Boot and loaded on watchdog
325 start.
326
327endif
328
Patrice Chotardb3134ff2019-04-30 17:26:20 +0200329config WDT_SANDBOX
330 bool "Enable Watchdog Timer support for Sandbox"
331 depends on SANDBOX && WDT
332 help
333 Enable Watchdog Timer support in Sandbox. This is a dummy device that
334 can be probed and supports all of the methods of WDT, but does not
335 really do anything.
336
Rasmus Villemoes10107ef2022-09-27 11:54:04 +0200337config WDT_ALARM_SANDBOX
338 bool "Enable SIGALRM-based Watchdog Timer support for Sandbox"
339 depends on SANDBOX && WDT
340 help
341 Enable support for a SIGALRM-based watchdog timer in Sandbox. This is
342 a watchdog device based on the host OS' alarm() function, which will
343 kill the sandbox with SIGALRM unless properly maintained.
344
Zhao Qiangf27d73e2020-07-10 16:55:18 +0800345config WDT_SBSA
346 bool "SBSA watchdog timer support"
347 depends on WDT
348 help
349 Select this to enable SBSA watchdog timer.
350 This driver can operate ARM SBSA Generic Watchdog as a single stage.
351 In the single stage mode, when the timeout is reached, your system
352 will be reset by WS1. The first signal (WS0) is ignored.
353
Michael Wallef606c9a2021-11-15 23:45:43 +0100354config WDT_SL28CPLD
355 bool "sl28cpld watchdog timer support"
356 depends on WDT && SL28CPLD
357 help
358 Enable support for the watchdog timer in the Kontron sl28cpld
359 management controller.
360
Qiang Zhao0652d9f2019-05-07 03:16:09 +0000361config WDT_SP805
362 bool "SP805 watchdog timer support"
363 depends on WDT
364 help
Michal Simek92a19be2020-03-11 12:26:53 +0100365 Select this to enable SP805 watchdog timer, which can be found on some
366 nxp layerscape chips.
Qiang Zhao0652d9f2019-05-07 03:16:09 +0000367
Patrice Chotard8c1007a2019-04-30 17:26:22 +0200368config WDT_STM32MP
369 bool "IWDG watchdog driver for STM32 MP's family"
370 depends on WDT
371 imply WATCHDOG
372 help
373 Enable the STM32 watchdog (IWDG) driver. Enable support to
374 configure STM32's on-SoC watchdog.
375
Chanho Parkda264552023-11-06 08:13:16 +0900376config WDT_STARFIVE
377 bool "StarFive watchdog timer support"
378 depends on WDT
379 imply WATCHDOG
380 help
381 Enable support for the watchdog timer of StarFive JH7110 SoC.
382
Samuel Holland93d34fa2021-08-22 13:53:27 -0500383config WDT_SUNXI
384 bool "Allwinner sunxi watchdog timer support"
385 depends on WDT && ARCH_SUNXI
386 default y
387 help
388 Enable support for the watchdog timer in Allwinner sunxi SoCs.
389
ETIENNE DUBLE89c4fec2023-01-25 10:57:28 +0100390config WDT_BCM2835
391 bool "Broadcom 2835 watchdog timer support"
392 depends on WDT && ARCH_BCM283X
393 default y
394 help
395 Enable support for the watchdog timer in Broadcom 283X SoCs such
396 as Raspberry Pi boards.
397
Shreenidhi Shedie0e9caa2018-07-15 02:05:41 +0530398config XILINX_TB_WATCHDOG
399 bool "Xilinx Axi watchdog timer support"
400 depends on WDT
401 imply WATCHDOG
402 help
Michal Simek92a19be2020-03-11 12:26:53 +0100403 Select this to enable Xilinx Axi watchdog timer, which can be found on some
404 Xilinx Microblaze Platforms.
Shreenidhi Shedie0e9caa2018-07-15 02:05:41 +0530405
Ashok Reddy Soma50283582020-03-11 03:06:04 -0600406config WDT_XILINX
407 bool "Xilinx window watchdog timer support"
408 depends on WDT && ARCH_VERSAL
409 select REGMAP
410 imply WATCHDOG
411 help
412 Select this to enable Xilinx window watchdog timer, which can be found on
413 Xilinx Versal Platforms.
414
Andy Shevchenkoc974a3d2019-06-21 13:28:08 +0300415config WDT_TANGIER
416 bool "Intel Tangier watchdog timer support"
417 depends on WDT && INTEL_MID
418 help
419 This enables support for watchdog controller available on
420 Intel Tangier SoC. If you're using a board with Intel Tangier
421 SoC, say Y here.
422
Lionel Debieve0d5990a2023-04-14 15:49:15 +0200423config WDT_ARM_SMC
424 bool "ARM SMC watchdog timer support"
425 depends on WDT && ARM_SMCCC
426 imply WATCHDOG
427 help
428 Select this to enable Arm SMC watchdog timer. This watchdog will manage
429 a watchdog based on ARM SMCCC communication.
430
Marek Vasut6874cb72019-06-09 03:46:21 +0200431config SPL_WDT
432 bool "Enable driver model for watchdog timer drivers in SPL"
433 depends on SPL_DM
Simon Glass8ada14b2024-07-31 08:44:08 -0600434 select SPL_CYCLIC if CYCLIC
Marek Vasut6874cb72019-06-09 03:46:21 +0200435 help
436 Enable driver model for watchdog timer in SPL.
437 This is similar to CONFIG_WDT in U-Boot.
438
Sergei Antonov6e44bb02023-04-12 14:01:58 +0300439config WDT_FTWDT010
440 bool "Faraday Technology ftwdt010 watchdog timer support"
441 depends on WDT
442 imply WATCHDOG
443 help
444 Faraday Technology ftwdt010 watchdog is an architecture independent
445 watchdog. It is usually used in SoC chip design.
Ye Li253531b2017-02-22 16:21:48 +0800446endmenu