feat(wifi): adpater apb clock is independent

This commit is contained in:
sibeibei
2026-04-28 16:15:15 +08:00
parent c8881b2529
commit bd7dc2da07
19 changed files with 110 additions and 105 deletions

View File

@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2015-2024 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2015-2026 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@@ -56,8 +56,8 @@
#define TAG "esp_adapter"
#ifdef CONFIG_PM_ENABLE
extern void wifi_apb80m_request(void);
extern void wifi_apb80m_release(void);
extern void wifi_pm_sleep_lock_acquire(void);
extern void wifi_pm_sleep_lock_release(void);
#endif
static void IRAM_ATTR s_esp_dport_access_stall_other_cpu_start(void)
@@ -362,17 +362,17 @@ static int32_t esp_event_post_wrapper(const char* event_base, int32_t event_id,
}
}
static void IRAM_ATTR wifi_apb80m_request_wrapper(void)
static void IRAM_ATTR wifi_pm_sleep_lock_acquire_wrapper(void)
{
#ifdef CONFIG_PM_ENABLE
wifi_apb80m_request();
wifi_pm_sleep_lock_acquire();
#endif
}
static void IRAM_ATTR wifi_apb80m_release_wrapper(void)
static void IRAM_ATTR wifi_pm_sleep_lock_release_wrapper(void)
{
#ifdef CONFIG_PM_ENABLE
wifi_apb80m_release();
wifi_pm_sleep_lock_release();
#endif
}
@@ -671,8 +671,8 @@ wifi_osi_funcs_t g_wifi_osi_funcs = {
._rand = esp_random,
._dport_access_stall_other_cpu_start_wrap = s_esp_dport_access_stall_other_cpu_start,
._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,
._wifi_pm_sleep_lock_acquire = wifi_pm_sleep_lock_acquire_wrapper,
._wifi_pm_sleep_lock_release = wifi_pm_sleep_lock_release_wrapper,
._phy_disable = esp_phy_disable_wrapper,
._phy_enable = esp_phy_enable_wrapper,
._phy_common_clock_enable = esp_phy_common_clock_enable,

View File

@@ -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
*/
@@ -52,8 +52,8 @@
#define TAG "esp_adapter"
#ifdef CONFIG_PM_ENABLE
extern void wifi_apb80m_request(void);
extern void wifi_apb80m_release(void);
extern void wifi_pm_sleep_lock_acquire(void);
extern void wifi_pm_sleep_lock_release(void);
#endif
IRAM_ATTR void *wifi_malloc(size_t size)
@@ -276,17 +276,17 @@ static int32_t esp_event_post_wrapper(const char* event_base, int32_t event_id,
}
}
static void IRAM_ATTR wifi_apb80m_request_wrapper(void)
static void IRAM_ATTR wifi_pm_sleep_lock_acquire_wrapper(void)
{
#ifdef CONFIG_PM_ENABLE
wifi_apb80m_request();
wifi_pm_sleep_lock_acquire();
#endif
}
static void IRAM_ATTR wifi_apb80m_release_wrapper(void)
static void IRAM_ATTR wifi_pm_sleep_lock_release_wrapper(void)
{
#ifdef CONFIG_PM_ENABLE
wifi_apb80m_release();
wifi_pm_sleep_lock_release();
#endif
}
@@ -612,8 +612,8 @@ wifi_osi_funcs_t g_wifi_osi_funcs = {
._rand = esp_random,
._dport_access_stall_other_cpu_start_wrap = esp_empty_wrapper,
._dport_access_stall_other_cpu_end_wrap = esp_empty_wrapper,
._wifi_apb80m_request = wifi_apb80m_request_wrapper,
._wifi_apb80m_release = wifi_apb80m_release_wrapper,
._wifi_pm_sleep_lock_acquire = wifi_pm_sleep_lock_acquire_wrapper,
._wifi_pm_sleep_lock_release = wifi_pm_sleep_lock_release_wrapper,
._phy_disable = esp_phy_disable_wrapper,
._phy_enable = esp_phy_enable_wrapper,
._phy_update_country_info = esp_phy_update_country_info,

View File

@@ -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
*/
@@ -55,8 +55,8 @@
#define MHZ (1000000)
#ifdef CONFIG_PM_ENABLE
extern void wifi_apb80m_request(void);
extern void wifi_apb80m_release(void);
extern void wifi_pm_sleep_lock_acquire(void);
extern void wifi_pm_sleep_lock_release(void);
#endif
IRAM_ATTR void *wifi_malloc(size_t size)
@@ -279,17 +279,17 @@ static int32_t esp_event_post_wrapper(const char* event_base, int32_t event_id,
}
}
static void IRAM_ATTR wifi_apb80m_request_wrapper(void)
static void IRAM_ATTR wifi_pm_sleep_lock_acquire_wrapper(void)
{
#ifdef CONFIG_PM_ENABLE
wifi_apb80m_request();
wifi_pm_sleep_lock_acquire();
#endif
}
static void IRAM_ATTR wifi_apb80m_release_wrapper(void)
static void IRAM_ATTR wifi_pm_sleep_lock_release_wrapper(void)
{
#ifdef CONFIG_PM_ENABLE
wifi_apb80m_release();
wifi_pm_sleep_lock_release();
#endif
}
@@ -629,8 +629,8 @@ wifi_osi_funcs_t g_wifi_osi_funcs = {
._rand = esp_random,
._dport_access_stall_other_cpu_start_wrap = esp_empty_wrapper,
._dport_access_stall_other_cpu_end_wrap = esp_empty_wrapper,
._wifi_apb80m_request = wifi_apb80m_request_wrapper,
._wifi_apb80m_release = wifi_apb80m_release_wrapper,
._wifi_pm_sleep_lock_acquire = wifi_pm_sleep_lock_acquire_wrapper,
._wifi_pm_sleep_lock_release = wifi_pm_sleep_lock_release_wrapper,
._phy_disable = esp_phy_disable_wrapper,
._phy_enable = esp_phy_enable_wrapper,
._phy_update_country_info = esp_phy_update_country_info,

View File

@@ -60,8 +60,8 @@
#define TAG "esp_adapter"
#ifdef CONFIG_PM_ENABLE
extern void wifi_apb80m_request(void);
extern void wifi_apb80m_release(void);
extern void wifi_pm_sleep_lock_acquire(void);
extern void wifi_pm_sleep_lock_release(void);
#endif
IRAM_ATTR void *wifi_malloc(size_t size)
@@ -354,17 +354,17 @@ static int32_t esp_event_post_wrapper(const char *event_base, int32_t event_id,
}
}
static void IRAM_ATTR wifi_apb80m_request_wrapper(void)
static void IRAM_ATTR wifi_pm_sleep_lock_acquire_wrapper(void)
{
#ifdef CONFIG_PM_ENABLE
wifi_apb80m_request();
wifi_pm_sleep_lock_acquire();
#endif
}
static void IRAM_ATTR wifi_apb80m_release_wrapper(void)
static void IRAM_ATTR wifi_pm_sleep_lock_release_wrapper(void)
{
#ifdef CONFIG_PM_ENABLE
wifi_apb80m_release();
wifi_pm_sleep_lock_release();
#endif
}
@@ -738,8 +738,8 @@ wifi_osi_funcs_t g_wifi_osi_funcs = {
._rand = esp_random,
._dport_access_stall_other_cpu_start_wrap = esp_empty_wrapper,
._dport_access_stall_other_cpu_end_wrap = esp_empty_wrapper,
._wifi_apb80m_request = wifi_apb80m_request_wrapper,
._wifi_apb80m_release = wifi_apb80m_release_wrapper,
._wifi_pm_sleep_lock_acquire = wifi_pm_sleep_lock_acquire_wrapper,
._wifi_pm_sleep_lock_release = wifi_pm_sleep_lock_release_wrapper,
._phy_disable = esp_phy_disable_wrapper,
._phy_enable = esp_phy_enable_wrapper,
._phy_update_country_info = esp_phy_update_country_info,

View File

@@ -61,8 +61,8 @@
#define TAG "esp_adapter"
#ifdef CONFIG_PM_ENABLE
extern void wifi_apb80m_request(void);
extern void wifi_apb80m_release(void);
extern void wifi_pm_sleep_lock_acquire(void);
extern void wifi_pm_sleep_lock_release(void);
#endif
IRAM_ATTR void *wifi_malloc(size_t size)
@@ -285,17 +285,17 @@ static int32_t esp_event_post_wrapper(const char *event_base, int32_t event_id,
}
}
static void IRAM_ATTR wifi_apb80m_request_wrapper(void)
static void IRAM_ATTR wifi_pm_sleep_lock_acquire_wrapper(void)
{
#ifdef CONFIG_PM_ENABLE
wifi_apb80m_request();
wifi_pm_sleep_lock_acquire();
#endif
}
static void IRAM_ATTR wifi_apb80m_release_wrapper(void)
static void IRAM_ATTR wifi_pm_sleep_lock_release_wrapper(void)
{
#ifdef CONFIG_PM_ENABLE
wifi_apb80m_release();
wifi_pm_sleep_lock_release();
#endif
}
@@ -676,8 +676,8 @@ wifi_osi_funcs_t g_wifi_osi_funcs = {
._rand = esp_random,
._dport_access_stall_other_cpu_start_wrap = esp_empty_wrapper,
._dport_access_stall_other_cpu_end_wrap = esp_empty_wrapper,
._wifi_apb80m_request = wifi_apb80m_request_wrapper,
._wifi_apb80m_release = wifi_apb80m_release_wrapper,
._wifi_pm_sleep_lock_acquire = wifi_pm_sleep_lock_acquire_wrapper,
._wifi_pm_sleep_lock_release = wifi_pm_sleep_lock_release_wrapper,
._phy_disable = esp_phy_disable_wrapper,
._phy_enable = esp_phy_enable_wrapper,
._phy_update_country_info = esp_phy_update_country_info,

View File

@@ -62,8 +62,8 @@
#define TAG "esp_adapter"
#ifdef CONFIG_PM_ENABLE
extern void wifi_apb80m_request(void);
extern void wifi_apb80m_release(void);
extern void wifi_pm_sleep_lock_acquire(void);
extern void wifi_pm_sleep_lock_release(void);
#endif
IRAM_ATTR void *wifi_malloc(size_t size)
@@ -356,17 +356,17 @@ static int32_t esp_event_post_wrapper(const char *event_base, int32_t event_id,
}
}
static void IRAM_ATTR wifi_apb80m_request_wrapper(void)
static void IRAM_ATTR wifi_pm_sleep_lock_acquire_wrapper(void)
{
#ifdef CONFIG_PM_ENABLE
wifi_apb80m_request();
wifi_pm_sleep_lock_acquire();
#endif
}
static void IRAM_ATTR wifi_apb80m_release_wrapper(void)
static void IRAM_ATTR wifi_pm_sleep_lock_release_wrapper(void)
{
#ifdef CONFIG_PM_ENABLE
wifi_apb80m_release();
wifi_pm_sleep_lock_release();
#endif
}
@@ -740,8 +740,8 @@ wifi_osi_funcs_t g_wifi_osi_funcs = {
._rand = esp_random,
._dport_access_stall_other_cpu_start_wrap = esp_empty_wrapper,
._dport_access_stall_other_cpu_end_wrap = esp_empty_wrapper,
._wifi_apb80m_request = wifi_apb80m_request_wrapper,
._wifi_apb80m_release = wifi_apb80m_release_wrapper,
._wifi_pm_sleep_lock_acquire = wifi_pm_sleep_lock_acquire_wrapper,
._wifi_pm_sleep_lock_release = wifi_pm_sleep_lock_release_wrapper,
._phy_disable = esp_phy_disable_wrapper,
._phy_enable = esp_phy_enable_wrapper,
._phy_update_country_info = esp_phy_update_country_info,

View File

@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2022-2024 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2022-2026 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@@ -49,8 +49,8 @@
#define TAG "esp_adapter"
#ifdef CONFIG_PM_ENABLE
extern void wifi_apb80m_request(void);
extern void wifi_apb80m_release(void);
extern void wifi_pm_sleep_lock_acquire(void);
extern void wifi_pm_sleep_lock_release(void);
#endif
#if CONFIG_ESP_EXT_CONN_ENABLE
@@ -356,17 +356,17 @@ static int32_t esp_event_post_wrapper(const char *event_base, int32_t event_id,
}
}
static void IRAM_ATTR wifi_apb80m_request_wrapper(void)
static void IRAM_ATTR wifi_pm_sleep_lock_acquire_wrapper(void)
{
#ifdef CONFIG_PM_ENABLE
wifi_apb80m_request();
wifi_pm_sleep_lock_acquire();
#endif
}
static void IRAM_ATTR wifi_apb80m_release_wrapper(void)
static void IRAM_ATTR wifi_pm_sleep_lock_release_wrapper(void)
{
#ifdef CONFIG_PM_ENABLE
wifi_apb80m_release();
wifi_pm_sleep_lock_release();
#endif
}
@@ -747,8 +747,8 @@ wifi_osi_funcs_t g_wifi_osi_funcs = {
._rand = esp_random,
._dport_access_stall_other_cpu_start_wrap = esp_empty_wrapper,
._dport_access_stall_other_cpu_end_wrap = esp_empty_wrapper,
._wifi_apb80m_request = wifi_apb80m_request_wrapper,
._wifi_apb80m_release = wifi_apb80m_release_wrapper,
._wifi_pm_sleep_lock_acquire = wifi_pm_sleep_lock_acquire_wrapper,
._wifi_pm_sleep_lock_release = wifi_pm_sleep_lock_release_wrapper,
._phy_disable = esp_phy_disable_wrapper,
._phy_enable = esp_phy_enable_wrapper,
._phy_common_clock_enable = esp_phy_common_clock_enable,

View File

@@ -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
*/
@@ -57,8 +57,8 @@
#define TAG "esp_adapter"
#ifdef CONFIG_PM_ENABLE
extern void wifi_apb80m_request(void);
extern void wifi_apb80m_release(void);
extern void wifi_pm_sleep_lock_acquire(void);
extern void wifi_pm_sleep_lock_release(void);
#endif
/*
@@ -353,17 +353,17 @@ static int32_t esp_event_post_wrapper(const char* event_base, int32_t event_id,
}
}
static void IRAM_ATTR wifi_apb80m_request_wrapper(void)
static void IRAM_ATTR wifi_pm_sleep_lock_acquire_wrapper(void)
{
#ifdef CONFIG_PM_ENABLE
wifi_apb80m_request();
wifi_pm_sleep_lock_acquire();
#endif
}
static void IRAM_ATTR wifi_apb80m_release_wrapper(void)
static void IRAM_ATTR wifi_pm_sleep_lock_release_wrapper(void)
{
#ifdef CONFIG_PM_ENABLE
wifi_apb80m_release();
wifi_pm_sleep_lock_release();
#endif
}
@@ -664,8 +664,8 @@ wifi_osi_funcs_t g_wifi_osi_funcs = {
._rand = esp_random,
._dport_access_stall_other_cpu_start_wrap = esp_empty_wrapper,
._dport_access_stall_other_cpu_end_wrap = esp_empty_wrapper,
._wifi_apb80m_request = wifi_apb80m_request_wrapper,
._wifi_apb80m_release = wifi_apb80m_release_wrapper,
._wifi_pm_sleep_lock_acquire = wifi_pm_sleep_lock_acquire_wrapper,
._wifi_pm_sleep_lock_release = wifi_pm_sleep_lock_release_wrapper,
._phy_disable = esp_phy_disable_wrapper,
._phy_enable = esp_phy_enable_wrapper,
._phy_common_clock_enable = esp_phy_common_clock_enable,

View File

@@ -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
*/
@@ -60,8 +60,8 @@
#define MHZ (1000000)
#ifdef CONFIG_PM_ENABLE
extern void wifi_apb80m_request(void);
extern void wifi_apb80m_release(void);
extern void wifi_pm_sleep_lock_acquire(void);
extern void wifi_pm_sleep_lock_release(void);
#endif
/*
@@ -356,17 +356,17 @@ static int32_t esp_event_post_wrapper(const char* event_base, int32_t event_id,
}
}
static void IRAM_ATTR wifi_apb80m_request_wrapper(void)
static void IRAM_ATTR wifi_pm_sleep_lock_acquire_wrapper(void)
{
#ifdef CONFIG_PM_ENABLE
wifi_apb80m_request();
wifi_pm_sleep_lock_acquire();
#endif
}
static void IRAM_ATTR wifi_apb80m_release_wrapper(void)
static void IRAM_ATTR wifi_pm_sleep_lock_release_wrapper(void)
{
#ifdef CONFIG_PM_ENABLE
wifi_apb80m_release();
wifi_pm_sleep_lock_release();
#endif
}
@@ -683,8 +683,8 @@ wifi_osi_funcs_t g_wifi_osi_funcs = {
._rand = esp_random,
._dport_access_stall_other_cpu_start_wrap = esp_empty_wrapper,
._dport_access_stall_other_cpu_end_wrap = esp_empty_wrapper,
._wifi_apb80m_request = wifi_apb80m_request_wrapper,
._wifi_apb80m_release = wifi_apb80m_release_wrapper,
._wifi_pm_sleep_lock_acquire = wifi_pm_sleep_lock_acquire_wrapper,
._wifi_pm_sleep_lock_release = wifi_pm_sleep_lock_release_wrapper,
._phy_disable = esp_phy_disable_wrapper,
._phy_enable = esp_phy_enable_wrapper,
._phy_update_country_info = esp_phy_update_country_info,

View File

@@ -60,8 +60,8 @@
#define TAG "esp_adapter"
#ifdef CONFIG_PM_ENABLE
extern void wifi_apb80m_request(void);
extern void wifi_apb80m_release(void);
extern void wifi_pm_sleep_lock_acquire(void);
extern void wifi_pm_sleep_lock_release(void);
#endif
IRAM_ATTR void *wifi_malloc(size_t size)
@@ -354,17 +354,17 @@ static int32_t esp_event_post_wrapper(const char *event_base, int32_t event_id,
}
}
static void IRAM_ATTR wifi_apb80m_request_wrapper(void)
static void IRAM_ATTR wifi_pm_sleep_lock_acquire_wrapper(void)
{
#ifdef CONFIG_PM_ENABLE
wifi_apb80m_request();
wifi_pm_sleep_lock_acquire();
#endif
}
static void IRAM_ATTR wifi_apb80m_release_wrapper(void)
static void IRAM_ATTR wifi_pm_sleep_lock_release_wrapper(void)
{
#ifdef CONFIG_PM_ENABLE
wifi_apb80m_release();
wifi_pm_sleep_lock_release();
#endif
}
@@ -747,8 +747,8 @@ wifi_osi_funcs_t g_wifi_osi_funcs = {
._rand = esp_random,
._dport_access_stall_other_cpu_start_wrap = esp_empty_wrapper,
._dport_access_stall_other_cpu_end_wrap = esp_empty_wrapper,
._wifi_apb80m_request = wifi_apb80m_request_wrapper,
._wifi_apb80m_release = wifi_apb80m_release_wrapper,
._wifi_pm_sleep_lock_acquire = wifi_pm_sleep_lock_acquire_wrapper,
._wifi_pm_sleep_lock_release = wifi_pm_sleep_lock_release_wrapper,
._phy_disable = esp_phy_disable_wrapper,
._phy_enable = esp_phy_enable_wrapper,
._phy_update_country_info = esp_phy_update_country_info,

View File

@@ -77,8 +77,8 @@ typedef struct wifi_osi_funcs_t {
uint32_t (* _rand)(void);
void (* _dport_access_stall_other_cpu_start_wrap)(void);
void (* _dport_access_stall_other_cpu_end_wrap)(void);
void (* _wifi_apb80m_request)(void);
void (* _wifi_apb80m_release)(void);
void (* _wifi_pm_sleep_lock_acquire)(void);
void (* _wifi_pm_sleep_lock_release)(void);
void (* _phy_disable)(void);
void (* _phy_enable)(void);
#if CONFIG_IDF_TARGET_ESP32 || CONFIG_IDF_TARGET_ESP32S2 || CONFIG_ESP_WIFI_TARGET_ESP32

View File

@@ -161,8 +161,8 @@ entries:
esp_adapter:wifi_clock_enable_wrapper (noflash)
esp_adapter:wifi_clock_disable_wrapper (noflash)
if PM_ENABLE = y:
wifi_init:wifi_apb80m_request (noflash)
wifi_init:wifi_apb80m_release (noflash)
wifi_init:wifi_pm_sleep_lock_acquire (noflash)
wifi_init:wifi_pm_sleep_lock_release (noflash)
[mapping:esp_timer_wifi_pm]
archive: libesp_timer.a

View File

@@ -495,8 +495,13 @@ esp_err_t esp_wifi_init(const wifi_init_config_t *config)
#ifdef CONFIG_PM_ENABLE
if (s_wifi_modem_sleep_lock == NULL) {
result = esp_pm_lock_create(ESP_PM_APB_FREQ_MAX, 0, "wifi",
&s_wifi_modem_sleep_lock);
esp_pm_lock_type_t lock_type =
#if SOC_MODEM_APB_CLOCK_IS_INDEPENDENT
ESP_PM_NO_LIGHT_SLEEP;
#else
ESP_PM_APB_FREQ_MAX;
#endif
result = esp_pm_lock_create(lock_type, 0, "wifi", &s_wifi_modem_sleep_lock);
if (result != ESP_OK) {
ESP_LOGE(TAG, "Failed to create pm lock (0x%x)", result);
goto _deinit;
@@ -572,13 +577,13 @@ esp_err_t esp_wifi_disconnect(void)
}
#ifdef CONFIG_PM_ENABLE
void wifi_apb80m_request(void)
void wifi_pm_sleep_lock_acquire(void)
{
assert(s_wifi_modem_sleep_lock);
esp_pm_lock_acquire(s_wifi_modem_sleep_lock);
}
void wifi_apb80m_release(void)
void wifi_pm_sleep_lock_release(void)
{
assert(s_wifi_modem_sleep_lock);
esp_pm_lock_release(s_wifi_modem_sleep_lock);

View File

@@ -1,2 +1,2 @@
| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 | ESP32-S31 |
| ----------------- | ----- | -------- | -------- | -------- | -------- | --------- | -------- | -------- | --------- |
| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-H2 | ESP32-H21 | ESP32-H4 | ESP32-P4 | ESP32-S2 | ESP32-S3 |
| ----------------- | ----- | -------- | -------- | -------- | -------- | --------- | -------- | --------- | -------- | -------- | -------- | -------- |

View File

@@ -1,5 +1,5 @@
| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 | ESP32-S31 |
| ----------------- | ----- | -------- | -------- | -------- | -------- | --------- | -------- | -------- | --------- |
| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-H2 | ESP32-H21 | ESP32-H4 | ESP32-P4 | ESP32-S2 | ESP32-S3 |
| ----------------- | ----- | -------- | -------- | -------- | -------- | --------- | -------- | --------- | -------- | -------- | -------- | -------- |
# NAN Crypto Test Application

View File

@@ -1,2 +1,2 @@
| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 | ESP32-S31 |
| ----------------- | ----- | -------- | -------- | -------- | -------- | --------- | -------- | -------- | --------- |
| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-H2 | ESP32-H21 | ESP32-H4 | ESP32-P4 | ESP32-S2 | ESP32-S3 |
| ----------------- | ----- | -------- | -------- | -------- | -------- | --------- | -------- | --------- | -------- | -------- | -------- | -------- |

View File

@@ -1,3 +1,3 @@
| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 | ESP32-S31 |
| ----------------- | ----- | -------- | -------- | -------- | -------- | --------- | -------- | -------- | --------- |
| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-H2 | ESP32-H21 | ESP32-H4 | ESP32-P4 | ESP32-S2 | ESP32-S3 |
| ----------------- | ----- | -------- | -------- | -------- | -------- | --------- | -------- | --------- | -------- | -------- | -------- | -------- |

View File

@@ -1,2 +1,2 @@
| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 | ESP32-S31 |
| ----------------- | ----- | -------- | -------- | -------- | -------- | --------- | -------- | -------- | --------- |
| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-H2 | ESP32-H21 | ESP32-H4 | ESP32-P4 | ESP32-S2 | ESP32-S3 |
| ----------------- | ----- | -------- | -------- | -------- | -------- | --------- | -------- | --------- | -------- | -------- | -------- | -------- |