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/nuttx.git


The following commit(s) were added to refs/heads/master by this push:
     new de948babbf xtensa/esp32s2: Fix esp32s2 wdt interrupt bug
de948babbf is described below

commit de948babbfe3aba930e410ff002c1d7ef6f2e9de
Author: Eren Terzioglu <[email protected]>
AuthorDate: Thu Feb 1 19:04:15 2024 +0300

    xtensa/esp32s2: Fix esp32s2 wdt interrupt bug
---
 arch/xtensa/src/esp32s2/esp32s2_wdt.c          | 8 ++++++++
 arch/xtensa/src/esp32s2/hardware/esp32s2_tim.h | 2 +-
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/arch/xtensa/src/esp32s2/esp32s2_wdt.c 
b/arch/xtensa/src/esp32s2/esp32s2_wdt.c
index 06ac7c13e9..449f512b48 100644
--- a/arch/xtensa/src/esp32s2/esp32s2_wdt.c
+++ b/arch/xtensa/src/esp32s2/esp32s2_wdt.c
@@ -852,6 +852,10 @@ static void wdt_enableint(struct esp32s2_wdt_dev_s *dev)
     }
   else if (IS_MWDT(dev))
     {
+      /* Level Interrupt */
+
+      wdt_modifyreg32(dev, MWDT_CONFIG0_OFFSET, 0, TIMG_WDT_LEVEL_INT_EN);
+
       wdt_modifyreg32(dev, MWDT_INT_ENA_REG_OFFSET, 0, TIMG_WDT_INT_ENA);
     }
   else
@@ -882,6 +886,10 @@ static void wdt_disableint(struct esp32s2_wdt_dev_s *dev)
     }
   else if (IS_MWDT(dev))
     {
+      /* Level Interrupt */
+
+      wdt_modifyreg32(dev, MWDT_CONFIG0_OFFSET, TIMG_WDT_LEVEL_INT_EN, 0);
+
       wdt_modifyreg32(dev, MWDT_INT_ENA_REG_OFFSET, TIMG_WDT_INT_ENA, 0);
     }
   else
diff --git a/arch/xtensa/src/esp32s2/hardware/esp32s2_tim.h 
b/arch/xtensa/src/esp32s2/hardware/esp32s2_tim.h
index 8b8a75b91d..ee270b946b 100644
--- a/arch/xtensa/src/esp32s2/hardware/esp32s2_tim.h
+++ b/arch/xtensa/src/esp32s2/hardware/esp32s2_tim.h
@@ -45,7 +45,7 @@
 #define MWDT_FEED_OFFSET                0x0060
 #define MWDT_WP_REG                     0x0064
 #define MWDT_INT_ENA_REG_OFFSET         0x0098
-#define MWDT_INT_CLR_REG_OFFSET         0x00a0
+#define MWDT_INT_CLR_REG_OFFSET         0x00a4
 
 /* The value that needs to be written to TIMG_WDT_WKEY to
  * write-enable the WDT registers.

Reply via email to