Merge branch 'fix/esp32c6_sleep_pll_issue' into 'master'

fix(pm): add mac/bb power down/up prepare for fix esp32c6 pll issue

Closes BLERP-105, BLERP-213, and BLERP-234

See merge request espressif/esp-idf!26208
This commit is contained in:
Jiang Jiang Jian
2023-11-22 10:29:48 +08:00
14 changed files with 183 additions and 56 deletions
@@ -9,6 +9,7 @@
#include <stdbool.h>
#include "sdkconfig.h"
#include "esp_err.h"
#include "esp_sleep.h"
#ifdef __cplusplus
extern "C" {
@@ -40,6 +41,42 @@ void mac_bb_power_up_cb_execute(void);
#endif // CONFIG_MAC_BB_PD
#if SOC_PM_RETENTION_HAS_CLOCK_BUG && CONFIG_MAC_BB_PD
/**
* @brief Register sleep prepare callback for Bluetooth/IEEE802154 MAC and baseband
*
* @param pd_cb function to call when power down
* @param pu_cb function to call when power up
*/
void sleep_modem_register_mac_bb_module_prepare_callback(mac_bb_power_down_cb_t pd_cb,
mac_bb_power_up_cb_t pu_cb);
/**
* @brief Unregister sleep prepare callback for Bluetooth/IEEE802154 MAC and baseband
*
* @param pd_cb function to call when power down
* @param pu_cb function to call when power up
*/
void sleep_modem_unregister_mac_bb_module_prepare_callback(mac_bb_power_down_cb_t pd_cb,
mac_bb_power_up_cb_t pu_cb);
/**
* @brief MAC and baseband power up operation
*
* In light sleep mode, execute IEEE802154/Bluetooth module MAC and baseband
* power down and backup prepare operations.
*/
void sleep_modem_mac_bb_power_down_prepare(void);
/**
* @brief MAC and baseband power up operation
*
* In light sleep mode, execute IEEE802154/Bluetooth module MAC and baseband
* power up and restore prepare operations.
*/
void sleep_modem_mac_bb_power_up_prepare(void);
#endif // SOC_PM_RETENTION_HAS_CLOCK_BUG && CONFIG_MAC_BB_PD
#if SOC_PM_SUPPORT_PMU_MODEM_STATE
/**
@@ -108,8 +108,6 @@ void sleep_retention_entries_get(sleep_retention_entries_t *entries);
* or false for restore to register from memory
*/
void sleep_retention_do_extra_retention(bool backup_or_restore);
void sleep_retention_module_deinit(void);
#endif
/**