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