diff --git a/components/bt/controller/esp32c3/Kconfig.in b/components/bt/controller/esp32c3/Kconfig.in index 53f8cf8253..9857925143 100644 --- a/components/bt/controller/esp32c3/Kconfig.in +++ b/components/bt/controller/esp32c3/Kconfig.in @@ -229,7 +229,7 @@ config BT_CTRL_DFT_TX_POWER_LEVEL_EFF config BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_SUPP bool "BLE adv report flow control supported" - depends on (!BT_CTRL_RUN_IN_FLASH_ONLY) || (BT_CTRL_RUN_IN_FLASH_ONLY && BT_CTRL_BLE_SCAN) + depends on BT_CTRL_BLE_SCAN default y help The function is mainly used to enable flow control for advertising reports. When it is enabled, @@ -528,30 +528,31 @@ config BT_CTRL_RUN_IN_FLASH_ONLY impact on Bluetooth performance. config BT_CTRL_DTM_ENABLE - depends on BT_CTRL_RUN_IN_FLASH_ONLY bool "Enable direct test mode feature" - default n - -config BT_CTRL_BLE_MASTER - depends on BT_CTRL_RUN_IN_FLASH_ONLY - bool "Enable BLE master role feature" default y +config BT_CTRL_BLE_MASTER + bool "Enable BLE connection feature" + default y + help + If this option is disabled, it is not recommended to use connectable ADV. + config BT_CTRL_BLE_TEST - depends on BT_CTRL_RUN_IN_FLASH_ONLY - bool "Enable BLE QA test feature" + bool "Enable BLE QA test feature (Not Used)" default n config BT_CTRL_BLE_SCAN - depends on BT_CTRL_RUN_IN_FLASH_ONLY bool "Enable BLE scan feature" default y config BT_CTRL_BLE_SECURITY_ENABLE - depends on BT_CTRL_RUN_IN_FLASH_ONLY bool "Enable BLE security feature" default y +config BT_CTRL_BLE_ADV + bool "Enable BLE ADV feature" + default y + config BT_CTRL_CHECK_CONNECT_IND_ACCESS_ADDRESS bool "Enable enhanced Access Address check in CONNECT_IND" default n diff --git a/components/bt/controller/esp32c3/bt.c b/components/bt/controller/esp32c3/bt.c index 7ac3c09bf1..492aad634e 100644 --- a/components/bt/controller/esp32c3/bt.c +++ b/components/bt/controller/esp32c3/bt.c @@ -313,6 +313,17 @@ extern void r_ble_log_async_output_dump_all(bool output); extern void esp_panic_handler_feed_wdts(void); #endif // CONFIG_BT_CTRL_LE_LOG_EN +extern void ble_dtm_funcs_reset(void); +extern void ble_scan_funcs_reset(void); +extern void ble_42_adv_funcs_reset(void); +extern void ble_init_funcs_reset(void); +extern void ble_con_funcs_reset(void); +extern void ble_cca_funcs_reset(void); +extern void ble_ext_adv_funcs_reset(void); +extern void ble_ext_scan_funcs_reset(void); +extern void ble_base_funcs_reset(void); +extern void ble_enc_funcs_reset(void); + extern uint32_t _bt_bss_start; extern uint32_t _bt_bss_end; extern uint32_t _bt_controller_bss_start; @@ -1266,6 +1277,46 @@ static void btdm_funcs_table_ready_wrapper(void) #if BLE_CTRL_CHECK_CONNECT_IND_ACCESS_ADDRESS_ENABLED btdm_aa_check_enhance_enable(); #endif +#if CONFIG_BT_CTRL_RUN_IN_FLASH_ONLY + // do nothing +#else + ESP_LOGI(BT_LOG_TAG, "Feature Config, ADV:%d, BLE_50:%d, DTM:%d, SCAN:%d, CCA:%d, SMP:%d, CONNECT:%d", + BT_CTRL_BLE_ADV, BT_CTRL_50_FEATURE_SUPPORT, BT_CTRL_DTM_ENABLE, BT_CTRL_BLE_SCAN, + BT_BLE_CCA_MODE, BLE_SECURITY_ENABLE, BT_CTRL_BLE_MASTER); + + ble_base_funcs_reset(); +#if CONFIG_BT_CTRL_BLE_ADV + ble_42_adv_funcs_reset(); +#if (BT_CTRL_50_FEATURE_SUPPORT == 1) + ble_ext_adv_funcs_reset(); +#endif // +#endif // CONFIG_BT_CTRL_BLE_ADV + +#if CONFIG_BT_CTRL_DTM_ENABLE + ble_dtm_funcs_reset(); +#endif // CONFIG_BT_CTRL_DTM_ENABLE + +#if CONFIG_BT_CTRL_BLE_SCAN + ble_scan_funcs_reset(); +#if (BT_CTRL_50_FEATURE_SUPPORT == 1) + ble_ext_scan_funcs_reset(); +#endif // (BT_CTRL_50_FEATURE_SUPPORT == 1) +#endif // CONFIG_BT_CTRL_BLE_SCAN + +#if (BT_BLE_CCA_MODE != 0) + ble_cca_funcs_reset(); +#endif // (BT_BLE_CCA_MODE != 0) + +#if CONFIG_BT_CTRL_BLE_SECURITY_ENABLE + ble_enc_funcs_reset(); +#endif // CONFIG_BT_CTRL_BLE_SECURITY_ENABLE + +#if CONFIG_BT_CTRL_BLE_MASTER + ble_init_funcs_reset(); + ble_con_funcs_reset(); +#endif // CONFIG_BT_CTRL_BLE_MASTER + +#endif // CONFIG_BT_CTRL_RUN_IN_FLASH_ONLY } bool bt_async_wakeup_request(void) diff --git a/components/bt/controller/lib_esp32c3_family b/components/bt/controller/lib_esp32c3_family index b0ccea3c26..72599d583c 160000 --- a/components/bt/controller/lib_esp32c3_family +++ b/components/bt/controller/lib_esp32c3_family @@ -1 +1 @@ -Subproject commit b0ccea3c26a049649d2fdbaca78318af90a6dd5b +Subproject commit 72599d583c232ea78d6461b5b502426c6e5a1ec9 diff --git a/components/bt/include/esp32c3/include/esp_bt.h b/components/bt/include/esp32c3/include/esp_bt.h index e2f4f286e3..7e2d96aaff 100644 --- a/components/bt/include/esp32c3/include/esp_bt.h +++ b/components/bt/include/esp32c3/include/esp_bt.h @@ -30,7 +30,7 @@ extern "C" { * * @note Please do not modify this value */ -#define ESP_BT_CTRL_CONFIG_VERSION 0x02502230 +#define ESP_BT_CTRL_CONFIG_VERSION 0x02505080 /** * @brief Internal use only @@ -268,7 +268,7 @@ typedef void (* esp_bt_hci_tl_callback_t) (void *arg, uint8_t status); #define BT_CTRL_RUN_IN_FLASH_ONLY (0) #endif -#if (BT_CTRL_RUN_IN_FLASH_ONLY == 1) + #if defined(CONFIG_BT_CTRL_DTM_ENABLE) #define BT_CTRL_DTM_ENABLE CONFIG_BT_CTRL_DTM_ENABLE @@ -288,20 +288,11 @@ typedef void (* esp_bt_hci_tl_callback_t) (void *arg, uint8_t status); #define BT_CTRL_BLE_TEST (0) #endif -#if defined (CONFIG_BT_NIMBLE_SECURITY_ENABLE) || defined (CONFIG_BT_BLE_SMP_ENABLE) -#ifdef CONFIG_BT_NIMBLE_SECURITY_ENABLE -#define BLE_SECURITY_ENABLE (CONFIG_BT_NIMBLE_SECURITY_ENABLE) -#endif //CONFIG_BT_NIMBLE_SECURITY_ENABLE -#ifdef CONFIG_BT_BLE_SMP_ENABLE -#define BLE_SECURITY_ENABLE (CONFIG_BT_BLE_SMP_ENABLE) -#endif //CONFIG_BT_BLE_SMP_ENABLE -#else #if defined (CONFIG_BT_CTRL_BLE_SECURITY_ENABLE) #define BLE_SECURITY_ENABLE (CONFIG_BT_CTRL_BLE_SECURITY_ENABLE) #else #define BLE_SECURITY_ENABLE (0) #endif -#endif // (CONFIG_BT_NIMBLE_SECURITY_ENABLE) || (CONFIG_BT_BLE_SMP_ENABLE) #if defined (CONFIG_BT_CTRL_BLE_SCAN) #define BT_CTRL_BLE_SCAN CONFIG_BT_CTRL_BLE_SCAN @@ -309,13 +300,11 @@ typedef void (* esp_bt_hci_tl_callback_t) (void *arg, uint8_t status); #define BT_CTRL_BLE_SCAN (0) #endif +#if defined (CONFIG_BT_CTRL_BLE_ADV) +#define BT_CTRL_BLE_ADV CONFIG_BT_CTRL_BLE_ADV #else -#define BT_CTRL_BLE_MASTER (1) -#define BT_CTRL_DTM_ENABLE (1) -#define BT_CTRL_BLE_TEST (1) -#define BLE_SECURITY_ENABLE (1) -#define BT_CTRL_BLE_SCAN (1) -#endif // (BT_CTRL_RUN_IN_FLASH_ONLY == 1) +#define BT_CTRL_BLE_ADV (0) +#endif #ifdef CONFIG_BT_CTRL_CHECK_CONNECT_IND_ACCESS_ADDRESS #define BLE_CTRL_CHECK_CONNECT_IND_ACCESS_ADDRESS_ENABLED CONFIG_BT_CTRL_CHECK_CONNECT_IND_ACCESS_ADDRESS @@ -384,11 +373,12 @@ typedef void (* esp_bt_hci_tl_callback_t) (void *arg, uint8_t status); .dtm_en = BT_CTRL_DTM_ENABLE, \ .enc_en = BLE_SECURITY_ENABLE, \ .qa_test = BT_CTRL_BLE_TEST, \ - .master_en = BT_CTRL_BLE_MASTER, \ + .connect_en = BT_CTRL_BLE_MASTER, \ .scan_en = BT_CTRL_BLE_SCAN, \ .ble_aa_check = BLE_CTRL_CHECK_CONNECT_IND_ACCESS_ADDRESS_ENABLED, \ .ble_log_mode_en = BLE_LOG_MODE_EN, \ .ble_log_level = BLE_LOG_LEVEL, \ + .adv_en = BT_CTRL_BLE_ADV, \ } #else @@ -506,14 +496,15 @@ typedef struct { uint8_t ble_llcp_disc_flag; /*!< Flag indicating whether the Controller disconnects after Instant Passed (0x28) error occurs. Configurable in menuconfig. - The Controller does not disconnect after Instant Passed (0x28) by default. */ bool run_in_flash; /*!< True if the Controller code is in flash (flash model); false otherwise (default). Configurable in menuconfig. */ - bool dtm_en; /*!< In the flash mode, True if the DTM feature is enabled; false otherwise (default). Configurable in menuconfig. */ - bool enc_en; /*!< In the flash mode, True if the encryption feature is enabled (default); false otherwise. Configurable in menuconfig. */ - bool qa_test; /*!< In the flash mode, True if the QA test feature is enabled; false otherwise (default). Configurable in menuconfig.*/ - bool master_en; /*!< In the flash mode, True if the master feature is enabled (default); false otherwise. Configurable in menuconfig.*/ - bool scan_en; /*!< In the flash mode, True if the scan feature is enabled (default); false otherwise. Configurable in menuconfig.*/ + bool dtm_en; /*!< True if the DTM feature is enabled; false otherwise (default). Configurable in menuconfig. */ + bool enc_en; /*!< True if the encryption feature is enabled (default); false otherwise. Configurable in menuconfig. */ + bool qa_test; /*!< True if the QA test feature is enabled; false otherwise (default). Configurable in menuconfig.*/ + bool connect_en; /*!< True if the connection feature is enabled (default); false otherwise. Configurable in menuconfig.*/ + bool scan_en; /*!< True if the scan feature is enabled (default); false otherwise. Configurable in menuconfig.*/ bool ble_aa_check; /*!< True if adds a verification step for the Access Address within the CONNECT_IND PDU; false otherwise. Configurable in menuconfig */ uint32_t ble_log_mode_en; /*!< BLE log mode enable */ uint8_t ble_log_level; /*!< BLE log level */ + bool adv_en; /*!< True if the ADV feature is enabled (default); false otherwise. Configurable in menuconfig.*/ } esp_bt_controller_config_t; /** diff --git a/components/esp_rom/CMakeLists.txt b/components/esp_rom/CMakeLists.txt index b17a8c6f0d..8933f7bfd4 100644 --- a/components/esp_rom/CMakeLists.txt +++ b/components/esp_rom/CMakeLists.txt @@ -189,7 +189,7 @@ else() # Regular app build endif() elseif(target STREQUAL "esp32c3") - if(CONFIG_BT_CTRL_RUN_IN_FLASH_ONLY AND NOT CONFIG_BT_CTRL_HCI_MODE_UART_H4) + if(NOT CONFIG_BT_CTRL_HCI_MODE_UART_H4) if(NOT CONFIG_BT_CTRL_BLE_MASTER) rom_linker_script("ble_master") endif() @@ -229,7 +229,7 @@ else() # Regular app build endif() endif() elseif(target STREQUAL "esp32s3") - if(CONFIG_BT_CTRL_RUN_IN_FLASH_ONLY AND NOT CONFIG_BT_CTRL_HCI_MODE_UART_H4) + if(NOT CONFIG_BT_CTRL_HCI_MODE_UART_H4) if(NOT CONFIG_BT_CTRL_BLE_MASTER) rom_linker_script("ble_master") endif() diff --git a/components/esp_rom/esp32c3/ld/esp32c3.rom.ble_50.ld b/components/esp_rom/esp32c3/ld/esp32c3.rom.ble_50.ld index cf9e0c3e12..d5662c347d 100644 --- a/components/esp_rom/esp32c3/ld/esp32c3.rom.ble_50.ld +++ b/components/esp_rom/esp32c3/ld/esp32c3.rom.ble_50.ld @@ -65,7 +65,6 @@ f_lld_per_adv_rep_ind_handler = 0; r_lld_sync_init = 0; /* phy update*/ -r_phy_upd_proc_start = 0; f_llc_op_phy_upd_ind_handler = 0; f_ll_phy_req_handler = 0; f_ll_phy_rsp_handler = 0; diff --git a/components/esp_rom/esp32c3/ld/esp32c3.rom.ble_smp.ld b/components/esp_rom/esp32c3/ld/esp32c3.rom.ble_smp.ld index 15436088d7..9d1e9fcb99 100644 --- a/components/esp_rom/esp32c3/ld/esp32c3.rom.ble_smp.ld +++ b/components/esp_rom/esp32c3/ld/esp32c3.rom.ble_smp.ld @@ -33,8 +33,6 @@ r_rwip_crypt_evt_handler = 0; /* LE ping */ f_ll_ping_req_handler = 0; f_ll_ping_rsp_handler = 0; -r_llc_le_ping_set = 0; -r_llc_le_ping_restart = 0; f_llc_op_le_ping_ind_handler = 0; f_llc_auth_payl_nearly_op_handler = 0; f_llc_auth_payl_real_to_handler = 0; diff --git a/components/esp_rom/esp32c3/ld/esp32c3.rom.bt_funcs.ld b/components/esp_rom/esp32c3/ld/esp32c3.rom.bt_funcs.ld index f10ea08a21..1671c5dffb 100644 --- a/components/esp_rom/esp32c3/ld/esp32c3.rom.bt_funcs.ld +++ b/components/esp_rom/esp32c3/ld/esp32c3.rom.bt_funcs.ld @@ -194,8 +194,10 @@ r_ble_util_data_rx_buf_reset = 0x40000b8c; r_bt_bb_get_intr_mask = 0x40000b90; r_bt_bb_intr_clear = 0x40000b94; r_bt_bb_intr_mask_set = 0x40000b98; +r_bt_bb_isr = 0x40000b9c; r_bt_rf_coex_cfg_set = 0x40000ba0; r_bt_rf_coex_conn_dynamic_pti_en_get = 0x40000ba4; +r_bt_rf_coex_conn_phy_coded_data_time_limit_en_get = 0x40000ba8; r_bt_rf_coex_ext_adv_dynamic_pti_en_get = 0x40000bac; r_bt_rf_coex_ext_scan_dynamic_pti_en_get = 0x40000bb0; r_bt_rf_coex_legacy_adv_dynamic_pti_en_get = 0x40000bb4; @@ -217,10 +219,14 @@ r_bt_rtp_apply_rule_cs_fmt = 0x40000bf0; r_bt_rtp_apply_rule_cs_idx = 0x40000bf4; r_bt_rtp_deregister_rule_cs_fmt = 0x40000bf8; r_bt_rtp_deregister_rule_cs_idx = 0x40000bfc; +r_bt_rtp_get_txpwr_idx_by_act = 0x40000c00; r_bt_rtp_init = 0x40000c04; r_bt_rtp_register_rule_cs_fmt = 0x40000c08; r_bt_rtp_register_rule_cs_idx = 0x40000c0c; r_btdm_isr = 0x40000c10; +r_btdm_task_post = 0x40000c14; +r_btdm_task_post_from_isr = 0x40000c18; +r_btdm_task_recycle = 0x40000c1c; r_cali_phase_match_p = 0x40000c20; r_cmp_abs_time = 0x40000c24; r_cmp_dest_id = 0x40000c28; @@ -316,6 +322,7 @@ r_hci_look_for_evt_desc = 0x40000d8c; r_hci_look_for_le_evt_desc = 0x40000d90; r_hci_look_for_le_evt_desc_esp = 0x40000d94; r_hci_pack_bytes = 0x40000d98; +r_hci_register_vendor_desc_tab = 0x40000d9c; r_hci_send_2_controller = 0x40000da0; r_hci_send_2_host = 0x40000da4; r_hci_tl_c2h_data_flow_on = 0x40000da8; @@ -372,6 +379,7 @@ r_ke_task_handler_get = 0x40000e70; r_ke_task_init = 0x40000e74; r_ke_task_msg_flush = 0x40000e78; r_ke_task_saved_update = 0x40000e7c; +r_ke_task_schedule = 0x40000e80; r_ke_time = 0x40000e84; r_ke_time_cmp = 0x40000e88; r_ke_time_past = 0x40000e8c; @@ -399,6 +407,7 @@ r_llc_dl_chg_check = 0x40000ee0; r_llc_dle_proc_err_cb = 0x40000ee4; r_llc_feats_exch_proc_err_cb = 0x40000ee8; r_llc_hci_cmd_handler_tab_p_get = 0x40000eec; +r_llc_hci_command_handler = 0x40000ef0; r_llc_hci_con_param_req_evt_send = 0x40000ef4; r_llc_hci_con_upd_info_send = 0x40000ef8; r_llc_hci_disconnected_dis = 0x40000efc; @@ -413,7 +422,7 @@ r_llc_init_term_proc = 0x40000f1c; r_llc_iv_skd_rand_gen = 0x40000f20; r_llc_le_ping_proc_continue = 0x40000f24; r_llc_le_ping_proc_err_cb = 0x40000f28; -/* r_llc_le_ping_restart = 0x40000f2c; */ +r_llc_le_ping_restart = 0x40000f2c; r_llc_le_ping_set = 0x40000f30; r_llc_ll_pause_enc_rsp_ack_handler = 0x40000f34; r_llc_ll_reject_ind_ack_handler = 0x40000f38; @@ -424,12 +433,15 @@ r_llc_ll_unknown_ind_handler = 0x40000f48; r_llc_llcp_send = 0x40000f4c; r_llc_llcp_state_set = 0x40000f50; r_llc_llcp_trans_timer_set = 0x40000f54; -/* r_llc_llcp_tx_check = 0x40000f58; */ +r_llc_llcp_tx_check = 0x40000f58; +r_llc_loc_ch_map_proc_continue = 0x40000f5c; +r_llc_loc_con_upd_proc_continue = 0x40000f60; r_llc_loc_con_upd_proc_err_cb = 0x40000f64; r_llc_loc_dl_upd_proc_continue = 0x40000f68; r_llc_loc_encrypt_proc_continue = 0x40000f6c; r_llc_loc_encrypt_proc_err_cb = 0x40000f70; r_llc_loc_feats_exch_proc_continue = 0x40000f74; +r_llc_loc_phy_upd_proc_continue = 0x40000f78; r_llc_loc_phy_upd_proc_err_cb = 0x40000f7c; r_llc_msg_handler_tab_p_get = 0x40000f80; r_llc_pref_param_compute = 0x40000f84; @@ -444,6 +456,7 @@ r_llc_proc_timer_pause_set = 0x40000fa4; r_llc_proc_timer_set = 0x40000fa8; r_llc_proc_unreg = 0x40000fac; r_llc_rem_ch_map_proc_continue = 0x40000fb0; +r_llc_rem_con_upd_proc_continue = 0x40000fb4; r_llc_rem_con_upd_proc_err_cb = 0x40000fb8; r_llc_rem_dl_upd_proc = 0x40000fbc; r_llc_rem_encrypt_proc_continue = 0x40000fc0; @@ -459,7 +472,7 @@ r_llc_ver_proc_err_cb = 0x40000fe4; r_llcp_pdu_handler_tab_p_get = 0x40000fe8; r_lld_aa_gen = 0x40000fec; r_lld_adv_adv_data_set = 0x40000ff0; -/* r_lld_adv_adv_data_update = 0x40000ff4; */ +r_lld_adv_adv_data_update = 0x40000ff4; r_lld_adv_aux_ch_idx_set = 0x40000ff8; r_lld_adv_aux_evt_canceled_cbk = 0x40000ffc; r_lld_adv_aux_evt_start_cbk = 0x40001000; @@ -478,11 +491,11 @@ r_lld_adv_frm_skip_isr = 0x40001030; r_lld_adv_init = 0x40001034; r_lld_adv_pkt_rx = 0x40001038; r_lld_adv_pkt_rx_connect_ind = 0x4000103c; -/* r_lld_adv_pkt_rx_send_scan_req_evt = 0x40001040; */ +r_lld_adv_pkt_rx_send_scan_req_evt = 0x40001040; r_lld_adv_rand_addr_update = 0x40001044; r_lld_adv_restart = 0x40001048; r_lld_adv_scan_rsp_data_set = 0x4000104c; -/* r_lld_adv_scan_rsp_data_update = 0x40001050; */ +r_lld_adv_scan_rsp_data_update = 0x40001050; r_lld_adv_set_tx_power = 0x40001054; r_lld_adv_start = 0x40001058; r_lld_adv_stop = 0x4000105c; @@ -506,7 +519,7 @@ r_lld_con_data_len_update = 0x400010a0; r_lld_con_data_tx = 0x400010a4; r_lld_con_enc_key_load = 0x400010a8; r_lld_con_event_counter_get = 0x400010ac; -/* r_lld_con_evt_canceled_cbk = 0x400010b0; */ +r_lld_con_evt_canceled_cbk = 0x400010b0; r_lld_con_evt_duration_min_get = 0x400010b4; r_lld_con_evt_max_eff_time_cal = 0x400010b8; r_lld_con_evt_sd_evt_time_get = 0x400010bc; @@ -526,14 +539,16 @@ r_lld_con_pref_slave_evt_dur_set = 0x400010f0; r_lld_con_pref_slave_latency_set = 0x400010f4; r_lld_con_rssi_get = 0x400010f8; r_lld_con_rx = 0x400010fc; -/* r_lld_con_rx_channel_assess = 0x40001100; */ +r_lld_con_rx_channel_assess = 0x40001100; r_lld_con_rx_enc = 0x40001104; r_lld_con_rx_isr = 0x40001108; r_lld_con_rx_link_info_check = 0x4000110c; r_lld_con_rx_llcp_check = 0x40001110; r_lld_con_rx_sync_time_update = 0x40001114; +r_lld_con_sched = 0x40001118; r_lld_con_set_tx_power = 0x4000111c; r_lld_con_start = 0x40001120; +r_lld_con_stop = 0x40001124; r_lld_con_tx = 0x40001128; r_lld_con_tx_enc = 0x4000112c; r_lld_con_tx_isr = 0x40001130; @@ -568,6 +583,7 @@ r_lld_init_set_tx_power = 0x400011a0; r_lld_init_start = 0x400011a4; r_lld_init_stop = 0x400011a8; r_lld_instant_proc_end = 0x400011ac; +r_lld_llcp_rx_ind_handler = 0x400011b0; r_lld_per_adv_ch_map_update = 0x400011b4; r_lld_per_adv_chain_construct = 0x400011b8; r_lld_per_adv_cleanup = 0x400011bc; @@ -585,6 +601,7 @@ r_lld_per_adv_init = 0x400011e8; r_lld_per_adv_init_info_get = 0x400011ec; r_lld_per_adv_list_add = 0x400011f0; r_lld_per_adv_list_rem = 0x400011f4; +r_lld_per_adv_sched = 0x400011f8; r_lld_per_adv_set_tx_power = 0x400011fc; r_lld_per_adv_start = 0x40001200; r_lld_per_adv_stop = 0x40001204; @@ -593,11 +610,13 @@ r_lld_process_cca_data = 0x4000120c; r_lld_ral_search = 0x40001210; r_lld_read_clock = 0x40001214; r_lld_res_list_add = 0x40001218; +r_lld_res_list_clear = 0x4000121c; r_lld_res_list_is_empty = 0x40001220; r_lld_res_list_local_rpa_get = 0x40001224; r_lld_res_list_peer_rpa_get = 0x40001228; r_lld_res_list_peer_update = 0x4000122c; -/* r_lld_res_list_priv_mode_update = 0x40001230; */ +r_lld_res_list_priv_mode_update = 0x40001230; +r_lld_res_list_rem = 0x40001234; r_lld_reset_reg = 0x40001238; r_lld_rpa_renew = 0x4000123c; r_lld_rpa_renew_evt_canceled_cbk = 0x40001240; @@ -616,6 +635,8 @@ r_lld_scan_frm_rx_isr = 0x40001270; r_lld_scan_frm_skip_isr = 0x40001274; r_lld_scan_init = 0x40001278; r_lld_scan_params_update = 0x4000127c; +r_lld_scan_process_pkt_rx = 0x40001280; +r_lld_scan_process_pkt_rx_adv_rep = 0x40001284; r_lld_scan_process_pkt_rx_aux_adv_ind = 0x40001288; r_lld_scan_process_pkt_rx_aux_chain_ind = 0x4000128c; r_lld_scan_process_pkt_rx_aux_scan_rsp = 0x40001290; @@ -659,11 +680,11 @@ r_lld_test_init = 0x40001324; r_lld_test_rx_isr = 0x40001328; r_lld_test_set_tx_power = 0x4000132c; r_lld_test_start = 0x40001330; -/* r_lld_test_stop = 0x40001334; */ +r_lld_test_stop = 0x40001334; r_lld_update_rxbuf = 0x40001338; r_lld_update_rxbuf_isr = 0x4000133c; -/* r_lld_white_list_add = 0x40001340; */ -/* r_lld_white_list_rem = 0x40001344; */ +r_lld_white_list_add = 0x40001340; +r_lld_white_list_rem = 0x40001344; r_llm_activity_free_get = 0x40001348; r_llm_activity_free_set = 0x4000134c; r_llm_activity_syncing_get = 0x40001350; @@ -690,6 +711,7 @@ r_llm_is_dev_synced = 0x400013a0; r_llm_is_non_con_act_ongoing_check = 0x400013a4; r_llm_is_wl_accessible = 0x400013a8; r_llm_le_evt_mask_check = 0x400013ac; +r_llm_le_features_get = 0x400013b0; r_llm_link_disc = 0x400013b4; r_llm_master_ch_map_get = 0x400013b8; r_llm_msg_handler_tab_p_get = 0x400013bc; @@ -709,6 +731,7 @@ r_misc_msg_handler_tab_p_get = 0x400013f0; r_notEqual256 = 0x400013f4; r_phy_upd_proc_start = 0x400013f8; r_platform_reset = 0x400013fc; +r_register_esp_vendor_cmd_handler = 0x40001400; r_rf_em_init = 0x40001404; r_rf_force_agc_enable = 0x40001408; r_rf_reg_rd = 0x4000140c; @@ -718,6 +741,8 @@ r_rf_rssi_convert = 0x40001418; r_rf_rw_v9_le_disable = 0x4000141c; r_rf_rw_v9_le_enable = 0x40001420; r_rf_sleep = 0x40001424; +r_rf_txpwr_cs_get = 0x40001428; +r_rf_txpwr_dbm_get = 0x4000142c; r_rf_util_cs_fmt_convert = 0x40001430; r_rw_crypto_aes_ccm = 0x40001434; r_rw_crypto_aes_encrypt = 0x40001438; @@ -731,12 +756,13 @@ r_rw_crypto_aes_result_handler = 0x40001454; r_rw_crypto_aes_s1 = 0x40001458; r_rw_cryto_aes_cmac = 0x4000145c; r_rw_v9_init_em_radio_table = 0x40001460; +r_rwble_isr = 0x40001464; r_rwble_sleep_enter = 0x40001468; r_rwble_sleep_wakeup_end = 0x4000146c; -/* r_rwbtdm_isr_wrapper = 0x40001470; */ +r_rwbtdm_isr_wrapper = 0x40001470; r_rwip_active_check = 0x40001474; r_rwip_aes_encrypt = 0x40001478; -/* r_rwip_assert = 0x4000147c; */ +r_rwip_assert = 0x4000147c; r_rwip_crypt_evt_handler = 0x40001480; r_rwip_crypt_isr_handler = 0x40001484; r_rwip_eif_get = 0x40001488; @@ -758,7 +784,7 @@ r_rwip_timer_hs_set = 0x400014c4; r_rwip_timer_hus_handler = 0x400014c8; r_rwip_timer_hus_set = 0x400014cc; r_rwip_wakeup = 0x400014d0; -/* r_rwip_wakeup_end = 0x400014d4; */ +r_rwip_wakeup_end = 0x400014d4; r_rwip_wlcoex_set = 0x400014d8; r_sch_alarm_clear = 0x400014dc; r_sch_alarm_init = 0x400014e0; @@ -767,6 +793,7 @@ r_sch_alarm_set = 0x400014e8; r_sch_alarm_timer_isr = 0x400014ec; r_sch_arb_conflict_check = 0x400014f0; r_sch_arb_elt_cancel = 0x400014f4; +r_sch_arb_event_start_isr = 0x400014f8; r_sch_arb_init = 0x400014fc; r_sch_arb_insert = 0x40001500; r_sch_arb_prog_timer = 0x40001504; @@ -781,6 +808,8 @@ r_sch_plan_offset_req = 0x40001524; r_sch_plan_position_range_compute = 0x40001528; r_sch_plan_rem = 0x4000152c; r_sch_plan_req = 0x40001530; +r_sch_plan_set = 0x40001534; +r_sch_prog_end_isr = 0x40001538; r_sch_prog_init = 0x4000153c; r_sch_prog_push = 0x40001540; r_sch_prog_rx_isr = 0x40001544; diff --git a/components/esp_rom/esp32c3/ld/esp32c3.rom.eco3_bt_funcs.ld b/components/esp_rom/esp32c3/ld/esp32c3.rom.eco3_bt_funcs.ld index 6f67b8ddc3..15f347f2da 100644 --- a/components/esp_rom/esp32c3/ld/esp32c3.rom.eco3_bt_funcs.ld +++ b/components/esp_rom/esp32c3/ld/esp32c3.rom.eco3_bt_funcs.ld @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD + * SPDX-FileCopyrightText: 2024-2025 Espressif Systems (Shanghai) CO LTD * * SPDX-License-Identifier: Apache-2.0 */ @@ -19,23 +19,23 @@ r_lld_legacy_adv_dynamic_pti_process = 0x40001b3c; r_lld_ext_adv_dynamic_pti_get = 0x40001b40; r_lld_ext_adv_dynamic_aux_pti_process = 0x40001b44; r_lld_ext_adv_dynamic_pti_process = 0x40001b48; -/* r_lld_adv_ext_pkt_prepare_set = 0x40001b4c; -*/ +r_lld_adv_ext_chain_none_construct = 0x40001b50; r_lld_adv_ext_chain_connectable_construct = 0x40001b54; +r_lld_adv_ext_chain_scannable_construct = 0x40001b58; r_lld_adv_pkt_rx_connect_post = 0x40001b5c; r_lld_adv_start_init_evt_param = 0x40001b60; r_lld_adv_start_set_cs = 0x40001b64; -/* r_lld_adv_start_update_filter_policy = 0x40001b68; */ +r_lld_adv_start_update_filter_policy = 0x40001b68; r_lld_adv_start_schedule_asap = 0x40001b6c; r_lld_con_tx_prog_new_packet_coex = 0x40001b70; +r_lld_con_tx_prog_new_packet = 0x40001b74; r_lld_per_adv_dynamic_pti_get = 0x40001b78; r_lld_per_adv_evt_start_chm_upd = 0x40001b7c; r_lld_ext_scan_dynamic_pti_get = 0x40001b80; +r_lld_scan_try_sched = 0x40001b84; r_lld_sync_insert = 0x40001b88; -/* r_sch_prog_ble_push = 0x40001b8c; -*/ r_sch_prog_bt_push = 0x40001b90; r_lld_init_evt_end_type_set = 0x40001b94; r_lld_init_evt_end_type_get = 0x40001b98; diff --git a/components/esp_rom/esp32c3/ld/esp32c3.rom.eco7_bt_funcs.ld b/components/esp_rom/esp32c3/ld/esp32c3.rom.eco7_bt_funcs.ld index b23f631a02..70033d6c7c 100644 --- a/components/esp_rom/esp32c3/ld/esp32c3.rom.eco7_bt_funcs.ld +++ b/components/esp_rom/esp32c3/ld/esp32c3.rom.eco7_bt_funcs.ld @@ -75,31 +75,31 @@ r_lld_cca_chan_avl_timeout_check = 0x40001e00; r_lld_con_start_hook = 0x40001ca8; /* ble Functions eco */ -r_bt_bb_isr = 0x40000b9c; -r_bt_rf_coex_conn_phy_coded_data_time_limit_en_get = 0x40000ba8; -r_bt_rtp_get_txpwr_idx_by_act = 0x40000c00; -r_btdm_task_post = 0x40000c14; -r_btdm_task_post_from_isr = 0x40000c18; -r_btdm_task_recycle = 0x40000c1c; -r_ke_task_schedule = 0x40000e80; -r_llc_hci_command_handler = 0x40000ef0; -r_llc_loc_ch_map_proc_continue = 0x40000f5c; -r_llc_loc_con_upd_proc_continue = 0x40000f60; -r_llc_loc_phy_upd_proc_continue = 0x40000f78; -r_llc_rem_con_upd_proc_continue = 0x40000fb4; -r_lld_con_sched = 0x40001118; -r_lld_con_stop = 0x40001124; -r_lld_llcp_rx_ind_handler = 0x400011b0; -r_lld_per_adv_sched = 0x400011f8; -r_rf_txpwr_cs_get = 0x40001428; -r_rf_txpwr_dbm_get = 0x4000142c; -r_sch_arb_event_start_isr = 0x400014f8; -r_sch_plan_set = 0x40001534; -r_sch_prog_end_isr = 0x40001538; -r_lld_adv_ext_chain_scannable_construct = 0x40001b58; +r_bt_bb_isr_hack = 0x40000b9c; +r_bt_rf_coex_conn_phy_coded_data_time_limit_en_get_hack = 0x40000ba8; +r_bt_rtp_get_txpwr_idx_by_act_hack = 0x40000c00; +r_btdm_task_post_hack = 0x40000c14; +r_btdm_task_post_from_isr_hack = 0x40000c18; +r_btdm_task_recycle_hack = 0x40000c1c; +r_ke_task_schedule_hack = 0x40000e80; +r_llc_hci_command_handler_hack = 0x40000ef0; +r_llc_loc_ch_map_proc_continue_hack = 0x40000f5c; +r_llc_loc_con_upd_proc_continue_hack = 0x40000f60; +r_llc_loc_phy_upd_proc_continue_hack = 0x40000f78; +r_llc_rem_con_upd_proc_continue_hack = 0x40000fb4; +r_lld_con_sched_hack = 0x40001118; +r_lld_con_stop_hack = 0x40001124; +r_lld_llcp_rx_ind_handler_hack = 0x400011b0; +r_lld_per_adv_sched_hack = 0x400011f8; +r_rf_txpwr_cs_get_hack = 0x40001428; +r_rf_txpwr_dbm_get_hack = 0x4000142c; +r_sch_arb_event_start_isr_hack = 0x400014f8; +r_sch_plan_set_hack = 0x40001534; +r_sch_prog_end_isr_hack = 0x40001538; +r_lld_adv_ext_chain_scannable_construct_hack = 0x40001b58; -r_lld_scan_process_pkt_rx = 0x40001280; -r_llm_le_features_get = 0x400013b0; +r_lld_scan_process_pkt_rx_hack = 0x40001280; +r_llm_le_features_get_hack = 0x400013b0; /* ble functions rename */ r_lld_init_start_hack = 0x400011a4; diff --git a/components/esp_rom/esp32s3/ld/esp32s3.rom.ble_50.ld b/components/esp_rom/esp32s3/ld/esp32s3.rom.ble_50.ld index 10cc038cc3..e0e5117442 100644 --- a/components/esp_rom/esp32s3/ld/esp32s3.rom.ble_50.ld +++ b/components/esp_rom/esp32s3/ld/esp32s3.rom.ble_50.ld @@ -65,7 +65,6 @@ f_lld_per_adv_rep_ind_handler = 0x40000000; r_lld_sync_init = 0x40000000; /* phy update*/ -r_phy_upd_proc_start = 0x40000000; f_llc_op_phy_upd_ind_handler = 0x40000000; f_ll_phy_req_handler = 0x40000000; f_ll_phy_rsp_handler = 0x40000000; diff --git a/components/esp_rom/esp32s3/ld/esp32s3.rom.ble_smp.ld b/components/esp_rom/esp32s3/ld/esp32s3.rom.ble_smp.ld index 78d1fb9784..d422d460ff 100644 --- a/components/esp_rom/esp32s3/ld/esp32s3.rom.ble_smp.ld +++ b/components/esp_rom/esp32s3/ld/esp32s3.rom.ble_smp.ld @@ -33,8 +33,6 @@ r_rwip_crypt_evt_handler = 0x40000000; /* LE ping */ f_ll_ping_req_handler = 0x40000000; f_ll_ping_rsp_handler = 0x40000000; -r_llc_le_ping_set = 0x40000000; -r_llc_le_ping_restart = 0x40000000; f_llc_op_le_ping_ind_handler = 0x40000000; f_llc_auth_payl_nearly_op_handler = 0x40000000; f_llc_auth_payl_real_to_handler = 0x40000000; diff --git a/components/esp_rom/esp32s3/ld/esp32s3.rom.bt_funcs.ld b/components/esp_rom/esp32s3/ld/esp32s3.rom.bt_funcs.ld index b30cb34ef0..96ea68c478 100644 --- a/components/esp_rom/esp32s3/ld/esp32s3.rom.bt_funcs.ld +++ b/components/esp_rom/esp32s3/ld/esp32s3.rom.bt_funcs.ld @@ -194,8 +194,10 @@ r_ble_util_data_rx_buf_reset = 0x40003288; r_bt_bb_get_intr_mask = 0x40003294; r_bt_bb_intr_clear = 0x400032a0; r_bt_bb_intr_mask_set = 0x400032ac; +r_bt_bb_isr = 0x400032b8; r_bt_rf_coex_cfg_set = 0x400032c4; r_bt_rf_coex_conn_dynamic_pti_en_get = 0x400032d0; +r_bt_rf_coex_conn_phy_coded_data_time_limit_en_get = 0x400032dc; r_bt_rf_coex_ext_adv_dynamic_pti_en_get = 0x400032e8; r_bt_rf_coex_ext_scan_dynamic_pti_en_get = 0x400032f4; r_bt_rf_coex_legacy_adv_dynamic_pti_en_get = 0x40003300; @@ -217,10 +219,14 @@ r_bt_rtp_apply_rule_cs_fmt = 0x400033b4; r_bt_rtp_apply_rule_cs_idx = 0x400033c0; r_bt_rtp_deregister_rule_cs_fmt = 0x400033cc; r_bt_rtp_deregister_rule_cs_idx = 0x400033d8; +r_bt_rtp_get_txpwr_idx_by_act = 0x400033e4; r_bt_rtp_init = 0x400033f0; r_bt_rtp_register_rule_cs_fmt = 0x400033fc; r_bt_rtp_register_rule_cs_idx = 0x40003408; r_btdm_isr = 0x40003414; +r_btdm_task_post = 0x40003420; +r_btdm_task_post_from_isr = 0x4000342c; +r_btdm_task_recycle = 0x40003438; r_cali_phase_match_p = 0x40003444; r_cmp_abs_time = 0x40003450; r_cmp_dest_id = 0x4000345c; @@ -316,6 +322,7 @@ r_hci_look_for_evt_desc = 0x40003888; r_hci_look_for_le_evt_desc = 0x40003894; r_hci_look_for_le_evt_desc_esp = 0x400038a0; r_hci_pack_bytes = 0x400038ac; +r_hci_register_vendor_desc_tab = 0x400038b8; r_hci_send_2_controller = 0x400038c4; r_hci_send_2_host = 0x400038d0; r_hci_tl_c2h_data_flow_on = 0x400038dc; @@ -372,6 +379,7 @@ r_ke_task_handler_get = 0x40003b34; r_ke_task_init = 0x40003b40; r_ke_task_msg_flush = 0x40003b4c; r_ke_task_saved_update = 0x40003b58; +r_ke_task_schedule = 0x40003b64; r_ke_time = 0x40003b70; r_ke_time_cmp = 0x40003b7c; r_ke_time_past = 0x40003b88; @@ -399,6 +407,7 @@ r_llc_dl_chg_check = 0x40003c84; r_llc_dle_proc_err_cb = 0x40003c90; r_llc_feats_exch_proc_err_cb = 0x40003c9c; r_llc_hci_cmd_handler_tab_p_get = 0x40003ca8; +r_llc_hci_command_handler = 0x40003cb4; r_llc_hci_con_param_req_evt_send = 0x40003cc0; r_llc_hci_con_upd_info_send = 0x40003ccc; r_llc_hci_disconnected_dis = 0x40003cd8; @@ -413,7 +422,7 @@ r_llc_init_term_proc = 0x40003d38; r_llc_iv_skd_rand_gen = 0x40003d44; r_llc_le_ping_proc_continue = 0x40003d50; r_llc_le_ping_proc_err_cb = 0x40003d5c; -/* r_llc_le_ping_restart = 0x40003d68; */ +r_llc_le_ping_restart = 0x40003d68; r_llc_le_ping_set = 0x40003d74; r_llc_ll_pause_enc_rsp_ack_handler = 0x40003d80; r_llc_ll_reject_ind_ack_handler = 0x40003d8c; @@ -424,13 +433,15 @@ r_llc_ll_unknown_ind_handler = 0x40003dbc; r_llc_llcp_send = 0x40003dc8; r_llc_llcp_state_set = 0x40003dd4; r_llc_llcp_trans_timer_set = 0x40003de0; -/* r_llc_llcp_tx_check = 0x40003dec; */ -/* r_llc_loc_ch_map_proc_continue = 0x40003df8; */ +r_llc_llcp_tx_check = 0x40003dec; +r_llc_loc_ch_map_proc_continue = 0x40003df8; +r_llc_loc_con_upd_proc_continue = 0x40003e04; r_llc_loc_con_upd_proc_err_cb = 0x40003e10; r_llc_loc_dl_upd_proc_continue = 0x40003e1c; r_llc_loc_encrypt_proc_continue = 0x40003e28; r_llc_loc_encrypt_proc_err_cb = 0x40003e34; r_llc_loc_feats_exch_proc_continue = 0x40003e40; +r_llc_loc_phy_upd_proc_continue = 0x40003e4c; r_llc_loc_phy_upd_proc_err_cb = 0x40003e58; r_llc_msg_handler_tab_p_get = 0x40003e64; r_llc_pref_param_compute = 0x40003e70; @@ -445,6 +456,7 @@ r_llc_proc_timer_pause_set = 0x40003ed0; r_llc_proc_timer_set = 0x40003edc; r_llc_proc_unreg = 0x40003ee8; r_llc_rem_ch_map_proc_continue = 0x40003ef4; +r_llc_rem_con_upd_proc_continue = 0x40003f00; r_llc_rem_con_upd_proc_err_cb = 0x40003f0c; r_llc_rem_dl_upd_proc = 0x40003f18; r_llc_rem_encrypt_proc_continue = 0x40003f24; @@ -460,7 +472,7 @@ r_llc_ver_proc_err_cb = 0x40003f90; r_llcp_pdu_handler_tab_p_get = 0x40003f9c; r_lld_aa_gen = 0x40003fa8; r_lld_adv_adv_data_set = 0x40003fb4; -/* r_lld_adv_adv_data_update = 0x40003fc0; */ +r_lld_adv_adv_data_update = 0x40003fc0; r_lld_adv_aux_ch_idx_set = 0x40003fcc; r_lld_adv_aux_evt_canceled_cbk = 0x40003fd8; r_lld_adv_aux_evt_start_cbk = 0x40003fe4; @@ -479,11 +491,11 @@ r_lld_adv_frm_skip_isr = 0x40004074; r_lld_adv_init = 0x40004080; r_lld_adv_pkt_rx = 0x4000408c; r_lld_adv_pkt_rx_connect_ind = 0x40004098; -/* r_lld_adv_pkt_rx_send_scan_req_evt = 0x400040a4; */ +r_lld_adv_pkt_rx_send_scan_req_evt = 0x400040a4; r_lld_adv_rand_addr_update = 0x400040b0; r_lld_adv_restart = 0x400040bc; r_lld_adv_scan_rsp_data_set = 0x400040c8; -/* r_lld_adv_scan_rsp_data_update = 0x400040d4; */ +r_lld_adv_scan_rsp_data_update = 0x400040d4; r_lld_adv_set_tx_power = 0x400040e0; r_lld_adv_start = 0x400040ec; r_lld_adv_stop = 0x400040f8; @@ -507,7 +519,7 @@ r_lld_con_data_len_update = 0x400041c4; r_lld_con_data_tx = 0x400041d0; r_lld_con_enc_key_load = 0x400041dc; r_lld_con_event_counter_get = 0x400041e8; -/* r_lld_con_evt_canceled_cbk = 0x400041f4; */ +r_lld_con_evt_canceled_cbk = 0x400041f4; r_lld_con_evt_duration_min_get = 0x40004200; r_lld_con_evt_max_eff_time_cal = 0x4000420c; r_lld_con_evt_sd_evt_time_get = 0x40004218; @@ -527,14 +539,16 @@ r_lld_con_pref_slave_evt_dur_set = 0x400042b4; r_lld_con_pref_slave_latency_set = 0x400042c0; r_lld_con_rssi_get = 0x400042cc; r_lld_con_rx = 0x400042d8; -/* r_lld_con_rx_channel_assess = 0x400042e4; */ +r_lld_con_rx_channel_assess = 0x400042e4; r_lld_con_rx_enc = 0x400042f0; r_lld_con_rx_isr = 0x400042fc; r_lld_con_rx_link_info_check = 0x40004308; r_lld_con_rx_llcp_check = 0x40004314; r_lld_con_rx_sync_time_update = 0x40004320; +r_lld_con_sched = 0x4000432c; r_lld_con_set_tx_power = 0x40004338; r_lld_con_start = 0x40004344; +r_lld_con_stop = 0x40004350; r_lld_con_tx = 0x4000435c; r_lld_con_tx_enc = 0x40004368; r_lld_con_tx_isr = 0x40004374; @@ -569,6 +583,7 @@ r_lld_init_set_tx_power = 0x400044c4; r_lld_init_start = 0x400044d0; r_lld_init_stop = 0x400044dc; r_lld_instant_proc_end = 0x400044e8; +r_lld_llcp_rx_ind_handler = 0x400044f4; r_lld_per_adv_ch_map_update = 0x40004500; r_lld_per_adv_chain_construct = 0x4000450c; r_lld_per_adv_cleanup = 0x40004518; @@ -586,6 +601,7 @@ r_lld_per_adv_init = 0x4000459c; r_lld_per_adv_init_info_get = 0x400045a8; r_lld_per_adv_list_add = 0x400045b4; r_lld_per_adv_list_rem = 0x400045c0; +r_lld_per_adv_sched = 0x400045cc; r_lld_per_adv_set_tx_power = 0x400045d8; r_lld_per_adv_start = 0x400045e4; r_lld_per_adv_stop = 0x400045f0; @@ -594,11 +610,13 @@ r_lld_process_cca_data = 0x40004608; r_lld_ral_search = 0x40004614; r_lld_read_clock = 0x40004620; r_lld_res_list_add = 0x4000462c; +r_lld_res_list_clear = 0x40004638; r_lld_res_list_is_empty = 0x40004644; r_lld_res_list_local_rpa_get = 0x40004650; r_lld_res_list_peer_rpa_get = 0x4000465c; r_lld_res_list_peer_update = 0x40004668; -/* r_lld_res_list_priv_mode_update = 0x40004674; */ +r_lld_res_list_priv_mode_update = 0x40004674; +r_lld_res_list_rem = 0x40004680; r_lld_reset_reg = 0x4000468c; r_lld_rpa_renew = 0x40004698; r_lld_rpa_renew_evt_canceled_cbk = 0x400046a4; @@ -617,6 +635,8 @@ r_lld_scan_frm_rx_isr = 0x40004734; r_lld_scan_frm_skip_isr = 0x40004740; r_lld_scan_init = 0x4000474c; r_lld_scan_params_update = 0x40004758; +r_lld_scan_process_pkt_rx = 0x40004764; +r_lld_scan_process_pkt_rx_adv_rep = 0x40004770; r_lld_scan_process_pkt_rx_aux_adv_ind = 0x4000477c; r_lld_scan_process_pkt_rx_aux_chain_ind = 0x40004788; r_lld_scan_process_pkt_rx_aux_scan_rsp = 0x40004794; @@ -660,11 +680,11 @@ r_lld_test_init = 0x40004950; r_lld_test_rx_isr = 0x4000495c; r_lld_test_set_tx_power = 0x40004968; r_lld_test_start = 0x40004974; -/* r_lld_test_stop = 0x40004980;*/ +r_lld_test_stop = 0x40004980; r_lld_update_rxbuf = 0x4000498c; r_lld_update_rxbuf_isr = 0x40004998; -/* r_lld_white_list_add = 0x400049a4; */ -/* r_lld_white_list_rem = 0x400049b0; */ +r_lld_white_list_add = 0x400049a4; +r_lld_white_list_rem = 0x400049b0; r_llm_activity_free_get = 0x400049bc; r_llm_activity_free_set = 0x400049c8; r_llm_activity_syncing_get = 0x400049d4; @@ -691,6 +711,7 @@ r_llm_is_dev_synced = 0x40004ac4; r_llm_is_non_con_act_ongoing_check = 0x40004ad0; r_llm_is_wl_accessible = 0x40004adc; r_llm_le_evt_mask_check = 0x40004ae8; +r_llm_le_features_get = 0x40004af4; r_llm_link_disc = 0x40004b00; r_llm_master_ch_map_get = 0x40004b0c; r_llm_msg_handler_tab_p_get = 0x40004b18; @@ -710,6 +731,7 @@ r_misc_msg_handler_tab_p_get = 0x40004bb4; r_notEqual256 = 0x40004bc0; r_phy_upd_proc_start = 0x40004bcc; r_platform_reset = 0x40004bd8; +r_register_esp_vendor_cmd_handler = 0x40004be4; r_rf_em_init = 0x40004bf0; r_rf_force_agc_enable = 0x40004bfc; r_rf_reg_rd = 0x40004c08; @@ -719,6 +741,8 @@ r_rf_rssi_convert = 0x40004c2c; r_rf_rw_v9_le_disable = 0x40004c38; r_rf_rw_v9_le_enable = 0x40004c44; r_rf_sleep = 0x40004c50; +r_rf_txpwr_cs_get = 0x40004c5c; +r_rf_txpwr_dbm_get = 0x40004c68; r_rf_util_cs_fmt_convert = 0x40004c74; r_rw_crypto_aes_ccm = 0x40004c80; r_rw_crypto_aes_encrypt = 0x40004c8c; @@ -732,12 +756,13 @@ r_rw_crypto_aes_result_handler = 0x40004ce0; r_rw_crypto_aes_s1 = 0x40004cec; r_rw_cryto_aes_cmac = 0x40004cf8; r_rw_v9_init_em_radio_table = 0x40004d04; +r_rwble_isr = 0x40004d10; r_rwble_sleep_enter = 0x40004d1c; r_rwble_sleep_wakeup_end = 0x40004d28; -/* r_rwbtdm_isr_wrapper = 0x40004d34; */ +r_rwbtdm_isr_wrapper = 0x40004d34; r_rwip_active_check = 0x40004d40; r_rwip_aes_encrypt = 0x40004d4c; -/* r_rwip_assert = 0x40004d58; */ +r_rwip_assert = 0x40004d58; r_rwip_crypt_evt_handler = 0x40004d64; r_rwip_crypt_isr_handler = 0x40004d70; r_rwip_eif_get = 0x40004d7c; @@ -759,7 +784,7 @@ r_rwip_timer_hs_set = 0x40004e30; r_rwip_timer_hus_handler = 0x40004e3c; r_rwip_timer_hus_set = 0x40004e48; r_rwip_wakeup = 0x40004e54; -/* r_rwip_wakeup_end = 0x40004e60; */ +r_rwip_wakeup_end = 0x40004e60; r_rwip_wlcoex_set = 0x40004e6c; r_sch_alarm_clear = 0x40004e78; r_sch_alarm_init = 0x40004e84; @@ -768,6 +793,7 @@ r_sch_alarm_set = 0x40004e9c; r_sch_alarm_timer_isr = 0x40004ea8; r_sch_arb_conflict_check = 0x40004eb4; r_sch_arb_elt_cancel = 0x40004ec0; +r_sch_arb_event_start_isr = 0x40004ecc; r_sch_arb_init = 0x40004ed8; r_sch_arb_insert = 0x40004ee4; r_sch_arb_prog_timer = 0x40004ef0; @@ -782,6 +808,8 @@ r_sch_plan_offset_req = 0x40004f50; r_sch_plan_position_range_compute = 0x40004f5c; r_sch_plan_rem = 0x40004f68; r_sch_plan_req = 0x40004f74; +r_sch_plan_set = 0x40004f80; +r_sch_prog_end_isr = 0x40004f8c; r_sch_prog_init = 0x40004f98; r_sch_prog_push = 0x40004fa4; r_sch_prog_rx_isr = 0x40004fb0; @@ -816,23 +844,23 @@ r_lld_legacy_adv_dynamic_pti_process = 0x40005100; r_lld_ext_adv_dynamic_pti_get = 0x4000510c; r_lld_ext_adv_dynamic_aux_pti_process = 0x40005118; r_lld_ext_adv_dynamic_pti_process = 0x40005124; -/* r_lld_adv_ext_pkt_prepare_set = 0x40005130; -*/ +r_lld_adv_ext_chain_none_construct = 0x4000513c; r_lld_adv_ext_chain_connectable_construct = 0x40005148; +r_lld_adv_ext_chain_scannable_construct = 0x40005154; r_lld_adv_pkt_rx_connect_post = 0x40005160; r_lld_adv_start_init_evt_param = 0x4000516c; r_lld_adv_start_set_cs = 0x40005178; -/* r_lld_adv_start_update_filter_policy = 0x40005184; */ +r_lld_adv_start_update_filter_policy = 0x40005184; r_lld_adv_start_schedule_asap = 0x40005190; r_lld_con_tx_prog_new_packet_coex = 0x4000519c; +r_lld_con_tx_prog_new_packet = 0x400051a8; r_lld_per_adv_dynamic_pti_get = 0x400051b4; r_lld_per_adv_evt_start_chm_upd = 0x400051c0; r_lld_ext_scan_dynamic_pti_get = 0x400051cc; +r_lld_scan_try_sched = 0x400051d8; r_lld_sync_insert = 0x400051e4; -/* r_sch_prog_ble_push = 0x400051f0; -*/ r_sch_prog_bt_push = 0x400051fc; r_lld_init_evt_end_type_set = 0x40005208; r_lld_init_evt_end_type_get = 0x40005214;