Merge branch 'feat/support_esp32c2_eco4_wifi_v50' into 'release/v5.0'

Feat/support esp32c2 eco4 wifi v50

See merge request espressif/esp-idf!34659
This commit is contained in:
Jiang Jiang Jian
2024-12-04 20:43:06 +08:00
6 changed files with 71 additions and 52 deletions

View File

@ -19,16 +19,16 @@ lmacAdjustTimestamp = 0x40001b10;
lmacDiscardMSDU = 0x40001b18;
lmacEndFrameExchangeSequence = 0x40001b1c;
lmacMSDUAged = 0x40001b28;
lmacSetTxFrame = 0x40001b4c;
//lmacSetTxFrame = 0x40001b4c;
pm_check_state = 0x40001b6c;
pm_dream = 0x40001b78;
pm_on_beacon_rx = 0x40001ba0;
pm_parse_beacon = 0x40001bac;
//pm_parse_beacon = 0x40001bac;
pm_process_tim = 0x40001bb0;
pm_rx_beacon_process = 0x40001bb4;
pm_rx_data_process = 0x40001bb8;
pm_sleep = 0x40001bbc;
pm_tbtt_process = 0x40001bc4;
//pm_tbtt_process = 0x40001bc4;
ppAssembleAMPDU = 0x40001bcc;
ppCalTxAMPDULength = 0x40001bd8;
ppRxFragmentProc = 0x40001c28;
@ -38,10 +38,10 @@ rcGetSched = 0x40001c88;
rcTxUpdatePer = 0x40001c94;
rcUpdateRate = 0x40001c9c;
wDev_AppendRxBlocks = 0x40001cdc;
wDev_IndicateFrame = 0x40001cec;
//wDev_IndicateFrame = 0x40001cec;
wDev_ProcessFiq = 0x40001d08;
wDev_ProcessRxSucData = 0x40001d0c;
ppProcTxDone = 0x40001d1c;
//ppProcTxDone = 0x40001d1c;
pm_tx_data_done_process = 0x40001d20;
ppMapWaitTxq = 0x40001d28;
lmacDiscardFrameExchangeSequence = 0x40001d70;
@ -57,15 +57,15 @@ lmac_stop_hw_txq = 0x40001df8;
ppTxFragmentProc = 0x40001e08;
esf_buf_setup = 0x40001e0c;
hal_crypto_set_key_entry = 0x40001e18;
pm_start = 0x40001e34;
pm_stop = 0x40001e38;
//pm_start = 0x40001e34;
//pm_stop = 0x40001e38;
hal_set_sta_tbtt = 0x40001e4c;
pm_update_next_tbtt = 0x40001e50;
//pm_update_next_tbtt = 0x40001e50;
pm_set_sleep_type = 0x40001e54;
pm_tx_null_data_done_process = 0x40001eb0;
pm_tx_data_process = 0x40001eb4;
pm_attach = 0x40001eb8;
pm_coex_schm_process = 0x40001ebc;
//pm_tx_data_process = 0x40001eb4;
//pm_attach = 0x40001eb8;
//pm_coex_schm_process = 0x40001ebc;
pm_on_probe_resp_rx = 0x40001ecc;
pm_send_probe_stop = 0x40001edc;
hal_sniffer_rx_set_promis = 0x40001ef4;
@ -86,39 +86,39 @@ ieee80211_classify = 0x40001fe0;
ieee80211_crypto_decap = 0x40001ff8;
ieee80211_ccmp_decrypt = 0x4000200c;
ieee80211_ccmp_encrypt = 0x40002010;
ieee80211_send_action_vendor_spec = 0x40002034;
//ieee80211_send_action_vendor_spec = 0x40002034;
ieee80211_send_mgmt = 0x40002038;
ieee80211_auth_construct = 0x4000203c;
//ieee80211_auth_construct = 0x4000203c;
ieee80211_deauth_construct = 0x40002040;
ieee80211_disassoc_construct = 0x40002044;
ieee80211_add_xrates = 0x40002058;
ieee80211_assoc_req_construct = 0x40002060;
//ieee80211_add_xrates = 0x40002058;
//ieee80211_assoc_req_construct = 0x40002060;
ieee80211_assoc_resp_construct = 0x40002064;
ieee80211_timer_process = 0x4000208c;
cnx_coexist_timeout = 0x40002090;
sta_recv_mgmt = 0x40002094;
ieee80211_send_probereq = 0x4000209c;
sta_auth_open = 0x400020a0;
sta_auth_sae = 0x400020a8;
cnx_coexist_timeout_process = 0x400020ac;
ieee80211_add_extcap = 0x400020cc;
ieee80211_alloc_proberesp = 0x400020d8;
//ieee80211_timer_process = 0x4000208c;
//cnx_coexist_timeout = 0x40002090;
//sta_recv_mgmt = 0x40002094;
//ieee80211_send_probereq = 0x4000209c;
//sta_auth_open = 0x400020a0;
//sta_auth_sae = 0x400020a8;
//cnx_coexist_timeout_process = 0x400020ac;
//ieee80211_add_extcap = 0x400020cc;
//ieee80211_alloc_proberesp = 0x400020d8;
esp_wifi_80211_tx = 0x400020f8;
ieee80211_crypto_aes_128_cmac_decrypt = 0x40002104;
ieee80211_output_do = 0x4000210c;
ieee80211_send_nulldata = 0x40002110;
ieee80211_setup_robust_mgmtframe = 0x40002114;
ieee80211_mgmt_output = 0x40002118;
//ieee80211_setup_robust_mgmtframe = 0x40002114;
//ieee80211_mgmt_output = 0x40002118;
ieee80211_send_deauth = 0x40002120;
ieee80211_tx_mgt_cb = 0x4000212c;
//ieee80211_tx_mgt_cb = 0x4000212c;
sta_rx_csa = 0x40002134;
sta_send_sa_query_req = 0x40002138;
sta_send_sa_query_resp = 0x4000213c;
sta_recv_sa_query_req = 0x40002140;
sta_recv_sa_query_resp = 0x40002144;
ieee80211_parse_beacon = 0x40002148;
//sta_send_sa_query_req = 0x40002138;
//sta_send_sa_query_resp = 0x4000213c;
//sta_recv_sa_query_req = 0x40002140;
//sta_recv_sa_query_resp = 0x40002144;
//ieee80211_parse_beacon = 0x40002148;
ieee80211_match_security = 0x40002154;
ieee80211_parse_rsn = 0x4000215c;
//ieee80211_parse_rsn = 0x4000215c;
/* Data (.data, .bss, .rodata) */
s_sa_query_retries = 0x3fcdfad8;
s_sa_query_success = 0x3fcdfad5;
@ -130,8 +130,8 @@ s_trans_id = 0x3fcdfac4;
***************************************/
/* Functions */
coex_core_event_duration_get = 0x40002178;
coex_core_timer_idx_get = 0x4000218c;
//coex_core_event_duration_get = 0x40002178;
//coex_core_timer_idx_get = 0x4000218c;
coex_hw_timer_tick_get = 0x400021b8;
@ -177,7 +177,7 @@ g_authmode_threshold_failure_ptr = 0x3fcdfa68;
***************************************/
/* Functions */
pm_enable_dream_timer = 0x40003030;
//pm_enable_dream_timer = 0x40003030;
pm_handle_tbtt_interval = 0x40003034;
hal_set_sta_light_sleep_wake_ahead_time = 0x40003038;
hal_get_time_to_sta_next_tbtt = 0x4000303c;

