maxims@google.com | 0753bc2 | 2017-04-17 12:00:21 -0700 | [diff] [blame] | 1 | menu "Watchdog Timer Support" |
Ye Li | 253531b | 2017-02-22 16:21:48 +0800 | [diff] [blame] | 2 | |
Shreenidhi Shedi | 42537ca | 2018-02-21 16:50:20 +0100 | [diff] [blame] | 3 | config WATCHDOG |
| 4 | bool "Enable U-Boot watchdog reset" |
Christophe Leroy | 7e00e90 | 2020-02-26 16:17:52 +0000 | [diff] [blame] | 5 | depends on !HW_WATCHDOG |
Shreenidhi Shedi | 42537ca | 2018-02-21 16:50:20 +0100 | [diff] [blame] | 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 | |
Pali Rohár | 830d29a | 2021-03-09 14:26:56 +0100 | [diff] [blame] | 12 | config WATCHDOG_AUTOSTART |
| 13 | bool "Automatically start watchdog timer" |
| 14 | depends on WDT |
Heinrich Schuchardt | 86798ee | 2021-11-05 19:34:31 +0100 | [diff] [blame] | 15 | default n if ARCH_SUNXI |
Pali Rohár | 830d29a | 2021-03-09 14:26:56 +0100 | [diff] [blame] | 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 | |
Heiko Schocher | ca51ef7 | 2019-09-30 09:33:43 +0200 | [diff] [blame] | 26 | config WATCHDOG_TIMEOUT_MSECS |
| 27 | int "Watchdog timeout in msec" |
Tom Rini | 8ba5960 | 2021-09-09 07:54:50 -0400 | [diff] [blame] | 28 | default 128000 if ARCH_MX31 || ARCH_MX5 || ARCH_MX6 |
Heiko Schocher | ca51ef7 | 2019-09-30 09:33:43 +0200 | [diff] [blame] | 29 | default 128000 if ARCH_MX7 || ARCH_VF610 |
| 30 | default 30000 if ARCH_SOCFPGA |
Samuel Holland | 93d34fa | 2021-08-22 13:53:27 -0500 | [diff] [blame] | 31 | default 16000 if ARCH_SUNXI |
Heiko Schocher | ca51ef7 | 2019-09-30 09:33:43 +0200 | [diff] [blame] | 32 | default 60000 |
| 33 | help |
| 34 | Watchdog timeout in msec |
| 35 | |
Paolo Pisati | 45a6d23 | 2017-02-10 17:28:05 +0100 | [diff] [blame] | 36 | config HW_WATCHDOG |
| 37 | bool |
| 38 | |
Patrice Chotard | b3134ff | 2019-04-30 17:26:20 +0200 | [diff] [blame] | 39 | config IMX_WATCHDOG |
| 40 | bool "Enable Watchdog Timer support for IMX and LSCH2 of NXP" |
Marek Vasut | 4b969de | 2019-06-09 03:46:22 +0200 | [diff] [blame] | 41 | select HW_WATCHDOG if !WDT |
Patrice Chotard | b3134ff | 2019-04-30 17:26:20 +0200 | [diff] [blame] | 42 | help |
Michal Simek | 92a19be | 2020-03-11 12:26:53 +0100 | [diff] [blame] | 43 | Select this to enable the IMX and LSCH2 of Layerscape watchdog |
| 44 | driver. |
Patrice Chotard | b3134ff | 2019-04-30 17:26:20 +0200 | [diff] [blame] | 45 | |
Michael Walle | 95b3d6a | 2020-09-24 10:09:15 +0200 | [diff] [blame] | 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 | |
Tom Rini | 897f706 | 2017-05-12 22:33:24 -0400 | [diff] [blame] | 53 | config OMAP_WATCHDOG |
| 54 | bool "TI OMAP watchdog driver" |
| 55 | depends on ARCH_OMAP2PLUS |
| 56 | select HW_WATCHDOG |
Tom Rini | 897f706 | 2017-05-12 22:33:24 -0400 | [diff] [blame] | 57 | help |
| 58 | Say Y here to enable the OMAP3+ watchdog driver. |
Felipe Balbi | 8f8a12d | 2017-07-05 20:33:20 +0300 | [diff] [blame] | 59 | |
Ye Li | 253531b | 2017-02-22 16:21:48 +0800 | [diff] [blame] | 60 | config ULP_WATCHDOG |
| 61 | bool "i.MX7ULP watchdog" |
| 62 | help |
| 63 | Say Y here to enable i.MX7ULP watchdog driver. |
| 64 | |
Marek Vasut | 8941f84 | 2019-06-27 00:26:34 +0200 | [diff] [blame] | 65 | config DESIGNWARE_WATCHDOG |
| 66 | bool "Designware watchdog timer support" |
Marek Vasut | cf8c836 | 2019-06-27 01:19:23 +0200 | [diff] [blame] | 67 | select HW_WATCHDOG if !WDT |
Jagan Teki | 0a08a61 | 2020-04-20 23:34:13 +0530 | [diff] [blame] | 68 | default y if WDT && ROCKCHIP_RK3399 |
Marek Vasut | 8941f84 | 2019-06-27 00:26:34 +0200 | [diff] [blame] | 69 | help |
Michal Simek | 92a19be | 2020-03-11 12:26:53 +0100 | [diff] [blame] | 70 | Enable this to support Designware Watchdog Timer IP, present e.g. |
| 71 | on Altera SoCFPGA SoCs. |
Marek Vasut | 8941f84 | 2019-06-27 00:26:34 +0200 | [diff] [blame] | 72 | |
maxims@google.com | 0753bc2 | 2017-04-17 12:00:21 -0700 | [diff] [blame] | 73 | config WDT |
| 74 | bool "Enable driver model for watchdog timer drivers" |
| 75 | depends on DM |
Stefan Roese | 0698528 | 2019-04-11 15:58:44 +0200 | [diff] [blame] | 76 | imply WATCHDOG |
maxims@google.com | 0753bc2 | 2017-04-17 12:00:21 -0700 | [diff] [blame] | 77 | help |
| 78 | Enable driver model for watchdog timer. At the moment the API |
| 79 | is very simple and only supports four operations: |
Patrice Chotard | 8d4f91b | 2019-04-25 12:57:28 +0200 | [diff] [blame] | 80 | start, stop, reset and expire_now (expire immediately). |
maxims@google.com | 0753bc2 | 2017-04-17 12:00:21 -0700 | [diff] [blame] | 81 | What exactly happens when the timer expires is up to a particular |
| 82 | device/driver. |
| 83 | |
Marek Behún | 2b69a67 | 2018-04-24 17:21:30 +0200 | [diff] [blame] | 84 | config WDT_ARMADA_37XX |
| 85 | bool "Marvell Armada 37xx watchdog timer support" |
| 86 | depends on WDT && ARMADA_3700 |
| 87 | help |
Michal Simek | 92a19be | 2020-03-11 12:26:53 +0100 | [diff] [blame] | 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. |
Marek Behún | 2b69a67 | 2018-04-24 17:21:30 +0200 | [diff] [blame] | 92 | |
maxims@google.com | 1eb0a46 | 2017-04-17 12:00:22 -0700 | [diff] [blame] | 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 | |
Chia-Wei, Wang | 337d95c | 2020-12-14 13:54:25 +0800 | [diff] [blame] | 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 | |
Patrice Chotard | b3134ff | 2019-04-30 17:26:20 +0200 | [diff] [blame] | 113 | config WDT_AT91 |
| 114 | bool "AT91 watchdog timer support" |
| 115 | depends on WDT |
| 116 | help |
Michal Simek | 92a19be | 2020-03-11 12:26:53 +0100 | [diff] [blame] | 117 | Select this to enable Microchip watchdog timer, which can be found on |
| 118 | some AT91 devices. |
Patrice Chotard | b3134ff | 2019-04-30 17:26:20 +0200 | [diff] [blame] | 119 | |
Álvaro Fernández Rojas | 7733193 | 2017-05-16 18:29:09 +0200 | [diff] [blame] | 120 | config WDT_BCM6345 |
| 121 | bool "BCM6345 watchdog timer support" |
Philippe Reynes | d0edec6 | 2020-01-07 20:14:11 +0100 | [diff] [blame] | 122 | depends on WDT && (ARCH_BMIPS || ARCH_BCM68360 || \ |
| 123 | ARCH_BCM6858 || ARCH_BCM63158) |
Álvaro Fernández Rojas | 7733193 | 2017-05-16 18:29:09 +0200 | [diff] [blame] | 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 | |
Chris Packham | 017af7f | 2021-03-05 16:32:58 +1300 | [diff] [blame] | 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 | |
Patrice Chotard | b3134ff | 2019-04-30 17:26:20 +0200 | [diff] [blame] | 136 | config WDT_CDNS |
| 137 | bool "Cadence watchdog timer support" |
| 138 | depends on WDT |
| 139 | imply WATCHDOG |
| 140 | help |
Michal Simek | 92a19be | 2020-03-11 12:26:53 +0100 | [diff] [blame] | 141 | Select this to enable Cadence watchdog timer, which can be found on some |
| 142 | Xilinx Microzed Platform. |
Patrice Chotard | b3134ff | 2019-04-30 17:26:20 +0200 | [diff] [blame] | 143 | |
Jason Li | 7f54b83 | 2020-01-30 12:34:57 -0800 | [diff] [blame] | 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 |
Michal Simek | 92a19be | 2020-03-11 12:26:53 +0100 | [diff] [blame] | 150 | Access CAxxxx SoCs. |
Jason Li | 7f54b83 | 2020-01-30 12:34:57 -0800 | [diff] [blame] | 151 | |
Rasmus Villemoes | 2ac8490 | 2021-08-19 11:57:04 +0200 | [diff] [blame] | 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 | |
Patrice Chotard | b3134ff | 2019-04-30 17:26:20 +0200 | [diff] [blame] | 161 | config WDT_MPC8xx |
| 162 | bool "MPC8xx watchdog timer support" |
| 163 | depends on WDT && MPC8xx |
Christophe Leroy | a682560 | 2020-02-20 07:39:51 +0000 | [diff] [blame] | 164 | select HW_WATCHDOG |
Patrice Chotard | b3134ff | 2019-04-30 17:26:20 +0200 | [diff] [blame] | 165 | help |
Michal Simek | 92a19be | 2020-03-11 12:26:53 +0100 | [diff] [blame] | 166 | Select this to enable mpc8xx watchdog timer |
Patrice Chotard | b3134ff | 2019-04-30 17:26:20 +0200 | [diff] [blame] | 167 | |
Weijie Gao | bba4ec8 | 2020-11-12 16:36:28 +0800 | [diff] [blame] | 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 | |
Patrice Chotard | b3134ff | 2019-04-30 17:26:20 +0200 | [diff] [blame] | 175 | config WDT_MT7621 |
| 176 | bool "MediaTek MT7621 watchdog timer support" |
| 177 | depends on WDT && SOC_MT7628 |
| 178 | help |
Michal Simek | 92a19be | 2020-03-11 12:26:53 +0100 | [diff] [blame] | 179 | Select this to enable Ralink / Mediatek watchdog timer, |
| 180 | which can be found on some MediaTek chips. |
Patrice Chotard | b3134ff | 2019-04-30 17:26:20 +0200 | [diff] [blame] | 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 | |
Suneel Garapati | af6ba90 | 2019-10-21 16:09:36 -0700 | [diff] [blame] | 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 | |
Suniel Mahesh | 7659ea3 | 2019-07-31 21:54:06 +0530 | [diff] [blame] | 200 | config WDT_OMAP3 |
Michal Simek | 92a19be | 2020-03-11 12:26:53 +0100 | [diff] [blame] | 201 | bool "TI OMAP watchdog timer support" |
| 202 | depends on WDT && ARCH_OMAP2PLUS |
| 203 | default y if AM33XX |
| 204 | help |
Suniel Mahesh | 7659ea3 | 2019-07-31 21:54:06 +0530 | [diff] [blame] | 205 | This enables OMAP3+ watchdog timer driver, which can be |
| 206 | found on some TI chipsets and inline with driver model. |
| 207 | |
Marek Behún | 2ab7704 | 2017-06-09 19:28:41 +0200 | [diff] [blame] | 208 | config WDT_ORION |
| 209 | bool "Orion watchdog timer support" |
| 210 | depends on WDT |
Chris Packham | 8e427ba | 2019-02-18 10:30:53 +1300 | [diff] [blame] | 211 | select CLK |
Marek Behún | 2ab7704 | 2017-06-09 19:28:41 +0200 | [diff] [blame] | 212 | help |
Michal Simek | 92a19be | 2020-03-11 12:26:53 +0100 | [diff] [blame] | 213 | Select this to enable Orion watchdog timer, which can be found on some |
| 214 | Marvell Armada chips. |
Marek Behún | 2ab7704 | 2017-06-09 19:28:41 +0200 | [diff] [blame] | 215 | |
Jan Kiszka | d388f36 | 2020-06-23 13:15:08 +0200 | [diff] [blame] | 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 | |
Jan Kiszka | f3efb1d | 2021-09-18 08:17:55 +0200 | [diff] [blame] | 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 | |
Patrice Chotard | b3134ff | 2019-04-30 17:26:20 +0200 | [diff] [blame] | 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 | |
Zhao Qiang | f27d73e | 2020-07-10 16:55:18 +0800 | [diff] [blame] | 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 | |
Qiang Zhao | 0652d9f | 2019-05-07 03:16:09 +0000 | [diff] [blame] | 260 | config WDT_SP805 |
| 261 | bool "SP805 watchdog timer support" |
| 262 | depends on WDT |
| 263 | help |
Michal Simek | 92a19be | 2020-03-11 12:26:53 +0100 | [diff] [blame] | 264 | Select this to enable SP805 watchdog timer, which can be found on some |
| 265 | nxp layerscape chips. |
Qiang Zhao | 0652d9f | 2019-05-07 03:16:09 +0000 | [diff] [blame] | 266 | |
Patrice Chotard | 8c1007a | 2019-04-30 17:26:22 +0200 | [diff] [blame] | 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 | |
Samuel Holland | 93d34fa | 2021-08-22 13:53:27 -0500 | [diff] [blame] | 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 | |
Shreenidhi Shedi | e0e9caa | 2018-07-15 02:05:41 +0530 | [diff] [blame] | 282 | config XILINX_TB_WATCHDOG |
| 283 | bool "Xilinx Axi watchdog timer support" |
| 284 | depends on WDT |
| 285 | imply WATCHDOG |
| 286 | help |
Michal Simek | 92a19be | 2020-03-11 12:26:53 +0100 | [diff] [blame] | 287 | Select this to enable Xilinx Axi watchdog timer, which can be found on some |
| 288 | Xilinx Microblaze Platforms. |
Shreenidhi Shedi | e0e9caa | 2018-07-15 02:05:41 +0530 | [diff] [blame] | 289 | |
Ashok Reddy Soma | 5028358 | 2020-03-11 03:06:04 -0600 | [diff] [blame] | 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 | |
Andy Shevchenko | c974a3d | 2019-06-21 13:28:08 +0300 | [diff] [blame] | 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 | |
Marek Vasut | 6874cb7 | 2019-06-09 03:46:21 +0200 | [diff] [blame] | 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 | |
Ye Li | 253531b | 2017-02-22 16:21:48 +0800 | [diff] [blame] | 314 | endmenu |