blob: f1b1cf63ca3a8d6d01986dcaa51353e966d735c1 [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
Heiko Schocherca51ef72019-09-30 09:33:43 +020033 default 60000
34 help
35 Watchdog timeout in msec
36
Paolo Pisati45a6d232017-02-10 17:28:05 +010037config HW_WATCHDOG
38 bool
39
Patrice Chotardb3134ff2019-04-30 17:26:20 +020040config IMX_WATCHDOG
41 bool "Enable Watchdog Timer support for IMX and LSCH2 of NXP"
Marek Vasut4b969de2019-06-09 03:46:22 +020042 select HW_WATCHDOG if !WDT
Patrice Chotardb3134ff2019-04-30 17:26:20 +020043 help
Michal Simek92a19be2020-03-11 12:26:53 +010044 Select this to enable the IMX and LSCH2 of Layerscape watchdog
45 driver.
Patrice Chotardb3134ff2019-04-30 17:26:20 +020046
Michael Walle95b3d6a2020-09-24 10:09:15 +020047config WATCHDOG_RESET_DISABLE
48 bool "Disable reset watchdog"
49 depends on IMX_WATCHDOG
50 help
51 Disable reset watchdog, which can let WATCHDOG_RESET invalid, so
52 that the watchdog will not be fed in u-boot.
53
Tom Rini897f7062017-05-12 22:33:24 -040054config OMAP_WATCHDOG
55 bool "TI OMAP watchdog driver"
56 depends on ARCH_OMAP2PLUS
57 select HW_WATCHDOG
Tom Rini897f7062017-05-12 22:33:24 -040058 help
59 Say Y here to enable the OMAP3+ watchdog driver.
Felipe Balbi8f8a12d2017-07-05 20:33:20 +030060
Ye Li253531b2017-02-22 16:21:48 +080061config ULP_WATCHDOG
62 bool "i.MX7ULP watchdog"
63 help
64 Say Y here to enable i.MX7ULP watchdog driver.
65
Marek Vasut8941f842019-06-27 00:26:34 +020066config DESIGNWARE_WATCHDOG
67 bool "Designware watchdog timer support"
Tom Rini02854552022-06-15 12:03:46 -040068 depends on WDT
69 default y if ROCKCHIP_RK3399
Marek Vasut8941f842019-06-27 00:26:34 +020070 help
Michal Simek92a19be2020-03-11 12:26:53 +010071 Enable this to support Designware Watchdog Timer IP, present e.g.
72 on Altera SoCFPGA SoCs.
Marek Vasut8941f842019-06-27 00:26:34 +020073
maxims@google.com0753bc22017-04-17 12:00:21 -070074config WDT
75 bool "Enable driver model for watchdog timer drivers"
76 depends on DM
Stefan Roese06985282019-04-11 15:58:44 +020077 imply WATCHDOG
Stefan Roesec2fd0ca2022-08-18 13:22:46 +020078 select CYCLIC
maxims@google.com0753bc22017-04-17 12:00:21 -070079 help
80 Enable driver model for watchdog timer. At the moment the API
81 is very simple and only supports four operations:
Patrice Chotard8d4f91b2019-04-25 12:57:28 +020082 start, stop, reset and expire_now (expire immediately).
maxims@google.com0753bc22017-04-17 12:00:21 -070083 What exactly happens when the timer expires is up to a particular
84 device/driver.
85
Mark Kettenisee327d12022-01-12 19:55:15 +010086config WDT_APPLE
87 bool "Apple watchdog timer support"
88 depends on WDT
89 default y if ARCH_APPLE
90 help
91 Enable support for the watchdog timer on Apple SoCs.
92 The watchdog will perform a full SoC reset resulting in a
93 reboot of the entire system.
94
Marek Behún2b69a672018-04-24 17:21:30 +020095config WDT_ARMADA_37XX
96 bool "Marvell Armada 37xx watchdog timer support"
97 depends on WDT && ARMADA_3700
98 help
Michal Simek92a19be2020-03-11 12:26:53 +010099 Enable this to support Watchdog Timer on Marvell Armada 37xx SoC.
100 There are 4 possible clocks which can be used on these SoCs. This
101 driver uses the second clock (ID 1), assuming that so will also
102 Linux's driver.
Marek Behún2b69a672018-04-24 17:21:30 +0200103
maxims@google.com1eb0a462017-04-17 12:00:22 -0700104config WDT_ASPEED
105 bool "Aspeed ast2400/ast2500 watchdog timer support"
106 depends on WDT
107 default y if ARCH_ASPEED
108 help
109 Select this to enable watchdog timer for Aspeed ast2500/ast2400 devices.
110 The watchdog timer is stopped when initialized. It performs reset, either
111 full SoC reset or CPU or just some peripherals, based on the flags.
112 It currently does not support Boot Flash Addressing Mode Detection or
113 Second Boot.
114
Chia-Wei, Wang337d95c2020-12-14 13:54:25 +0800115config WDT_AST2600
116 bool "Aspeed AST2600 watchdog timer support"
117 depends on WDT
118 default y if ASPEED_AST2600
119 help
120 Select this to enable watchdog timer for Aspeed ast2500/ast2400 devices.
121 The watchdog timer is stopped when initialized. It performs reset, either
122 full SoC reset or CPU or just some peripherals, based on the flags.
123
Patrice Chotardb3134ff2019-04-30 17:26:20 +0200124config WDT_AT91
125 bool "AT91 watchdog timer support"
126 depends on WDT
127 help
Michal Simek92a19be2020-03-11 12:26:53 +0100128 Select this to enable Microchip watchdog timer, which can be found on
129 some AT91 devices.
Patrice Chotardb3134ff2019-04-30 17:26:20 +0200130
Álvaro Fernández Rojas77331932017-05-16 18:29:09 +0200131config WDT_BCM6345
132 bool "BCM6345 watchdog timer support"
William Zhang4dcd23f2022-08-22 11:31:43 -0700133 depends on WDT && (ARCH_BMIPS || BCM6856 || \
William Zhang8c1a9c72022-08-22 11:49:08 -0700134 BCM6858 || BCM63158 || BCM6855)
Álvaro Fernández Rojas77331932017-05-16 18:29:09 +0200135 help
136 Select this to enable watchdog timer for BCM6345 SoCs.
137 The watchdog timer is stopped when initialized.
138 It performs full SoC reset.
139
Chris Packham017af7f2021-03-05 16:32:58 +1300140config WDT_BOOKE
141 bool "PowerPC Book-E watchdog driver"
142 depends on WDT && MPC85xx
143 help
144 Watchdog driver for PowerPC Book-E chips, such as the Freescale
145 MPC85xx SOCs and the IBM PowerPC 440.
146
Patrice Chotardb3134ff2019-04-30 17:26:20 +0200147config WDT_CDNS
148 bool "Cadence watchdog timer support"
149 depends on WDT
150 imply WATCHDOG
151 help
Michal Simek92a19be2020-03-11 12:26:53 +0100152 Select this to enable Cadence watchdog timer, which can be found on some
153 Xilinx Microzed Platform.
Patrice Chotardb3134ff2019-04-30 17:26:20 +0200154
Jason Li7f54b832020-01-30 12:34:57 -0800155config WDT_CORTINA
156 bool "Cortina Access CAxxxx watchdog timer support"
157 depends on WDT
158 help
159 Cortina Access CAxxxx watchdog timer support.
160 This driver support all CPU ISAs supported by Cortina
Michal Simek92a19be2020-03-11 12:26:53 +0100161 Access CAxxxx SoCs.
Jason Li7f54b832020-01-30 12:34:57 -0800162
Rasmus Villemoes2ac84902021-08-19 11:57:04 +0200163config WDT_GPIO
164 bool "External gpio watchdog support"
165 depends on WDT
166 depends on DM_GPIO
167 help
168 Support for external watchdog fed by toggling a gpio. See
169 doc/device-tree-bindings/watchdog/gpio-wdt.txt for
170 information on how to describe the watchdog in device tree.
171
Pali Rohár0a095fc2022-05-02 18:41:07 +0200172config WDT_MAX6370
173 bool "MAX6370 watchdog timer support"
174 depends on WDT
175 select DM_GPIO
176 help
177 Select this to enable max6370 watchdog timer.
178
Philippe Boos818055f2022-06-13 16:00:56 +0200179config WDT_MESON_GXBB
180 bool "Amlogic watchdog timer support"
181 depends on WDT
182 help
183 Select this to enable Meson watchdog timer,
184 which can be found on some Amlogic platforms.
185
Patrice Chotardb3134ff2019-04-30 17:26:20 +0200186config WDT_MPC8xx
187 bool "MPC8xx watchdog timer support"
188 depends on WDT && MPC8xx
Christophe Leroya6825602020-02-20 07:39:51 +0000189 select HW_WATCHDOG
Patrice Chotardb3134ff2019-04-30 17:26:20 +0200190 help
Michal Simek92a19be2020-03-11 12:26:53 +0100191 Select this to enable mpc8xx watchdog timer
Patrice Chotardb3134ff2019-04-30 17:26:20 +0200192
Weijie Gaobba4ec82020-11-12 16:36:28 +0800193config WDT_MT7620
194 bool "MediaTek MT7620 watchdog timer support"
195 depends on WDT && SOC_MT7620
196 help
197 Select this to enable watchdog timer on MediaTek MT7620 and earlier
198 SoC chips.
199
Patrice Chotardb3134ff2019-04-30 17:26:20 +0200200config WDT_MT7621
201 bool "MediaTek MT7621 watchdog timer support"
Weijie Gaofe3d57a2022-05-20 11:23:19 +0800202 depends on WDT && (SOC_MT7621 || SOC_MT7628)
Patrice Chotardb3134ff2019-04-30 17:26:20 +0200203 help
Michal Simek92a19be2020-03-11 12:26:53 +0100204 Select this to enable Ralink / Mediatek watchdog timer,
205 which can be found on some MediaTek chips.
Patrice Chotardb3134ff2019-04-30 17:26:20 +0200206
207config WDT_MTK
208 bool "MediaTek watchdog timer support"
209 depends on WDT && ARCH_MEDIATEK
210 help
211 Select this to enable watchdog timer for MediaTek SoCs.
212 The watchdog timer is stopped when initialized.
213 It performs full SoC reset.
214
Jim Liue885d092022-04-01 17:59:39 +0800215config WDT_NPCM
216 bool "Nuvoton watchdog timer support"
217 depends on WDT && ARCH_NPCM
218 help
219 This enables Nuvoton npcm7xx/npcm8xx watchdog timer driver,
220 The watchdog timer is stopped when initialized.
221 It performs full SoC reset.
222
Suneel Garapatiaf6ba902019-10-21 16:09:36 -0700223config WDT_OCTEONTX
Stefan Roese1aa2b852022-05-11 09:08:47 +0200224 bool "Octeon core watchdog support"
225 depends on WDT && (ARCH_OCTEON || ARCH_OCTEONTX || ARCH_OCTEONTX2)
Suneel Garapatiaf6ba902019-10-21 16:09:36 -0700226 default y
227 imply WATCHDOG
228 help
Stefan Roese1aa2b852022-05-11 09:08:47 +0200229 This enables the Octeon watchdog driver, which can be found on
230 various Octeon parts such as Octeon II/III and OcteonTX/TX2.
Suneel Garapatiaf6ba902019-10-21 16:09:36 -0700231
Suniel Mahesh7659ea32019-07-31 21:54:06 +0530232config WDT_OMAP3
Michal Simek92a19be2020-03-11 12:26:53 +0100233 bool "TI OMAP watchdog timer support"
234 depends on WDT && ARCH_OMAP2PLUS
235 default y if AM33XX
236 help
Suniel Mahesh7659ea32019-07-31 21:54:06 +0530237 This enables OMAP3+ watchdog timer driver, which can be
238 found on some TI chipsets and inline with driver model.
239
Marek Behún2ab77042017-06-09 19:28:41 +0200240config WDT_ORION
241 bool "Orion watchdog timer support"
242 depends on WDT
Chris Packham8e427ba2019-02-18 10:30:53 +1300243 select CLK
Marek Behún2ab77042017-06-09 19:28:41 +0200244 help
Michal Simek92a19be2020-03-11 12:26:53 +0100245 Select this to enable Orion watchdog timer, which can be found on some
246 Marvell Armada chips.
Marek Behún2ab77042017-06-09 19:28:41 +0200247
Jan Kiszkad388f362020-06-23 13:15:08 +0200248config WDT_K3_RTI
249 bool "Texas Instruments K3 RTI watchdog"
250 depends on WDT && ARCH_K3
251 help
252 Say Y here if you want to include support for the K3 watchdog
253 timer (RTI module) available in the K3 generation of processors.
254
Jan Kiszkaf3efb1d2021-09-18 08:17:55 +0200255if WDT_K3_RTI
256
257config WDT_K3_RTI_LOAD_FW
258 bool "Load watchdog firmware"
259 depends on REMOTEPROC
260 help
261 Automatically load the specified firmware image into the MCU R5F
262 core 0. On the AM65x, this firmware is supposed to handle the expiry
263 of the watchdog timer, typically by resetting the system.
264
265config WDT_K3_RTI_FW_FILE
266 string "Watchdog firmware image file"
267 default "k3-rti-wdt.fw"
268 depends on WDT_K3_RTI_LOAD_FW
269 help
270 Firmware image to be embedded into U-Boot and loaded on watchdog
271 start.
272
273endif
274
Patrice Chotardb3134ff2019-04-30 17:26:20 +0200275config WDT_SANDBOX
276 bool "Enable Watchdog Timer support for Sandbox"
277 depends on SANDBOX && WDT
278 help
279 Enable Watchdog Timer support in Sandbox. This is a dummy device that
280 can be probed and supports all of the methods of WDT, but does not
281 really do anything.
282
Rasmus Villemoes10107ef2022-09-27 11:54:04 +0200283config WDT_ALARM_SANDBOX
284 bool "Enable SIGALRM-based Watchdog Timer support for Sandbox"
285 depends on SANDBOX && WDT
286 help
287 Enable support for a SIGALRM-based watchdog timer in Sandbox. This is
288 a watchdog device based on the host OS' alarm() function, which will
289 kill the sandbox with SIGALRM unless properly maintained.
290
Zhao Qiangf27d73e2020-07-10 16:55:18 +0800291config WDT_SBSA
292 bool "SBSA watchdog timer support"
293 depends on WDT
294 help
295 Select this to enable SBSA watchdog timer.
296 This driver can operate ARM SBSA Generic Watchdog as a single stage.
297 In the single stage mode, when the timeout is reached, your system
298 will be reset by WS1. The first signal (WS0) is ignored.
299
Michael Wallef606c9a2021-11-15 23:45:43 +0100300config WDT_SL28CPLD
301 bool "sl28cpld watchdog timer support"
302 depends on WDT && SL28CPLD
303 help
304 Enable support for the watchdog timer in the Kontron sl28cpld
305 management controller.
306
Qiang Zhao0652d9f2019-05-07 03:16:09 +0000307config WDT_SP805
308 bool "SP805 watchdog timer support"
309 depends on WDT
310 help
Michal Simek92a19be2020-03-11 12:26:53 +0100311 Select this to enable SP805 watchdog timer, which can be found on some
312 nxp layerscape chips.
Qiang Zhao0652d9f2019-05-07 03:16:09 +0000313
Patrice Chotard8c1007a2019-04-30 17:26:22 +0200314config WDT_STM32MP
315 bool "IWDG watchdog driver for STM32 MP's family"
316 depends on WDT
317 imply WATCHDOG
318 help
319 Enable the STM32 watchdog (IWDG) driver. Enable support to
320 configure STM32's on-SoC watchdog.
321
Samuel Holland93d34fa2021-08-22 13:53:27 -0500322config WDT_SUNXI
323 bool "Allwinner sunxi watchdog timer support"
324 depends on WDT && ARCH_SUNXI
325 default y
326 help
327 Enable support for the watchdog timer in Allwinner sunxi SoCs.
328
Shreenidhi Shedie0e9caa2018-07-15 02:05:41 +0530329config XILINX_TB_WATCHDOG
330 bool "Xilinx Axi watchdog timer support"
331 depends on WDT
332 imply WATCHDOG
333 help
Michal Simek92a19be2020-03-11 12:26:53 +0100334 Select this to enable Xilinx Axi watchdog timer, which can be found on some
335 Xilinx Microblaze Platforms.
Shreenidhi Shedie0e9caa2018-07-15 02:05:41 +0530336
Ashok Reddy Soma50283582020-03-11 03:06:04 -0600337config WDT_XILINX
338 bool "Xilinx window watchdog timer support"
339 depends on WDT && ARCH_VERSAL
340 select REGMAP
341 imply WATCHDOG
342 help
343 Select this to enable Xilinx window watchdog timer, which can be found on
344 Xilinx Versal Platforms.
345
Andy Shevchenkoc974a3d2019-06-21 13:28:08 +0300346config WDT_TANGIER
347 bool "Intel Tangier watchdog timer support"
348 depends on WDT && INTEL_MID
349 help
350 This enables support for watchdog controller available on
351 Intel Tangier SoC. If you're using a board with Intel Tangier
352 SoC, say Y here.
353
Marek Vasut6874cb72019-06-09 03:46:21 +0200354config SPL_WDT
355 bool "Enable driver model for watchdog timer drivers in SPL"
356 depends on SPL_DM
357 help
358 Enable driver model for watchdog timer in SPL.
359 This is similar to CONFIG_WDT in U-Boot.
360
Ye Li253531b2017-02-22 16:21:48 +0800361endmenu