This is an automated email from the ASF dual-hosted git repository. acassis pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git
commit db18a1284433e45623f6cd240275a0a64a6d505b Author: Gustavo Henrique Nihei <[email protected]> AuthorDate: Thu Jun 24 14:45:54 2021 -0300 xtensa/esp32: Move RTC WDT deinit after initial setup Signed-off-by: Gustavo Henrique Nihei <[email protected]> --- arch/xtensa/src/esp32/esp32_start.c | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/arch/xtensa/src/esp32/esp32_start.c b/arch/xtensa/src/esp32/esp32_start.c index a70549f..6d97e54 100644 --- a/arch/xtensa/src/esp32/esp32_start.c +++ b/arch/xtensa/src/esp32/esp32_start.c @@ -86,14 +86,6 @@ void IRAM_ATTR __start(void) uint32_t regval; uint32_t sp; - /* Kill the watchdog timer */ - - putreg32(RTC_CNTL_WDT_WKEY_VALUE, RTC_CNTL_WDTWPROTECT_REG); - regval = getreg32(RTC_CNTL_WDTCONFIG0_REG); - regval &= ~RTC_CNTL_WDT_EN; - putreg32(regval, RTC_CNTL_WDTCONFIG0_REG); - putreg32(0, RTC_CNTL_WDTWPROTECT_REG); - /* Make sure that normal interrupts are disabled. This is really only an * issue when we are started in un-usual ways (such as from IRAM). In this * case, we can at least defer some unexpected interrupts left over from @@ -129,6 +121,17 @@ void IRAM_ATTR __start(void) regval &= ~DPORT_APPCPU_CLKGATE_EN; putreg32(regval, DPORT_APPCPU_CTRL_B_REG); + /* The 2nd stage bootloader enables RTC WDT to check on startup sequence + * related issues in application. Hence disable that as we are about to + * start the NuttX environment. + */ + + putreg32(RTC_CNTL_WDT_WKEY_VALUE, RTC_CNTL_WDTWPROTECT_REG); + regval = getreg32(RTC_CNTL_WDTCONFIG0_REG); + regval &= ~RTC_CNTL_WDT_EN; + putreg32(regval, RTC_CNTL_WDTCONFIG0_REG); + putreg32(0, RTC_CNTL_WDTWPROTECT_REG); + /* Set CPU frequency configured in board.h */ esp32_clockconfig();
