mirror of
https://github.com/espressif/esp-idf.git
synced 2026-10-02 03:00:34 +03:00
bugfix(wifi): fix incomplete phy initialization due to absence of bb clocks at coexistence scenarios
This commit is contained in:
@@ -312,8 +312,21 @@ void IRAM_ATTR modem_clock_module_mac_reset(shared_periph_module_t module)
|
||||
#define MODEM_ETM_CLOCK_DEPS (BIT(MODEM_CLOCK_ETM))
|
||||
#define MODEM_ADC_COMMON_FE_CLOCK_DEPS (BIT(MODEM_CLOCK_MODEM_ADC_COMMON_FE))
|
||||
#if SOC_PHY_CALIBRATION_CLOCK_IS_INDEPENDENT
|
||||
#define PHY_CALIBRATION_CLOCK_DEPS (BIT(MODEM_CLOCK_WIFI_APB) | BIT(MODEM_CLOCK_WIFI_BB_44M))
|
||||
#define PHY_CALIBRATION_WIFI_CLOCK_DEPS (BIT(MODEM_CLOCK_WIFI_MAC) | BIT(MODEM_CLOCK_WIFI_APB) | BIT(MODEM_CLOCK_WIFI_BB) | BIT(MODEM_CLOCK_WIFI_BB_44M))
|
||||
#define PHY_CALIBRATION_BT_I154_CLOCK_DEPS (BIT(MODEM_CLOCK_WIFI_APB) | BIT(MODEM_CLOCK_WIFI_BB_44M) | BIT(MODEM_CLOCK_BT_I154_COMMON_BB))
|
||||
#else
|
||||
#define PHY_CALIBRATION_WIFI_CLOCK_DEPS (BIT(MODEM_CLOCK_WIFI_MAC) | BIT(MODEM_CLOCK_WIFI_BB))
|
||||
#define PHY_CALIBRATION_BT_I154_CLOCK_DEPS (BIT(MODEM_CLOCK_BT_I154_COMMON_BB))
|
||||
#endif
|
||||
#ifndef SOC_WIFI_SUPPORTED
|
||||
#undef PHY_CALIBRATION_WIFI_CLOCK_DEPS
|
||||
#define PHY_CALIBRATION_WIFI_CLOCK_DEPS 0
|
||||
#endif
|
||||
#if !defined(SOC_BT_SUPPORTED) && !defined(SOC_IEEE802154_SUPPORTED)
|
||||
#undef PHY_CALIBRATION_BT_I154_CLOCK_DEPS
|
||||
#define PHY_CALIBRATION_BT_I154_CLOCK_DEPS 0
|
||||
#endif
|
||||
#define PHY_CALIBRATION_CLOCK_DEPS (PHY_CALIBRATION_WIFI_CLOCK_DEPS | PHY_CALIBRATION_BT_I154_CLOCK_DEPS)
|
||||
|
||||
static IRAM_ATTR uint32_t modem_clock_get_module_deps(shared_periph_module_t module)
|
||||
{
|
||||
@@ -331,9 +344,7 @@ static IRAM_ATTR uint32_t modem_clock_get_module_deps(shared_periph_module_t mod
|
||||
#if SOC_BT_SUPPORTED
|
||||
case PERIPH_BT_MODULE: deps = BLE_CLOCK_DEPS; break;
|
||||
#endif
|
||||
#if SOC_PHY_CALIBRATION_CLOCK_IS_INDEPENDENT
|
||||
case PERIPH_PHY_CALIBRATION_MODULE: deps = PHY_CALIBRATION_CLOCK_DEPS; break;
|
||||
#endif
|
||||
#if SOC_IEEE802154_SUPPORTED
|
||||
case PERIPH_IEEE802154_MODULE: deps = IEEE802154_CLOCK_DEPS; break;
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user