Skip to content

Commit 8e59768

Browse files
authored
Merge pull request #12969 from OpenNuvoton/nuvoton_5.15_watchdog_hardfault
Nuvoton: Fix watchdog reset failure on meeting Hard Fault (5.15)
2 parents 8529d5c + 9c59bd0 commit 8e59768

File tree

4 files changed

+4
-4
lines changed

4 files changed

+4
-4
lines changed

targets/TARGET_NUVOTON/TARGET_M451/watchdog_api.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -220,7 +220,7 @@ static void watchdog_setup_cascade_timeout(void)
220220
WDT_CTL_WKEN_Msk | // Enable wake-up on timeout
221221
WDT_CTL_IF_Msk | // Clear interrupt flag
222222
WDT_CTL_RSTF_Msk | // Clear reset flag
223-
(wdt_timeout_rmn_clk ? 0 : WDT_CTL_RSTEN_Msk) | // Enable reset on last cascaded timeout
223+
WDT_CTL_RSTEN_Msk | // Enable reset always to address cascaded timeout failure in interrupt disabled scenario e.g. Hard Fault
224224
WDT_CTL_RSTCNT_Msk; // Reset watchdog timer
225225

226226
SYS_LockReg();

targets/TARGET_NUVOTON/TARGET_M480/watchdog_api.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,7 @@ static void watchdog_setup_cascade_timeout(void)
219219
WDT_CTL_WKEN_Msk | // Enable wake-up on timeout
220220
WDT_CTL_IF_Msk | // Clear interrupt flag
221221
WDT_CTL_RSTF_Msk | // Clear reset flag
222-
(wdt_timeout_rmn_clk ? 0 : WDT_CTL_RSTEN_Msk) | // Enable reset on last cascaded timeout
222+
WDT_CTL_RSTEN_Msk | // Enable reset always to address cascaded timeout failure in interrupt disabled scenario e.g. Hard Fault
223223
WDT_CTL_RSTCNT_Msk; // Reset watchdog timer
224224

225225
SYS_LockReg();

targets/TARGET_NUVOTON/TARGET_NANO100/watchdog_api.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -222,7 +222,7 @@ static void watchdog_setup_cascade_timeout(void)
222222
wdt_timeout_clk_toutsel | // Timeout interval
223223
WDT_CTL_WTE_Msk | // Enable watchdog timer
224224
WDT_CTL_WTWKE_Msk | // Enable wake-up on timeout
225-
(wdt_timeout_rmn_clk ? 0 : WDT_CTL_WTRE_Msk) | // Enable reset on last cascaded timeout
225+
WDT_CTL_WTRE_Msk | // Enable reset always to address cascaded timeout failure in interrupt disabled scenario e.g. Hard Fault
226226
WDT_CTL_WTR_Msk; // Reset watchdog timer
227227

228228
SYS_LockReg();

targets/TARGET_NUVOTON/TARGET_NUC472/watchdog_api.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,7 @@ static void watchdog_setup_cascade_timeout(void)
219219
WDT_CTL_WKEN_Msk | // Enable wake-up on timeout
220220
WDT_CTL_IF_Msk | // Clear interrupt flag
221221
WDT_CTL_RSTF_Msk | // Clear reset flag
222-
(wdt_timeout_rmn_clk ? 0 : WDT_CTL_RSTEN_Msk) | // Enable reset on last cascaded timeout
222+
WDT_CTL_RSTEN_Msk | // Enable reset always to address cascaded timeout failure in interrupt disabled scenario e.g. Hard Fault
223223
WDT_CTL_RSTCNT_Msk; // Reset watchdog timer
224224

225225
SYS_LockReg();

0 commit comments

Comments
 (0)