Skip to content

Commit 72f83c3

Browse files
committed
Merge branch 'staging/esp32c61_reset_reason' into 'master'
fix(soc): add missing reset reasons for the ESP32-C61 Closes IDF-9267 See merge request espressif/esp-idf!33736
2 parents c141c91 + 22436da commit 72f83c3

File tree

3 files changed

+10
-0
lines changed

3 files changed

+10
-0
lines changed

components/esp_rom/esp32c61/include/esp32c61/rom/rtc.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,8 @@ typedef enum {
9494
USB_UART_CHIP_RESET = 21, /**<21, usb uart reset digital core (hp system)*/
9595
USB_JTAG_CHIP_RESET = 22, /**<22, usb jtag reset digital core (hp system)*/
9696
JTAG_RESET = 24, /**<24, jtag reset CPU*/
97+
RTC_PWR_GLITCH_RESET = 25, /**<25, RTC power glitch reset system*/
98+
CPU_LOCKUP_RESET = 26, /**<26, cpu lockup reset*/
9799
} RESET_REASON;
98100

99101
// Check if the reset reason defined in ROM is compatible with soc/reset_reasons.h
@@ -114,6 +116,8 @@ ESP_STATIC_ASSERT((soc_reset_reason_t)EFUSE_RESET == RESET_REASON_CORE_EFUSE_CRC
114116
ESP_STATIC_ASSERT((soc_reset_reason_t)USB_UART_CHIP_RESET == RESET_REASON_CORE_USB_UART, "USB_UART_CHIP_RESET != RESET_REASON_CORE_USB_UART");
115117
ESP_STATIC_ASSERT((soc_reset_reason_t)USB_JTAG_CHIP_RESET == RESET_REASON_CORE_USB_JTAG, "USB_JTAG_CHIP_RESET != RESET_REASON_CORE_USB_JTAG");
116118
ESP_STATIC_ASSERT((soc_reset_reason_t)JTAG_RESET == RESET_REASON_CPU0_JTAG, "JTAG_RESET != RESET_REASON_CPU0_JTAG");
119+
ESP_STATIC_ASSERT((soc_reset_reason_t)RTC_PWR_GLITCH_RESET == RESET_REASON_RTC_BROWN_OUT, "RTC_PWR_GLITCH_RESET != RESET_REASON_RTC_BROWN_OUT");
120+
ESP_STATIC_ASSERT((soc_reset_reason_t)CPU_LOCKUP_RESET == RESET_REASON_CPU_LOCKUP, "CPU_LOCKUP_RESET != RESET_REASON_CPU_LOCKUP");
117121

118122
typedef enum {
119123
NO_SLEEP = 0,

components/esp_system/port/soc/esp32c61/reset_reason.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ static esp_reset_reason_t get_reset_reason(soc_reset_reason_t rtc_reset_reason,
4949
case RESET_REASON_CPU0_MWDT1:
5050
return ESP_RST_WDT;
5151

52+
case RESET_REASON_RTC_BROWN_OUT:
5253
case RESET_REASON_SYS_BROWN_OUT:
5354
return ESP_RST_BROWNOUT;
5455

@@ -62,6 +63,9 @@ static esp_reset_reason_t get_reset_reason(soc_reset_reason_t rtc_reset_reason,
6263
case RESET_REASON_CPU0_JTAG:
6364
return ESP_RST_JTAG;
6465

66+
case RESET_REASON_CPU_LOCKUP:
67+
return ESP_RST_CPU_LOCKUP;
68+
6569
default:
6670
return ESP_RST_UNKNOWN;
6771
}

components/soc/esp32c61/include/soc/reset_reasons.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,8 @@ typedef enum {
4646
RESET_REASON_CORE_USB_UART = 0x15, // USB UART resets the digital core (hp system)
4747
RESET_REASON_CORE_USB_JTAG = 0x16, // USB JTAG resets the digital core (hp system)
4848
RESET_REASON_CPU0_JTAG = 0x18, // JTAG resets the CPU 0
49+
RESET_REASON_RTC_BROWN_OUT = 0x19, // RTC power glitch resets system
50+
RESET_REASON_CPU_LOCKUP = 0x1A, // CPU lockup resets
4951
} soc_reset_reason_t;
5052

5153

0 commit comments

Comments
 (0)