mirror of https://github.com/ARMmbed/mbed-os.git
Merge pull request #14524 from OpenNuvoton/nuvoton_m487_adjust-wdt-reset-reglock
M487: Adjust placement of SYS_UnlockReg in WDT reset codepull/14595/head
commit
1aa38b49ba
|
@ -94,6 +94,9 @@ void mbed_sdk_init(void)
|
||||||
* start of boot process on detecting WDT reset.
|
* start of boot process on detecting WDT reset.
|
||||||
*/
|
*/
|
||||||
if (SYS_IS_WDT_RST()) {
|
if (SYS_IS_WDT_RST()) {
|
||||||
|
/* Re-unlock to highlight WDT clock setting is protected */
|
||||||
|
SYS_UnlockReg();
|
||||||
|
|
||||||
/* Enable IP module clock */
|
/* Enable IP module clock */
|
||||||
CLK_EnableModuleClock(WDT_MODULE);
|
CLK_EnableModuleClock(WDT_MODULE);
|
||||||
|
|
||||||
|
@ -108,8 +111,6 @@ void mbed_sdk_init(void)
|
||||||
*/
|
*/
|
||||||
NVIC_EnableIRQ(WDT_IRQn);
|
NVIC_EnableIRQ(WDT_IRQn);
|
||||||
|
|
||||||
SYS_UnlockReg();
|
|
||||||
|
|
||||||
/* Configure/Enable WDT */
|
/* Configure/Enable WDT */
|
||||||
WDT->CTL = WDT_TIMEOUT_2POW4 | // Timeout interval of 2^4 LIRC clocks
|
WDT->CTL = WDT_TIMEOUT_2POW4 | // Timeout interval of 2^4 LIRC clocks
|
||||||
WDT_CTL_WDTEN_Msk | // Enable watchdog timer
|
WDT_CTL_WDTEN_Msk | // Enable watchdog timer
|
||||||
|
@ -123,6 +124,9 @@ void mbed_sdk_init(void)
|
||||||
|
|
||||||
CLK_PowerDown();
|
CLK_PowerDown();
|
||||||
|
|
||||||
|
/* Re-unlock for safe */
|
||||||
|
SYS_UnlockReg();
|
||||||
|
|
||||||
/* Clear all flags & Disable WDT/INT/WK/RST */
|
/* Clear all flags & Disable WDT/INT/WK/RST */
|
||||||
WDT->CTL = (WDT_CTL_WKF_Msk | WDT_CTL_IF_Msk | WDT_CTL_RSTF_Msk | WDT_CTL_RSTCNT_Msk);
|
WDT->CTL = (WDT_CTL_WKF_Msk | WDT_CTL_IF_Msk | WDT_CTL_RSTF_Msk | WDT_CTL_RSTCNT_Msk);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue