bugfix(wifi): fix incomplete phy initialization due to absence of bb clocks at coexistence scenarios

This commit is contained in:
liuning
2026-03-06 17:17:21 +08:00
parent f9645c9e2d
commit 82517904ca
21 changed files with 174 additions and 5 deletions
+2 -1
View File
@@ -296,7 +296,7 @@ void esp_phy_enable(esp_phy_modem_t modem)
phy_update_wifi_mac_time(false, s_phy_rf_en_ts);
#endif
esp_phy_common_clock_enable();
phy_module_enable();
if (s_is_phy_calibrated == false) {
esp_phy_load_cal_and_init();
s_is_phy_calibrated = true;
@@ -333,6 +333,7 @@ void esp_phy_enable(esp_phy_modem_t modem)
#if !CONFIG_IDF_TARGET_ESP32 && !CONFIG_ESP_PHY_DISABLE_PLL_TRACK
phy_track_pll_init();
#endif
phy_module_disable();
}
phy_set_modem_flag(modem);
#if !CONFIG_IDF_TARGET_ESP32 && !CONFIG_ESP_PHY_DISABLE_PLL_TRACK
@@ -9,6 +9,7 @@
#include "esp_phy_init.h"
#include "esp_private/phy.h"
#include "esp_timer.h"
#include "esp_private/periph_ctrl.h"
#if SOC_MODEM_CLOCK_IS_INDEPENDENT
#include "esp_private/esp_modem_clock.h"
@@ -106,6 +107,7 @@ void esp_phy_enable(esp_phy_modem_t modem)
#if SOC_MODEM_CLOCK_IS_INDEPENDENT
modem_clock_module_enable(PERIPH_PHY_MODULE);
#endif
phy_module_enable();
if (!s_phy_is_enabled) {
register_chipv7_phy(NULL, NULL, PHY_RF_CAL_FULL);
phy_version_print();
@@ -116,6 +118,7 @@ void esp_phy_enable(esp_phy_modem_t modem)
#if !CONFIG_ESP_PHY_DISABLE_PLL_TRACK
phy_track_pll_init();
#endif
phy_module_disable();
}
phy_set_modem_flag(modem);
// Immediately track pll when phy enabled.