ARM SBSA sbsa_gwdt watchdog timer driver Pretimeout feature

DDI0270 (4) 2 (1).pdf

I am hereby attaching the watchdog timer driver architecture document -ARM SBSA watchdog. I had clarification regarding watchdog timer driver sbsa_gwdt.c in linux kernel 5.4.25.As there are two stages for watchdog,we are using sbsa_gwdt driver from ARM. 


*
* SBSA GWDT:
* if action is 1 (the two stages mode):
* |--------WOR-------WS0--------WOR-------WS1
* |----timeout-----(panic)----timeout-----reset
*
* if action is 0 (the single stage mode):
* |------WOR-----WS0(ignored)-----WOR------WS1
* |--------------timeout-------------------reset

As per the driver ,it is currently supporting single stage watchdog, as value of action is zero.wanted to ask few queries as shown below :

1) Does our hardware for watchdog timer supports Pretimeout ? Double stage watchdog timer have a panic ,which is like a warning ,which gets triggered before the actual timeout or reset.Is (panic)this related to Pretimeout feature of watchdog? As I checkout the driver does not have pretimeout functionality (function pointer defined)

2) As for adding support as an IOCTL for PRETIMEOUT ,we need to add in watchdog_info structure  
static const struct watchdog_info sbsa_gwdt_info = {
.identity = WATCHDOG_NAME,
.options = WDIOF_SETTIMEOUT |
#ifdef CONFIG_SOC_ENSEMBLE
WDIOF_PRETIMEOUT |
#endif
WDIOF_KEEPALIVEPING |
WDIOF_MAGICCLOSE |  

If the hardware doesnt support Pretimeout should I add through software like this? 

Parents Reply Children
No data