Skip to content

Commit

Permalink
Merge branch 'bugfix/update_phy_lib_v4.3' into 'release/v4.3'
Browse files Browse the repository at this point in the history
fix(phy): update phy lib to master (v4.3)

See merge request espressif/esp-idf!26868
  • Loading branch information
jack0c committed Nov 15, 2023
2 parents ca64739 + 7e817bb commit 0418bd2
Show file tree
Hide file tree
Showing 7 changed files with 93 additions and 61 deletions.
34 changes: 19 additions & 15 deletions components/esp_wifi/esp32/esp_adapter.c
Original file line number Diff line number Diff line change
@@ -1,16 +1,8 @@
// Copyright 2015-2018 Espressif Systems (Shanghai) PTE LTD
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at

// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
/*
* SPDX-FileCopyrightText: 2015-2023 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/

#include <stddef.h>
#include <stdlib.h>
Expand Down Expand Up @@ -726,6 +718,18 @@ int32_t IRAM_ATTR coex_is_in_isr_wrapper(void)
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 = {
._version = ESP_WIFI_OS_ADAPTER_VERSION,
._env_is_chip = env_is_chip_wrapper,
Expand Down Expand Up @@ -779,8 +783,8 @@ wifi_osi_funcs_t g_wifi_osi_funcs = {
._dport_access_stall_other_cpu_end_wrap = s_esp_dport_access_stall_other_cpu_end,
._wifi_apb80m_request = wifi_apb80m_request_wrapper,
._wifi_apb80m_release = wifi_apb80m_release_wrapper,
._phy_disable = esp_phy_disable,
._phy_enable = esp_phy_enable,
._phy_disable = esp_phy_disable_wrapper,
._phy_enable = esp_phy_enable_wrapper,
._phy_common_clock_enable = esp_phy_common_clock_enable,
._phy_common_clock_disable = esp_phy_common_clock_disable,
._phy_update_country_info = esp_phy_update_country_info,
Expand Down
34 changes: 19 additions & 15 deletions components/esp_wifi/esp32c3/esp_adapter.c
Original file line number Diff line number Diff line change
@@ -1,16 +1,8 @@
// Copyright 2015-2020 Espressif Systems (Shanghai) PTE LTD
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at

// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
/*
* SPDX-FileCopyrightText: 2015-2023 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/

#include <stddef.h>
#include <stdlib.h>
Expand Down Expand Up @@ -657,6 +649,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 = {
._version = ESP_WIFI_OS_ADAPTER_VERSION,
._env_is_chip = env_is_chip_wrapper,
Expand Down Expand Up @@ -710,8 +714,8 @@ wifi_osi_funcs_t g_wifi_osi_funcs = {
._dport_access_stall_other_cpu_end_wrap = esp_empty_wrapper,
._wifi_apb80m_request = wifi_apb80m_request_wrapper,
._wifi_apb80m_release = wifi_apb80m_release_wrapper,
._phy_disable = esp_phy_disable,
._phy_enable = esp_phy_enable,
._phy_disable = esp_phy_disable_wrapper,
._phy_enable = esp_phy_enable_wrapper,
._phy_update_country_info = esp_phy_update_country_info,
._read_mac = esp_read_mac_wrapper,
._timer_arm = timer_arm_wrapper,
Expand Down
32 changes: 17 additions & 15 deletions components/esp_wifi/esp32s2/esp_adapter.c
Original file line number Diff line number Diff line change
@@ -1,16 +1,8 @@
// Copyright 2015-2018 Espressif Systems (Shanghai) PTE LTD
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at

// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
/*
* SPDX-FileCopyrightText: 2015-2023 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/

#include <stddef.h>
#include <stdlib.h>
Expand Down Expand Up @@ -641,6 +633,16 @@ static void IRAM_ATTR esp_empty_wrapper(void)

}

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 = {
._version = ESP_WIFI_OS_ADAPTER_VERSION,
._env_is_chip = env_is_chip_wrapper,
Expand Down Expand Up @@ -694,8 +696,8 @@ wifi_osi_funcs_t g_wifi_osi_funcs = {
._dport_access_stall_other_cpu_end_wrap = esp_empty_wrapper,
._wifi_apb80m_request = wifi_apb80m_request_wrapper,
._wifi_apb80m_release = wifi_apb80m_release_wrapper,
._phy_disable = esp_phy_disable,
._phy_enable = esp_phy_enable,
._phy_disable = esp_phy_disable_wrapper,
._phy_enable = esp_phy_enable_wrapper,
._phy_common_clock_enable = esp_phy_common_clock_enable,
._phy_common_clock_disable = esp_phy_common_clock_disable,
._phy_update_country_info = esp_phy_update_country_info,
Expand Down
34 changes: 19 additions & 15 deletions components/esp_wifi/esp32s3/esp_adapter.c
Original file line number Diff line number Diff line change
@@ -1,16 +1,8 @@
// Copyright 2015-2020 Espressif Systems (Shanghai) PTE LTD
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at

// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
/*
* SPDX-FileCopyrightText: 2015-2023 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/

#include <stddef.h>
#include <stdlib.h>
Expand Down Expand Up @@ -684,6 +676,18 @@ int32_t IRAM_ATTR coex_is_in_isr_wrapper(void)
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 = {
._version = ESP_WIFI_OS_ADAPTER_VERSION,
._env_is_chip = env_is_chip_wrapper,
Expand Down Expand Up @@ -737,8 +741,8 @@ wifi_osi_funcs_t g_wifi_osi_funcs = {
._dport_access_stall_other_cpu_end_wrap = esp_empty_wrapper,
._wifi_apb80m_request = wifi_apb80m_request_wrapper,
._wifi_apb80m_release = wifi_apb80m_release_wrapper,
._phy_disable = esp_phy_disable,
._phy_enable = esp_phy_enable,
._phy_disable = esp_phy_disable_wrapper,
._phy_enable = esp_phy_enable_wrapper,
._phy_update_country_info = esp_phy_update_country_info,
._read_mac = esp_read_mac,
._timer_arm = timer_arm_wrapper,
Expand Down
12 changes: 12 additions & 0 deletions components/esp_wifi/include/esp_phy_init.h
Original file line number Diff line number Diff line change
Expand Up @@ -243,6 +243,18 @@ esp_err_t esp_phy_apply_phy_init_data(uint8_t *init_data);
*/
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 True for enable wifi receiving mode as default, false for closing wifi receiving mode as default.
*/
void phy_wifi_enable_set(uint8_t enable);

#ifdef __cplusplus
}
#endif
2 changes: 1 addition & 1 deletion components/esp_wifi/lib
6 changes: 6 additions & 0 deletions components/esp_wifi/src/phy_init.c
Original file line number Diff line number Diff line change
Expand Up @@ -693,6 +693,12 @@ void esp_phy_load_cal_and_init(void)
phy_eco_version_sel(efuse_hal_chip_revision() / 100);
#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*) calloc(sizeof(esp_phy_calibration_data_t), 1);
if (cal_data == NULL) {
Expand Down

0 comments on commit 0418bd2

Please sign in to comment.