blob: c9a05973cc990d24d322703eb98c39548d59d6d0 [file] [log] [blame]
# 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.