View File

@ -616,7 +616,7 @@ pm_on_tbtt = 0x40001ba8;
pm_rx_data_process = 0x40001bb8;
/*pm_sleep = 0x40001bbc;*/
pm_sleep_for = 0x40001bc0;
pm_tbtt_process = 0x40001bc4;
//pm_tbtt_process = 0x40001bc4;
ppAMPDU2Normal = 0x40001bc8;
/*ppAssembleAMPDU = 0x40001bcc;*/
ppCalFrameTimes = 0x40001bd0;
@ -671,8 +671,8 @@ rcSetTxAmpduLimit = 0x40001c90;
/* rcTxUpdatePer = 0x40001c94;*/
rcUpdateAckSnr = 0x40001c98;
/*rcUpdateRate = 0x40001c9c;*/
rcUpdateTxDone = 0x40001ca0;
rcUpdateTxDoneAmpdu2 = 0x40001ca4;
//rcUpdateTxDone = 0x40001ca0;
//rcUpdateTxDoneAmpdu2 = 0x40001ca4;
rcUpSched = 0x40001ca8;
rssi_margin = 0x40001cac;
rx11NRate2AMPDULimit = 0x40001cb0;
@ -702,7 +702,7 @@ wdev_mac_sleep = 0x40001d04;
wdevProcessRxSucDataAll = 0x40001d10;
wdev_csi_len_align = 0x40001d14;
ppDequeueTxDone_Locked = 0x40001d18;
ppProcTxDone = 0x40001d1c;
//ppProcTxDone = 0x40001d1c;
/*pm_tx_data_done_process = 0x40001d20;*/
config_is_cache_tx_buf_enabled = 0x40001d24;
/* ppMapWaitTxq = 0x40001d28; */
@ -771,7 +771,7 @@ hal_crypto_clr_key_entry = 0x40001e20;
config_get_wifi_task_stack_size = 0x40001e24;
pp_create_task = 0x40001e28;
hal_set_sta_tsf_wakeup = 0x40001e2c;
hal_set_rx_beacon_pti = 0x40001e30;
//hal_set_rx_beacon_pti = 0x40001e30;
/* pm_start = 0x40001e34; */
/* pm_stop = 0x40001e38; */
hal_disable_sta_tbtt = 0x40001e3c;
@ -799,7 +799,7 @@ dbg_lmac_rxtx_statis_dump = 0x40001e90;
dbg_lmac_hw_statis_dump = 0x40001e94;
dbg_lmac_diag_statis_dump = 0x40001e98;
dbg_lmac_ps_statis_dump = 0x40001e9c;
pp_timer_do_process = 0x40001ea0;
//pp_timer_do_process = 0x40001ea0;
rcUpdateAMPDUParam = 0x40001ea4;
rcUpdatePhyMode = 0x40001ea8;
rcGetHighestRateIdx = 0x40001eac;
@ -969,12 +969,12 @@ wep_encap = 0x40002024;
wep_decap = 0x40002028;
dbg_hmac_rxtx_statis_dump = 0x4000202c;
dbg_hmac_statis_dump = 0x40002030;
ieee80211_send_action_vendor_spec = 0x40002034;
//ieee80211_send_action_vendor_spec = 0x40002034;
ieee80211_vnd_lora_ie_size = 0x40002048;
ieee80211_vnd_ie_size = 0x4000204c;
ieee80211_add_ssid = 0x40002050;
ieee80211_add_rates = 0x40002054;
ieee80211_add_xrates = 0x40002058;
//ieee80211_add_xrates = 0x40002058;
ieee80211_is_ht_cipher = 0x4000205c;
ieee80211_setup_lr_rates = 0x40002068;
ieee80211_ht_node_init = 0x4000206c;
@ -986,12 +986,12 @@ ieee80211_sta_is_connected = 0x40002080;
current_task_is_wifi_task = 0x40002084;
wifi_get_init_state = 0x40002088;
/* ieee80211_timer_process = 0x4000208c;*/
cnx_coexist_timeout = 0x40002090;
//cnx_coexist_timeout = 0x40002090;
/* sta_recv_mgmt = 0x40002094;*/
ieee80211_send_setup = 0x40002098;
/* ieee80211_send_probereq = 0x4000209c; */
sta_auth_shared = 0x400020a4;
cnx_coexist_timeout_process = 0x400020ac;
//cnx_coexist_timeout_process = 0x400020ac;
ieee80211_alloc_challenge = 0x400020b0;
cnx_assoc_timeout = 0x400020b4;
ieee80211_vnd_ie_set = 0x400020b8;
@ -999,7 +999,7 @@ ieee80211_vnd_lora_ie_set = 0x400020bc;
ieee80211_add_wme_param = 0x400020c0;
ieee80211_add_dsparams = 0x400020c4;
ieee80211_add_csa = 0x400020c8;
ieee80211_add_extcap = 0x400020cc;
//ieee80211_add_extcap = 0x400020cc;
ieee80211_regdomain_get_country = 0x400020d0;
ieee80211_add_countryie = 0x400020d4;
ieee80211_amsdu_adjust_head = 0x400020dc;
@ -1021,7 +1021,7 @@ ieee80211_alloc_deauth = 0x40002124;
ieee80211_send_proberesp = 0x40002128;
ieee80211_getcapinfo = 0x40002130;
sta_rx_csa = 0x40002134;
sta_recv_sa_query_resp = 0x40002144;
//sta_recv_sa_query_resp = 0x40002144;
ieee80211_set_max_rate = 0x4000214c;
ic_set_sta = 0x40002150;
ieee80211_parse_wpa = 0x40002158;
@ -1048,13 +1048,13 @@ s_wifi_task_hdl = 0x3fcdfaec;
in_rssi_adjust = 0x3fcdfae8;
rssi_saved = 0x3fcdfae0;
rssi_index = 0x3fcdfadc;
s_sa_query_retries = 0x3fcdfad8;
s_sa_query_success = 0x3fcdfad5;
//s_sa_query_retries = 0x3fcdfad8;
//s_sa_query_success = 0x3fcdfad5;
g_sta_connected_flag = 0x3fcdfad4;
wpa_crypto_funcs_ptr = 0x3fcdfad0;
s_netstack_ref = 0x3fcdfacc;
sta_csa_timer_ptr = 0x3fcdfac8;
s_trans_id = 0x3fcdfac4;
//s_trans_id = 0x3fcdfac4;
/***************************************

View File

@ -670,6 +670,7 @@ typedef enum {
WIFI_EVENT_STA_BEACON_TIMEOUT, /**< ESP32 station beacon timeout */
WIFI_EVENT_CONNECTIONLESS_MODULE_WAKE_INTERVAL_START, /**< ESP32 connectionless module wake interval start */
/* Add next events after this only */
WIFI_EVENT_AP_WPS_RG_SUCCESS, /**< Soft-AP wps succeeds in registrar mode */
WIFI_EVENT_AP_WPS_RG_FAILED, /**< Soft-AP wps fails in registrar mode */

