Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-sunxi
[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         select HW_WATCHDOG if !WDT
68         default y if WDT && 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_ARMADA_37XX
85         bool "Marvell Armada 37xx watchdog timer support"
86         depends on WDT && ARMADA_3700
87         help
88           Enable this to support Watchdog Timer on Marvell Armada 37xx SoC.
89           There are 4 possible clocks which can be used on these SoCs. This
90           driver uses the second clock (ID 1), assuming that so will also
91           Linux's driver.
92
93 config WDT_ASPEED
94         bool "Aspeed ast2400/ast2500 watchdog timer support"
95         depends on WDT
96         default y if ARCH_ASPEED
97         help
98           Select this to enable watchdog timer for Aspeed ast2500/ast2400 devices.
99           The watchdog timer is stopped when initialized. It performs reset, either
100           full SoC reset or CPU or just some peripherals, based on the flags.
101           It currently does not support Boot Flash Addressing Mode Detection or
102           Second Boot.
103
104 config WDT_AST2600
105         bool "Aspeed AST2600 watchdog timer support"
106         depends on WDT
107         default y if ASPEED_AST2600
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
113 config WDT_AT91
114         bool "AT91 watchdog timer support"
115         depends on WDT
116         help
117           Select this to enable Microchip watchdog timer, which can be found on
118           some AT91 devices.
119
120 config WDT_BCM6345
121         bool "BCM6345 watchdog timer support"
122         depends on WDT && (ARCH_BMIPS || ARCH_BCM68360 || \
123                            ARCH_BCM6858 || ARCH_BCM63158)
124         help
125           Select this to enable watchdog timer for BCM6345 SoCs.
126           The watchdog timer is stopped when initialized.
127           It performs full SoC reset.
128
129 config WDT_BOOKE
130         bool "PowerPC Book-E watchdog driver"
131         depends on WDT && MPC85xx
132         help
133           Watchdog driver for PowerPC Book-E chips, such as the Freescale
134           MPC85xx SOCs and the IBM PowerPC 440.
135
136 config WDT_CDNS
137         bool "Cadence watchdog timer support"
138         depends on WDT
139         imply WATCHDOG
140         help
141           Select this to enable Cadence watchdog timer, which can be found on some
142           Xilinx Microzed Platform.
143
144 config WDT_CORTINA
145         bool "Cortina Access CAxxxx watchdog timer support"
146         depends on WDT
147         help
148           Cortina Access CAxxxx watchdog timer support.
149           This driver support all CPU ISAs supported by Cortina
150           Access CAxxxx SoCs.
151
152 config WDT_GPIO
153         bool "External gpio watchdog support"
154         depends on WDT
155         depends on DM_GPIO
156         help
157           Support for external watchdog fed by toggling a gpio. See
158           doc/device-tree-bindings/watchdog/gpio-wdt.txt for
159           information on how to describe the watchdog in device tree.
160
161 config WDT_MPC8xx
162         bool "MPC8xx watchdog timer support"
163         depends on WDT && MPC8xx
164         select HW_WATCHDOG
165         help
166           Select this to enable mpc8xx watchdog timer
167
168 config WDT_MT7620
169         bool "MediaTek MT7620 watchdog timer support"
170         depends on WDT && SOC_MT7620
171         help
172           Select this to enable watchdog timer on MediaTek MT7620 and earlier
173           SoC chips.
174
175 config WDT_MT7621
176         bool "MediaTek MT7621 watchdog timer support"
177         depends on WDT && SOC_MT7628
178         help
179           Select this to enable Ralink / Mediatek watchdog timer,
180           which can be found on some MediaTek chips.
181
182 config WDT_MTK
183         bool "MediaTek watchdog timer support"
184         depends on WDT && ARCH_MEDIATEK
185         help
186           Select this to enable watchdog timer for MediaTek SoCs.
187           The watchdog timer is stopped when initialized.
188           It performs full SoC reset.
189
190 config WDT_OCTEONTX
191         bool "OcteonTX core watchdog support"
192         depends on WDT && (ARCH_OCTEONTX || ARCH_OCTEONTX2)
193         default y
194         imply WATCHDOG
195         help
196           This enables OcteonTX watchdog driver, which can be
197           found on OcteonTX/TX2 chipsets and inline with driver model.
198           Only supports watchdog reset.
199
200 config WDT_OMAP3
201         bool "TI OMAP watchdog timer support"
202         depends on WDT && ARCH_OMAP2PLUS
203         default y if AM33XX
204         help
205           This enables OMAP3+ watchdog timer driver, which can be
206           found on some TI chipsets and inline with driver model.
207
208 config WDT_ORION
209         bool "Orion watchdog timer support"
210         depends on WDT
211         select CLK
212         help
213           Select this to enable Orion watchdog timer, which can be found on some
214           Marvell Armada chips.
215
216 config WDT_K3_RTI
217         bool "Texas Instruments K3 RTI watchdog"
218         depends on WDT && ARCH_K3
219         help
220           Say Y here if you want to include support for the K3 watchdog
221           timer (RTI module) available in the K3 generation of processors.
222
223 if WDT_K3_RTI
224
225 config WDT_K3_RTI_LOAD_FW
226         bool "Load watchdog firmware"
227         depends on REMOTEPROC
228         help
229           Automatically load the specified firmware image into the MCU R5F
230           core 0. On the AM65x, this firmware is supposed to handle the expiry
231           of the watchdog timer, typically by resetting the system.
232
233 config WDT_K3_RTI_FW_FILE
234         string "Watchdog firmware image file"
235         default "k3-rti-wdt.fw"
236         depends on WDT_K3_RTI_LOAD_FW
237         help
238           Firmware image to be embedded into U-Boot and loaded on watchdog
239           start.
240
241 endif
242
243 config WDT_SANDBOX
244         bool "Enable Watchdog Timer support for Sandbox"
245         depends on SANDBOX && WDT
246         help
247           Enable Watchdog Timer support in Sandbox. This is a dummy device that
248           can be probed and supports all of the methods of WDT, but does not
249           really do anything.
250
251 config WDT_SBSA
252         bool "SBSA watchdog timer support"
253         depends on WDT
254         help
255            Select this to enable SBSA watchdog timer.
256            This driver can operate ARM SBSA Generic Watchdog as a single stage.
257            In the single stage mode, when the timeout is reached, your system
258            will be reset by WS1. The first signal (WS0) is ignored.
259
260 config WDT_SP805
261         bool "SP805 watchdog timer support"
262         depends on WDT
263         help
264           Select this to enable SP805 watchdog timer, which can be found on some
265           nxp layerscape chips.
266
267 config WDT_STM32MP
268         bool "IWDG watchdog driver for STM32 MP's family"
269         depends on WDT
270         imply WATCHDOG
271         help
272           Enable the STM32 watchdog (IWDG) driver. Enable support to
273           configure STM32's on-SoC watchdog.
274
275 config WDT_SUNXI
276         bool "Allwinner sunxi watchdog timer support"
277         depends on WDT && ARCH_SUNXI
278         default y
279         help
280           Enable support for the watchdog timer in Allwinner sunxi SoCs.
281
282 config XILINX_TB_WATCHDOG
283         bool "Xilinx Axi watchdog timer support"
284         depends on WDT
285         imply WATCHDOG
286         help
287           Select this to enable Xilinx Axi watchdog timer, which can be found on some
288           Xilinx Microblaze Platforms.
289
290 config WDT_XILINX
291         bool "Xilinx window watchdog timer support"
292         depends on WDT && ARCH_VERSAL
293         select REGMAP
294         imply WATCHDOG
295         help
296           Select this to enable Xilinx window watchdog timer, which can be found on
297           Xilinx Versal Platforms.
298
299 config WDT_TANGIER
300         bool "Intel Tangier watchdog timer support"
301         depends on WDT && INTEL_MID
302         help
303           This enables support for watchdog controller available on
304           Intel Tangier SoC. If you're using a board with Intel Tangier
305           SoC, say Y here.
306
307 config SPL_WDT
308         bool "Enable driver model for watchdog timer drivers in SPL"
309         depends on SPL_DM
310         help
311           Enable driver model for watchdog timer in SPL.
312           This is similar to CONFIG_WDT in U-Boot.
313
314 endmenu