forked from espressif/esp-idf
Merge branch 'bugfix/fix_phy_calibration_error_for_c2_v5.0' into 'release/v5.0'
fix(phy): fix phy calibration error in none mode for 26MHz XTAL ESP32C2 (backport v5.0) See merge request espressif/esp-idf!26556
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* SPDX-FileCopyrightText: 2015-2021 Espressif Systems (Shanghai) CO LTD
|
* SPDX-FileCopyrightText: 2015-2023 Espressif Systems (Shanghai) CO LTD
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
@@ -245,6 +245,18 @@ esp_err_t esp_phy_apply_phy_init_data(uint8_t *init_data);
|
|||||||
*/
|
*/
|
||||||
char * get_phy_version_str(void);
|
char * get_phy_version_str(void);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Set PHY init parameters
|
||||||
|
* @param param is 1 means combo module
|
||||||
|
*/
|
||||||
|
void phy_init_param_set(uint8_t param);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Wi-Fi RX enable
|
||||||
|
* @param enable Whether to enable phy for wifi
|
||||||
|
*/
|
||||||
|
void phy_wifi_enable_set(uint8_t enable);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
Submodule components/esp_phy/lib updated: 086ac00e98...59c055bcdb
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* SPDX-FileCopyrightText: 2015-2022 Espressif Systems (Shanghai) CO LTD
|
* SPDX-FileCopyrightText: 2015-2023 Espressif Systems (Shanghai) CO LTD
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
@@ -691,6 +691,13 @@ void esp_phy_load_cal_and_init(void)
|
|||||||
#if CONFIG_IDF_TARGET_ESP32S2
|
#if CONFIG_IDF_TARGET_ESP32S2
|
||||||
phy_eco_version_sel(efuse_hal_chip_revision() / 100);
|
phy_eco_version_sel(efuse_hal_chip_revision() / 100);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// Set PHY whether in combo module
|
||||||
|
// For comode mode, phy enable will be not in WiFi RX state
|
||||||
|
#if SOC_PHY_COMBO_MODULE
|
||||||
|
phy_init_param_set(0);
|
||||||
|
#endif
|
||||||
|
|
||||||
esp_phy_calibration_data_t* cal_data =
|
esp_phy_calibration_data_t* cal_data =
|
||||||
(esp_phy_calibration_data_t*) calloc(sizeof(esp_phy_calibration_data_t), 1);
|
(esp_phy_calibration_data_t*) calloc(sizeof(esp_phy_calibration_data_t), 1);
|
||||||
if (cal_data == NULL) {
|
if (cal_data == NULL) {
|
||||||
|
@@ -723,6 +723,18 @@ int IRAM_ATTR coex_is_in_isr_wrapper(void)
|
|||||||
return !xPortCanYield();
|
return !xPortCanYield();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void esp_phy_enable_wrapper(void)
|
||||||
|
{
|
||||||
|
esp_phy_enable();
|
||||||
|
phy_wifi_enable_set(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void esp_phy_disable_wrapper(void)
|
||||||
|
{
|
||||||
|
phy_wifi_enable_set(0);
|
||||||
|
esp_phy_disable();
|
||||||
|
}
|
||||||
|
|
||||||
wifi_osi_funcs_t g_wifi_osi_funcs = {
|
wifi_osi_funcs_t g_wifi_osi_funcs = {
|
||||||
._version = ESP_WIFI_OS_ADAPTER_VERSION,
|
._version = ESP_WIFI_OS_ADAPTER_VERSION,
|
||||||
._env_is_chip = env_is_chip_wrapper,
|
._env_is_chip = env_is_chip_wrapper,
|
||||||
@@ -776,8 +788,8 @@ wifi_osi_funcs_t g_wifi_osi_funcs = {
|
|||||||
._dport_access_stall_other_cpu_end_wrap = s_esp_dport_access_stall_other_cpu_end,
|
._dport_access_stall_other_cpu_end_wrap = s_esp_dport_access_stall_other_cpu_end,
|
||||||
._wifi_apb80m_request = wifi_apb80m_request_wrapper,
|
._wifi_apb80m_request = wifi_apb80m_request_wrapper,
|
||||||
._wifi_apb80m_release = wifi_apb80m_release_wrapper,
|
._wifi_apb80m_release = wifi_apb80m_release_wrapper,
|
||||||
._phy_disable = esp_phy_disable,
|
._phy_disable = esp_phy_disable_wrapper,
|
||||||
._phy_enable = esp_phy_enable,
|
._phy_enable = esp_phy_enable_wrapper,
|
||||||
._phy_common_clock_enable = esp_phy_common_clock_enable,
|
._phy_common_clock_enable = esp_phy_common_clock_enable,
|
||||||
._phy_common_clock_disable = esp_phy_common_clock_disable,
|
._phy_common_clock_disable = esp_phy_common_clock_disable,
|
||||||
._phy_update_country_info = esp_phy_update_country_info,
|
._phy_update_country_info = esp_phy_update_country_info,
|
||||||
|
@@ -644,6 +644,18 @@ static void IRAM_ATTR esp_empty_wrapper(void)
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void esp_phy_enable_wrapper(void)
|
||||||
|
{
|
||||||
|
esp_phy_enable();
|
||||||
|
phy_wifi_enable_set(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void esp_phy_disable_wrapper(void)
|
||||||
|
{
|
||||||
|
phy_wifi_enable_set(0);
|
||||||
|
esp_phy_disable();
|
||||||
|
}
|
||||||
|
|
||||||
wifi_osi_funcs_t g_wifi_osi_funcs = {
|
wifi_osi_funcs_t g_wifi_osi_funcs = {
|
||||||
._version = ESP_WIFI_OS_ADAPTER_VERSION,
|
._version = ESP_WIFI_OS_ADAPTER_VERSION,
|
||||||
._env_is_chip = env_is_chip_wrapper,
|
._env_is_chip = env_is_chip_wrapper,
|
||||||
@@ -697,8 +709,8 @@ wifi_osi_funcs_t g_wifi_osi_funcs = {
|
|||||||
._dport_access_stall_other_cpu_end_wrap = esp_empty_wrapper,
|
._dport_access_stall_other_cpu_end_wrap = esp_empty_wrapper,
|
||||||
._wifi_apb80m_request = wifi_apb80m_request_wrapper,
|
._wifi_apb80m_request = wifi_apb80m_request_wrapper,
|
||||||
._wifi_apb80m_release = wifi_apb80m_release_wrapper,
|
._wifi_apb80m_release = wifi_apb80m_release_wrapper,
|
||||||
._phy_disable = esp_phy_disable,
|
._phy_disable = esp_phy_disable_wrapper,
|
||||||
._phy_enable = esp_phy_enable,
|
._phy_enable = esp_phy_enable_wrapper,
|
||||||
._phy_update_country_info = esp_phy_update_country_info,
|
._phy_update_country_info = esp_phy_update_country_info,
|
||||||
._read_mac = esp_read_mac_wrapper,
|
._read_mac = esp_read_mac_wrapper,
|
||||||
._timer_arm = timer_arm_wrapper,
|
._timer_arm = timer_arm_wrapper,
|
||||||
|
@@ -652,6 +652,18 @@ static void IRAM_ATTR esp_empty_wrapper(void)
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void esp_phy_enable_wrapper(void)
|
||||||
|
{
|
||||||
|
esp_phy_enable();
|
||||||
|
phy_wifi_enable_set(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void esp_phy_disable_wrapper(void)
|
||||||
|
{
|
||||||
|
phy_wifi_enable_set(0);
|
||||||
|
esp_phy_disable();
|
||||||
|
}
|
||||||
|
|
||||||
wifi_osi_funcs_t g_wifi_osi_funcs = {
|
wifi_osi_funcs_t g_wifi_osi_funcs = {
|
||||||
._version = ESP_WIFI_OS_ADAPTER_VERSION,
|
._version = ESP_WIFI_OS_ADAPTER_VERSION,
|
||||||
._env_is_chip = env_is_chip_wrapper,
|
._env_is_chip = env_is_chip_wrapper,
|
||||||
@@ -705,8 +717,8 @@ wifi_osi_funcs_t g_wifi_osi_funcs = {
|
|||||||
._dport_access_stall_other_cpu_end_wrap = esp_empty_wrapper,
|
._dport_access_stall_other_cpu_end_wrap = esp_empty_wrapper,
|
||||||
._wifi_apb80m_request = wifi_apb80m_request_wrapper,
|
._wifi_apb80m_request = wifi_apb80m_request_wrapper,
|
||||||
._wifi_apb80m_release = wifi_apb80m_release_wrapper,
|
._wifi_apb80m_release = wifi_apb80m_release_wrapper,
|
||||||
._phy_disable = esp_phy_disable,
|
._phy_disable = esp_phy_disable_wrapper,
|
||||||
._phy_enable = esp_phy_enable,
|
._phy_enable = esp_phy_enable_wrapper,
|
||||||
._phy_update_country_info = esp_phy_update_country_info,
|
._phy_update_country_info = esp_phy_update_country_info,
|
||||||
._read_mac = esp_read_mac_wrapper,
|
._read_mac = esp_read_mac_wrapper,
|
||||||
._timer_arm = timer_arm_wrapper,
|
._timer_arm = timer_arm_wrapper,
|
||||||
|
@@ -724,6 +724,16 @@ int IRAM_ATTR coex_is_in_isr_wrapper(void)
|
|||||||
return !xPortCanYield();
|
return !xPortCanYield();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void esp_phy_enable_wrapper(void)
|
||||||
|
{
|
||||||
|
esp_phy_enable();
|
||||||
|
}
|
||||||
|
|
||||||
|
static void esp_phy_disable_wrapper(void)
|
||||||
|
{
|
||||||
|
esp_phy_disable();
|
||||||
|
}
|
||||||
|
|
||||||
wifi_osi_funcs_t g_wifi_osi_funcs = {
|
wifi_osi_funcs_t g_wifi_osi_funcs = {
|
||||||
._version = ESP_WIFI_OS_ADAPTER_VERSION,
|
._version = ESP_WIFI_OS_ADAPTER_VERSION,
|
||||||
._env_is_chip = env_is_chip_wrapper,
|
._env_is_chip = env_is_chip_wrapper,
|
||||||
@@ -777,8 +787,8 @@ wifi_osi_funcs_t g_wifi_osi_funcs = {
|
|||||||
._dport_access_stall_other_cpu_end_wrap = esp_empty_wrapper,
|
._dport_access_stall_other_cpu_end_wrap = esp_empty_wrapper,
|
||||||
._wifi_apb80m_request = wifi_apb80m_request_wrapper,
|
._wifi_apb80m_request = wifi_apb80m_request_wrapper,
|
||||||
._wifi_apb80m_release = wifi_apb80m_release_wrapper,
|
._wifi_apb80m_release = wifi_apb80m_release_wrapper,
|
||||||
._phy_disable = esp_phy_disable,
|
._phy_disable = esp_phy_disable_wrapper,
|
||||||
._phy_enable = esp_phy_enable,
|
._phy_enable = esp_phy_enable_wrapper,
|
||||||
._phy_common_clock_enable = esp_phy_common_clock_enable,
|
._phy_common_clock_enable = esp_phy_common_clock_enable,
|
||||||
._phy_common_clock_disable = esp_phy_common_clock_disable,
|
._phy_common_clock_disable = esp_phy_common_clock_disable,
|
||||||
._phy_update_country_info = esp_phy_update_country_info,
|
._phy_update_country_info = esp_phy_update_country_info,
|
||||||
|
@@ -746,6 +746,18 @@ int IRAM_ATTR coex_is_in_isr_wrapper(void)
|
|||||||
return !xPortCanYield();
|
return !xPortCanYield();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void esp_phy_enable_wrapper(void)
|
||||||
|
{
|
||||||
|
esp_phy_enable();
|
||||||
|
phy_wifi_enable_set(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void esp_phy_disable_wrapper(void)
|
||||||
|
{
|
||||||
|
phy_wifi_enable_set(0);
|
||||||
|
esp_phy_disable();
|
||||||
|
}
|
||||||
|
|
||||||
wifi_osi_funcs_t g_wifi_osi_funcs = {
|
wifi_osi_funcs_t g_wifi_osi_funcs = {
|
||||||
._version = ESP_WIFI_OS_ADAPTER_VERSION,
|
._version = ESP_WIFI_OS_ADAPTER_VERSION,
|
||||||
._env_is_chip = env_is_chip_wrapper,
|
._env_is_chip = env_is_chip_wrapper,
|
||||||
@@ -799,8 +811,8 @@ wifi_osi_funcs_t g_wifi_osi_funcs = {
|
|||||||
._dport_access_stall_other_cpu_end_wrap = esp_empty_wrapper,
|
._dport_access_stall_other_cpu_end_wrap = esp_empty_wrapper,
|
||||||
._wifi_apb80m_request = wifi_apb80m_request_wrapper,
|
._wifi_apb80m_request = wifi_apb80m_request_wrapper,
|
||||||
._wifi_apb80m_release = wifi_apb80m_release_wrapper,
|
._wifi_apb80m_release = wifi_apb80m_release_wrapper,
|
||||||
._phy_disable = esp_phy_disable,
|
._phy_disable = esp_phy_disable_wrapper,
|
||||||
._phy_enable = esp_phy_enable,
|
._phy_enable = esp_phy_enable_wrapper,
|
||||||
._phy_update_country_info = esp_phy_update_country_info,
|
._phy_update_country_info = esp_phy_update_country_info,
|
||||||
._read_mac = esp_read_mac,
|
._read_mac = esp_read_mac,
|
||||||
._timer_arm = timer_arm_wrapper,
|
._timer_arm = timer_arm_wrapper,
|
||||||
|
Reference in New Issue
Block a user