View File

@ -428,3 +428,19 @@ void * ieee80211_alloc_proberesp(void *p, int arg)
}
#endif
#if CONFIG_IDF_TARGET_ESP32C2
#if CONFIG_ESP32C2_REV_MIN_FULL < 200
void esp32c2_eco4_rom_ptr_init(void)
{
/* Do not remove, stub to overwrite weak link in Wi-Fi Lib */
}
#endif
#endif
#ifndef CONFIG_ESP_WIFI_SLP_SAMPLE_BEACON_FEATURE
void pm_beacon_offset_funcs_init(void)
{
/* Do not remove, stub to overwrite weak link in Wi-Fi Lib */
}
#endif

View File

@ -57,6 +57,7 @@ typedef enum {
} wifi_appie_ram_t;
enum {
/* this enum is in C2 ROM, do not change before WPA3_AUTH_OWE */
NONE_AUTH = 0x01,
WPA_AUTH_UNSPEC = 0x02,
WPA_AUTH_PSK = 0x03,
@ -72,6 +73,7 @@ enum {
WPA2_AUTH_ENT_SHA384_SUITE_B = 0x0d,
WPA2_AUTH_FT_PSK = 0x0e,
WPA3_AUTH_OWE = 0x0f,
/* this enum is in C2 ROM, do not change before WPA3_AUTH_OWE */
WPA2_AUTH_INVALID
};