blob: 8318fd77a32a1b037c6b084b26a2c1aafd4d5aaa [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
ETIENNE DUBLE73a6e702023-01-25 10:57:28 +010034 default 15000 if ARCH_BCM283X
Heiko Schocherf409f1a2019-09-30 09:33:43 +020035 default 60000
36 help
37 Watchdog timeout in msec
38
Paolo Pisati6213c552017-02-10 17:28:05 +010039config HW_WATCHDOG
40 bool
41
Patrice Chotard4a0ae732019-04-30 17:26:20 +020042config IMX_WATCHDOG
43 bool "Enable Watchdog Timer support for IMX and LSCH2 of NXP"
Marek Vasutf7fc5c12019-06-09 03:46:22 +020044 select HW_WATCHDOG if !WDT
Patrice Chotard4a0ae732019-04-30 17:26:20 +020045 help
Michal Simek5288b9b2020-03-11 12:26:53 +010046 Select this to enable the IMX and LSCH2 of Layerscape watchdog
47 driver.
Patrice Chotard4a0ae732019-04-30 17:26:20 +020048
Michael Walleb9c72d02020-09-24 10:09:15 +020049config WATCHDOG_RESET_DISABLE
50 bool "Disable reset watchdog"
51 depends on IMX_WATCHDOG
52 help
53 Disable reset watchdog, which can let WATCHDOG_RESET invalid, so
54 that the watchdog will not be fed in u-boot.
55
Tom Rini4a3e7982017-05-12 22:33:24 -040056config OMAP_WATCHDOG
57 bool "TI OMAP watchdog driver"
58 depends on ARCH_OMAP2PLUS
59 select HW_WATCHDOG
Tom Rini4a3e7982017-05-12 22:33:24 -040060 help
61 Say Y here to enable the OMAP3+ watchdog driver.
Felipe Balbi24252da2017-07-05 20:33:20 +030062
Ye Li62862b62017-02-22 16:21:48 +080063config ULP_WATCHDOG
64 bool "i.MX7ULP watchdog"
65 help
66 Say Y here to enable i.MX7ULP watchdog driver.
67
Marek Vasut40919d92019-06-27 00:26:34 +020068config DESIGNWARE_WATCHDOG
69 bool "Designware watchdog timer support"
Tom Rinib5eb2fe2022-06-15 12:03:46 -040070 depends on WDT
71 default y if ROCKCHIP_RK3399
Marek Vasut40919d92019-06-27 00:26:34 +020072 help
Michal Simek5288b9b2020-03-11 12:26:53 +010073 Enable this to support Designware Watchdog Timer IP, present e.g.
74 on Altera SoCFPGA SoCs.
Marek Vasut40919d92019-06-27 00:26:34 +020075
maxims@google.comdaea6d42017-04-17 12:00:21 -070076config WDT
77 bool "Enable driver model for watchdog timer drivers"
78 depends on DM
Stefan Roese502acb02019-04-11 15:58:44 +020079 imply WATCHDOG
Stefan Roesecce24722022-08-18 13:22:46 +020080 select CYCLIC
maxims@google.comdaea6d42017-04-17 12:00:21 -070081 help
82 Enable driver model for watchdog timer. At the moment the API
83 is very simple and only supports four operations:
Patrice Chotard0a060242019-04-25 12:57:28 +020084 start, stop, reset and expire_now (expire immediately).
maxims@google.comdaea6d42017-04-17 12:00:21 -070085 What exactly happens when the timer expires is up to a particular
86 device/driver.
87
Mark Kettenis7e8c6dd2022-01-12 19:55:15 +010088config WDT_APPLE
89 bool "Apple watchdog timer support"
90 depends on WDT
91 default y if ARCH_APPLE
92 help
93 Enable support for the watchdog timer on Apple SoCs.
94 The watchdog will perform a full SoC reset resulting in a
95 reboot of the entire system.
96
Marek Behúna86b97d2018-04-24 17:21:30 +020097config WDT_ARMADA_37XX
98 bool "Marvell Armada 37xx watchdog timer support"
99 depends on WDT && ARMADA_3700
100 help
Michal Simek5288b9b2020-03-11 12:26:53 +0100101 Enable this to support Watchdog Timer on Marvell Armada 37xx SoC.
102 There are 4 possible clocks which can be used on these SoCs. This
103 driver uses the second clock (ID 1), assuming that so will also
104 Linux's driver.
Marek Behúna86b97d2018-04-24 17:21:30 +0200105
maxims@google.comdf35df22017-04-17 12:00:22 -0700106config WDT_ASPEED
107 bool "Aspeed ast2400/ast2500 watchdog timer support"
108 depends on WDT
109 default y if ARCH_ASPEED
110 help
111 Select this to enable watchdog timer for Aspeed ast2500/ast2400 devices.
112 The watchdog timer is stopped when initialized. It performs reset, either
113 full SoC reset or CPU or just some peripherals, based on the flags.
114 It currently does not support Boot Flash Addressing Mode Detection or
115 Second Boot.
116
Chia-Wei, Wang67ef5872020-12-14 13:54:25 +0800117config WDT_AST2600
118 bool "Aspeed AST2600 watchdog timer support"
119 depends on WDT
120 default y if ASPEED_AST2600
121 help
122 Select this to enable watchdog timer for Aspeed ast2500/ast2400 devices.
123 The watchdog timer is stopped when initialized. It performs reset, either
124 full SoC reset or CPU or just some peripherals, based on the flags.
125
Patrice Chotard4a0ae732019-04-30 17:26:20 +0200126config WDT_AT91
127 bool "AT91 watchdog timer support"
128 depends on WDT
129 help
Michal Simek5288b9b2020-03-11 12:26:53 +0100130 Select this to enable Microchip watchdog timer, which can be found on
131 some AT91 devices.
Patrice Chotard4a0ae732019-04-30 17:26:20 +0200132
Randolph330222c2024-01-24 14:21:32 +0800133config WDT_ATCWDT200
134 bool "Andes watchdog timer support"
135 depends on WDT
136 help
137 Select this to enable Andes ATCWDT200 watchdog timer
138
Álvaro Fernández Rojasd8759a52017-05-16 18:29:09 +0200139config WDT_BCM6345
140 bool "BCM6345 watchdog timer support"
William Zhangdf0b5bb2022-08-22 11:31:43 -0700141 depends on WDT && (ARCH_BMIPS || BCM6856 || \
William Zhang38921822022-08-22 11:49:08 -0700142 BCM6858 || BCM63158 || BCM6855)
Álvaro Fernández Rojasd8759a52017-05-16 18:29:09 +0200143 help
144 Select this to enable watchdog timer for BCM6345 SoCs.
145 The watchdog timer is stopped when initialized.
146 It performs full SoC reset.
147
Chris Packham69a430f2021-03-05 16:32:58 +1300148config WDT_BOOKE
149 bool "PowerPC Book-E watchdog driver"
150 depends on WDT && MPC85xx
151 help
152 Watchdog driver for PowerPC Book-E chips, such as the Freescale
153 MPC85xx SOCs and the IBM PowerPC 440.
154
Shreenidhi Shedi0787c7c2018-02-21 16:50:20 +0100155config WDT_CDNS
156 bool "Cadence watchdog timer support"
157 depends on WDT
158 imply WATCHDOG
159 help
Michal Simek5288b9b2020-03-11 12:26:53 +0100160 Select this to enable Cadence watchdog timer, which can be found on some
161 Xilinx Microzed Platform.
Shreenidhi Shedi0787c7c2018-02-21 16:50:20 +0100162
Jason Lidd2b30b2020-01-30 12:34:57 -0800163config WDT_CORTINA
164 bool "Cortina Access CAxxxx watchdog timer support"
165 depends on WDT
166 help
167 Cortina Access CAxxxx watchdog timer support.
168 This driver support all CPU ISAs supported by Cortina
Michal Simek5288b9b2020-03-11 12:26:53 +0100169 Access CAxxxx SoCs.
Jason Lidd2b30b2020-01-30 12:34:57 -0800170
Rasmus Villemoes08667602021-08-19 11:57:04 +0200171config WDT_GPIO
172 bool "External gpio watchdog support"
173 depends on WDT
174 depends on DM_GPIO
175 help
176 Support for external watchdog fed by toggling a gpio. See
177 doc/device-tree-bindings/watchdog/gpio-wdt.txt for
178 information on how to describe the watchdog in device tree.
179
Pali Rohárb93e8ea2022-05-02 18:41:07 +0200180config WDT_MAX6370
181 bool "MAX6370 watchdog timer support"
182 depends on WDT
183 select DM_GPIO
184 help
185 Select this to enable max6370 watchdog timer.
186
Angelo Dureghello5e118dd2023-06-24 22:30:18 +0200187config WDT_MCF
188 bool "ColdFire family watchdog timer support"
189 depends on WDT
190 help
191 Select this to enable ColdFire watchdog timer,
192 which supports mcf52x2 mcf532x mcf523x families.
193
Philippe Boos35de0c52022-06-13 16:00:56 +0200194config WDT_MESON_GXBB
195 bool "Amlogic watchdog timer support"
196 depends on WDT
197 help
198 Select this to enable Meson watchdog timer,
199 which can be found on some Amlogic platforms.
200
Christophe Leroy1919fce2023-04-03 10:27:39 +0200201config WDT_MPC8xxx
202 bool "MPC8xxx watchdog timer support"
Christophe Leroy39d37952023-04-03 10:39:59 +0200203 depends on WDT && (MPC8xx || MPC83xx)
Patrice Chotard4a0ae732019-04-30 17:26:20 +0200204 help
Christophe Leroy1919fce2023-04-03 10:27:39 +0200205 Select this to enable mpc8xxx watchdog timer
Patrice Chotard4a0ae732019-04-30 17:26:20 +0200206
Christophe Leroy0fe1a202023-04-03 10:27:39 +0200207config WDT_MPC8xxx_BME
208 bool "Enable MPC8xx Bus Monitoring"
209 depends on WDT_MPC8xxx && MPC8xx
210 help
211 Select this to enable mpc8xx Bus Monitor.
212
213config WDT_MPC8xxx_BMT
214 int "MPC8xx Bus Monitor Timing" if WDT_MPC8xxx_BME
215 range 0 255
216 default 255
217 depends on WDT_MPC8xxx
Patrice Chotard4a0ae732019-04-30 17:26:20 +0200218 help
Christophe Leroy0fe1a202023-04-03 10:27:39 +0200219 Bus monitor timing. Defines the timeout period, in 8 system clock
220 resolution, for the bus monitor.
221
222 Maximum timeout is 2,040 clocks (255 x 8).
Patrice Chotard4a0ae732019-04-30 17:26:20 +0200223
developer33a3bc92020-11-12 16:36:28 +0800224config WDT_MT7620
225 bool "MediaTek MT7620 watchdog timer support"
226 depends on WDT && SOC_MT7620
227 help
228 Select this to enable watchdog timer on MediaTek MT7620 and earlier
229 SoC chips.
230
Patrice Chotard4a0ae732019-04-30 17:26:20 +0200231config WDT_MT7621
232 bool "MediaTek MT7621 watchdog timer support"
developercf569c02022-05-20 11:23:19 +0800233 depends on WDT && (SOC_MT7621 || SOC_MT7628)
Patrice Chotard4a0ae732019-04-30 17:26:20 +0200234 help
Michal Simek5288b9b2020-03-11 12:26:53 +0100235 Select this to enable Ralink / Mediatek watchdog timer,
236 which can be found on some MediaTek chips.
Patrice Chotard4a0ae732019-04-30 17:26:20 +0200237
developer93053be2018-11-15 10:07:57 +0800238config WDT_MTK
239 bool "MediaTek watchdog timer support"
240 depends on WDT && ARCH_MEDIATEK
241 help
242 Select this to enable watchdog timer for MediaTek SoCs.
243 The watchdog timer is stopped when initialized.
244 It performs full SoC reset.
245
Jim Liufc166b02022-04-01 17:59:39 +0800246config WDT_NPCM
247 bool "Nuvoton watchdog timer support"
248 depends on WDT && ARCH_NPCM
249 help
250 This enables Nuvoton npcm7xx/npcm8xx watchdog timer driver,
251 The watchdog timer is stopped when initialized.
252 It performs full SoC reset.
253
Suneel Garapati7072b172019-10-21 16:09:36 -0700254config WDT_OCTEONTX
Stefan Roeseaf3b2102022-05-11 09:08:47 +0200255 bool "Octeon core watchdog support"
256 depends on WDT && (ARCH_OCTEON || ARCH_OCTEONTX || ARCH_OCTEONTX2)
Suneel Garapati7072b172019-10-21 16:09:36 -0700257 default y
258 imply WATCHDOG
259 help
Stefan Roeseaf3b2102022-05-11 09:08:47 +0200260 This enables the Octeon watchdog driver, which can be found on
261 various Octeon parts such as Octeon II/III and OcteonTX/TX2.
Suneel Garapati7072b172019-10-21 16:09:36 -0700262
Suniel Mahesh1c783ab2019-07-31 21:54:06 +0530263config WDT_OMAP3
Michal Simek5288b9b2020-03-11 12:26:53 +0100264 bool "TI OMAP watchdog timer support"
265 depends on WDT && ARCH_OMAP2PLUS
266 default y if AM33XX
267 help
Suniel Mahesh1c783ab2019-07-31 21:54:06 +0530268 This enables OMAP3+ watchdog timer driver, which can be
269 found on some TI chipsets and inline with driver model.
270
Patrice Chotard4a0ae732019-04-30 17:26:20 +0200271config WDT_ORION
272 bool "Orion watchdog timer support"
Shreenidhi Shedi335fb5b2018-07-15 02:05:41 +0530273 depends on WDT
Patrice Chotard4a0ae732019-04-30 17:26:20 +0200274 select CLK
Shreenidhi Shedi335fb5b2018-07-15 02:05:41 +0530275 help
Michal Simek5288b9b2020-03-11 12:26:53 +0100276 Select this to enable Orion watchdog timer, which can be found on some
277 Marvell Armada chips.
Shreenidhi Shedi335fb5b2018-07-15 02:05:41 +0530278
Jan Kiszkaddf21d52020-06-23 13:15:08 +0200279config WDT_K3_RTI
280 bool "Texas Instruments K3 RTI watchdog"
281 depends on WDT && ARCH_K3
282 help
283 Say Y here if you want to include support for the K3 watchdog
284 timer (RTI module) available in the K3 generation of processors.
285
Jan Kiszkad35cdfb2021-09-18 08:17:55 +0200286if WDT_K3_RTI
287
288config WDT_K3_RTI_LOAD_FW
289 bool "Load watchdog firmware"
290 depends on REMOTEPROC
291 help
292 Automatically load the specified firmware image into the MCU R5F
293 core 0. On the AM65x, this firmware is supposed to handle the expiry
294 of the watchdog timer, typically by resetting the system.
295
296config WDT_K3_RTI_FW_FILE
297 string "Watchdog firmware image file"
298 default "k3-rti-wdt.fw"
299 depends on WDT_K3_RTI_LOAD_FW
300 help
301 Firmware image to be embedded into U-Boot and loaded on watchdog
302 start.
303
304endif
305
Patrice Chotard4a0ae732019-04-30 17:26:20 +0200306config WDT_SANDBOX
307 bool "Enable Watchdog Timer support for Sandbox"
308 depends on SANDBOX && WDT
Xiaoliang Yang4161dc22018-10-18 17:14:19 +0800309 help
Patrice Chotard4a0ae732019-04-30 17:26:20 +0200310 Enable Watchdog Timer support in Sandbox. This is a dummy device that
311 can be probed and supports all of the methods of WDT, but does not
312 really do anything.
Xiaoliang Yang4161dc22018-10-18 17:14:19 +0800313
Rasmus Villemoesae400f32022-09-27 11:54:04 +0200314config WDT_ALARM_SANDBOX
315 bool "Enable SIGALRM-based Watchdog Timer support for Sandbox"
316 depends on SANDBOX && WDT
317 help
318 Enable support for a SIGALRM-based watchdog timer in Sandbox. This is
319 a watchdog device based on the host OS' alarm() function, which will
320 kill the sandbox with SIGALRM unless properly maintained.
321
Zhao Qiangfb816fa2020-07-10 16:55:18 +0800322config WDT_SBSA
323 bool "SBSA watchdog timer support"
324 depends on WDT
325 help
326 Select this to enable SBSA watchdog timer.
327 This driver can operate ARM SBSA Generic Watchdog as a single stage.
328 In the single stage mode, when the timeout is reached, your system
329 will be reset by WS1. The first signal (WS0) is ignored.
330
Michael Wallefa842012021-11-15 23:45:43 +0100331config WDT_SL28CPLD
332 bool "sl28cpld watchdog timer support"
333 depends on WDT && SL28CPLD
334 help
335 Enable support for the watchdog timer in the Kontron sl28cpld
336 management controller.
337
Patrice Chotard4a0ae732019-04-30 17:26:20 +0200338config WDT_SP805
339 bool "SP805 watchdog timer support"
Prasanthi Chellakumar0509c4e2018-10-09 11:46:40 -0700340 depends on WDT
341 help
Michal Simek5288b9b2020-03-11 12:26:53 +0100342 Select this to enable SP805 watchdog timer, which can be found on some
343 nxp layerscape chips.
Stefan Roese84569692018-10-04 13:39:07 +0200344
Patrice Chotard473b2442019-04-30 17:26:22 +0200345config WDT_STM32MP
346 bool "IWDG watchdog driver for STM32 MP's family"
347 depends on WDT
348 imply WATCHDOG
349 help
350 Enable the STM32 watchdog (IWDG) driver. Enable support to
351 configure STM32's on-SoC watchdog.
352
Chanho Parke8a348f2023-11-06 08:13:16 +0900353config WDT_STARFIVE
354 bool "StarFive watchdog timer support"
355 depends on WDT
356 imply WATCHDOG
357 help
358 Enable support for the watchdog timer of StarFive JH7110 SoC.
359
Samuel Holland65c982b2021-08-22 13:53:27 -0500360config WDT_SUNXI
361 bool "Allwinner sunxi watchdog timer support"
362 depends on WDT && ARCH_SUNXI
363 default y
364 help
365 Enable support for the watchdog timer in Allwinner sunxi SoCs.
366
ETIENNE DUBLE73a6e702023-01-25 10:57:28 +0100367config WDT_BCM2835
368 bool "Broadcom 2835 watchdog timer support"
369 depends on WDT && ARCH_BCM283X
370 default y
371 help
372 Enable support for the watchdog timer in Broadcom 283X SoCs such
373 as Raspberry Pi boards.
374
Patrice Chotard4a0ae732019-04-30 17:26:20 +0200375config XILINX_TB_WATCHDOG
376 bool "Xilinx Axi watchdog timer support"
377 depends on WDT
378 imply WATCHDOG
Christophe Leroy40159302018-11-21 08:51:45 +0000379 help
Michal Simek5288b9b2020-03-11 12:26:53 +0100380 Select this to enable Xilinx Axi watchdog timer, which can be found on some
381 Xilinx Microblaze Platforms.
Christophe Leroy40159302018-11-21 08:51:45 +0000382
Ashok Reddy Somaf4aecf42020-03-11 03:06:04 -0600383config WDT_XILINX
384 bool "Xilinx window watchdog timer support"
385 depends on WDT && ARCH_VERSAL
386 select REGMAP
387 imply WATCHDOG
388 help
389 Select this to enable Xilinx window watchdog timer, which can be found on
390 Xilinx Versal Platforms.
391
Andy Shevchenkod13a8a32019-06-21 13:28:08 +0300392config WDT_TANGIER
393 bool "Intel Tangier watchdog timer support"
394 depends on WDT && INTEL_MID
395 help
396 This enables support for watchdog controller available on
397 Intel Tangier SoC. If you're using a board with Intel Tangier
398 SoC, say Y here.
399
Lionel Debieve47e022c2023-04-14 15:49:15 +0200400config WDT_ARM_SMC
401 bool "ARM SMC watchdog timer support"
402 depends on WDT && ARM_SMCCC
403 imply WATCHDOG
404 help
405 Select this to enable Arm SMC watchdog timer. This watchdog will manage
406 a watchdog based on ARM SMCCC communication.
407
Marek Vasut55ec91b2019-06-09 03:46:21 +0200408config SPL_WDT
409 bool "Enable driver model for watchdog timer drivers in SPL"
410 depends on SPL_DM
411 help
412 Enable driver model for watchdog timer in SPL.
413 This is similar to CONFIG_WDT in U-Boot.
414
Sergei Antonova0d98602023-04-12 14:01:58 +0300415config WDT_FTWDT010
416 bool "Faraday Technology ftwdt010 watchdog timer support"
417 depends on WDT
418 imply WATCHDOG
419 help
420 Faraday Technology ftwdt010 watchdog is an architecture independent
421 watchdog. It is usually used in SoC chip design.
Ye Li62862b62017-02-22 16:21:48 +0800422endmenu