diff --git a/components/bootloader_support/src/esp32/bootloader_soc.c b/components/bootloader_support/src/esp32/bootloader_soc.c index 242a575508..31525ef277 100644 --- a/components/bootloader_support/src/esp32/bootloader_soc.c +++ b/components/bootloader_support/src/esp32/bootloader_soc.c @@ -3,18 +3,10 @@ * * SPDX-License-Identifier: Apache-2.0 */ + #include -void bootloader_ana_super_wdt_reset_config(bool enable) -{ - (void)enable; -} - -void bootloader_ana_bod_reset_config(bool enable) -{ - (void)enable; -} - +//Not supported but common bootloader calls the function. Do nothing void bootloader_ana_clock_glitch_reset_config(bool enable) { (void)enable; diff --git a/components/bootloader_support/src/esp32c3/bootloader_esp32c3.c b/components/bootloader_support/src/esp32c3/bootloader_esp32c3.c index fe9d94cfca..cf1837e9ae 100644 --- a/components/bootloader_support/src/esp32c3/bootloader_esp32c3.c +++ b/components/bootloader_support/src/esp32c3/bootloader_esp32c3.c @@ -268,29 +268,29 @@ static inline void bootloader_hardware_init(void) static inline void bootloader_ana_reset_config(void) { + //Enable super WDT reset. + bootloader_ana_super_wdt_reset_config(true); + /* - For origin chip & ECO1: only support swt reset; - For ECO2: fix brownout reset bug, support swt & brownout reset; - For ECO3: fix clock glitch reset bug, support all reset, include: swt & brownout & clock glitch reset. + For origin chip & ECO1: brownout & clock glitch reset not available + For ECO2: fix brownout reset bug + For ECO3: fix clock glitch reset bug */ switch (efuse_hal_chip_revision()) { case 0: case 1: - //Enable WDT reset. Disable BOR and GLITCH reset - bootloader_ana_super_wdt_reset_config(true); + //Disable BOD and GLITCH reset bootloader_ana_bod_reset_config(false); bootloader_ana_clock_glitch_reset_config(false); break; case 2: - //Enable WDT and BOR reset. Disable GLITCH reset - bootloader_ana_super_wdt_reset_config(true); + //Enable BOD reset. Disable GLITCH reset bootloader_ana_bod_reset_config(true); bootloader_ana_clock_glitch_reset_config(false); break; case 3: default: - //Enable WDT, BOR, and GLITCH reset - bootloader_ana_super_wdt_reset_config(true); + //Enable BOD, and GLITCH reset bootloader_ana_bod_reset_config(true); bootloader_ana_clock_glitch_reset_config(true); break; diff --git a/components/bootloader_support/src/esp32c3/bootloader_soc.c b/components/bootloader_support/src/esp32c3/bootloader_soc.c index 7104528a58..f808b72fd5 100644 --- a/components/bootloader_support/src/esp32c3/bootloader_soc.c +++ b/components/bootloader_support/src/esp32c3/bootloader_soc.c @@ -12,15 +12,15 @@ void bootloader_ana_super_wdt_reset_config(bool enable) REG_CLR_BIT(RTC_CNTL_FIB_SEL_REG, RTC_CNTL_FIB_SUPER_WDT_RST); if (enable) { - REG_SET_BIT(RTC_CNTL_SWD_CONF_REG, RTC_CNTL_SWD_BYPASS_RST); - } else { REG_CLR_BIT(RTC_CNTL_SWD_CONF_REG, RTC_CNTL_SWD_BYPASS_RST); + } else { + REG_SET_BIT(RTC_CNTL_SWD_CONF_REG, RTC_CNTL_SWD_BYPASS_RST); } } void bootloader_ana_bod_reset_config(bool enable) { - REG_CLR_BIT(RTC_CNTL_FIB_SEL_REG, RTC_CNTL_FIB_BOR_RST); + REG_CLR_BIT(RTC_CNTL_FIB_SEL_REG, RTC_CNTL_FIB_BOD_RST); if (enable) { REG_SET_BIT(RTC_CNTL_BROWN_OUT_REG, RTC_CNTL_BROWN_OUT_ANA_RST_EN); diff --git a/components/bootloader_support/src/esp32s2/bootloader_soc.c b/components/bootloader_support/src/esp32s2/bootloader_soc.c index 242a575508..31525ef277 100644 --- a/components/bootloader_support/src/esp32s2/bootloader_soc.c +++ b/components/bootloader_support/src/esp32s2/bootloader_soc.c @@ -3,18 +3,10 @@ * * SPDX-License-Identifier: Apache-2.0 */ + #include -void bootloader_ana_super_wdt_reset_config(bool enable) -{ - (void)enable; -} - -void bootloader_ana_bod_reset_config(bool enable) -{ - (void)enable; -} - +//Not supported but common bootloader calls the function. Do nothing void bootloader_ana_clock_glitch_reset_config(bool enable) { (void)enable; diff --git a/components/bootloader_support/src/esp32s3/bootloader_esp32s3.c b/components/bootloader_support/src/esp32s3/bootloader_esp32s3.c index eaa655a6a2..732ff3a943 100644 --- a/components/bootloader_support/src/esp32s3/bootloader_esp32s3.c +++ b/components/bootloader_support/src/esp32s3/bootloader_esp32s3.c @@ -322,7 +322,7 @@ static void bootloader_super_wdt_auto_feed(void) static inline void bootloader_ana_reset_config(void) { - //Enable WDT, BOR, and GLITCH reset + //Enable WDT, BOD, and GLITCH reset bootloader_ana_super_wdt_reset_config(true); bootloader_ana_bod_reset_config(true); bootloader_ana_clock_glitch_reset_config(true); diff --git a/components/bootloader_support/src/esp32s3/bootloader_soc.c b/components/bootloader_support/src/esp32s3/bootloader_soc.c index 7104528a58..f808b72fd5 100644 --- a/components/bootloader_support/src/esp32s3/bootloader_soc.c +++ b/components/bootloader_support/src/esp32s3/bootloader_soc.c @@ -12,15 +12,15 @@ void bootloader_ana_super_wdt_reset_config(bool enable) REG_CLR_BIT(RTC_CNTL_FIB_SEL_REG, RTC_CNTL_FIB_SUPER_WDT_RST); if (enable) { - REG_SET_BIT(RTC_CNTL_SWD_CONF_REG, RTC_CNTL_SWD_BYPASS_RST); - } else { REG_CLR_BIT(RTC_CNTL_SWD_CONF_REG, RTC_CNTL_SWD_BYPASS_RST); + } else { + REG_SET_BIT(RTC_CNTL_SWD_CONF_REG, RTC_CNTL_SWD_BYPASS_RST); } } void bootloader_ana_bod_reset_config(bool enable) { - REG_CLR_BIT(RTC_CNTL_FIB_SEL_REG, RTC_CNTL_FIB_BOR_RST); + REG_CLR_BIT(RTC_CNTL_FIB_SEL_REG, RTC_CNTL_FIB_BOD_RST); if (enable) { REG_SET_BIT(RTC_CNTL_BROWN_OUT_REG, RTC_CNTL_BROWN_OUT_ANA_RST_EN); diff --git a/components/soc/esp32c3/include/soc/rtc_cntl_reg.h b/components/soc/esp32c3/include/soc/rtc_cntl_reg.h index 1255f3994c..60940eb299 100644 --- a/components/soc/esp32c3/include/soc/rtc_cntl_reg.h +++ b/components/soc/esp32c3/include/soc/rtc_cntl_reg.h @@ -2361,7 +2361,7 @@ extern "C" { #define RTC_CNTL_FIB_SEL_S 0 #define RTC_CNTL_FIB_GLITCH_RST BIT(0) -#define RTC_CNTL_FIB_BOR_RST BIT(1) +#define RTC_CNTL_FIB_BOD_RST BIT(1) #define RTC_CNTL_FIB_SUPER_WDT_RST BIT(2) #define RTC_CNTL_GPIO_WAKEUP_REG (DR_REG_RTCCNTL_BASE + 0x0110) diff --git a/components/soc/esp32s3/include/soc/rtc_cntl_reg.h b/components/soc/esp32s3/include/soc/rtc_cntl_reg.h index e4ceaf0b62..de5d5ed572 100644 --- a/components/soc/esp32s3/include/soc/rtc_cntl_reg.h +++ b/components/soc/esp32s3/include/soc/rtc_cntl_reg.h @@ -3577,7 +3577,7 @@ ork.*/ #define RTC_CNTL_FIB_SEL_S 0 #define RTC_CNTL_FIB_GLITCH_RST BIT(0) -#define RTC_CNTL_FIB_BOR_RST BIT(1) +#define RTC_CNTL_FIB_BOD_RST BIT(1) #define RTC_CNTL_FIB_SUPER_WDT_RST BIT(2) #define RTC_CNTL_TOUCH_DAC_REG (DR_REG_RTCCNTL_BASE + 0x14C)