mirror of
https://github.com/espressif/esp-idf.git
synced 2026-10-03 03:31:41 +03:00
fix(esp_phy): check hw freq hop done before disabling common clock
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* SPDX-FileCopyrightText: 2015-2025 Espressif Systems (Shanghai) CO LTD
|
* SPDX-FileCopyrightText: 2015-2026 Espressif Systems (Shanghai) CO LTD
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
@@ -267,6 +267,12 @@ void esp_phy_sleep_data_init(void);
|
|||||||
void esp_phy_sleep_data_deinit(void);
|
void esp_phy_sleep_data_deinit(void);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Wait for frequency hardware hop to complete
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
void phy_wait_freq_hw_hop_done(void);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
+1
-1
Submodule components/esp_phy/lib updated: 6b304ed9f5...59c1234e92
@@ -60,6 +60,9 @@ entries:
|
|||||||
phy_reg:phy_ant_init (noflash)
|
phy_reg:phy_ant_init (noflash)
|
||||||
phy_reg:bt_filter_reg (noflash)
|
phy_reg:bt_filter_reg (noflash)
|
||||||
phy_hw_freq:phy_en_hw_set_freq (noflash)
|
phy_hw_freq:phy_en_hw_set_freq (noflash)
|
||||||
|
phy_api:phy_wait_freq_hw_hop_done (noflash)
|
||||||
|
phy_hw_freq:phy_wait_freq_set_busy (noflash)
|
||||||
|
phy_basic:phy_time_now (noflash)
|
||||||
|
|
||||||
[mapping:esp_phy_hxx]
|
[mapping:esp_phy_hxx]
|
||||||
archive: libesp_phy.a
|
archive: libesp_phy.a
|
||||||
|
|||||||
@@ -385,3 +385,9 @@ void phy_wakeup_from_modem_state_extra_init(void)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
__attribute__((weak)) void phy_wait_freq_hw_hop_done(void)
|
||||||
|
{
|
||||||
|
ESP_LOGD(TAG, "phy_wait_freq_hw_hop_done is not implemented");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|||||||
@@ -440,6 +440,7 @@ void esp_phy_disable(esp_phy_modem_t modem)
|
|||||||
// Update WiFi MAC time before disable WiFi/BT common peripheral clock
|
// Update WiFi MAC time before disable WiFi/BT common peripheral clock
|
||||||
phy_update_wifi_mac_time(true, esp_timer_get_time());
|
phy_update_wifi_mac_time(true, esp_timer_get_time());
|
||||||
#endif
|
#endif
|
||||||
|
phy_wait_freq_hw_hop_done();
|
||||||
// Disable WiFi/BT common peripheral clock. Do not disable clock for hardware RNG
|
// Disable WiFi/BT common peripheral clock. Do not disable clock for hardware RNG
|
||||||
esp_phy_common_clock_disable();
|
esp_phy_common_clock_disable();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -153,6 +153,7 @@ void esp_phy_disable(esp_phy_modem_t modem)
|
|||||||
#endif
|
#endif
|
||||||
phy_close_rf();
|
phy_close_rf();
|
||||||
phy_xpd_tsens();
|
phy_xpd_tsens();
|
||||||
|
phy_wait_freq_hw_hop_done();
|
||||||
#if SOC_MODEM_CLOCK_IS_INDEPENDENT
|
#if SOC_MODEM_CLOCK_IS_INDEPENDENT
|
||||||
modem_clock_module_disable(PERIPH_PHY_MODULE);
|
modem_clock_module_disable(PERIPH_PHY_MODULE);
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Reference in New Issue
Block a user