]> www.infradead.org Git - users/jedix/linux-maple.git/commit
watchdog: aspeed: Update bootstatus handling
authorChin-Ting Kuo <chin-ting_kuo@aspeedtech.com>
Mon, 13 Jan 2025 09:37:37 +0000 (17:37 +0800)
committerWim Van Sebroeck <wim@linux-watchdog.org>
Sun, 9 Mar 2025 14:19:41 +0000 (15:19 +0100)
commit5c03f9f4d36292150c14ebd90788c4d3273ed9dc
tree5457022851d4988a198bb49061bda25d3fe9779e
parent0ad2507d5d93f39619fc42372c347d6006b64319
watchdog: aspeed: Update bootstatus handling

The boot status in the watchdog device struct is updated during
controller probe stage. Application layer can get the boot status
through the command, cat /sys/class/watchdog/watchdogX/bootstatus.
The bootstatus can be,
WDIOF_CARDRESET => System is reset due to WDT timeout occurs.
Others          => Other reset events, e.g., power on reset.

On ASPEED platforms, boot status is recorded in the SCU registers.
- AST2400: Only a bit is used to represent system reset triggered by
           any WDT controller.
- AST2500/AST2600: System reset triggered by different WDT controllers
                   can be distinguished by different SCU bits.

Besides, on AST2400 and AST2500, since alternating boot event is
also triggered by using WDT timeout mechanism, it is classified
as WDIOF_CARDRESET.

Signed-off-by: Chin-Ting Kuo <chin-ting_kuo@aspeedtech.com>
Reviewed-by: Andrew Jeffery <andrew@codeconstruct.com.au>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Link: https://lore.kernel.org/r/20250113093737.845097-2-chin-ting_kuo@aspeedtech.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
drivers/watchdog/aspeed_wdt.c