| # Software watchdog configuration | 
 |  | 
 | # Copyright (c) 2020 Libre Solar Technologies GmbH | 
 | # SPDX-License-Identifier: Apache-2.0 | 
 |  | 
 | menuconfig TASK_WDT | 
 | 	bool "Task-level software watchdog" | 
 | 	select REBOOT | 
 | 	help | 
 | 	  Enable task watchdog | 
 |  | 
 | 	  The task watchdog allows to have individual watchdog channels | 
 | 	  per thread, even if the hardware supports only a single watchdog. | 
 |  | 
 | config TASK_WDT_CHANNELS | 
 | 	int "Maximum number of task watchdog channels" | 
 | 	depends on TASK_WDT | 
 | 	default 5 | 
 | 	range 2 100 | 
 | 	help | 
 | 	  The timeouts for each channel are stored in an array. Allocate only | 
 | 	  the required amount of channels to reduce memory footprint. | 
 |  | 
 | config TASK_WDT_HW_FALLBACK | 
 | 	bool "Use hardware watchdog as a fallback" | 
 | 	depends on TASK_WDT | 
 | 	default y | 
 | 	help | 
 | 	  This option allows to specify a hardware watchdog device in the | 
 | 	  application that is used as an additional safety layer if the task | 
 | 	  watchdog itself gets stuck. | 
 |  | 
 | config TASK_WDT_MIN_TIMEOUT | 
 | 	int "Minimum timeout for task watchdog (ms)" | 
 | 	depends on TASK_WDT_HW_FALLBACK | 
 | 	default 100 | 
 | 	range 1 10000 | 
 | 	help | 
 | 	  The task watchdog uses a continuously restarted k_timer as its | 
 | 	  backend. This value specifies the minimum timeout in milliseconds | 
 | 	  among all task watchdogs used in the application. | 
 |  | 
 | 	  If a hardware watchdog is configured as a fallback for the task | 
 | 	  watchdog, its timeout is set to this value plus | 
 | 	  TASK_WDT_HW_FALLBACK_DELAY. | 
 |  | 
 | config TASK_WDT_HW_FALLBACK_DELAY | 
 | 	int "Additional delay for hardware watchdog (ms)" | 
 | 	depends on TASK_WDT_HW_FALLBACK | 
 | 	default 20 | 
 | 	range 1 1000 | 
 | 	help | 
 | 	  The timeout of the hardware watchdog fallback will be increased by | 
 | 	  this value to provide sufficient time for corrective actions in the | 
 | 	  callback function. | 
 |  | 
 | 	  In addition to that, the delay allows to compensate deviations | 
 | 	  between different clock sources for the hardware watchdog and the | 
 | 	  kernel timer. This is especially important if the hardware watchdog | 
 | 	  is clocked by an inaccurate low-speed RC oscillator. |