blob: 07fc4940e918ebdb73c91546dc195d5040dc0fc3 [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
Shreenidhi Shedi42537ca2018-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ár830d29a2021-03-09 14:26:56 +010013config WATCHDOG_AUTOSTART
14 bool "Automatically start watchdog timer"
15 depends on WDT
Heinrich Schuchardt86798ee2021-11-05 19:34:31 +010016 default n if ARCH_SUNXI
Pali Rohár830d29a2021-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 Schocherca51ef72019-09-30 09:33:43 +020027config WATCHDOG_TIMEOUT_MSECS
28 int "Watchdog timeout in msec"
Tom Rini8ba59602021-09-09 07:54:50 -040029 default 128000 if ARCH_MX31 || ARCH_MX5 || ARCH_MX6
Heiko Schocherca51ef72019-09-30 09:33:43 +020030 default 128000 if ARCH_MX7 || ARCH_VF610
31 default 30000 if ARCH_SOCFPGA
Samuel Holland93d34fa2021-08-22 13:53:27 -050032 default 16000 if ARCH_SUNXI
Tom Riniad242342023-01-10 11:19:44 -050033 default 5376 if ULP_WATCHDOG
ETIENNE DUBLE89c4fec2023-01-25 10:57:28 +010034 default 15000 if ARCH_BCM283X
Heiko Schocherca51ef72019-09-30 09:33:43 +020035 default 60000
36 help
37 Watchdog timeout in msec
38
Paolo Pisati45a6d232017-02-10 17:28:05 +010039config HW_WATCHDOG
40 bool
41
Patrice Chotardb3134ff2019-04-30 17:26:20 +020042config IMX_WATCHDOG
43 bool "Enable Watchdog Timer support for IMX and LSCH2 of NXP"
Marek Vasut4b969de2019-06-09 03:46:22 +020044 select HW_WATCHDOG if !WDT
Patrice Chotardb3134ff2019-04-30 17:26:20 +020045 help
Michal Simek92a19be2020-03-11 12:26:53 +010046 Select this to enable the IMX and LSCH2 of Layerscape watchdog
47 driver.
Patrice Chotardb3134ff2019-04-30 17:26:20 +020048
Michael Walle95b3d6a2020-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 Rini897f7062017-05-12 22:33:24 -040056config OMAP_WATCHDOG
57 bool "TI OMAP watchdog driver"
58 depends on ARCH_OMAP2PLUS
59 select HW_WATCHDOG
Tom Rini897f7062017-05-12 22:33:24 -040060 help
61 Say Y here to enable the OMAP3+ watchdog driver.
Felipe Balbi8f8a12d2017-07-05 20:33:20 +030062
Ye Li253531b2017-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 Vasut8941f842019-06-27 00:26:34 +020068config DESIGNWARE_WATCHDOG
69 bool "Designware watchdog timer support"
Tom Rini02854552022-06-15 12:03:46 -040070 depends on WDT
71 default y if ROCKCHIP_RK3399
Marek Vasut8941f842019-06-27 00:26:34 +020072 help
Michal Simek92a19be2020-03-11 12:26:53 +010073 Enable this to support Designware Watchdog Timer IP, present e.g.
74 on Altera SoCFPGA SoCs.
Marek Vasut8941f842019-06-27 00:26:34 +020075
maxims@google.com0753bc22017-04-17 12:00:21 -070076config WDT
77 bool "Enable driver model for watchdog timer drivers"
78 depends on DM
Stefan Roese06985282019-04-11 15:58:44 +020079 imply WATCHDOG
Stefan Roesec2fd0ca2022-08-18 13:22:46 +020080 select CYCLIC
maxims@google.com0753bc22017-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 Chotard8d4f91b2019-04-25 12:57:28 +020084 start, stop, reset and expire_now (expire immediately).
maxims@google.com0753bc22017-04-17 12:00:21 -070085 What exactly happens when the timer expires is up to a particular
86 device/driver.
87
Mark Kettenisee327d12022-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ún2b69a672018-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 Simek92a19be2020-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ún2b69a672018-04-24 17:21:30 +0200105
maxims@google.com1eb0a462017-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, Wang337d95c2020-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 Chotardb3134ff2019-04-30 17:26:20 +0200126config WDT_AT91
127 bool "AT91 watchdog timer support"
128 depends on WDT
129 help
Michal Simek92a19be2020-03-11 12:26:53 +0100130 Select this to enable Microchip watchdog timer, which can be found on
131 some AT91 devices.
Patrice Chotardb3134ff2019-04-30 17:26:20 +0200132
Álvaro Fernández Rojas77331932017-05-16 18:29:09 +0200133config WDT_BCM6345
134 bool "BCM6345 watchdog timer support"
William Zhang4dcd23f2022-08-22 11:31:43 -0700135 depends on WDT && (ARCH_BMIPS || BCM6856 || \
William Zhang8c1a9c72022-08-22 11:49:08 -0700136 BCM6858 || BCM63158 || BCM6855)
Álvaro Fernández Rojas77331932017-05-16 18:29:09 +0200137 help
138 Select this to enable watchdog timer for BCM6345 SoCs.
139 The watchdog timer is stopped when initialized.
140 It performs full SoC reset.
141
Chris Packham017af7f2021-03-05 16:32:58 +1300142config WDT_BOOKE
143 bool "PowerPC Book-E watchdog driver"
144 depends on WDT && MPC85xx
145 help
146 Watchdog driver for PowerPC Book-E chips, such as the Freescale
147 MPC85xx SOCs and the IBM PowerPC 440.
148
Patrice Chotardb3134ff2019-04-30 17:26:20 +0200149config WDT_CDNS
150 bool "Cadence watchdog timer support"
151 depends on WDT
152 imply WATCHDOG
153 help
Michal Simek92a19be2020-03-11 12:26:53 +0100154 Select this to enable Cadence watchdog timer, which can be found on some
155 Xilinx Microzed Platform.
Patrice Chotardb3134ff2019-04-30 17:26:20 +0200156
Jason Li7f54b832020-01-30 12:34:57 -0800157config WDT_CORTINA
158 bool "Cortina Access CAxxxx watchdog timer support"
159 depends on WDT
160 help
161 Cortina Access CAxxxx watchdog timer support.
162 This driver support all CPU ISAs supported by Cortina
Michal Simek92a19be2020-03-11 12:26:53 +0100163 Access CAxxxx SoCs.
Jason Li7f54b832020-01-30 12:34:57 -0800164
Rasmus Villemoes2ac84902021-08-19 11:57:04 +0200165config WDT_GPIO
166 bool "External gpio watchdog support"
167 depends on WDT
168 depends on DM_GPIO
169 help
170 Support for external watchdog fed by toggling a gpio. See
171 doc/device-tree-bindings/watchdog/gpio-wdt.txt for
172 information on how to describe the watchdog in device tree.
173
Pali Rohár0a095fc2022-05-02 18:41:07 +0200174config WDT_MAX6370
175 bool "MAX6370 watchdog timer support"
176 depends on WDT
177 select DM_GPIO
178 help
179 Select this to enable max6370 watchdog timer.
180
Angelo Dureghello9b8bc512023-06-24 22:30:18 +0200181config WDT_MCF
182 bool "ColdFire family watchdog timer support"
183 depends on WDT
184 help
185 Select this to enable ColdFire watchdog timer,
186 which supports mcf52x2 mcf532x mcf523x families.
187
Philippe Boos818055f2022-06-13 16:00:56 +0200188config WDT_MESON_GXBB
189 bool "Amlogic watchdog timer support"
190 depends on WDT
191 help
192 Select this to enable Meson watchdog timer,
193 which can be found on some Amlogic platforms.
194
Christophe Leroy21eaade2023-04-03 10:27:39 +0200195config WDT_MPC8xxx
196 bool "MPC8xxx watchdog timer support"
Christophe Leroy0fd79132023-04-03 10:39:59 +0200197 depends on WDT && (MPC8xx || MPC83xx)
Patrice Chotardb3134ff2019-04-30 17:26:20 +0200198 help
Christophe Leroy21eaade2023-04-03 10:27:39 +0200199 Select this to enable mpc8xxx watchdog timer
Patrice Chotardb3134ff2019-04-30 17:26:20 +0200200
Christophe Leroy26e8ebc2023-04-03 10:27:39 +0200201config WDT_MPC8xxx_BME
202 bool "Enable MPC8xx Bus Monitoring"
203 depends on WDT_MPC8xxx && MPC8xx
204 help
205 Select this to enable mpc8xx Bus Monitor.
206
207config WDT_MPC8xxx_BMT
208 int "MPC8xx Bus Monitor Timing" if WDT_MPC8xxx_BME
209 range 0 255
210 default 255
211 depends on WDT_MPC8xxx
212 help
213 Bus monitor timing. Defines the timeout period, in 8 system clock
214 resolution, for the bus monitor.
215
216 Maximum timeout is 2,040 clocks (255 x 8).
Patrice Chotardb3134ff2019-04-30 17:26:20 +0200217
Weijie Gaobba4ec82020-11-12 16:36:28 +0800218config WDT_MT7620
219 bool "MediaTek MT7620 watchdog timer support"
220 depends on WDT && SOC_MT7620
221 help
222 Select this to enable watchdog timer on MediaTek MT7620 and earlier
223 SoC chips.
224
Patrice Chotardb3134ff2019-04-30 17:26:20 +0200225config WDT_MT7621
226 bool "MediaTek MT7621 watchdog timer support"
Weijie Gaofe3d57a2022-05-20 11:23:19 +0800227 depends on WDT && (SOC_MT7621 || SOC_MT7628)
Patrice Chotardb3134ff2019-04-30 17:26:20 +0200228 help
Michal Simek92a19be2020-03-11 12:26:53 +0100229 Select this to enable Ralink / Mediatek watchdog timer,
230 which can be found on some MediaTek chips.
Patrice Chotardb3134ff2019-04-30 17:26:20 +0200231
232config WDT_MTK
233 bool "MediaTek watchdog timer support"
234 depends on WDT && ARCH_MEDIATEK
235 help
236 Select this to enable watchdog timer for MediaTek SoCs.
237 The watchdog timer is stopped when initialized.
238 It performs full SoC reset.
239
Jim Liue885d092022-04-01 17:59:39 +0800240config WDT_NPCM
241 bool "Nuvoton watchdog timer support"
242 depends on WDT && ARCH_NPCM
243 help
244 This enables Nuvoton npcm7xx/npcm8xx watchdog timer driver,
245 The watchdog timer is stopped when initialized.
246 It performs full SoC reset.
247
Suneel Garapatiaf6ba902019-10-21 16:09:36 -0700248config WDT_OCTEONTX
Stefan Roese1aa2b852022-05-11 09:08:47 +0200249 bool "Octeon core watchdog support"
250 depends on WDT && (ARCH_OCTEON || ARCH_OCTEONTX || ARCH_OCTEONTX2)
Suneel Garapatiaf6ba902019-10-21 16:09:36 -0700251 default y
252 imply WATCHDOG
253 help
Stefan Roese1aa2b852022-05-11 09:08:47 +0200254 This enables the Octeon watchdog driver, which can be found on
255 various Octeon parts such as Octeon II/III and OcteonTX/TX2.
Suneel Garapatiaf6ba902019-10-21 16:09:36 -0700256
Suniel Mahesh7659ea32019-07-31 21:54:06 +0530257config WDT_OMAP3
Michal Simek92a19be2020-03-11 12:26:53 +0100258 bool "TI OMAP watchdog timer support"
259 depends on WDT && ARCH_OMAP2PLUS
260 default y if AM33XX
261 help
Suniel Mahesh7659ea32019-07-31 21:54:06 +0530262 This enables OMAP3+ watchdog timer driver, which can be
263 found on some TI chipsets and inline with driver model.
264
Marek Behún2ab77042017-06-09 19:28:41 +0200265config WDT_ORION
266 bool "Orion watchdog timer support"
267 depends on WDT
Chris Packham8e427ba2019-02-18 10:30:53 +1300268 select CLK
Marek Behún2ab77042017-06-09 19:28:41 +0200269 help
Michal Simek92a19be2020-03-11 12:26:53 +0100270 Select this to enable Orion watchdog timer, which can be found on some
271 Marvell Armada chips.
Marek Behún2ab77042017-06-09 19:28:41 +0200272
Jan Kiszkad388f362020-06-23 13:15:08 +0200273config WDT_K3_RTI
274 bool "Texas Instruments K3 RTI watchdog"
275 depends on WDT && ARCH_K3
276 help
277 Say Y here if you want to include support for the K3 watchdog
278 timer (RTI module) available in the K3 generation of processors.
279
Jan Kiszkaf3efb1d2021-09-18 08:17:55 +0200280if WDT_K3_RTI
281
282config WDT_K3_RTI_LOAD_FW
283 bool "Load watchdog firmware"
284 depends on REMOTEPROC
285 help
286 Automatically load the specified firmware image into the MCU R5F
287 core 0. On the AM65x, this firmware is supposed to handle the expiry
288 of the watchdog timer, typically by resetting the system.
289
290config WDT_K3_RTI_FW_FILE
291 string "Watchdog firmware image file"
292 default "k3-rti-wdt.fw"
293 depends on WDT_K3_RTI_LOAD_FW
294 help
295 Firmware image to be embedded into U-Boot and loaded on watchdog
296 start.
297
298endif
299
Patrice Chotardb3134ff2019-04-30 17:26:20 +0200300config WDT_SANDBOX
301 bool "Enable Watchdog Timer support for Sandbox"
302 depends on SANDBOX && WDT
303 help
304 Enable Watchdog Timer support in Sandbox. This is a dummy device that
305 can be probed and supports all of the methods of WDT, but does not
306 really do anything.
307
Rasmus Villemoes10107ef2022-09-27 11:54:04 +0200308config WDT_ALARM_SANDBOX
309 bool "Enable SIGALRM-based Watchdog Timer support for Sandbox"
310 depends on SANDBOX && WDT
311 help
312 Enable support for a SIGALRM-based watchdog timer in Sandbox. This is
313 a watchdog device based on the host OS' alarm() function, which will
314 kill the sandbox with SIGALRM unless properly maintained.
315
Zhao Qiangf27d73e2020-07-10 16:55:18 +0800316config WDT_SBSA
317 bool "SBSA watchdog timer support"
318 depends on WDT
319 help
320 Select this to enable SBSA watchdog timer.
321 This driver can operate ARM SBSA Generic Watchdog as a single stage.
322 In the single stage mode, when the timeout is reached, your system
323 will be reset by WS1. The first signal (WS0) is ignored.
324
Michael Wallef606c9a2021-11-15 23:45:43 +0100325config WDT_SL28CPLD
326 bool "sl28cpld watchdog timer support"
327 depends on WDT && SL28CPLD
328 help
329 Enable support for the watchdog timer in the Kontron sl28cpld
330 management controller.
331
Qiang Zhao0652d9f2019-05-07 03:16:09 +0000332config WDT_SP805
333 bool "SP805 watchdog timer support"
334 depends on WDT
335 help
Michal Simek92a19be2020-03-11 12:26:53 +0100336 Select this to enable SP805 watchdog timer, which can be found on some
337 nxp layerscape chips.
Qiang Zhao0652d9f2019-05-07 03:16:09 +0000338
Patrice Chotard8c1007a2019-04-30 17:26:22 +0200339config WDT_STM32MP
340 bool "IWDG watchdog driver for STM32 MP's family"
341 depends on WDT
342 imply WATCHDOG
343 help
344 Enable the STM32 watchdog (IWDG) driver. Enable support to
345 configure STM32's on-SoC watchdog.
346
Samuel Holland93d34fa2021-08-22 13:53:27 -0500347config WDT_SUNXI
348 bool "Allwinner sunxi watchdog timer support"
349 depends on WDT && ARCH_SUNXI
350 default y
351 help
352 Enable support for the watchdog timer in Allwinner sunxi SoCs.
353
ETIENNE DUBLE89c4fec2023-01-25 10:57:28 +0100354config WDT_BCM2835
355 bool "Broadcom 2835 watchdog timer support"
356 depends on WDT && ARCH_BCM283X
357 default y
358 help
359 Enable support for the watchdog timer in Broadcom 283X SoCs such
360 as Raspberry Pi boards.
361
Shreenidhi Shedie0e9caa2018-07-15 02:05:41 +0530362config XILINX_TB_WATCHDOG
363 bool "Xilinx Axi watchdog timer support"
364 depends on WDT
365 imply WATCHDOG
366 help
Michal Simek92a19be2020-03-11 12:26:53 +0100367 Select this to enable Xilinx Axi watchdog timer, which can be found on some
368 Xilinx Microblaze Platforms.
Shreenidhi Shedie0e9caa2018-07-15 02:05:41 +0530369
Ashok Reddy Soma50283582020-03-11 03:06:04 -0600370config WDT_XILINX
371 bool "Xilinx window watchdog timer support"
372 depends on WDT && ARCH_VERSAL
373 select REGMAP
374 imply WATCHDOG
375 help
376 Select this to enable Xilinx window watchdog timer, which can be found on
377 Xilinx Versal Platforms.
378
Andy Shevchenkoc974a3d2019-06-21 13:28:08 +0300379config WDT_TANGIER
380 bool "Intel Tangier watchdog timer support"
381 depends on WDT && INTEL_MID
382 help
383 This enables support for watchdog controller available on
384 Intel Tangier SoC. If you're using a board with Intel Tangier
385 SoC, say Y here.
386
Lionel Debieve0d5990a2023-04-14 15:49:15 +0200387config WDT_ARM_SMC
388 bool "ARM SMC watchdog timer support"
389 depends on WDT && ARM_SMCCC
390 imply WATCHDOG
391 help
392 Select this to enable Arm SMC watchdog timer. This watchdog will manage
393 a watchdog based on ARM SMCCC communication.
394
Marek Vasut6874cb72019-06-09 03:46:21 +0200395config SPL_WDT
396 bool "Enable driver model for watchdog timer drivers in SPL"
397 depends on SPL_DM
398 help
399 Enable driver model for watchdog timer in SPL.
400 This is similar to CONFIG_WDT in U-Boot.
401
Sergei Antonov6e44bb02023-04-12 14:01:58 +0300402config WDT_FTWDT010
403 bool "Faraday Technology ftwdt010 watchdog timer support"
404 depends on WDT
405 imply WATCHDOG
406 help
407 Faraday Technology ftwdt010 watchdog is an architecture independent
408 watchdog. It is usually used in SoC chip design.
Ye Li253531b2017-02-22 16:21:48 +0800409endmenu