50e6a1efba51c56af0e468784086257e0cfb00d0
[platform/kernel/u-boot.git] / drivers / watchdog / Kconfig
1 menu "Watchdog Timer Support"
2
3 config WATCHDOG
4         bool "Enable U-Boot watchdog reset"
5         depends on !HW_WATCHDOG
6         help
7           This option enables U-Boot watchdog support where U-Boot is using
8           watchdog_reset function to service watchdog device in U-Boot. Enable
9           this option if you want to service enabled watchdog by U-Boot. Disable
10           this option if you want U-Boot to start watchdog but never service it.
11
12 config WATCHDOG_AUTOSTART
13         bool "Automatically start watchdog timer"
14         depends on WDT
15         default n if ARCH_SUNXI
16         default y
17         help
18           Automatically start watchdog timer and start servicing it during
19           init phase. Enabled by default. Disable this option if you want
20           to compile U-Boot with CONFIG_WDT support but do not want to
21           activate watchdog, like when CONFIG_WDT option is disabled. You
22           would be able to start watchdog manually by 'wdt' command. Useful
23           when you want to have support for 'wdt' command but do not want
24           to have watchdog enabled by default.
25
26 config WATCHDOG_TIMEOUT_MSECS
27         int "Watchdog timeout in msec"
28         default 128000 if ARCH_MX31 || ARCH_MX5 || ARCH_MX6
29         default 128000 if ARCH_MX7 || ARCH_VF610
30         default 30000 if ARCH_SOCFPGA
31         default 16000 if ARCH_SUNXI
32         default 60000
33         help
34           Watchdog timeout in msec
35
36 config HW_WATCHDOG
37         bool
38
39 config IMX_WATCHDOG
40         bool "Enable Watchdog Timer support for IMX and LSCH2 of NXP"
41         select HW_WATCHDOG if !WDT
42         help
43           Select this to enable the IMX and LSCH2 of Layerscape watchdog
44           driver.
45
46 config WATCHDOG_RESET_DISABLE
47         bool "Disable reset watchdog"
48         depends on IMX_WATCHDOG
49         help
50           Disable reset watchdog, which can let WATCHDOG_RESET invalid, so
51           that the watchdog will not be fed in u-boot.
52
53 config OMAP_WATCHDOG
54         bool "TI OMAP watchdog driver"
55         depends on ARCH_OMAP2PLUS
56         select HW_WATCHDOG
57         help
58           Say Y here to enable the OMAP3+ watchdog driver.
59
60 config ULP_WATCHDOG
61         bool "i.MX7ULP watchdog"
62         help
63           Say Y here to enable i.MX7ULP watchdog driver.
64
65 config DESIGNWARE_WATCHDOG
66         bool "Designware watchdog timer support"
67         depends on WDT
68         default y if ROCKCHIP_RK3399
69         help
70           Enable this to support Designware Watchdog Timer IP, present e.g.
71           on Altera SoCFPGA SoCs.
72
73 config WDT
74         bool "Enable driver model for watchdog timer drivers"
75         depends on DM
76         imply WATCHDOG
77         help
78           Enable driver model for watchdog timer. At the moment the API
79           is very simple and only supports four operations:
80           start, stop, reset and expire_now (expire immediately).
81           What exactly happens when the timer expires is up to a particular
82           device/driver.
83
84 config WDT_APPLE
85         bool "Apple watchdog timer support"
86         depends on WDT
87         default y if ARCH_APPLE
88         help
89           Enable support for the watchdog timer on Apple SoCs.
90           The watchdog will perform a full SoC reset resulting in a
91           reboot of the entire system.
92
93 config WDT_ARMADA_37XX
94         bool "Marvell Armada 37xx watchdog timer support"
95         depends on WDT && ARMADA_3700
96         help
97           Enable this to support Watchdog Timer on Marvell Armada 37xx SoC.
98           There are 4 possible clocks which can be used on these SoCs. This
99           driver uses the second clock (ID 1), assuming that so will also
100           Linux's driver.
101
102 config WDT_ASPEED
103         bool "Aspeed ast2400/ast2500 watchdog timer support"
104         depends on WDT
105         default y if ARCH_ASPEED
106         help
107           Select this to enable watchdog timer for Aspeed ast2500/ast2400 devices.
108           The watchdog timer is stopped when initialized. It performs reset, either
109           full SoC reset or CPU or just some peripherals, based on the flags.
110           It currently does not support Boot Flash Addressing Mode Detection or
111           Second Boot.
112
113 config WDT_AST2600
114         bool "Aspeed AST2600 watchdog timer support"
115         depends on WDT
116         default y if ASPEED_AST2600
117         help
118           Select this to enable watchdog timer for Aspeed ast2500/ast2400 devices.
119           The watchdog timer is stopped when initialized. It performs reset, either
120           full SoC reset or CPU or just some peripherals, based on the flags.
121
122 config WDT_AT91
123         bool "AT91 watchdog timer support"
124         depends on WDT
125         help
126           Select this to enable Microchip watchdog timer, which can be found on
127           some AT91 devices.
128
129 config WDT_BCM6345
130         bool "BCM6345 watchdog timer support"
131         depends on WDT && (ARCH_BMIPS || ARCH_BCM68360 || \
132                            ARCH_BCM6858 || ARCH_BCM63158 || \
133                            ARCH_BCM6753)
134         help
135           Select this to enable watchdog timer for BCM6345 SoCs.
136           The watchdog timer is stopped when initialized.
137           It performs full SoC reset.
138
139 config WDT_BOOKE
140         bool "PowerPC Book-E watchdog driver"
141         depends on WDT && MPC85xx
142         help
143           Watchdog driver for PowerPC Book-E chips, such as the Freescale
144           MPC85xx SOCs and the IBM PowerPC 440.
145
146 config WDT_CDNS
147         bool "Cadence watchdog timer support"
148         depends on WDT
149         imply WATCHDOG
150         help
151           Select this to enable Cadence watchdog timer, which can be found on some
152           Xilinx Microzed Platform.
153
154 config WDT_CORTINA
155         bool "Cortina Access CAxxxx watchdog timer support"
156         depends on WDT
157         help
158           Cortina Access CAxxxx watchdog timer support.
159           This driver support all CPU ISAs supported by Cortina
160           Access CAxxxx SoCs.
161
162 config WDT_GPIO
163         bool "External gpio watchdog support"
164         depends on WDT
165         depends on DM_GPIO
166         help
167           Support for external watchdog fed by toggling a gpio. See
168           doc/device-tree-bindings/watchdog/gpio-wdt.txt for
169           information on how to describe the watchdog in device tree.
170
171 config WDT_MAX6370
172         bool "MAX6370 watchdog timer support"
173         depends on WDT
174         select DM_GPIO
175         help
176           Select this to enable max6370 watchdog timer.
177
178 config WDT_MESON_GXBB
179         bool "Amlogic watchdog timer support"
180         depends on WDT
181         help
182           Select this to enable Meson watchdog timer,
183           which can be found on some Amlogic platforms.
184
185 config WDT_MPC8xx
186         bool "MPC8xx watchdog timer support"
187         depends on WDT && MPC8xx
188         select HW_WATCHDOG
189         help
190           Select this to enable mpc8xx watchdog timer
191
192 config WDT_MT7620
193         bool "MediaTek MT7620 watchdog timer support"
194         depends on WDT && SOC_MT7620
195         help
196           Select this to enable watchdog timer on MediaTek MT7620 and earlier
197           SoC chips.
198
199 config WDT_MT7621
200         bool "MediaTek MT7621 watchdog timer support"
201         depends on WDT && (SOC_MT7621 || SOC_MT7628)
202         help
203           Select this to enable Ralink / Mediatek watchdog timer,
204           which can be found on some MediaTek chips.
205
206 config WDT_MTK
207         bool "MediaTek watchdog timer support"
208         depends on WDT && ARCH_MEDIATEK
209         help
210           Select this to enable watchdog timer for MediaTek SoCs.
211           The watchdog timer is stopped when initialized.
212           It performs full SoC reset.
213
214 config WDT_NPCM
215         bool "Nuvoton watchdog timer support"
216         depends on WDT && ARCH_NPCM
217         help
218           This enables Nuvoton npcm7xx/npcm8xx watchdog timer driver,
219           The watchdog timer is stopped when initialized.
220           It performs full SoC reset.
221
222 config WDT_OCTEONTX
223         bool "Octeon core watchdog support"
224         depends on WDT && (ARCH_OCTEON || ARCH_OCTEONTX || ARCH_OCTEONTX2)
225         default y
226         imply WATCHDOG
227         help
228           This enables the Octeon watchdog driver, which can be found on
229           various Octeon parts such as Octeon II/III and OcteonTX/TX2.
230
231 config WDT_OMAP3
232         bool "TI OMAP watchdog timer support"
233         depends on WDT && ARCH_OMAP2PLUS
234         default y if AM33XX
235         help
236           This enables OMAP3+ watchdog timer driver, which can be
237           found on some TI chipsets and inline with driver model.
238
239 config WDT_ORION
240         bool "Orion watchdog timer support"
241         depends on WDT
242         select CLK
243         help
244           Select this to enable Orion watchdog timer, which can be found on some
245           Marvell Armada chips.
246
247 config WDT_K3_RTI
248         bool "Texas Instruments K3 RTI watchdog"
249         depends on WDT && ARCH_K3
250         help
251           Say Y here if you want to include support for the K3 watchdog
252           timer (RTI module) available in the K3 generation of processors.
253
254 if WDT_K3_RTI
255
256 config WDT_K3_RTI_LOAD_FW
257         bool "Load watchdog firmware"
258         depends on REMOTEPROC
259         help
260           Automatically load the specified firmware image into the MCU R5F
261           core 0. On the AM65x, this firmware is supposed to handle the expiry
262           of the watchdog timer, typically by resetting the system.
263
264 config WDT_K3_RTI_FW_FILE
265         string "Watchdog firmware image file"
266         default "k3-rti-wdt.fw"
267         depends on WDT_K3_RTI_LOAD_FW
268         help
269           Firmware image to be embedded into U-Boot and loaded on watchdog
270           start.
271
272 endif
273
274 config WDT_SANDBOX
275         bool "Enable Watchdog Timer support for Sandbox"
276         depends on SANDBOX && WDT
277         help
278           Enable Watchdog Timer support in Sandbox. This is a dummy device that
279           can be probed and supports all of the methods of WDT, but does not
280           really do anything.
281
282 config WDT_SBSA
283         bool "SBSA watchdog timer support"
284         depends on WDT
285         help
286            Select this to enable SBSA watchdog timer.
287            This driver can operate ARM SBSA Generic Watchdog as a single stage.
288            In the single stage mode, when the timeout is reached, your system
289            will be reset by WS1. The first signal (WS0) is ignored.
290
291 config WDT_SL28CPLD
292         bool "sl28cpld watchdog timer support"
293         depends on WDT && SL28CPLD
294         help
295           Enable support for the watchdog timer in the Kontron sl28cpld
296           management controller.
297
298 config WDT_SP805
299         bool "SP805 watchdog timer support"
300         depends on WDT
301         help
302           Select this to enable SP805 watchdog timer, which can be found on some
303           nxp layerscape chips.
304
305 config WDT_STM32MP
306         bool "IWDG watchdog driver for STM32 MP's family"
307         depends on WDT
308         imply WATCHDOG
309         help
310           Enable the STM32 watchdog (IWDG) driver. Enable support to
311           configure STM32's on-SoC watchdog.
312
313 config WDT_SUNXI
314         bool "Allwinner sunxi watchdog timer support"
315         depends on WDT && ARCH_SUNXI
316         default y
317         help
318           Enable support for the watchdog timer in Allwinner sunxi SoCs.
319
320 config XILINX_TB_WATCHDOG
321         bool "Xilinx Axi watchdog timer support"
322         depends on WDT
323         imply WATCHDOG
324         help
325           Select this to enable Xilinx Axi watchdog timer, which can be found on some
326           Xilinx Microblaze Platforms.
327
328 config WDT_XILINX
329         bool "Xilinx window watchdog timer support"
330         depends on WDT && ARCH_VERSAL
331         select REGMAP
332         imply WATCHDOG
333         help
334           Select this to enable Xilinx window watchdog timer, which can be found on
335           Xilinx Versal Platforms.
336
337 config WDT_TANGIER
338         bool "Intel Tangier watchdog timer support"
339         depends on WDT && INTEL_MID
340         help
341           This enables support for watchdog controller available on
342           Intel Tangier SoC. If you're using a board with Intel Tangier
343           SoC, say Y here.
344
345 config SPL_WDT
346         bool "Enable driver model for watchdog timer drivers in SPL"
347         depends on SPL_DM
348         help
349           Enable driver model for watchdog timer in SPL.
350           This is similar to CONFIG_WDT in U-Boot.
351
352 endmenu