blob: 0c3e991331867bb90148a7349625f6887795c0a9 [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
Rasmus Villemoes2ac84902021-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ár0a095fc2022-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 Dureghello9b8bc512023-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 Boos818055f2022-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 Leroy21eaade2023-04-03 10:27:39 +0200202config WDT_MPC8xxx
203 bool "MPC8xxx watchdog timer support"
Christophe Leroy0fd79132023-04-03 10:39:59 +0200204 depends on WDT && (MPC8xx || MPC83xx)
Patrice Chotardb3134ff2019-04-30 17:26:20 +0200205 help
Christophe Leroy21eaade2023-04-03 10:27:39 +0200206 Select this to enable mpc8xxx watchdog timer
Patrice Chotardb3134ff2019-04-30 17:26:20 +0200207
Christophe Leroy26e8ebc2023-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
219 help
220 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 Chotardb3134ff2019-04-30 17:26:20 +0200224
Weijie Gaobba4ec82020-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 Chotardb3134ff2019-04-30 17:26:20 +0200232config WDT_MT7621
233 bool "MediaTek MT7621 watchdog timer support"
Weijie Gaofe3d57a2022-05-20 11:23:19 +0800234 depends on WDT && (SOC_MT7621 || SOC_MT7628)
Patrice Chotardb3134ff2019-04-30 17:26:20 +0200235 help
Michal Simek92a19be2020-03-11 12:26:53 +0100236 Select this to enable Ralink / Mediatek watchdog timer,
237 which can be found on some MediaTek chips.
Patrice Chotardb3134ff2019-04-30 17:26:20 +0200238
239config 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 Liue885d092022-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 Garapatiaf6ba902019-10-21 16:09:36 -0700255config WDT_OCTEONTX
Stefan Roese1aa2b852022-05-11 09:08:47 +0200256 bool "Octeon core watchdog support"
257 depends on WDT && (ARCH_OCTEON || ARCH_OCTEONTX || ARCH_OCTEONTX2)
Suneel Garapatiaf6ba902019-10-21 16:09:36 -0700258 default y
259 imply WATCHDOG
260 help
Stefan Roese1aa2b852022-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 Garapatiaf6ba902019-10-21 16:09:36 -0700263
Suniel Mahesh7659ea32019-07-31 21:54:06 +0530264config WDT_OMAP3
Michal Simek92a19be2020-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 Mahesh7659ea32019-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
Marek Behún2ab77042017-06-09 19:28:41 +0200272config WDT_ORION
273 bool "Orion watchdog timer support"
274 depends on WDT
Chris Packham8e427ba2019-02-18 10:30:53 +1300275 select CLK
Marek Behún2ab77042017-06-09 19:28:41 +0200276 help
Michal Simek92a19be2020-03-11 12:26:53 +0100277 Select this to enable Orion watchdog timer, which can be found on some
278 Marvell Armada chips.
Marek Behún2ab77042017-06-09 19:28:41 +0200279
Jan Kiszkad388f362020-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 Kiszkaf3efb1d2021-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 Chotardb3134ff2019-04-30 17:26:20 +0200307config WDT_SANDBOX
308 bool "Enable Watchdog Timer support for Sandbox"
309 depends on SANDBOX && WDT
310 help
311 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.
314
Rasmus Villemoes10107ef2022-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 Qiangf27d73e2020-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 Wallef606c9a2021-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
Qiang Zhao0652d9f2019-05-07 03:16:09 +0000339config WDT_SP805
340 bool "SP805 watchdog timer support"
341 depends on WDT
342 help
Michal Simek92a19be2020-03-11 12:26:53 +0100343 Select this to enable SP805 watchdog timer, which can be found on some
344 nxp layerscape chips.
Qiang Zhao0652d9f2019-05-07 03:16:09 +0000345
Patrice Chotard8c1007a2019-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 Parkda264552023-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 Holland93d34fa2021-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 DUBLE89c4fec2023-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
Shreenidhi Shedie0e9caa2018-07-15 02:05:41 +0530376config XILINX_TB_WATCHDOG
377 bool "Xilinx Axi watchdog timer support"
378 depends on WDT
379 imply WATCHDOG
380 help
Michal Simek92a19be2020-03-11 12:26:53 +0100381 Select this to enable Xilinx Axi watchdog timer, which can be found on some
382 Xilinx Microblaze Platforms.
Shreenidhi Shedie0e9caa2018-07-15 02:05:41 +0530383
Ashok Reddy Soma50283582020-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 Shevchenkoc974a3d2019-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 Debieve0d5990a2023-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 Vasut6874cb72019-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 Glass8ada14b2024-07-31 08:44:08 -0600412 select SPL_CYCLIC if CYCLIC
Marek Vasut6874cb72019-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 Antonov6e44bb02023-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 Li253531b2017-02-22 16:21:48 +0800424endmenu