We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
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?
Is there any reference code (for baremetal) for supporting PRETIMEOUT feature