61 lines
1.9 KiB
Plaintext
61 lines
1.9 KiB
Plaintext
|
# 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.
|