1 /*
2  * SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  */
6 #include <stdbool.h>
7 #include <assert.h>
8 #include "soc/soc.h"
9 #include "soc/lp_analog_peri_reg.h"
10 
bootloader_ana_super_wdt_reset_config(bool enable)11 void bootloader_ana_super_wdt_reset_config(bool enable)
12 {
13     //C6 doesn't support bypass super WDT reset
14     assert(enable);
15     REG_CLR_BIT(LP_ANALOG_PERI_LP_ANA_FIB_ENABLE_REG, LP_ANALOG_PERI_LP_ANA_FIB_SUPER_WDT_RST);
16 }
17 
bootloader_ana_bod_reset_config(bool enable)18 void bootloader_ana_bod_reset_config(bool enable)
19 {
20     REG_CLR_BIT(LP_ANALOG_PERI_LP_ANA_FIB_ENABLE_REG, LP_ANALOG_PERI_LP_ANA_FIB_BOD_RST);
21 
22     if (enable) {
23         REG_SET_BIT(LP_ANALOG_PERI_LP_ANA_BOD_MODE1_CNTL_REG, LP_ANALOG_PERI_LP_ANA_BOD_MODE1_RESET_ENA);
24     } else {
25         REG_CLR_BIT(LP_ANALOG_PERI_LP_ANA_BOD_MODE1_CNTL_REG, LP_ANALOG_PERI_LP_ANA_BOD_MODE1_RESET_ENA);
26     }
27 }
28 
29 //Not supported but common bootloader calls the function. Do nothing
bootloader_ana_clock_glitch_reset_config(bool enable)30 void bootloader_ana_clock_glitch_reset_config(bool enable)
31 {
32     (void)enable;
33 }
34