phy: only set phy_init_flag at power domain off, when all modems deinit

This commit is contained in:
liuning
2022-11-24 20:18:27 +08:00
parent 312da39eb9
commit ce2deab1a4
5 changed files with 34 additions and 27 deletions

View File

@@ -1093,15 +1093,11 @@ esp_err_t esp_bt_controller_init(esp_bt_controller_config_t *cfg)
#if CONFIG_MAC_BB_PD
esp_mac_bb_pd_mem_init();
#endif
esp_phy_modem_init();
esp_bt_power_domain_on();
sdk_config_extend_set_pll_track(false);
#if CONFIG_MAC_BB_PD
esp_mac_bb_pd_mem_init();
#endif
esp_phy_pd_mem_init();
btdm_controller_mem_init();
#if CONFIG_MAC_BB_PD
@@ -1339,11 +1335,12 @@ error:
esp_unregister_mac_bb_pu_callback(btdm_mac_bb_power_up_cb);
#endif
esp_bt_power_domain_off();
#if CONFIG_MAC_BB_PD
esp_mac_bb_pd_mem_deinit();
#endif
esp_phy_pd_mem_deinit();
esp_phy_modem_deinit();
if (osi_funcs_p != NULL) {
free(osi_funcs_p);
osi_funcs_p = NULL;
@@ -1420,12 +1417,11 @@ esp_err_t esp_bt_controller_deinit(void)
esp_unregister_mac_bb_pu_callback(btdm_mac_bb_power_up_cb);
#endif
/* Fix the issue caused by the power off the bt power domain.
* This issue is only on ESP32C3.
*/
phy_init_flag();
esp_bt_power_domain_off();
#if CONFIG_MAC_BB_PD
esp_mac_bb_pd_mem_deinit();
#endif
esp_phy_modem_deinit();
free(osi_funcs_p);
osi_funcs_p = NULL;