fix(ble): fix bt_apb module clock config on esp32h4 and esp32s31

This commit is contained in:
cjin
2026-08-14 11:59:34 +08:00
parent b2672c7937
commit 7552394de8

View File

@@ -85,6 +85,7 @@ static DRAM_ATTR esp_pm_lock_handle_t s_pm_lock = NULL;
static uint32_t s_bt_xtal_lpclk_freq = 100000;
static uint32_t s_bt_lpclk_freq = 0;
static uint8_t s_btdm_lp_modem_clk_en = 0;
static uint8_t s_btdm_lp_modem_apb_clk_en = 0;
/*
***************************************************************************************************
@@ -358,19 +359,25 @@ btdm_lp_enable_clock(esp_bt_ctrl_btdm_config_t *cfg)
{
if (!s_btdm_lp_modem_clk_en) {
modem_clock_module_enable(PERIPH_BT_MODULE);
s_btdm_lp_modem_clk_en = 1;
}
if (!s_btdm_lp_modem_apb_clk_en) {
modem_clock_module_enable(PERIPH_BT_APB_MODULE);
modem_clock_module_mac_reset(PERIPH_BT_MODULE);
btdm_lp_timer_clk_init(cfg);
s_btdm_lp_modem_clk_en = 1;
s_btdm_lp_modem_apb_clk_en = 1;
}
}
void
btdm_lp_disable_clock(void)
{
if (s_btdm_lp_modem_clk_en) {
if (s_btdm_lp_modem_apb_clk_en) {
btdm_lp_timer_clk_deinit();
modem_clock_module_disable(PERIPH_BT_APB_MODULE);
s_btdm_lp_modem_apb_clk_en = 0;
}
if (s_btdm_lp_modem_clk_en) {
modem_clock_module_disable(PERIPH_BT_MODULE);
s_btdm_lp_modem_clk_en = 0;
}