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