blob: f7fbb28d80af63e1dee5269cc2bb7b86e5498e2a [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
Heiko Schocherca51ef72019-09-30 09:33:43 +020034 default 60000
35 help
36 Watchdog timeout in msec
37
Paolo Pisati45a6d232017-02-10 17:28:05 +010038config HW_WATCHDOG
39 bool
40
Patrice Chotardb3134ff2019-04-30 17:26:20 +020041config IMX_WATCHDOG
42 bool "Enable Watchdog Timer support for IMX and LSCH2 of NXP"
Marek Vasut4b969de2019-06-09 03:46:22 +020043 select HW_WATCHDOG if !WDT
Patrice Chotardb3134ff2019-04-30 17:26:20 +020044 help
Michal Simek92a19be2020-03-11 12:26:53 +010045 Select this to enable the IMX and LSCH2 of Layerscape watchdog
46 driver.
Patrice Chotardb3134ff2019-04-30 17:26:20 +020047
Michael Walle95b3d6a2020-09-24 10:09:15 +020048config WATCHDOG_RESET_DISABLE
49 bool "Disable reset watchdog"
50 depends on IMX_WATCHDOG
51 help
52 Disable reset watchdog, which can let WATCHDOG_RESET invalid, so
53 that the watchdog will not be fed in u-boot.
54
Tom Rini897f7062017-05-12 22:33:24 -040055config OMAP_WATCHDOG
56 bool "TI OMAP watchdog driver"
57 depends on ARCH_OMAP2PLUS
58 select HW_WATCHDOG
Tom Rini897f7062017-05-12 22:33:24 -040059 help
60 Say Y here to enable the OMAP3+ watchdog driver.
Felipe Balbi8f8a12d2017-07-05 20:33:20 +030061
Ye Li253531b2017-02-22 16:21:48 +080062config ULP_WATCHDOG
63 bool "i.MX7ULP watchdog"
64 help
65 Say Y here to enable i.MX7ULP watchdog driver.
66
Marek Vasut8941f842019-06-27 00:26:34 +020067config DESIGNWARE_WATCHDOG
68 bool "Designware watchdog timer support"
Tom Rini02854552022-06-15 12:03:46 -040069 depends on WDT
70 default y if ROCKCHIP_RK3399
Marek Vasut8941f842019-06-27 00:26:34 +020071 help
Michal Simek92a19be2020-03-11 12:26:53 +010072 Enable this to support Designware Watchdog Timer IP, present e.g.
73 on Altera SoCFPGA SoCs.
Marek Vasut8941f842019-06-27 00:26:34 +020074
maxims@google.com0753bc22017-04-17 12:00:21 -070075config WDT
76 bool "Enable driver model for watchdog timer drivers"
77 depends on DM
Stefan Roese06985282019-04-11 15:58:44 +020078 imply WATCHDOG
Stefan Roesec2fd0ca2022-08-18 13:22:46 +020079 select CYCLIC
maxims@google.com0753bc22017-04-17 12:00:21 -070080 help
81 Enable driver model for watchdog timer. At the moment the API
82 is very simple and only supports four operations:
Patrice Chotard8d4f91b2019-04-25 12:57:28 +020083 start, stop, reset and expire_now (expire immediately).
maxims@google.com0753bc22017-04-17 12:00:21 -070084 What exactly happens when the timer expires is up to a particular
85 device/driver.
86
Mark Kettenisee327d12022-01-12 19:55:15 +010087config WDT_APPLE
88 bool "Apple watchdog timer support"
89 depends on WDT
90 default y if ARCH_APPLE
91 help
92 Enable support for the watchdog timer on Apple SoCs.
93 The watchdog will perform a full SoC reset resulting in a
94 reboot of the entire system.
95
Marek Behún2b69a672018-04-24 17:21:30 +020096config WDT_ARMADA_37XX
97 bool "Marvell Armada 37xx watchdog timer support"
98 depends on WDT && ARMADA_3700
99 help
Michal Simek92a19be2020-03-11 12:26:53 +0100100 Enable this to support Watchdog Timer on Marvell Armada 37xx SoC.
101 There are 4 possible clocks which can be used on these SoCs. This
102 driver uses the second clock (ID 1), assuming that so will also
103 Linux's driver.
Marek Behún2b69a672018-04-24 17:21:30 +0200104
maxims@google.com1eb0a462017-04-17 12:00:22 -0700105config WDT_ASPEED
106 bool "Aspeed ast2400/ast2500 watchdog timer support"
107 depends on WDT
108 default y if ARCH_ASPEED
109 help
110 Select this to enable watchdog timer for Aspeed ast2500/ast2400 devices.
111 The watchdog timer is stopped when initialized. It performs reset, either
112 full SoC reset or CPU or just some peripherals, based on the flags.
113 It currently does not support Boot Flash Addressing Mode Detection or
114 Second Boot.
115
Chia-Wei, Wang337d95c2020-12-14 13:54:25 +0800116config WDT_AST2600
117 bool "Aspeed AST2600 watchdog timer support"
118 depends on WDT
119 default y if ASPEED_AST2600
120 help
121 Select this to enable watchdog timer for Aspeed ast2500/ast2400 devices.
122 The watchdog timer is stopped when initialized. It performs reset, either
123 full SoC reset or CPU or just some peripherals, based on the flags.
124
Patrice Chotardb3134ff2019-04-30 17:26:20 +0200125config WDT_AT91
126 bool "AT91 watchdog timer support"
127 depends on WDT
128 help
Michal Simek92a19be2020-03-11 12:26:53 +0100129 Select this to enable Microchip watchdog timer, which can be found on
130 some AT91 devices.
Patrice Chotardb3134ff2019-04-30 17:26:20 +0200131
Álvaro Fernández Rojas77331932017-05-16 18:29:09 +0200132config WDT_BCM6345
133 bool "BCM6345 watchdog timer support"
William Zhang4dcd23f2022-08-22 11:31:43 -0700134 depends on WDT && (ARCH_BMIPS || BCM6856 || \
William Zhang8c1a9c72022-08-22 11:49:08 -0700135 BCM6858 || BCM63158 || BCM6855)
Álvaro Fernández Rojas77331932017-05-16 18:29:09 +0200136 help
137 Select this to enable watchdog timer for BCM6345 SoCs.
138 The watchdog timer is stopped when initialized.
139 It performs full SoC reset.
140
Chris Packham017af7f2021-03-05 16:32:58 +1300141config WDT_BOOKE
142 bool "PowerPC Book-E watchdog driver"
143 depends on WDT && MPC85xx
144 help
145 Watchdog driver for PowerPC Book-E chips, such as the Freescale
146 MPC85xx SOCs and the IBM PowerPC 440.
147
Patrice Chotardb3134ff2019-04-30 17:26:20 +0200148config WDT_CDNS
149 bool "Cadence watchdog timer support"
150 depends on WDT
151 imply WATCHDOG
152 help
Michal Simek92a19be2020-03-11 12:26:53 +0100153 Select this to enable Cadence watchdog timer, which can be found on some
154 Xilinx Microzed Platform.
Patrice Chotardb3134ff2019-04-30 17:26:20 +0200155
Jason Li7f54b832020-01-30 12:34:57 -0800156config WDT_CORTINA
157 bool "Cortina Access CAxxxx watchdog timer support"
158 depends on WDT
159 help
160 Cortina Access CAxxxx watchdog timer support.
161 This driver support all CPU ISAs supported by Cortina
Michal Simek92a19be2020-03-11 12:26:53 +0100162 Access CAxxxx SoCs.
Jason Li7f54b832020-01-30 12:34:57 -0800163
Rasmus Villemoes2ac84902021-08-19 11:57:04 +0200164config WDT_GPIO
165 bool "External gpio watchdog support"
166 depends on WDT
167 depends on DM_GPIO
168 help
169 Support for external watchdog fed by toggling a gpio. See
170 doc/device-tree-bindings/watchdog/gpio-wdt.txt for
171 information on how to describe the watchdog in device tree.
172
Pali Rohár0a095fc2022-05-02 18:41:07 +0200173config WDT_MAX6370
174 bool "MAX6370 watchdog timer support"
175 depends on WDT
176 select DM_GPIO
177 help
178 Select this to enable max6370 watchdog timer.
179
Philippe Boos818055f2022-06-13 16:00:56 +0200180config WDT_MESON_GXBB
181 bool "Amlogic watchdog timer support"
182 depends on WDT
183 help
184 Select this to enable Meson watchdog timer,
185 which can be found on some Amlogic platforms.
186
Christophe Leroy21eaade2023-04-03 10:27:39 +0200187config WDT_MPC8xxx
188 bool "MPC8xxx watchdog timer support"
Patrice Chotardb3134ff2019-04-30 17:26:20 +0200189 depends on WDT && MPC8xx
Patrice Chotardb3134ff2019-04-30 17:26:20 +0200190 help
Christophe Leroy21eaade2023-04-03 10:27:39 +0200191 Select this to enable mpc8xxx watchdog timer
Patrice Chotardb3134ff2019-04-30 17:26:20 +0200192
Christophe Leroy26e8ebc2023-04-03 10:27:39 +0200193config WDT_MPC8xxx_BME
194 bool "Enable MPC8xx Bus Monitoring"
195 depends on WDT_MPC8xxx && MPC8xx
196 help
197 Select this to enable mpc8xx Bus Monitor.
198
199config WDT_MPC8xxx_BMT
200 int "MPC8xx Bus Monitor Timing" if WDT_MPC8xxx_BME
201 range 0 255
202 default 255
203 depends on WDT_MPC8xxx
204 help
205 Bus monitor timing. Defines the timeout period, in 8 system clock
206 resolution, for the bus monitor.
207
208 Maximum timeout is 2,040 clocks (255 x 8).
209
Weijie Gaobba4ec82020-11-12 16:36:28 +0800210config WDT_MT7620
211 bool "MediaTek MT7620 watchdog timer support"
212 depends on WDT && SOC_MT7620
213 help
214 Select this to enable watchdog timer on MediaTek MT7620 and earlier
215 SoC chips.
216
Patrice Chotardb3134ff2019-04-30 17:26:20 +0200217config WDT_MT7621
218 bool "MediaTek MT7621 watchdog timer support"
Weijie Gaofe3d57a2022-05-20 11:23:19 +0800219 depends on WDT && (SOC_MT7621 || SOC_MT7628)
Patrice Chotardb3134ff2019-04-30 17:26:20 +0200220 help
Michal Simek92a19be2020-03-11 12:26:53 +0100221 Select this to enable Ralink / Mediatek watchdog timer,
222 which can be found on some MediaTek chips.
Patrice Chotardb3134ff2019-04-30 17:26:20 +0200223
224config WDT_MTK
225 bool "MediaTek watchdog timer support"
226 depends on WDT && ARCH_MEDIATEK
227 help
228 Select this to enable watchdog timer for MediaTek SoCs.
229 The watchdog timer is stopped when initialized.
230 It performs full SoC reset.
231
Jim Liue885d092022-04-01 17:59:39 +0800232config WDT_NPCM
233 bool "Nuvoton watchdog timer support"
234 depends on WDT && ARCH_NPCM
235 help
236 This enables Nuvoton npcm7xx/npcm8xx watchdog timer driver,
237 The watchdog timer is stopped when initialized.
238 It performs full SoC reset.
239
Suneel Garapatiaf6ba902019-10-21 16:09:36 -0700240config WDT_OCTEONTX
Stefan Roese1aa2b852022-05-11 09:08:47 +0200241 bool "Octeon core watchdog support"
242 depends on WDT && (ARCH_OCTEON || ARCH_OCTEONTX || ARCH_OCTEONTX2)
Suneel Garapatiaf6ba902019-10-21 16:09:36 -0700243 default y
244 imply WATCHDOG
245 help
Stefan Roese1aa2b852022-05-11 09:08:47 +0200246 This enables the Octeon watchdog driver, which can be found on
247 various Octeon parts such as Octeon II/III and OcteonTX/TX2.
Suneel Garapatiaf6ba902019-10-21 16:09:36 -0700248
Suniel Mahesh7659ea32019-07-31 21:54:06 +0530249config WDT_OMAP3
Michal Simek92a19be2020-03-11 12:26:53 +0100250 bool "TI OMAP watchdog timer support"
251 depends on WDT && ARCH_OMAP2PLUS
252 default y if AM33XX
253 help
Suniel Mahesh7659ea32019-07-31 21:54:06 +0530254 This enables OMAP3+ watchdog timer driver, which can be
255 found on some TI chipsets and inline with driver model.
256
Marek Behún2ab77042017-06-09 19:28:41 +0200257config WDT_ORION
258 bool "Orion watchdog timer support"
259 depends on WDT
Chris Packham8e427ba2019-02-18 10:30:53 +1300260 select CLK
Marek Behún2ab77042017-06-09 19:28:41 +0200261 help
Michal Simek92a19be2020-03-11 12:26:53 +0100262 Select this to enable Orion watchdog timer, which can be found on some
263 Marvell Armada chips.
Marek Behún2ab77042017-06-09 19:28:41 +0200264
Jan Kiszkad388f362020-06-23 13:15:08 +0200265config WDT_K3_RTI
266 bool "Texas Instruments K3 RTI watchdog"
267 depends on WDT && ARCH_K3
268 help
269 Say Y here if you want to include support for the K3 watchdog
270 timer (RTI module) available in the K3 generation of processors.
271
Jan Kiszkaf3efb1d2021-09-18 08:17:55 +0200272if WDT_K3_RTI
273
274config WDT_K3_RTI_LOAD_FW
275 bool "Load watchdog firmware"
276 depends on REMOTEPROC
277 help
278 Automatically load the specified firmware image into the MCU R5F
279 core 0. On the AM65x, this firmware is supposed to handle the expiry
280 of the watchdog timer, typically by resetting the system.
281
282config WDT_K3_RTI_FW_FILE
283 string "Watchdog firmware image file"
284 default "k3-rti-wdt.fw"
285 depends on WDT_K3_RTI_LOAD_FW
286 help
287 Firmware image to be embedded into U-Boot and loaded on watchdog
288 start.
289
290endif
291
Patrice Chotardb3134ff2019-04-30 17:26:20 +0200292config WDT_SANDBOX
293 bool "Enable Watchdog Timer support for Sandbox"
294 depends on SANDBOX && WDT
295 help
296 Enable Watchdog Timer support in Sandbox. This is a dummy device that
297 can be probed and supports all of the methods of WDT, but does not
298 really do anything.
299
Rasmus Villemoes10107ef2022-09-27 11:54:04 +0200300config WDT_ALARM_SANDBOX
301 bool "Enable SIGALRM-based Watchdog Timer support for Sandbox"
302 depends on SANDBOX && WDT
303 help
304 Enable support for a SIGALRM-based watchdog timer in Sandbox. This is
305 a watchdog device based on the host OS' alarm() function, which will
306 kill the sandbox with SIGALRM unless properly maintained.
307
Zhao Qiangf27d73e2020-07-10 16:55:18 +0800308config WDT_SBSA
309 bool "SBSA watchdog timer support"
310 depends on WDT
311 help
312 Select this to enable SBSA watchdog timer.
313 This driver can operate ARM SBSA Generic Watchdog as a single stage.
314 In the single stage mode, when the timeout is reached, your system
315 will be reset by WS1. The first signal (WS0) is ignored.
316
Michael Wallef606c9a2021-11-15 23:45:43 +0100317config WDT_SL28CPLD
318 bool "sl28cpld watchdog timer support"
319 depends on WDT && SL28CPLD
320 help
321 Enable support for the watchdog timer in the Kontron sl28cpld
322 management controller.
323
Qiang Zhao0652d9f2019-05-07 03:16:09 +0000324config WDT_SP805
325 bool "SP805 watchdog timer support"
326 depends on WDT
327 help
Michal Simek92a19be2020-03-11 12:26:53 +0100328 Select this to enable SP805 watchdog timer, which can be found on some
329 nxp layerscape chips.
Qiang Zhao0652d9f2019-05-07 03:16:09 +0000330
Patrice Chotard8c1007a2019-04-30 17:26:22 +0200331config WDT_STM32MP
332 bool "IWDG watchdog driver for STM32 MP's family"
333 depends on WDT
334 imply WATCHDOG
335 help
336 Enable the STM32 watchdog (IWDG) driver. Enable support to
337 configure STM32's on-SoC watchdog.
338
Samuel Holland93d34fa2021-08-22 13:53:27 -0500339config WDT_SUNXI
340 bool "Allwinner sunxi watchdog timer support"
341 depends on WDT && ARCH_SUNXI
342 default y
343 help
344 Enable support for the watchdog timer in Allwinner sunxi SoCs.
345
Shreenidhi Shedie0e9caa2018-07-15 02:05:41 +0530346config XILINX_TB_WATCHDOG
347 bool "Xilinx Axi watchdog timer support"
348 depends on WDT
349 imply WATCHDOG
350 help
Michal Simek92a19be2020-03-11 12:26:53 +0100351 Select this to enable Xilinx Axi watchdog timer, which can be found on some
352 Xilinx Microblaze Platforms.
Shreenidhi Shedie0e9caa2018-07-15 02:05:41 +0530353
Ashok Reddy Soma50283582020-03-11 03:06:04 -0600354config WDT_XILINX
355 bool "Xilinx window watchdog timer support"
356 depends on WDT && ARCH_VERSAL
357 select REGMAP
358 imply WATCHDOG
359 help
360 Select this to enable Xilinx window watchdog timer, which can be found on
361 Xilinx Versal Platforms.
362
Andy Shevchenkoc974a3d2019-06-21 13:28:08 +0300363config WDT_TANGIER
364 bool "Intel Tangier watchdog timer support"
365 depends on WDT && INTEL_MID
366 help
367 This enables support for watchdog controller available on
368 Intel Tangier SoC. If you're using a board with Intel Tangier
369 SoC, say Y here.
370
Marek Vasut6874cb72019-06-09 03:46:21 +0200371config SPL_WDT
372 bool "Enable driver model for watchdog timer drivers in SPL"
373 depends on SPL_DM
374 help
375 Enable driver model for watchdog timer in SPL.
376 This is similar to CONFIG_WDT in U-Boot.
377
Ye Li253531b2017-02-22 16:21:48 +0800378endmenu