mirror of
https://github.com/espressif/esp-idf.git
synced 2026-10-02 11:10:54 +03:00
feat(wifi): support disable 11ac and 11ax in efuse
This commit is contained in:
@@ -79,7 +79,7 @@ idf_component_register(SRCS "${srcs}"
|
|||||||
INCLUDE_DIRS "include" "include/local" "wifi_apps/include" "wifi_apps/nan_app/include"
|
INCLUDE_DIRS "include" "include/local" "wifi_apps/include" "wifi_apps/nan_app/include"
|
||||||
|
|
||||||
REQUIRES esp_event esp_phy esp_netif
|
REQUIRES esp_event esp_phy esp_netif
|
||||||
PRIV_REQUIRES esp_pm esp_timer nvs_flash
|
PRIV_REQUIRES esp_pm esp_timer nvs_flash efuse
|
||||||
wpa_supplicant hal lwip esp_coex
|
wpa_supplicant hal lwip esp_coex
|
||||||
PRIV_INCLUDE_DIRS ../wpa_supplicant/src/ ../wpa_supplicant/esp_supplicant/src/
|
PRIV_INCLUDE_DIRS ../wpa_supplicant/src/ ../wpa_supplicant/esp_supplicant/src/
|
||||||
wifi_apps/roaming_app/include wifi_apps/roaming_app/src
|
wifi_apps/roaming_app/include wifi_apps/roaming_app/src
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* SPDX-FileCopyrightText: 2022-2025 Espressif Systems (Shanghai) CO LTD
|
* SPDX-FileCopyrightText: 2022-2026 Espressif Systems (Shanghai) CO LTD
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
@@ -641,6 +641,11 @@ static void esp_phy_disable_wrapper(void)
|
|||||||
esp_phy_disable(PHY_MODEM_WIFI);
|
esp_phy_disable(PHY_MODEM_WIFI);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static bool esp_wifi_disable_ac_ax_wrapper(void)
|
||||||
|
{
|
||||||
|
return false; // disable 11ac and 11ax is not supported on esp32c5.
|
||||||
|
}
|
||||||
|
|
||||||
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 = esp_coex_common_env_is_chip_wrapper,
|
._env_is_chip = esp_coex_common_env_is_chip_wrapper,
|
||||||
@@ -764,5 +769,6 @@ wifi_osi_funcs_t g_wifi_osi_funcs = {
|
|||||||
._coex_schm_flexible_period_set = coex_schm_flexible_period_set_wrapper,
|
._coex_schm_flexible_period_set = coex_schm_flexible_period_set_wrapper,
|
||||||
._coex_schm_flexible_period_get = coex_schm_flexible_period_get_wrapper,
|
._coex_schm_flexible_period_get = coex_schm_flexible_period_get_wrapper,
|
||||||
._coex_schm_get_phase_by_idx = coex_schm_get_phase_by_idx_wrapper,
|
._coex_schm_get_phase_by_idx = coex_schm_get_phase_by_idx_wrapper,
|
||||||
|
._wifi_disable_ac_ax = esp_wifi_disable_ac_ax_wrapper,
|
||||||
._magic = ESP_WIFI_OS_ADAPTER_MAGIC,
|
._magic = ESP_WIFI_OS_ADAPTER_MAGIC,
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* SPDX-FileCopyrightText: 2022-2025 Espressif Systems (Shanghai) CO LTD
|
* SPDX-FileCopyrightText: 2022-2026 Espressif Systems (Shanghai) CO LTD
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
@@ -579,6 +579,11 @@ static void *sleep_retention_find_link_by_id_wrapper(int id)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
static bool esp_wifi_disable_ac_ax_wrapper(void)
|
||||||
|
{
|
||||||
|
return false; // disable 11ac and 11ax is not supported on esp32c6.
|
||||||
|
}
|
||||||
|
|
||||||
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 = esp_coex_common_env_is_chip_wrapper,
|
._env_is_chip = esp_coex_common_env_is_chip_wrapper,
|
||||||
@@ -702,5 +707,6 @@ wifi_osi_funcs_t g_wifi_osi_funcs = {
|
|||||||
._coex_schm_flexible_period_set = coex_schm_flexible_period_set_wrapper,
|
._coex_schm_flexible_period_set = coex_schm_flexible_period_set_wrapper,
|
||||||
._coex_schm_flexible_period_get = coex_schm_flexible_period_get_wrapper,
|
._coex_schm_flexible_period_get = coex_schm_flexible_period_get_wrapper,
|
||||||
._coex_schm_get_phase_by_idx = coex_schm_get_phase_by_idx_wrapper,
|
._coex_schm_get_phase_by_idx = coex_schm_get_phase_by_idx_wrapper,
|
||||||
|
._wifi_disable_ac_ax = esp_wifi_disable_ac_ax_wrapper,
|
||||||
._magic = ESP_WIFI_OS_ADAPTER_MAGIC,
|
._magic = ESP_WIFI_OS_ADAPTER_MAGIC,
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* SPDX-FileCopyrightText: 2022-2025 Espressif Systems (Shanghai) CO LTD
|
* SPDX-FileCopyrightText: 2022-2026 Espressif Systems (Shanghai) CO LTD
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
@@ -40,6 +40,8 @@
|
|||||||
#include "esp_private/periph_ctrl.h"
|
#include "esp_private/periph_ctrl.h"
|
||||||
#include "esp_private/esp_clk.h"
|
#include "esp_private/esp_clk.h"
|
||||||
#include "nvs.h"
|
#include "nvs.h"
|
||||||
|
#include "esp_efuse.h"
|
||||||
|
#include "esp_efuse_table.h"
|
||||||
#include "os.h"
|
#include "os.h"
|
||||||
#include "esp_smartconfig.h"
|
#include "esp_smartconfig.h"
|
||||||
#ifdef CONFIG_ESP_COEX_ENABLED
|
#ifdef CONFIG_ESP_COEX_ENABLED
|
||||||
@@ -641,6 +643,11 @@ static void esp_phy_disable_wrapper(void)
|
|||||||
esp_phy_disable(PHY_MODEM_WIFI);
|
esp_phy_disable(PHY_MODEM_WIFI);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static bool esp_wifi_disable_ac_ax_wrapper(void)
|
||||||
|
{
|
||||||
|
return esp_efuse_read_field_bit(ESP_EFUSE_DIS_WIFI6);
|
||||||
|
}
|
||||||
|
|
||||||
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 = esp_coex_common_env_is_chip_wrapper,
|
._env_is_chip = esp_coex_common_env_is_chip_wrapper,
|
||||||
@@ -764,5 +771,6 @@ wifi_osi_funcs_t g_wifi_osi_funcs = {
|
|||||||
._coex_schm_flexible_period_set = coex_schm_flexible_period_set_wrapper,
|
._coex_schm_flexible_period_set = coex_schm_flexible_period_set_wrapper,
|
||||||
._coex_schm_flexible_period_get = coex_schm_flexible_period_get_wrapper,
|
._coex_schm_flexible_period_get = coex_schm_flexible_period_get_wrapper,
|
||||||
._coex_schm_get_phase_by_idx = coex_schm_get_phase_by_idx_wrapper,
|
._coex_schm_get_phase_by_idx = coex_schm_get_phase_by_idx_wrapper,
|
||||||
|
._wifi_disable_ac_ax = esp_wifi_disable_ac_ax_wrapper,
|
||||||
._magic = ESP_WIFI_OS_ADAPTER_MAGIC,
|
._magic = ESP_WIFI_OS_ADAPTER_MAGIC,
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -650,6 +650,11 @@ static void esp_phy_disable_wrapper(void)
|
|||||||
esp_phy_disable(PHY_MODEM_WIFI);
|
esp_phy_disable(PHY_MODEM_WIFI);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static bool esp_wifi_disable_ac_ax_wrapper(void)
|
||||||
|
{
|
||||||
|
return false; // disable 11ac and 11ax is not supported on esp32s31.
|
||||||
|
}
|
||||||
|
|
||||||
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 = esp_coex_common_env_is_chip_wrapper,
|
._env_is_chip = esp_coex_common_env_is_chip_wrapper,
|
||||||
@@ -774,5 +779,6 @@ wifi_osi_funcs_t g_wifi_osi_funcs = {
|
|||||||
._coex_schm_flexible_period_get = coex_schm_flexible_period_get_wrapper,
|
._coex_schm_flexible_period_get = coex_schm_flexible_period_get_wrapper,
|
||||||
._coex_schm_get_phase_by_idx = coex_schm_get_phase_by_idx_wrapper,
|
._coex_schm_get_phase_by_idx = coex_schm_get_phase_by_idx_wrapper,
|
||||||
._coex_configure_preemption_end_cb = coex_configure_preemption_end_cb_wrapper,
|
._coex_configure_preemption_end_cb = coex_configure_preemption_end_cb_wrapper,
|
||||||
|
._wifi_disable_ac_ax = esp_wifi_disable_ac_ax_wrapper,
|
||||||
._magic = ESP_WIFI_OS_ADAPTER_MAGIC,
|
._magic = ESP_WIFI_OS_ADAPTER_MAGIC,
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -158,6 +158,9 @@ typedef struct wifi_osi_funcs_t {
|
|||||||
void * (*_coex_schm_get_phase_by_idx)(int);
|
void * (*_coex_schm_get_phase_by_idx)(int);
|
||||||
#if CONFIG_IDF_TARGET_ESP32S31
|
#if CONFIG_IDF_TARGET_ESP32S31
|
||||||
int (* _coex_configure_preemption_end_cb)(bool is_register, int(*cb)(uint32_t));
|
int (* _coex_configure_preemption_end_cb)(bool is_register, int(*cb)(uint32_t));
|
||||||
|
#endif
|
||||||
|
#if CONFIG_SOC_WIFI_HE_SUPPORT
|
||||||
|
bool (*_wifi_disable_ac_ax)(void);
|
||||||
#endif
|
#endif
|
||||||
int32_t _magic;
|
int32_t _magic;
|
||||||
} wifi_osi_funcs_t;
|
} wifi_osi_funcs_t;
|
||||||
|
|||||||
+1
-1
Submodule components/esp_wifi/lib updated: baa228bd4d...6139fb7f86
Reference in New Issue
Block a user