From c574834ae393c0bc368918b86c1256da60f4ed38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Quentin?= Date: Tue, 22 Oct 2024 12:02:49 +0200 Subject: [PATCH] Include ROM API symbols (#2374) * Include ROM API symbols * Fixes and CHANGELOG.md * Fix * Move migration steps to the right crate's migration guide * Remove `-Trom_functions.x` where necessary --- esp-hal/ld/README.md | 8 + esp-hal/ld/esp32/rom-functions.x | 41 +- esp-hal/ld/esp32/rom/additional.ld | 11 + esp-hal/ld/esp32/rom/esp32.rom.api.ld | 62 + esp-hal/ld/esp32/rom/esp32.rom.eco3.ld | 10 + esp-hal/ld/esp32/rom/esp32.rom.ld | 1635 ++++++++++++ esp-hal/ld/esp32/rom/esp32.rom.libgcc.ld | 94 + esp-hal/ld/esp32/rom/esp32.rom.redefined.ld | 38 + .../ld/esp32/rom/esp32.rom.spiflash_legacy.ld | 29 + esp-hal/ld/esp32/rom/esp32.rom.syscalls.ld | 66 + esp-hal/ld/esp32c2/rom-functions.x | 29 +- esp-hal/ld/esp32c2/rom/additional.ld | 8 + esp-hal/ld/esp32c2/rom/esp32c2.rom.api.ld | 69 + esp-hal/ld/esp32c2/rom/esp32c2.rom.heap.ld | 75 + esp-hal/ld/esp32c2/rom/esp32c2.rom.ld | 2237 ++++++++++++++++ esp-hal/ld/esp32c2/rom/esp32c2.rom.libgcc.ld | 113 + esp-hal/ld/esp32c2/rom/esp32c2.rom.rvfp.ld | 118 + esp-hal/ld/esp32c2/rom/esp32c2.rom.version.ld | 14 + esp-hal/ld/esp32c3/rom-functions.x | 38 +- esp-hal/ld/esp32c3/rom/additional.ld | 12 + esp-hal/ld/esp32c3/rom/esp32c3.rom.api.ld | 61 + esp-hal/ld/esp32c3/rom/esp32c3.rom.eco3.ld | 129 + esp-hal/ld/esp32c3/rom/esp32c3.rom.eco7.ld | 240 ++ esp-hal/ld/esp32c3/rom/esp32c3.rom.ld | 1932 ++++++++++++++ esp-hal/ld/esp32c3/rom/esp32c3.rom.libgcc.ld | 105 + esp-hal/ld/esp32c3/rom/esp32c3.rom.version.ld | 8 + esp-hal/ld/esp32c6/rom-functions.x | 38 +- esp-hal/ld/esp32c6/rom/additional.ld | 10 + esp-hal/ld/esp32c6/rom/esp32c6.rom.api.ld | 65 + esp-hal/ld/esp32c6/rom/esp32c6.rom.coexist.ld | 47 + esp-hal/ld/esp32c6/rom/esp32c6.rom.heap.ld | 80 + esp-hal/ld/esp32c6/rom/esp32c6.rom.ld | 439 ++++ esp-hal/ld/esp32c6/rom/esp32c6.rom.libgcc.ld | 112 + .../ld/esp32c6/rom/esp32c6.rom.net80211.ld | 67 + esp-hal/ld/esp32c6/rom/esp32c6.rom.phy.ld | 245 ++ esp-hal/ld/esp32c6/rom/esp32c6.rom.pp.ld | 459 ++++ esp-hal/ld/esp32c6/rom/esp32c6.rom.rvfp.ld | 118 + .../ld/esp32c6/rom/esp32c6.rom.spiflash.ld | 165 ++ esp-hal/ld/esp32c6/rom/esp32c6.rom.version.ld | 13 + esp-hal/ld/esp32h2/rom-functions.x | 33 +- esp-hal/ld/esp32h2/rom/additional.ld | 10 + esp-hal/ld/esp32h2/rom/esp32h2.rom.api.ld | 65 + esp-hal/ld/esp32h2/rom/esp32h2.rom.heap.ld | 80 + esp-hal/ld/esp32h2/rom/esp32h2.rom.ld | 379 +++ esp-hal/ld/esp32h2/rom/esp32h2.rom.libgcc.ld | 112 + .../ld/esp32h2/rom/esp32h2.rom.spiflash.ld | 164 ++ esp-hal/ld/esp32h2/rom/esp32h2.rom.version.ld | 13 + esp-hal/ld/esp32s2/rom-functions.x | 38 +- esp-hal/ld/esp32s2/rom/additional.ld | 12 + esp-hal/ld/esp32s2/rom/esp32s2.rom.api.ld | 65 + esp-hal/ld/esp32s2/rom/esp32s2.rom.ld | 804 ++++++ esp-hal/ld/esp32s2/rom/esp32s2.rom.libgcc.ld | 99 + .../rom/esp32s2.rom.spiflash_legacy.ld | 31 + esp-hal/ld/esp32s3/rom-functions.x | 51 +- esp-hal/ld/esp32s3/rom/additional.ld | 14 + esp-hal/ld/esp32s3/rom/esp32s3.rom.api.ld | 69 + esp-hal/ld/esp32s3/rom/esp32s3.rom.ld | 2247 +++++++++++++++++ esp-hal/ld/esp32s3/rom/esp32s3.rom.libgcc.ld | 105 + esp-hal/ld/esp32s3/rom/esp32s3.rom.version.ld | 8 + esp-hal/src/rom/mod.rs | 4 +- esp-hal/src/soc/esp32s3/mod.rs | 4 +- esp-wifi/CHANGELOG.md | 2 + esp-wifi/MIGRATING-0.10.md | 11 + esp-wifi/src/lib.rs | 16 - examples/build.rs | 10 - hil-test/build.rs | 4 - 66 files changed, 13241 insertions(+), 249 deletions(-) create mode 100644 esp-hal/ld/README.md create mode 100644 esp-hal/ld/esp32/rom/additional.ld create mode 100644 esp-hal/ld/esp32/rom/esp32.rom.api.ld create mode 100644 esp-hal/ld/esp32/rom/esp32.rom.eco3.ld create mode 100644 esp-hal/ld/esp32/rom/esp32.rom.ld create mode 100644 esp-hal/ld/esp32/rom/esp32.rom.libgcc.ld create mode 100644 esp-hal/ld/esp32/rom/esp32.rom.redefined.ld create mode 100644 esp-hal/ld/esp32/rom/esp32.rom.spiflash_legacy.ld create mode 100644 esp-hal/ld/esp32/rom/esp32.rom.syscalls.ld create mode 100644 esp-hal/ld/esp32c2/rom/additional.ld create mode 100644 esp-hal/ld/esp32c2/rom/esp32c2.rom.api.ld create mode 100644 esp-hal/ld/esp32c2/rom/esp32c2.rom.heap.ld create mode 100644 esp-hal/ld/esp32c2/rom/esp32c2.rom.ld create mode 100644 esp-hal/ld/esp32c2/rom/esp32c2.rom.libgcc.ld create mode 100644 esp-hal/ld/esp32c2/rom/esp32c2.rom.rvfp.ld create mode 100644 esp-hal/ld/esp32c2/rom/esp32c2.rom.version.ld create mode 100644 esp-hal/ld/esp32c3/rom/additional.ld create mode 100644 esp-hal/ld/esp32c3/rom/esp32c3.rom.api.ld create mode 100644 esp-hal/ld/esp32c3/rom/esp32c3.rom.eco3.ld create mode 100644 esp-hal/ld/esp32c3/rom/esp32c3.rom.eco7.ld create mode 100644 esp-hal/ld/esp32c3/rom/esp32c3.rom.ld create mode 100644 esp-hal/ld/esp32c3/rom/esp32c3.rom.libgcc.ld create mode 100644 esp-hal/ld/esp32c3/rom/esp32c3.rom.version.ld create mode 100644 esp-hal/ld/esp32c6/rom/additional.ld create mode 100644 esp-hal/ld/esp32c6/rom/esp32c6.rom.api.ld create mode 100644 esp-hal/ld/esp32c6/rom/esp32c6.rom.coexist.ld create mode 100644 esp-hal/ld/esp32c6/rom/esp32c6.rom.heap.ld create mode 100644 esp-hal/ld/esp32c6/rom/esp32c6.rom.ld create mode 100644 esp-hal/ld/esp32c6/rom/esp32c6.rom.libgcc.ld create mode 100644 esp-hal/ld/esp32c6/rom/esp32c6.rom.net80211.ld create mode 100644 esp-hal/ld/esp32c6/rom/esp32c6.rom.phy.ld create mode 100644 esp-hal/ld/esp32c6/rom/esp32c6.rom.pp.ld create mode 100644 esp-hal/ld/esp32c6/rom/esp32c6.rom.rvfp.ld create mode 100644 esp-hal/ld/esp32c6/rom/esp32c6.rom.spiflash.ld create mode 100644 esp-hal/ld/esp32c6/rom/esp32c6.rom.version.ld create mode 100644 esp-hal/ld/esp32h2/rom/additional.ld create mode 100644 esp-hal/ld/esp32h2/rom/esp32h2.rom.api.ld create mode 100644 esp-hal/ld/esp32h2/rom/esp32h2.rom.heap.ld create mode 100644 esp-hal/ld/esp32h2/rom/esp32h2.rom.ld create mode 100644 esp-hal/ld/esp32h2/rom/esp32h2.rom.libgcc.ld create mode 100644 esp-hal/ld/esp32h2/rom/esp32h2.rom.spiflash.ld create mode 100644 esp-hal/ld/esp32h2/rom/esp32h2.rom.version.ld create mode 100644 esp-hal/ld/esp32s2/rom/additional.ld create mode 100644 esp-hal/ld/esp32s2/rom/esp32s2.rom.api.ld create mode 100644 esp-hal/ld/esp32s2/rom/esp32s2.rom.ld create mode 100644 esp-hal/ld/esp32s2/rom/esp32s2.rom.libgcc.ld create mode 100644 esp-hal/ld/esp32s2/rom/esp32s2.rom.spiflash_legacy.ld create mode 100644 esp-hal/ld/esp32s3/rom/additional.ld create mode 100644 esp-hal/ld/esp32s3/rom/esp32s3.rom.api.ld create mode 100644 esp-hal/ld/esp32s3/rom/esp32s3.rom.ld create mode 100644 esp-hal/ld/esp32s3/rom/esp32s3.rom.libgcc.ld create mode 100644 esp-hal/ld/esp32s3/rom/esp32s3.rom.version.ld diff --git a/esp-hal/ld/README.md b/esp-hal/ld/README.md new file mode 100644 index 000000000..767bc1e91 --- /dev/null +++ b/esp-hal/ld/README.md @@ -0,0 +1,8 @@ +# ROM functions + +Files in the `rom` subdirectories are taken from esp-idf + +- DON'T include any `*newlib*` functions +- systimer, wdt and mbedtls shouldn't be included +- make sure to align the version you take the files from with esp-wifi-sys - NEVER randomly sync the files with other versions +- some additional functions are needed from ROM - see `additional.ld` (these are usually defined in the `*newlib*` files) diff --git a/esp-hal/ld/esp32/rom-functions.x b/esp-hal/ld/esp32/rom-functions.x index 87d4f49d9..f81917738 100644 --- a/esp-hal/ld/esp32/rom-functions.x +++ b/esp-hal/ld/esp32/rom-functions.x @@ -1,34 +1,9 @@ -PROVIDE(ets_delay_us = 0x40008534); -PROVIDE(ets_update_cpu_frequency_rom = 0x40008550); -PROVIDE(rom_i2c_writeReg = 0x400041a4); -PROVIDE(rom_i2c_writeReg_Mask = 0x400041fc); -PROVIDE(rtc_get_reset_reason = 0x400081d4); -PROVIDE(software_reset = 0x4000824c); -PROVIDE(software_reset_cpu = 0x40008264); +INCLUDE "rom/esp32.rom.api.ld" +INCLUDE "rom/esp32.rom.eco3.ld" +INCLUDE "rom/esp32.rom.ld" +INCLUDE "rom/esp32.rom.libgcc.ld" +INCLUDE "rom/esp32.rom.redefined.ld" +INCLUDE "rom/esp32.rom.spiflash_legacy.ld" +INCLUDE "rom/esp32.rom.syscalls.ld" -PROVIDE ( ets_efuse_get_spiconfig = 0x40008658 ); -PROVIDE ( esp_rom_efuse_get_flash_gpio_info = ets_efuse_get_spiconfig ); -PROVIDE ( esp_rom_gpio_connect_out_signal = gpio_matrix_out ); -PROVIDE ( gpio_matrix_out = 0x40009f0c ); -PROVIDE ( gpio_matrix_in = 0x40009edc ); -PROVIDE ( esp_rom_gpio_connect_in_signal = gpio_matrix_in ); -PROVIDE ( esp_rom_spiflash_config_clk = 0x40062bc8 ); -PROVIDE ( g_rom_spiflash_dummy_len_plus = 0x3ffae290 ); -PROVIDE ( g_rom_flashchip = 0x3ffae270 ); -PROVIDE ( cache_sram_mmu_set_rom = 0x400097f4 ); - -PROVIDE (esp_rom_crc32_be = 0x4005d024); -PROVIDE (esp_rom_crc16_be = 0x4005d09c); -PROVIDE (esp_rom_crc8_be = 0x4005d114); -PROVIDE (esp_rom_crc32_le = 0x4005cfec); -PROVIDE (esp_rom_crc16_le = 0x4005d05c); -PROVIDE (esp_rom_crc8_le = 0x4005d0e0); - -PROVIDE (esp_rom_md5_init = 0x4005da7c); -PROVIDE (esp_rom_md5_update = 0x4005da9c); -PROVIDE (esp_rom_md5_final = 0x4005db1c); - -memcmp = 0x4000c260; -memcpy = 0x4000c2c8; -memmove = 0x4000c3c0; -memset = 0x4000c44c; +INCLUDE "rom/additional.ld" diff --git a/esp-hal/ld/esp32/rom/additional.ld b/esp-hal/ld/esp32/rom/additional.ld new file mode 100644 index 000000000..ee815fb39 --- /dev/null +++ b/esp-hal/ld/esp32/rom/additional.ld @@ -0,0 +1,11 @@ +memcmp = 0x4000c260; +memcpy = 0x4000c2c8; +memmove = 0x4000c3c0; +memset = 0x4000c44c; + +PROVIDE ( strcpy = 0x400013ac ); +PROVIDE ( abs = 0x40056340 ); +PROVIDE ( strncpy = 0x400015d4 ); +PROVIDE ( strncmp = 0x4000c5f4 ); + +PROVIDE ( bzero = 0x4000c1f4 ); diff --git a/esp-hal/ld/esp32/rom/esp32.rom.api.ld b/esp-hal/ld/esp32/rom/esp32.rom.api.ld new file mode 100644 index 000000000..f09cc1045 --- /dev/null +++ b/esp-hal/ld/esp32/rom/esp32.rom.api.ld @@ -0,0 +1,62 @@ +/** + * ROM APIs + */ +PROVIDE ( esp_rom_crc32_le = crc32_le ); +PROVIDE ( esp_rom_crc16_le = crc16_le ); +PROVIDE ( esp_rom_crc8_le = crc8_le ); +PROVIDE ( esp_rom_crc32_be = crc32_be ); +PROVIDE ( esp_rom_crc16_be = crc16_be ); +PROVIDE ( esp_rom_crc8_be = crc8_be ); + +PROVIDE ( esp_rom_gpio_pad_select_gpio = gpio_pad_select_gpio ); +PROVIDE ( esp_rom_gpio_pad_pullup_only = gpio_pad_pullup ); +PROVIDE ( esp_rom_gpio_pad_set_drv = gpio_pad_set_drv ); +PROVIDE ( esp_rom_gpio_pad_unhold = gpio_pad_unhold ); +PROVIDE ( esp_rom_gpio_connect_in_signal = gpio_matrix_in ); +PROVIDE ( esp_rom_gpio_connect_out_signal = gpio_matrix_out ); + +PROVIDE ( esp_rom_efuse_mac_address_crc8 = esp_crc8 ); +PROVIDE ( esp_rom_efuse_get_flash_gpio_info = ets_efuse_get_spiconfig ); +PROVIDE ( esp_rom_efuse_is_secure_boot_enabled = ets_efuse_secure_boot_enabled ); + +PROVIDE ( esp_rom_uart_flush_tx = uart_tx_flush ); +PROVIDE ( esp_rom_uart_tx_one_char = uart_tx_one_char ); +PROVIDE ( esp_rom_uart_tx_wait_idle = uart_tx_wait_idle ); +PROVIDE ( esp_rom_uart_rx_one_char = uart_rx_one_char ); +PROVIDE ( esp_rom_uart_rx_string = UartRxString ); +PROVIDE ( esp_rom_uart_set_as_console = uart_tx_switch ); +PROVIDE ( esp_rom_uart_putc = ets_write_char_uart ); +PROVIDE ( esp_rom_uart_switch_buffer = uart_buff_switch ); + +PROVIDE ( esp_rom_output_flush_tx = uart_tx_flush ); +PROVIDE ( esp_rom_output_tx_one_char = uart_tx_one_char ); +PROVIDE ( esp_rom_output_tx_wait_idle = uart_tx_wait_idle ); +PROVIDE ( esp_rom_output_rx_one_char = uart_rx_one_char ); +PROVIDE ( esp_rom_output_rx_string = UartRxString ); +PROVIDE ( esp_rom_output_set_as_console = uart_tx_switch ); +PROVIDE ( esp_rom_output_putc = ets_write_char_uart ); +PROVIDE ( esp_rom_output_switch_buffer = uart_buff_switch ); + +/* wpa_supplicant re-implements the MD5 functions: MD5Init, MD5Update, MD5Final */ +/* so here we directly assign the symbols with the ROM API address */ +PROVIDE ( esp_rom_md5_init = 0x4005da7c ); +PROVIDE ( esp_rom_md5_update = 0x4005da9c ); +PROVIDE ( esp_rom_md5_final = 0x4005db1c ); + +PROVIDE ( esp_rom_software_reset_system = software_reset ); +PROVIDE ( esp_rom_software_reset_cpu = software_reset_cpu ); + +PROVIDE ( esp_rom_printf = ets_printf ); +PROVIDE ( esp_rom_delay_us = ets_delay_us ); +PROVIDE ( esp_rom_install_uart_printf = ets_install_uart_printf ); +PROVIDE ( esp_rom_get_reset_reason = rtc_get_reset_reason ); +PROVIDE ( esp_rom_route_intr_matrix = intr_matrix_set ); +PROVIDE ( esp_rom_get_cpu_ticks_per_us = ets_get_cpu_frequency ); + +PROVIDE ( esp_rom_spiflash_set_bp = esp_rom_spiflash_lock ); +PROVIDE ( esp_rom_spiflash_write_enable = SPI_write_enable); + +PROVIDE ( esp_rom_regi2c_read = rom_i2c_readReg ); +PROVIDE ( esp_rom_regi2c_read_mask = rom_i2c_readReg_Mask ); +PROVIDE ( esp_rom_regi2c_write = rom_i2c_writeReg ); +PROVIDE ( esp_rom_regi2c_write_mask = rom_i2c_writeReg_Mask ); diff --git a/esp-hal/ld/esp32/rom/esp32.rom.eco3.ld b/esp-hal/ld/esp32/rom/esp32.rom.eco3.ld new file mode 100644 index 000000000..73d5b549d --- /dev/null +++ b/esp-hal/ld/esp32/rom/esp32.rom.eco3.ld @@ -0,0 +1,10 @@ +/* +ESP32 ECO3 ROM address table +Secure Boot Version 2 API's imported from the ROM +*/ +PROVIDE ( ets_secure_boot_verify_signature = 0x4006543c); +PROVIDE ( ets_secure_boot_verify_boot_bootloader = 0x400655ec); +PROVIDE ( ets_use_secure_boot_v2 = 0x4000f8d4); +PROVIDE ( ets_rsa_pss_verify = 0x40065310); +PROVIDE ( ets_mgf1_sha256 = 0x400651a8); +PROVIDE ( ets_emsa_pss_verify = 0x4006520c); diff --git a/esp-hal/ld/esp32/rom/esp32.rom.ld b/esp-hal/ld/esp32/rom/esp32.rom.ld new file mode 100644 index 000000000..b47c3140b --- /dev/null +++ b/esp-hal/ld/esp32/rom/esp32.rom.ld @@ -0,0 +1,1635 @@ +/* +ESP32 ROM address table +Generated for ROM with MD5sum: +ab8282ae908fe9e7a63fb2a4ac2df013 ../../rom_image/prorom.elf +*/ +PROVIDE ( Add2SelfBigHex256 = 0x40015b7c ); +PROVIDE ( AddBigHex256 = 0x40015b28 ); +PROVIDE ( AddBigHexModP256 = 0x40015c98 ); +PROVIDE ( AddP256 = 0x40015c74 ); +PROVIDE ( AddPdiv2_256 = 0x40015ce0 ); +PROVIDE ( app_gpio_arg = 0x3ffe003c ); +PROVIDE ( app_gpio_handler = 0x3ffe0040 ); +PROVIDE ( BasePoint_x_256 = 0x3ff97488 ); +PROVIDE ( BasePoint_y_256 = 0x3ff97468 ); +PROVIDE ( bigHexInversion256 = 0x400168f0 ); +PROVIDE ( bigHexP256 = 0x3ff973bc ); +PROVIDE ( btdm_r_ble_bt_handler_tab_p_get = 0x40019b0c ); +PROVIDE ( btdm_r_btdm_option_data_p_get = 0x40010004 ); +PROVIDE ( btdm_r_btdm_rom_version_get = 0x40010078 ); +PROVIDE ( btdm_r_data_init = 0x4001002c ); +PROVIDE ( btdm_r_import_rf_phy_func_p_get = 0x40054298 ); +PROVIDE ( btdm_r_ip_func_p_get = 0x40019af0 ); +PROVIDE ( btdm_r_ip_func_p_set = 0x40019afc ); +PROVIDE ( btdm_r_modules_func_p_get = 0x4005427c ); +PROVIDE ( btdm_r_modules_func_p_set = 0x40054270 ); +PROVIDE ( btdm_r_plf_func_p_set = 0x40054288 ); +PROVIDE ( bt_util_buf_env = 0x3ffb8bd4 ); +PROVIDE ( cache_flash_mmu_set_rom = 0x400095e0 ); +PROVIDE ( Cache_Flush_rom = 0x40009a14 ); +PROVIDE ( Cache_Read_Disable_rom = 0x40009ab8 ); +PROVIDE ( Cache_Read_Enable_rom = 0x40009a84 ); +PROVIDE ( Cache_Read_Init_rom = 0x40009950 ); +PROVIDE ( cache_sram_mmu_set_rom = 0x400097f4 ); +/* This is static function, but can be used, not generated by script*/ +PROVIDE ( calc_rtc_memory_crc = 0x40008170 ); +PROVIDE ( __clear_cache = 0x40063860 ); +PROVIDE ( co_default_bdaddr = 0x3ffae704 ); +PROVIDE ( co_null_bdaddr = 0x3ffb80e0 ); +PROVIDE ( co_sca2ppm = 0x3ff971e8 ); +PROVIDE ( crc16_be = 0x4005d09c ); +PROVIDE ( crc16_le = 0x4005d05c ); +PROVIDE ( crc32_be = 0x4005d024 ); +PROVIDE ( crc32_le = 0x4005cfec ); +PROVIDE ( crc8_be = 0x4005d114 ); +PROVIDE ( crc8_le = 0x4005d0e0 ); +PROVIDE ( _data_end_rom = 0x4000d5c8 ); +PROVIDE ( _data_end_btdm_rom = 0x4000d4f8 ); +PROVIDE ( _data_start_rom = 0x4000d4f8 ); +PROVIDE ( _data_start_btdm_rom = 0x4000d4f4 ); +PROVIDE ( _data_start_btdm = 0x3ffae6e0); +PROVIDE ( _data_end_btdm = 0x3ffaff10); +PROVIDE ( _bss_start_btdm = 0x3ffb8000); +PROVIDE ( _bss_end_btdm = 0x3ffbff70); +PROVIDE ( dbg_default_handler = 0x3ff97218 ); +PROVIDE ( dbg_default_state = 0x3ff97220 ); +PROVIDE ( dbg_state = 0x3ffb8d5d ); +PROVIDE ( DebugE256PublicKey_x = 0x3ff97428 ); +PROVIDE ( DebugE256PublicKey_y = 0x3ff97408 ); +PROVIDE ( DebugE256SecretKey = 0x3ff973e8 ); +PROVIDE ( debug_timer = 0x3ffe042c ); +PROVIDE ( debug_timerfn = 0x3ffe0430 ); +PROVIDE ( dh_group14_generator = 0x3ff9ac60 ); +PROVIDE ( dh_group14_prime = 0x3ff9ab60 ); +PROVIDE ( dh_group15_generator = 0x3ff9ab5f ); +PROVIDE ( dh_group15_prime = 0x3ff9a9df ); +PROVIDE ( dh_group16_generator = 0x3ff9a9de ); +PROVIDE ( dh_group16_prime = 0x3ff9a7de ); +PROVIDE ( dh_group17_generator = 0x3ff9a7dd ); +PROVIDE ( dh_group17_prime = 0x3ff9a4dd ); +PROVIDE ( dh_group18_generator = 0x3ff9a4dc ); +PROVIDE ( dh_group18_prime = 0x3ff9a0dc ); +PROVIDE ( dh_group1_generator = 0x3ff9ae03 ); +PROVIDE ( dh_group1_prime = 0x3ff9ada3 ); +PROVIDE ( dh_group2_generator = 0x3ff9ada2 ); +PROVIDE ( dh_group2_prime = 0x3ff9ad22 ); +PROVIDE ( dh_group5_generator = 0x3ff9ad21 ); +PROVIDE ( dh_group5_prime = 0x3ff9ac61 ); +PROVIDE ( g_rom_spiflash_dummy_len_plus = 0x3ffae290 ); +PROVIDE ( ecc_env = 0x3ffb8d60 ); +PROVIDE ( ecc_Jacobian_InfinityPoint256 = 0x3ff972e8 ); +PROVIDE ( em_buf_env = 0x3ffb8d74 ); +PROVIDE ( esp_crc8 = 0x4005d144 ); +PROVIDE ( _etext = 0x4000d66c ); +PROVIDE ( ets_readySet_ = 0x3ffe01f0 ); +PROVIDE ( ets_startup_callback = 0x3ffe0404 ); +PROVIDE ( rwip_coex_cfg = 0x3ff9914c ); +PROVIDE ( rwip_priority = 0x3ff99159 ); +PROVIDE ( exc_cause_table = 0x3ff991d0 ); +PROVIDE ( GF_Jacobian_Point_Addition256 = 0x400163a4 ); +PROVIDE ( GF_Jacobian_Point_Double256 = 0x40016260 ); +PROVIDE ( GF_Point_Jacobian_To_Affine256 = 0x40016b0c ); +PROVIDE ( g_phyFuns_instance = 0x3ffae0c4 ); +PROVIDE ( g_rom_flashchip = 0x3ffae270 ); +PROVIDE ( gTxMsg = 0x3ffe0050 ); +PROVIDE ( hci_cmd_desc_root_tab = 0x3ff976d4 ); +PROVIDE ( hci_cmd_desc_tab_ctrl_bb = 0x3ff97b70 ); +PROVIDE ( hci_cmd_desc_tab_info_par = 0x3ff97b1c ); +PROVIDE ( hci_cmd_desc_tab_le = 0x3ff97870 ); +PROVIDE ( hci_cmd_desc_tab_lk_ctrl = 0x3ff97fc0 ); +PROVIDE ( hci_cmd_desc_tab_lk_pol = 0x3ff97f3c ); +PROVIDE ( hci_cmd_desc_tab_stat_par = 0x3ff97ac8 ); +PROVIDE ( hci_cmd_desc_tab_testing = 0x3ff97a98 ); +PROVIDE ( hci_cmd_desc_tab_vs = 0x3ff97714 ); +PROVIDE ( hci_command_handler = 0x4004c928 ); +PROVIDE ( hci_env = 0x3ffb9350 ); +PROVIDE ( rwip_env = 0x3ffb8bcc ); +PROVIDE ( hci_evt_dbg_desc_tab = 0x3ff9750c ); +PROVIDE ( hci_evt_desc_tab = 0x3ff9751c ); +PROVIDE ( hci_evt_le_desc_tab = 0x3ff974b4 ); +PROVIDE ( hci_fc_env = 0x3ffb9340 ); +PROVIDE ( jd_decomp = 0x400613e8 ); +PROVIDE ( jd_prepare = 0x40060fa8 ); +PROVIDE ( ke_env = 0x3ffb93cc ); +PROVIDE ( ke_handler_search = 0x4001a430 ); +PROVIDE ( ke_task_env = 0x3ffb81d4 ); +PROVIDE ( ke_event_env = 0x3ffb81a4 ); +PROVIDE ( lb_default_handler = 0x3ff982b8 ); +PROVIDE ( lb_default_state_tab_p_get = 0x4001c198 ); +PROVIDE ( lb_env = 0x3ffb9424 ); +PROVIDE ( lb_hci_cmd_handler_tab_p_get = 0x4001c18c ); +PROVIDE ( lb_state = 0x3ffb94e8 ); +PROVIDE ( lc_default_handler = 0x3ff98648 ); +PROVIDE ( lc_default_state_tab_p_get = 0x4002f494 ); +PROVIDE ( lc_env = 0x3ffb94ec ); +PROVIDE ( lc_hci_cmd_handler_tab_p_get = 0x4002f488 ); +PROVIDE ( lc_state = 0x3ffb9508 ); +PROVIDE ( ld_acl_br_sizes = 0x3ff98a2a ); +PROVIDE ( ld_acl_br_types = 0x3ff98a36 ); +PROVIDE ( ld_acl_edr_sizes = 0x3ff98a14 ); +PROVIDE ( ld_acl_edr_types = 0x3ff98a22 ); +PROVIDE ( ld_env = 0x3ffb9510 ); +PROVIDE ( ld_pcm_settings_dft = 0x3ff98a0c ); +PROVIDE ( ld_sched_params = 0x3ffb96c0 ); +PROVIDE ( ld_sync_train_channels = 0x3ff98a3c ); +PROVIDE ( llc_default_handler = 0x3ff98b3c ); +PROVIDE ( llc_default_state_tab_p_get = 0x40046058 ); +PROVIDE ( llc_env = 0x3ffb96d0 ); +PROVIDE ( llc_hci_acl_data_tx_handler = 0x40042398 ); +PROVIDE ( llc_hci_cmd_handler_tab_p_get = 0x40042358 ); +PROVIDE ( llc_hci_command_handler = 0x40042360 ); +PROVIDE ( llcp_pdu_handler_tab_p_get = 0x40043f64 ); +PROVIDE ( llc_state = 0x3ffb96f8 ); +PROVIDE ( lldesc_build_chain = 0x4000a850 ); +PROVIDE ( lldesc_num2link = 0x4000a948 ); +PROVIDE ( lldesc_set_owner = 0x4000a974 ); +PROVIDE ( lld_evt_deferred_elt_push = 0x400466b4 ); +PROVIDE ( lld_evt_deferred_elt_pop = 0x400466dc ); +PROVIDE ( lld_evt_winsize_change = 0x40046730 ); +PROVIDE ( lld_evt_rxwin_compute = 0x400467c8 ); +PROVIDE ( lld_evt_slave_time_compute = 0x40046818 ); +PROVIDE ( lld_evt_env = 0x3ffb9704 ); +PROVIDE ( lld_evt_elt_wait_get = 0x400468e4 ); +PROVIDE ( lld_evt_get_next_free_slot = 0x4004692c ); +PROVIDE ( lld_pdu_adv_pk_desc_tab = 0x3ff98c70 ); +PROVIDE ( lld_pdu_llcp_pk_desc_tab = 0x3ff98b68 ); +PROVIDE ( lld_pdu_tx_flush_list = 0x4004a760 ); +PROVIDE ( lld_pdu_pack = 0x4004ab14 ); +PROVIDE ( LLM_AA_CT1 = 0x3ff98d8a ); +PROVIDE ( LLM_AA_CT2 = 0x3ff98d88 ); +PROVIDE ( llm_default_handler = 0x3ff98d80 ); +PROVIDE ( llm_default_state_tab_p_get = 0x4004e718 ); +PROVIDE ( llm_hci_cmd_handler_tab_p_get = 0x4004c920 ); +PROVIDE ( llm_le_env = 0x3ffb976c ); +PROVIDE ( llm_local_cmds = 0x3ff98d38 ); +PROVIDE ( llm_local_data_len_values = 0x3ff98d1c ); +PROVIDE ( llm_local_le_feats = 0x3ff98d30 ); +PROVIDE ( llm_local_le_states = 0x3ff98d28 ); +PROVIDE ( llm_state = 0x3ffb985c ); +PROVIDE ( lm_default_handler = 0x3ff990e0 ); +PROVIDE ( lm_default_state_tab_p_get = 0x40054268 ); +PROVIDE ( lm_env = 0x3ffb9860 ); +PROVIDE ( lm_hci_cmd_handler_tab_p_get = 0x4005425c ); +PROVIDE ( lm_local_supp_feats = 0x3ff990ee ); +PROVIDE ( lm_n_page_tab = 0x3ff990e8 ); +PROVIDE ( lmp_desc_tab = 0x3ff96e6c ); +PROVIDE ( lmp_ext_desc_tab = 0x3ff96d9c ); +PROVIDE ( lm_state = 0x3ffb9a1c ); +PROVIDE ( maxSecretKey_256 = 0x3ff97448 ); +PROVIDE ( mmu_init = 0x400095a4 ); +PROVIDE ( MultiplyBigHexByUint32_256 = 0x40016214 ); +PROVIDE ( MultiplyBigHexModP256 = 0x400160b8 ); +PROVIDE ( MultiplyByU32ModP256 = 0x40015fdc ); +PROVIDE ( multofup = 0x4000ab8c ); +PROVIDE ( mz_adler32 = 0x4005edbc ); +PROVIDE ( mz_crc32 = 0x4005ee88 ); +PROVIDE ( mz_free = 0x4005eed4 ); +PROVIDE ( notEqual256 = 0x40015b04 ); +PROVIDE ( one_bits = 0x3ff971f8 ); +PROVIDE ( phy_get_romfuncs = 0x40004100 ); +PROVIDE ( _Pri_4_HandlerAddress = 0x3ffe0648 ); +PROVIDE ( _Pri_5_HandlerAddress = 0x3ffe064c ); +PROVIDE ( r_btdm_option_data = 0x3ffae6e0 ); +PROVIDE ( r_bt_util_buf_acl_rx_alloc = 0x40010218 ); +PROVIDE ( r_bt_util_buf_acl_rx_free = 0x40010234 ); +PROVIDE ( r_bt_util_buf_acl_tx_alloc = 0x40010268 ); +PROVIDE ( r_bt_util_buf_acl_tx_free = 0x40010280 ); +PROVIDE ( r_bt_util_buf_init = 0x400100e4 ); +PROVIDE ( r_bt_util_buf_lmp_tx_alloc = 0x400101d0 ); +PROVIDE ( r_bt_util_buf_lmp_tx_free = 0x400101ec ); +PROVIDE ( r_bt_util_buf_sync_clear = 0x400103c8 ); +PROVIDE ( r_bt_util_buf_sync_init = 0x400102c4 ); +PROVIDE ( r_bt_util_buf_sync_rx_alloc = 0x40010468 ); +PROVIDE ( r_bt_util_buf_sync_rx_free = 0x4001049c ); +PROVIDE ( r_bt_util_buf_sync_tx_alloc = 0x400103ec ); +PROVIDE ( r_bt_util_buf_sync_tx_free = 0x40010428 ); +PROVIDE ( r_co_bdaddr_compare = 0x40014324 ); +PROVIDE ( r_co_bytes_to_string = 0x400142e4 ); +PROVIDE ( r_co_list_check_size_available = 0x400142c4 ); +PROVIDE ( r_co_list_extract = 0x4001404c ); +PROVIDE ( r_co_list_extract_after = 0x40014118 ); +PROVIDE ( r_co_list_find = 0x4001419c ); +PROVIDE ( r_co_list_init = 0x40013f14 ); +PROVIDE ( r_co_list_insert_after = 0x40014254 ); +PROVIDE ( r_co_list_insert_before = 0x40014200 ); +PROVIDE ( r_co_list_merge = 0x400141bc ); +PROVIDE ( r_co_list_pool_init = 0x40013f30 ); +PROVIDE ( r_co_list_pop_front = 0x40014028 ); +PROVIDE ( r_co_list_push_back = 0x40013fb8 ); +PROVIDE ( r_co_list_push_front = 0x40013ff4 ); +PROVIDE ( r_co_list_size = 0x400142ac ); +PROVIDE ( r_co_nb_good_channels = 0x40014360 ); +PROVIDE ( r_co_slot_to_duration = 0x40014348 ); +PROVIDE ( r_dbg_init = 0x40014394 ); +PROVIDE ( r_dbg_platform_reset_complete = 0x400143d0 ); +PROVIDE ( r_dbg_swdiag_init = 0x40014470 ); +PROVIDE ( r_dbg_swdiag_read = 0x400144a4 ); +PROVIDE ( r_dbg_swdiag_write = 0x400144d0 ); +PROVIDE ( r_E1 = 0x400108e8 ); +PROVIDE ( r_E21 = 0x40010968 ); +PROVIDE ( r_E22 = 0x400109b4 ); +PROVIDE ( r_E3 = 0x40010a58 ); +PROVIDE ( lm_n192_mod_mul = 0x40011dc0 ); +PROVIDE ( lm_n192_mod_add = 0x40011e9c ); +PROVIDE ( lm_n192_mod_sub = 0x40011eec ); +PROVIDE ( r_ea_alarm_clear = 0x40015ab4 ); +PROVIDE ( r_ea_alarm_set = 0x40015a10 ); +PROVIDE ( r_ea_elt_cancel = 0x400150d0 ); +PROVIDE ( r_ea_elt_create = 0x40015264 ); +PROVIDE ( r_ea_elt_insert = 0x400152a8 ); +PROVIDE ( r_ea_elt_remove = 0x400154f0 ); +PROVIDE ( r_ea_finetimer_isr = 0x400155d4 ); +PROVIDE ( r_ea_init = 0x40015228 ); +PROVIDE ( r_ea_interval_create = 0x4001555c ); +PROVIDE ( r_ea_interval_delete = 0x400155a8 ); +PROVIDE ( r_ea_interval_duration_req = 0x4001597c ); +PROVIDE ( r_ea_interval_insert = 0x4001557c ); +PROVIDE ( r_ea_interval_remove = 0x40015590 ); +PROVIDE ( ea_conflict_check = 0x40014e9c ); +PROVIDE ( ea_prog_timer = 0x40014f88 ); +PROVIDE ( r_ea_offset_req = 0x40015748 ); +PROVIDE ( r_ea_sleep_check = 0x40015928 ); +PROVIDE ( r_ea_sw_isr = 0x40015724 ); +PROVIDE ( r_ea_time_get_halfslot_rounded = 0x40015894 ); +PROVIDE ( r_ea_time_get_slot_rounded = 0x400158d4 ); +PROVIDE ( r_ecc_abort_key256_generation = 0x40017070 ); +PROVIDE ( r_ecc_generate_key256 = 0x40016e00 ); +PROVIDE ( r_ecc_gen_new_public_key = 0x400170c0 ); +PROVIDE ( r_ecc_gen_new_secret_key = 0x400170e4 ); +PROVIDE ( r_ecc_get_debug_Keys = 0x40017224 ); +PROVIDE ( r_ecc_init = 0x40016dbc ); +PROVIDE ( ecc_point_multiplication_uint8_256 = 0x40016804); +PROVIDE ( RecvBuff = 0x3ffe009c ); +PROVIDE ( r_em_buf_init = 0x4001729c ); +PROVIDE ( r_em_buf_rx_buff_addr_get = 0x400173e8 ); +PROVIDE ( r_em_buf_rx_free = 0x400173c4 ); +PROVIDE ( r_em_buf_tx_buff_addr_get = 0x40017404 ); +PROVIDE ( r_em_buf_tx_free = 0x4001741c ); +PROVIDE ( r_F1_256 = 0x400133e4 ); +PROVIDE ( r_F2_256 = 0x40013568 ); +PROVIDE ( r_F3_256 = 0x40013664 ); +PROVIDE ( RFPLL_ICP_TABLE = 0x3ffb8b7c ); +PROVIDE ( r_G_256 = 0x40013470 ); +PROVIDE ( r_H3 = 0x40013760 ); +PROVIDE ( r_H4 = 0x40013830 ); +PROVIDE ( r_h4tl_init = 0x40017878 ); +PROVIDE ( r_h4tl_start = 0x40017924 ); +PROVIDE ( r_h4tl_stop = 0x40017934 ); +PROVIDE ( r_h4tl_write = 0x400178d0 ); +PROVIDE ( r_H5 = 0x400138dc ); +PROVIDE ( r_hashConcat = 0x40013a38 ); +PROVIDE ( r_hci_acl_tx_data_alloc = 0x4001951c ); +PROVIDE ( r_hci_acl_tx_data_received = 0x40019654 ); +PROVIDE ( r_hci_bt_acl_bdaddr_register = 0x40018900 ); +PROVIDE ( r_hci_bt_acl_bdaddr_unregister = 0x400189ac ); +PROVIDE ( r_hci_bt_acl_conhdl_register = 0x4001895c ); +PROVIDE ( r_hci_cmd_get_max_param_size = 0x400192d0 ); +PROVIDE ( r_hci_cmd_received = 0x400192f8 ); +PROVIDE ( r_hci_evt_filter_add = 0x40018a64 ); +PROVIDE ( r_hci_evt_mask_set = 0x400189e4 ); +PROVIDE ( r_hci_fc_acl_buf_size_set = 0x40017988 ); +PROVIDE ( r_hci_fc_acl_en = 0x400179d8 ); +PROVIDE ( r_hci_fc_acl_packet_sent = 0x40017a3c ); +PROVIDE ( r_hci_fc_check_host_available_nb_acl_packets = 0x40017aa4 ); +PROVIDE ( r_hci_fc_check_host_available_nb_sync_packets = 0x40017ac8 ); +PROVIDE ( r_hci_fc_host_nb_acl_pkts_complete = 0x40017a6c ); +PROVIDE ( r_hci_fc_host_nb_sync_pkts_complete = 0x40017a88 ); +PROVIDE ( r_hci_fc_init = 0x40017974 ); +PROVIDE ( r_hci_fc_sync_buf_size_set = 0x400179b0 ); +PROVIDE ( r_hci_fc_sync_en = 0x40017a30 ); +PROVIDE ( r_hci_fc_sync_packet_sent = 0x40017a54 ); +PROVIDE ( r_hci_init = 0x40018538 ); +PROVIDE ( r_hci_look_for_cmd_desc = 0x40018454 ); +PROVIDE ( r_hci_look_for_dbg_evt_desc = 0x400184c4 ); +PROVIDE ( r_hci_look_for_evt_desc = 0x400184a0 ); +PROVIDE ( r_hci_look_for_le_evt_desc = 0x400184e0 ); +PROVIDE ( r_hci_reset = 0x4001856c ); +PROVIDE ( r_hci_send_2_host = 0x400185bc ); +PROVIDE ( r_hci_sync_tx_data_alloc = 0x40019754 ); +PROVIDE ( r_hci_sync_tx_data_received = 0x400197c0 ); +PROVIDE ( r_hci_tl_init = 0x40019290 ); +PROVIDE ( r_hci_tl_send = 0x40019228 ); +PROVIDE ( r_hci_util_pack = 0x40019874 ); +PROVIDE ( r_hci_util_unpack = 0x40019998 ); +PROVIDE ( r_hci_voice_settings_get = 0x40018bdc ); +PROVIDE ( r_hci_voice_settings_set = 0x40018be8 ); +PROVIDE ( r_HMAC = 0x40013968 ); +PROVIDE ( r_import_rf_phy_func = 0x3ffb8354 ); +PROVIDE ( r_import_rf_phy_func_p = 0x3ffafd64 ); +PROVIDE ( r_ip_funcs = 0x3ffae710 ); +PROVIDE ( r_ip_funcs_p = 0x3ffae70c ); +PROVIDE ( r_ke_check_malloc = 0x40019de0 ); +PROVIDE ( r_ke_event_callback_set = 0x40019ba8 ); +PROVIDE ( r_ke_event_clear = 0x40019c2c ); +PROVIDE ( r_ke_event_flush = 0x40019ccc ); +PROVIDE ( r_ke_event_get = 0x40019c78 ); +PROVIDE ( r_ke_event_get_all = 0x40019cc0 ); +PROVIDE ( r_ke_event_init = 0x40019b90 ); +PROVIDE ( r_ke_event_schedule = 0x40019cdc ); +PROVIDE ( r_ke_event_set = 0x40019be0 ); +PROVIDE ( r_ke_flush = 0x4001a374 ); +PROVIDE ( r_ke_free = 0x4001a014 ); +PROVIDE ( r_ke_get_max_mem_usage = 0x4001a1c8 ); +PROVIDE ( r_ke_get_mem_usage = 0x4001a1a0 ); +PROVIDE ( r_ke_init = 0x4001a318 ); +PROVIDE ( r_ke_is_free = 0x4001a184 ); +PROVIDE ( r_ke_malloc = 0x40019eb4 ); +PROVIDE ( r_ke_mem_init = 0x40019d3c ); +PROVIDE ( r_ke_mem_is_empty = 0x40019d8c ); +PROVIDE ( r_ke_msg_alloc = 0x4001a1e0 ); +PROVIDE ( r_ke_msg_dest_id_get = 0x4001a2e0 ); +PROVIDE ( r_ke_msg_discard = 0x4001a850 ); +PROVIDE ( r_ke_msg_forward = 0x4001a290 ); +PROVIDE ( r_ke_msg_forward_new_id = 0x4001a2ac ); +PROVIDE ( r_ke_msg_free = 0x4001a2cc ); +PROVIDE ( r_ke_msg_in_queue = 0x4001a2f8 ); +PROVIDE ( r_ke_msg_save = 0x4001a858 ); +PROVIDE ( r_ke_msg_send = 0x4001a234 ); +PROVIDE ( r_ke_msg_send_basic = 0x4001a26c ); +PROVIDE ( r_ke_msg_src_id_get = 0x4001a2ec ); +PROVIDE ( r_ke_queue_extract = 0x40055fd0 ); +PROVIDE ( r_ke_queue_insert = 0x40056020 ); +PROVIDE ( r_ke_sleep_check = 0x4001a3d8 ); +PROVIDE ( r_ke_state_get = 0x4001a7d8 ); +PROVIDE ( r_ke_state_set = 0x4001a6fc ); +PROVIDE ( r_ke_stats_get = 0x4001a3f0 ); +PROVIDE ( r_ke_task_check = 0x4001a8a4 ); +PROVIDE ( r_ke_task_create = 0x4001a674 ); +PROVIDE ( r_ke_task_delete = 0x4001a6c0 ); +PROVIDE ( r_ke_task_init = 0x4001a650 ); +PROVIDE ( r_ke_task_msg_flush = 0x4001a860 ); +PROVIDE ( r_ke_timer_active = 0x4001ac08 ); +PROVIDE ( r_ke_timer_adjust_all = 0x4001ac30 ); +PROVIDE ( r_ke_timer_clear = 0x4001ab90 ); +PROVIDE ( r_ke_timer_init = 0x4001aa9c ); +PROVIDE ( r_ke_timer_set = 0x4001aac0 ); +PROVIDE ( r_ke_timer_sleep_check = 0x4001ac50 ); +PROVIDE ( r_KPrimC = 0x40010ad4 ); +PROVIDE ( r_lb_clk_adj_activate = 0x4001ae70 ); +PROVIDE ( r_lb_clk_adj_id_get = 0x4001af14 ); +PROVIDE ( r_lb_clk_adj_period_update = 0x4001af20 ); +PROVIDE ( r_lb_init = 0x4001acd4 ); +PROVIDE ( r_lb_mst_key = 0x4001afc0 ); +PROVIDE ( r_lb_mst_key_cmp = 0x4001af74 ); +PROVIDE ( r_lb_mst_key_restart_enc = 0x4001b0d4 ); +PROVIDE ( r_lb_mst_start_act_bcst_enc = 0x4001b198 ); +PROVIDE ( r_lb_mst_stop_act_bcst_enc = 0x4001b24c ); +PROVIDE ( r_lb_reset = 0x4001ad38 ); +PROVIDE ( r_lb_send_lmp = 0x4001adbc ); +PROVIDE ( r_lb_send_pdu_clk_adj = 0x4001af3c ); +PROVIDE ( r_lb_util_get_csb_mode = 0x4001ada4 ); +PROVIDE ( r_lb_util_get_nb_broadcast = 0x4001ad80 ); +PROVIDE ( r_lb_util_get_res_lt_addr = 0x4001ad98 ); +PROVIDE ( r_lb_util_set_nb_broadcast = 0x4001ad8c ); +PROVIDE ( r_lc_afh_set = 0x4001cc74 ); +PROVIDE ( r_lc_afh_start = 0x4001d240 ); +PROVIDE ( r_lc_auth_cmp = 0x4001cd54 ); +PROVIDE ( r_lc_calc_link_key = 0x4001ce7c ); +PROVIDE ( r_lc_chg_pkt_type_cmp = 0x4001d038 ); +PROVIDE ( r_lc_chg_pkt_type_cont = 0x4001cfbc ); +PROVIDE ( r_lc_chg_pkt_type_retry = 0x4001d0ac ); +PROVIDE ( r_lc_chk_to = 0x4001d2a8 ); +PROVIDE ( r_lc_cmd_stat_send = 0x4001c914 ); +PROVIDE ( r_lc_comb_key_svr = 0x4001d30c ); +PROVIDE ( r_lc_con_cmp = 0x4001d44c ); +PROVIDE ( r_lc_con_cmp_evt_send = 0x4001d4fc ); +PROVIDE ( r_lc_conn_seq_done = 0x40021334 ); +PROVIDE ( r_lc_detach = 0x4002037c ); +PROVIDE ( r_lc_dhkey = 0x4001d564 ); +PROVIDE ( r_lc_enc_cmp = 0x4001d8bc ); +PROVIDE ( r_lc_enc_key_refresh = 0x4001d720 ); +PROVIDE ( r_lc_end_chk_colli = 0x4001d858 ); +PROVIDE ( r_lc_end_of_sniff_nego = 0x4001d9a4 ); +PROVIDE ( r_lc_enter_sniff_mode = 0x4001ddb8 ); +PROVIDE ( r_lc_epr_change_lk = 0x4001db38 ); +PROVIDE ( r_lc_epr_cmp = 0x4001da88 ); +PROVIDE ( r_lc_epr_resp = 0x4001e0b4 ); +PROVIDE ( r_lc_epr_rsw_cmp = 0x4001dd40 ); +PROVIDE ( r_lc_ext_feat = 0x40020d6c ); +PROVIDE ( r_lc_feat = 0x40020984 ); +PROVIDE ( r_lc_hl_connect = 0x400209e8 ); +PROVIDE ( r_lc_init = 0x4001c948 ); +PROVIDE ( r_lc_init_calc_f3 = 0x4001deb0 ); +PROVIDE ( r_lc_initiator_epr = 0x4001e064 ); +PROVIDE ( r_lc_init_passkey_loop = 0x4001dfc0 ); +PROVIDE ( r_lc_init_start_mutual_auth = 0x4001df60 ); +PROVIDE ( r_lc_key_exch_end = 0x4001e140 ); +PROVIDE ( r_lc_legacy_pair = 0x4001e1c0 ); +PROVIDE ( r_lc_local_switch = 0x4001e22c ); +PROVIDE ( r_lc_local_trans_mode = 0x4001e2e4 ); +PROVIDE ( r_lc_local_untrans_mode = 0x4001e3a0 ); +PROVIDE ( r_lc_loc_auth = 0x40020ecc ); +PROVIDE ( r_lc_locepr_lkref = 0x4001d648 ); +PROVIDE ( r_lc_locepr_rsw = 0x4001d5d0 ); +PROVIDE ( r_lc_loc_sniff = 0x40020a6c ); +PROVIDE ( r_lc_max_slot_mgt = 0x4001e410 ); +PROVIDE ( r_lc_mst_key = 0x4001e7c0 ); +PROVIDE ( r_lc_mst_qos_done = 0x4001ea80 ); +PROVIDE ( r_lc_mst_send_mst_key = 0x4001e8f4 ); +PROVIDE ( r_lc_mutual_auth_end = 0x4001e670 ); +PROVIDE ( r_lc_mutual_auth_end2 = 0x4001e4f4 ); +PROVIDE ( r_lc_packet_type = 0x40021038 ); +PROVIDE ( r_lc_pair = 0x40020ddc ); +PROVIDE ( r_lc_pairing_cont = 0x4001eafc ); +PROVIDE ( r_lc_passkey_comm = 0x4001ed20 ); +PROVIDE ( r_lc_prepare_all_links_for_clk_adj = 0x40021430 ); +PROVIDE ( r_lc_proc_rcv_dhkey = 0x4001edec ); +PROVIDE ( r_lc_ptt = 0x4001ee2c ); +PROVIDE ( r_lc_ptt_cmp = 0x4001eeec ); +PROVIDE ( r_lc_qos_setup = 0x4001ef50 ); +PROVIDE ( r_lc_rd_rem_name = 0x4001efd0 ); +PROVIDE ( r_lc_release = 0x4001f8a8 ); +PROVIDE ( r_lc_rem_enc = 0x4001f124 ); +PROVIDE ( r_lc_rem_name_cont = 0x4001f290 ); +PROVIDE ( r_lc_rem_nego_trans_mode = 0x4001f1b4 ); +PROVIDE ( r_lc_rem_sniff = 0x40020ca4 ); +PROVIDE ( r_lc_rem_sniff_sub_rate = 0x40020b10 ); +PROVIDE ( r_lc_rem_switch = 0x4001f070 ); +PROVIDE ( r_lc_rem_trans_mode = 0x4001f314 ); +PROVIDE ( r_lc_rem_unsniff = 0x400207a0 ); +PROVIDE ( r_lc_rem_untrans_mode = 0x4001f36c ); +PROVIDE ( r_lc_reset = 0x4001c99c ); +PROVIDE ( r_lc_resp_auth = 0x4001f518 ); +PROVIDE ( r_lc_resp_calc_f3 = 0x4001f710 ); +PROVIDE ( r_lc_resp_num_comp = 0x40020074 ); +PROVIDE ( r_lc_resp_oob_nonce = 0x4001f694 ); +PROVIDE ( r_lc_resp_oob_wait_nonce = 0x4001f66c ); +PROVIDE ( r_lc_resp_pair = 0x400208a4 ); +PROVIDE ( r_lc_resp_sec_auth = 0x4001f4a0 ); +PROVIDE ( r_lc_resp_wait_dhkey_cont = 0x4001f86c ); +PROVIDE ( r_lc_restart_enc = 0x4001f8ec ); +PROVIDE ( r_lc_restart_enc_cont = 0x4001f940 ); +PROVIDE ( r_lc_restore_afh_reporting = 0x4001f028 ); +PROVIDE ( r_lc_restore_to = 0x4001f9e0 ); +PROVIDE ( r_lc_ret_sniff_max_slot_chg = 0x4001fa30 ); +PROVIDE ( r_lc_rsw_clean_up = 0x4001dc70 ); +PROVIDE ( r_lc_rsw_done = 0x4001db94 ); +PROVIDE ( r_lc_sco_baseband_ack = 0x40022b00 ); +PROVIDE ( r_lc_sco_detach = 0x40021e40 ); +PROVIDE ( r_lc_sco_host_accept = 0x40022118 ); +PROVIDE ( r_lc_sco_host_reject = 0x400222b8 ); +PROVIDE ( r_lc_sco_host_request = 0x40021f4c ); +PROVIDE ( r_lc_sco_host_request_disc = 0x4002235c ); +PROVIDE ( r_lc_sco_init = 0x40021dc8 ); +PROVIDE ( r_lc_sco_peer_accept = 0x40022780 ); +PROVIDE ( r_lc_sco_peer_accept_disc = 0x40022a08 ); +PROVIDE ( r_lc_sco_peer_reject = 0x40022824 ); +PROVIDE ( r_lc_sco_peer_reject_disc = 0x40022a8c ); +PROVIDE ( r_lc_sco_peer_request = 0x4002240c ); +PROVIDE ( r_lc_sco_peer_request_disc = 0x400228ec ); +PROVIDE ( r_lc_sco_release = 0x40021eec ); +PROVIDE ( r_lc_sco_reset = 0x40021dfc ); +PROVIDE ( r_lc_sco_timeout = 0x40022bd4 ); +PROVIDE ( r_lc_sec_auth_compute_sres = 0x4001f3ec ); +PROVIDE ( r_lc_semi_key_cmp = 0x40020294 ); +PROVIDE ( r_lc_send_enc_chg_evt = 0x4002134c ); +PROVIDE ( r_lc_send_enc_mode = 0x40020220 ); +PROVIDE ( r_lc_send_lmp = 0x4001c1a8 ); +PROVIDE ( r_lc_send_pdu_acc = 0x4001c21c ); +PROVIDE ( r_lc_send_pdu_acc_ext4 = 0x4001c240 ); +PROVIDE ( r_lc_send_pdu_au_rand = 0x4001c308 ); +PROVIDE ( r_lc_send_pdu_auto_rate = 0x4001c5d0 ); +PROVIDE ( r_lc_send_pdu_clk_adj_ack = 0x4001c46c ); +PROVIDE ( r_lc_send_pdu_clk_adj_req = 0x4001c494 ); +PROVIDE ( r_lc_send_pdu_comb_key = 0x4001c368 ); +PROVIDE ( r_lc_send_pdu_dhkey_chk = 0x4001c8e8 ); +PROVIDE ( r_lc_send_pdu_encaps_head = 0x4001c440 ); +PROVIDE ( r_lc_send_pdu_encaps_payl = 0x4001c410 ); +PROVIDE ( r_lc_send_pdu_enc_key_sz_req = 0x4001c670 ); +PROVIDE ( r_lc_send_pdu_esco_lk_rem_req = 0x4001c5a8 ); +PROVIDE ( r_lc_send_pdu_feats_ext_req = 0x4001c6ec ); +PROVIDE ( r_lc_send_pdu_feats_res = 0x4001c694 ); +PROVIDE ( r_lc_send_pdu_in_rand = 0x4001c338 ); +PROVIDE ( r_lc_send_pdu_io_cap_res = 0x4001c72c ); +PROVIDE ( r_lc_send_pdu_lsto = 0x4001c64c ); +PROVIDE ( r_lc_send_pdu_max_slot = 0x4001c3c8 ); +PROVIDE ( r_lc_send_pdu_max_slot_req = 0x4001c3ec ); +PROVIDE ( r_lc_send_pdu_not_acc = 0x4001c26c ); +PROVIDE ( r_lc_send_pdu_not_acc_ext4 = 0x4001c294 ); +PROVIDE ( r_lc_send_pdu_num_comp_fail = 0x4001c770 ); +PROVIDE ( r_lc_send_pdu_pause_enc_aes_req = 0x4001c794 ); +PROVIDE ( r_lc_send_pdu_paus_enc_req = 0x4001c7c0 ); +PROVIDE ( r_lc_send_pdu_ptt_req = 0x4001c4c0 ); +PROVIDE ( r_lc_send_pdu_qos_req = 0x4001c82c ); +PROVIDE ( r_lc_send_pdu_resu_enc_req = 0x4001c7e4 ); +PROVIDE ( r_lc_send_pdu_sco_lk_rem_req = 0x4001c580 ); +PROVIDE ( r_lc_send_pdu_set_afh = 0x4001c2c8 ); +PROVIDE ( r_lc_send_pdu_setup_cmp = 0x4001c808 ); +PROVIDE ( r_lc_send_pdu_slot_off = 0x4001c854 ); +PROVIDE ( r_lc_send_pdu_sniff_req = 0x4001c5f0 ); +PROVIDE ( r_lc_send_pdu_sp_cfm = 0x4001c518 ); +PROVIDE ( r_lc_send_pdu_sp_nb = 0x4001c4e8 ); +PROVIDE ( r_lc_send_pdu_sres = 0x4001c548 ); +PROVIDE ( r_lc_send_pdu_tim_acc = 0x4001c6cc ); +PROVIDE ( r_lc_send_pdu_unit_key = 0x4001c398 ); +PROVIDE ( r_lc_send_pdu_unsniff_req = 0x4001c894 ); +PROVIDE ( r_lc_send_pdu_vers_req = 0x4001c8b4 ); +PROVIDE ( r_lc_skip_hl_oob_req = 0x400201bc ); +PROVIDE ( r_lc_sniff_init = 0x40022cac ); +PROVIDE ( r_lc_sniff_max_slot_chg = 0x40020590 ); +PROVIDE ( r_lc_sniff_reset = 0x40022cc8 ); +PROVIDE ( r_lc_sniff_slot_unchange = 0x40021100 ); +PROVIDE ( r_lc_sniff_sub_mode = 0x400204fc ); +PROVIDE ( r_lc_sp_end = 0x400213a8 ); +PROVIDE ( r_lc_sp_fail = 0x40020470 ); +PROVIDE ( r_lc_sp_oob_tid_fail = 0x400204cc ); +PROVIDE ( r_lc_ssr_nego = 0x4002125c ); +PROVIDE ( r_lc_start = 0x4001ca28 ); +PROVIDE ( r_lc_start_enc = 0x4001fb28 ); +PROVIDE ( r_lc_start_enc_key_size = 0x4001fd9c ); +PROVIDE ( r_lc_start_key_exch = 0x4001fe10 ); +PROVIDE ( r_lc_start_lmp_to = 0x4001fae8 ); +PROVIDE ( r_lc_start_oob = 0x4001fffc ); +PROVIDE ( r_lc_start_passkey = 0x4001feac ); +PROVIDE ( r_lc_start_passkey_loop = 0x4001ff88 ); +PROVIDE ( r_lc_stop_afh_report = 0x40020184 ); +PROVIDE ( r_lc_stop_enc = 0x40020110 ); +PROVIDE ( r_lc_switch_cmp = 0x40020448 ); +PROVIDE ( r_lc_unit_key_svr = 0x400206d8 ); +PROVIDE ( r_lc_unsniff = 0x40020c50 ); +PROVIDE ( r_lc_unsniff_cmp = 0x40020810 ); +PROVIDE ( r_lc_unsniff_cont = 0x40020750 ); +PROVIDE ( r_lc_upd_to = 0x4002065c ); +PROVIDE ( r_lc_util_convert_pref_rate_to_packet_type = 0x4002f9b0 ); +PROVIDE ( r_lc_util_get_max_packet_size = 0x4002f4ac ); +PROVIDE ( r_lc_util_get_offset_clke = 0x4002f538 ); +PROVIDE ( r_lc_util_get_offset_clkn = 0x4002f51c ); +PROVIDE ( r_lc_util_set_loc_trans_coll = 0x4002f500 ); +PROVIDE ( r_lc_version = 0x40020a30 ); +PROVIDE ( lc_set_encap_pdu_data_p192 = 0x4002e4c8 ); +PROVIDE ( lc_set_encap_pdu_data_p256 = 0x4002e454 ); +PROVIDE ( lm_get_auth_method = 0x40023420); +PROVIDE ( lmp_accepted_ext_handler = 0x40027290 ); +PROVIDE ( lmp_not_accepted_ext_handler = 0x40029c54 ); +PROVIDE ( lmp_clk_adj_handler = 0x40027468 ); +PROVIDE ( lmp_clk_adj_ack_handler = 0x400274f4 ); +PROVIDE ( lm_get_auth_method = 0x40023420); +PROVIDE ( lmp_accepted_ext_handler = 0x40027290 ); +PROVIDE ( lmp_not_accepted_ext_handler = 0x40029c54 ); +PROVIDE ( lmp_clk_adj_handler = 0x40027468 ); +PROVIDE ( lmp_clk_adj_ack_handler = 0x400274f4 ); +PROVIDE ( lmp_clk_adj_req_handler = 0x4002751c ); +PROVIDE ( lmp_feats_res_ext_handler = 0x4002cac4 ); +PROVIDE ( lmp_feats_req_ext_handler = 0x4002ccb0 ); +PROVIDE ( lmp_pkt_type_tbl_req_handler = 0x40027574 ); +PROVIDE ( lmp_esco_link_req_handler = 0x40027610 ); +PROVIDE ( lmp_rmv_esco_link_req_handler = 0x400276e8 ); +PROVIDE ( lmp_ch_class_req_handler = 0x40027730 ); +PROVIDE ( lmp_ch_class_handler = 0x4002ca18 ); +PROVIDE ( lmp_ssr_req_handler = 0x4002780c ); +PROVIDE ( lmp_ssr_res_handler = 0x40027900 ); +PROVIDE ( lmp_pause_enc_aes_req_handler = 0x400279a4 ); +PROVIDE ( lmp_pause_enc_req_handler = 0x4002df90 ); +PROVIDE ( lmp_resume_enc_req_handler = 0x4002e084 ); +PROVIDE ( lmp_num_comparison_fail_handler = 0x40027a74 ); +PROVIDE ( lmp_passkey_fail_handler = 0x40027aec ); +PROVIDE ( lmp_keypress_notif_handler = 0x4002c5c8 ); +PROVIDE ( lmp_pwr_ctrl_req_handler = 0x400263bc ); +PROVIDE ( lmp_pwr_ctrl_res_handler = 0x40026480 ); +PROVIDE ( lmp_auto_rate_handler = 0x40026548 ); +PROVIDE ( lmp_pref_rate_handler = 0x4002657c ); +PROVIDE ( lmp_name_req_handler = 0x40025050 ); +PROVIDE ( lmp_name_res_handler = 0x400250bc ); +PROVIDE ( lmp_not_accepted_handler = 0x400251d0 ); +PROVIDE ( lmp_accepted_handler = 0x4002e894 ); +PROVIDE ( lmp_clk_off_req_handler = 0x40025a44 ); +PROVIDE ( lmp_clk_off_res_handler = 0x40025ab8 ); +PROVIDE ( lmp_detach_handler = 0x40025b74 ); +PROVIDE ( lmp_tempkey_handler = 0x4002b6b0 ); +PROVIDE ( lmp_temprand_handler = 0x4002b74c ); +PROVIDE ( lmp_sres_handler = 0x4002b840 ); +PROVIDE ( lmp_aurand_handler = 0x4002bda0 ); +PROVIDE ( lmp_unitkey_handler = 0x4002c13c ); +PROVIDE ( lmp_combkey_handler = 0x4002c234 ); +PROVIDE ( lmp_inrand_handler = 0x4002c414 ); +PROVIDE ( lmp_oob_fail_handler = 0x40027b84 ); +PROVIDE ( lmp_ping_req_handler = 0x40027c08 ); +PROVIDE ( lmp_ping_res_handler = 0x40027c5c ); +PROVIDE ( lmp_enc_mode_req_handler = 0x40025c60 ); +PROVIDE ( lmp_enc_key_size_req_handler = 0x40025e54 ); +PROVIDE ( lmp_switch_req_handler = 0x40025f84 ); +PROVIDE ( lmp_start_enc_req_handler = 0x4002e124 ); +PROVIDE ( lmp_stop_enc_req_handler = 0x4002de30 ); +PROVIDE ( lmp_sniff_req_handler = 0x400260c8 ); +PROVIDE ( lmp_unsniff_req_handler = 0x400261e0 ); +PROVIDE ( lmp_incr_pwr_req_handler = 0x4002629c ); +PROVIDE ( lmp_decr_pwr_req_handler = 0x400262f8 ); +PROVIDE ( lmp_max_pwr_handler = 0x40026354 ); +PROVIDE ( lmp_min_pwr_handler = 0x40026388 ); +PROVIDE ( lmp_ver_req_handler = 0x400265f0 ); +PROVIDE ( lmp_ver_res_handler = 0x40026670 ); +PROVIDE ( lmp_qos_handler = 0x40026790 ); +PROVIDE ( lmp_qos_req_handler = 0x40026844 ); +PROVIDE ( lmp_sco_link_req_handler = 0x40026930 ); +PROVIDE ( lmp_rmv_sco_link_req_handler = 0x40026a10 ); +PROVIDE ( lmp_max_slot_handler = 0x40026a54 ); +PROVIDE ( lmp_max_slot_req_handler = 0x40026aac ); +PROVIDE ( lmp_timing_accu_req_handler = 0x40026b54 ); +PROVIDE ( lmp_timing_accu_res_handler = 0x40026bcc ); +PROVIDE ( lmp_setup_cmp_handler = 0x40026c84 ); +PROVIDE ( lmp_feats_res_handler = 0x4002b548 ); +PROVIDE ( lmp_feats_req_handler = 0x4002b620 ); +PROVIDE ( lmp_host_con_req_handler = 0x4002b3d8 ); +PROVIDE ( lmp_use_semi_perm_key_handler = 0x4002b4c4 ); +PROVIDE ( lmp_slot_off_handler = 0x40026cc8 ); +PROVIDE ( lmp_page_mode_req_handler = 0x40026d0c ); +PROVIDE ( lmp_page_scan_mode_req_handler = 0x40026d4c ); +PROVIDE ( lmp_supv_to_handler = 0x40026d94 ); +PROVIDE ( lmp_test_activate_handler = 0x40026e7c ); +PROVIDE ( lmp_test_ctrl_handler = 0x40026ee4 ); +PROVIDE ( lmp_enc_key_size_mask_req_handler = 0x40027038 ); +PROVIDE ( lmp_enc_key_size_mask_res_handler = 0x400270a4 ); +PROVIDE ( lmp_set_afh_handler = 0x4002b2e4 ); +PROVIDE ( lmp_encaps_hdr_handler = 0x40027120 ); +PROVIDE ( lmp_encaps_payl_handler = 0x4002e590 ); +PROVIDE ( lmp_sp_nb_handler = 0x4002acf0 ); +PROVIDE ( lmp_sp_cfm_handler = 0x4002b170 ); +PROVIDE ( lmp_dhkey_chk_handler = 0x4002ab48 ); +PROVIDE ( lmp_pause_enc_aes_req_handler = 0x400279a4 ); +PROVIDE ( lmp_io_cap_res_handler = 0x4002c670 ); +PROVIDE ( lmp_io_cap_req_handler = 0x4002c7a4 ); +PROVIDE ( lc_cmd_cmp_bd_addr_send = 0x4002cec4 ); +PROVIDE ( ld_acl_tx_packet_type_select = 0x4002fb40 ); +PROVIDE ( ld_acl_sched = 0x40033268 ); +PROVIDE ( ld_acl_sniff_sched = 0x4003340c ); +PROVIDE ( ld_acl_sniff_exit = 0x400312b4 ); +PROVIDE ( ld_acl_rx = 0x4003274c ); +PROVIDE ( ld_acl_tx = 0x4002ffdc ); +PROVIDE ( ld_acl_rx_sync = 0x4002fbec ); +PROVIDE ( ld_acl_rx_sync2 = 0x4002fd8c ); +PROVIDE ( ld_acl_rx_no_sync = 0x4002fe78 ); +PROVIDE ( ld_acl_clk_isr = 0x40030cf8 ); +PROVIDE ( ld_acl_rsw_frm_cbk = 0x40033bb0 ); +PROVIDE ( ld_sco_modify = 0x40031778 ); +PROVIDE ( lm_cmd_cmp_send = 0x40051838 ); +PROVIDE ( ld_sco_frm_cbk = 0x400349dc ); +PROVIDE ( ld_acl_sco_rsvd_check = 0x4002fa94 ); +PROVIDE ( ld_acl_sniff_frm_cbk = 0x4003482c ); +PROVIDE ( ld_inq_end = 0x4003ab48 ); +PROVIDE ( ld_inq_sched = 0x4003aba4 ); +PROVIDE ( ld_inq_frm_cbk = 0x4003ae4c ); +PROVIDE ( ld_pscan_frm_cbk = 0x4003ebe4 ); +PROVIDE ( r_ld_acl_active_hop_types_get = 0x40036e10 ); +PROVIDE ( r_ld_acl_afh_confirm = 0x40036d40 ); +PROVIDE ( r_ld_acl_afh_prepare = 0x40036c84 ); +PROVIDE ( r_ld_acl_afh_set = 0x40036b60 ); +PROVIDE ( r_ld_acl_allowed_tx_packet_types_set = 0x40036810 ); +PROVIDE ( r_ld_acl_bcst_rx_dec = 0x40036394 ); +PROVIDE ( r_ld_acl_bit_off_get = 0x40036b18 ); +PROVIDE ( r_ld_acl_clk_adj_set = 0x40036a00 ); +PROVIDE ( r_ld_acl_clk_off_get = 0x40036b00 ); +PROVIDE ( r_ld_acl_clk_set = 0x40036950 ); +PROVIDE ( r_ld_acl_clock_offset_get = 0x400364c0 ); +PROVIDE ( r_ld_acl_current_tx_power_get = 0x400368f0 ); +PROVIDE ( r_ld_acl_data_flush = 0x400357bc ); +PROVIDE ( r_ld_acl_data_tx = 0x4003544c ); +PROVIDE ( r_ld_acl_edr_set = 0x4003678c ); +PROVIDE ( r_ld_acl_enc_key_load = 0x40036404 ); +PROVIDE ( r_ld_acl_flow_off = 0x40035400 ); +PROVIDE ( r_ld_acl_flow_on = 0x4003541c ); +PROVIDE ( r_ld_acl_flush_timeout_get = 0x40035f9c ); +PROVIDE ( r_ld_acl_flush_timeout_set = 0x40035fe0 ); +PROVIDE ( r_ld_acl_init = 0x40034d08 ); +PROVIDE ( r_ld_acl_lmp_flush = 0x40035d80 ); +PROVIDE ( r_ld_acl_lmp_tx = 0x40035b34 ); +PROVIDE ( r_ld_acl_lsto_get = 0x400366b4 ); +PROVIDE ( r_ld_acl_lsto_set = 0x400366f8 ); +PROVIDE ( r_ld_acl_reset = 0x40034d24 ); +PROVIDE ( r_ld_acl_role_get = 0x40036b30 ); +PROVIDE ( r_ld_acl_rssi_delta_get = 0x40037028 ); +PROVIDE ( r_ld_acl_rsw_req = 0x40035e74 ); +PROVIDE ( r_ld_acl_rx_enc = 0x40036344 ); +PROVIDE ( r_ld_acl_rx_max_slot_get = 0x40036e58 ); +PROVIDE ( r_ld_acl_rx_max_slot_set = 0x40036ea0 ); +PROVIDE ( r_ld_acl_slot_offset_get = 0x4003653c ); +PROVIDE ( r_ld_acl_slot_offset_set = 0x40036658 ); +PROVIDE ( r_ld_acl_sniff = 0x4003617c ); +PROVIDE ( r_ld_acl_sniff_trans = 0x400360a8 ); +PROVIDE ( r_ld_acl_ssr_set = 0x40036274 ); +PROVIDE ( r_ld_acl_start = 0x40034ddc ); +PROVIDE ( r_ld_acl_stop = 0x4003532c ); +PROVIDE ( r_ld_acl_test_mode_set = 0x40036f24 ); +PROVIDE ( r_ld_acl_timing_accuracy_set = 0x4003673c ); +PROVIDE ( r_ld_acl_t_poll_get = 0x40036024 ); +PROVIDE ( r_ld_acl_t_poll_set = 0x40036068 ); +PROVIDE ( r_ld_acl_tx_enc = 0x400362f8 ); +PROVIDE ( ld_acl_frm_cbk = 0x40034414 ); +PROVIDE ( ld_acl_rsw_end = 0x40032bc0 ); +PROVIDE ( ld_acl_end = 0x40033140 ); +PROVIDE ( ld_acl_resched = 0x40033814 ); +PROVIDE ( ld_acl_test_mode_update = 0x40032050 ); +PROVIDE ( r_ld_acl_unsniff = 0x400361e0 ); +PROVIDE ( r_ld_active_check = 0x4003cac4 ); +PROVIDE ( r_ld_afh_ch_assess_data_get = 0x4003caec ); +PROVIDE ( r_ld_bcst_acl_data_tx = 0x40038d3c ); +PROVIDE ( r_ld_bcst_acl_init = 0x40038bd0 ); +PROVIDE ( r_ld_bcst_acl_reset = 0x40038bdc ); +PROVIDE ( r_ld_bcst_acl_start = 0x4003882c ); +PROVIDE ( r_ld_bcst_afh_update = 0x40038f3c ); +PROVIDE ( r_ld_bcst_enc_key_load = 0x4003906c ); +PROVIDE ( r_ld_bcst_lmp_tx = 0x40038bf8 ); +PROVIDE ( r_ld_bcst_tx_enc = 0x40038ff8 ); +PROVIDE ( r_ld_bd_addr_get = 0x4003ca20 ); +PROVIDE ( r_ld_channel_assess = 0x4003c184 ); +PROVIDE ( r_ld_class_of_dev_get = 0x4003ca34 ); +PROVIDE ( r_ld_class_of_dev_set = 0x4003ca50 ); +PROVIDE ( r_ld_csb_rx_afh_update = 0x40039af4 ); +PROVIDE ( r_ld_csb_rx_init = 0x40039690 ); +PROVIDE ( r_ld_csb_rx_reset = 0x4003969c ); +PROVIDE ( r_ld_csb_rx_start = 0x4003972c ); +PROVIDE ( r_ld_csb_rx_stop = 0x40039bb8 ); +PROVIDE ( r_ld_csb_tx_afh_update = 0x4003a5fc ); +PROVIDE ( r_ld_csb_tx_clr_data = 0x4003a71c ); +PROVIDE ( r_ld_csb_tx_dis = 0x4003a5e8 ); +PROVIDE ( r_ld_csb_tx_en = 0x4003a1c0 ); +PROVIDE ( r_ld_csb_tx_init = 0x4003a0e8 ); +PROVIDE ( r_ld_csb_tx_reset = 0x4003a0f8 ); +PROVIDE ( r_ld_csb_tx_set_data = 0x4003a6c0 ); +PROVIDE ( r_ld_fm_clk_isr = 0x4003a7a8 ); +PROVIDE ( r_ld_fm_frame_isr = 0x4003a82c ); +PROVIDE ( r_ld_fm_init = 0x4003a760 ); +PROVIDE ( r_ld_fm_prog_check = 0x4003ab28 ); +PROVIDE ( r_ld_fm_prog_disable = 0x4003a984 ); +PROVIDE ( r_ld_fm_prog_enable = 0x4003a944 ); +PROVIDE ( r_ld_fm_prog_push = 0x4003a9d4 ); +PROVIDE ( r_ld_fm_reset = 0x4003a794 ); +PROVIDE ( r_ld_fm_rx_isr = 0x4003a7f4 ); +PROVIDE ( r_ld_fm_sket_isr = 0x4003a8a4 ); +PROVIDE ( r_ld_init = 0x4003c294 ); +PROVIDE ( r_ld_inq_init = 0x4003b15c ); +PROVIDE ( r_ld_inq_reset = 0x4003b168 ); +PROVIDE ( r_ld_inq_start = 0x4003b1f0 ); +PROVIDE ( r_ld_inq_stop = 0x4003b4f0 ); +PROVIDE ( r_ld_iscan_eir_get = 0x4003c118 ); +PROVIDE ( r_ld_iscan_eir_set = 0x4003bfa0 ); +PROVIDE ( r_ld_iscan_init = 0x4003b9f0 ); +PROVIDE ( r_ld_iscan_reset = 0x4003ba14 ); +PROVIDE ( r_ld_iscan_restart = 0x4003ba44 ); +PROVIDE ( r_ld_iscan_start = 0x4003bb28 ); +PROVIDE ( r_ld_iscan_stop = 0x4003bf1c ); +PROVIDE ( r_ld_iscan_tx_pwr_get = 0x4003c138 ); +PROVIDE ( r_ld_page_init = 0x4003d808 ); +PROVIDE ( r_ld_page_reset = 0x4003d814 ); +PROVIDE ( r_ld_page_start = 0x4003d848 ); +PROVIDE ( r_ld_page_stop = 0x4003da54 ); +PROVIDE ( r_ld_pca_coarse_clock_adjust = 0x4003e324 ); +PROVIDE ( r_ld_pca_init = 0x4003deb4 ); +PROVIDE ( r_ld_pca_initiate_clock_dragging = 0x4003e4ac ); +PROVIDE ( r_ld_pca_local_config = 0x4003df6c ); +PROVIDE ( r_ld_pca_mws_frame_sync = 0x4003e104 ); +PROVIDE ( r_ld_pca_mws_moment_offset_gt = 0x4003e278 ); +PROVIDE ( r_ld_pca_mws_moment_offset_lt = 0x4003e280 ); +PROVIDE ( r_ld_pca_reporting_enable = 0x4003e018 ); +PROVIDE ( r_ld_pca_reset = 0x4003df0c ); +PROVIDE ( r_ld_pca_update_target_offset = 0x4003e050 ); +PROVIDE ( r_ld_pscan_evt_handler = 0x4003f238 ); +PROVIDE ( r_ld_pscan_init = 0x4003f474 ); +PROVIDE ( r_ld_pscan_reset = 0x4003f498 ); +PROVIDE ( r_ld_pscan_restart = 0x4003f4b8 ); +PROVIDE ( r_ld_pscan_start = 0x4003f514 ); +PROVIDE ( r_ld_pscan_stop = 0x4003f618 ); +PROVIDE ( r_ld_read_clock = 0x4003c9e4 ); +PROVIDE ( r_ld_reset = 0x4003c714 ); +PROVIDE ( r_ld_sched_acl_add = 0x4003f978 ); +PROVIDE ( r_ld_sched_acl_remove = 0x4003f99c ); +PROVIDE ( r_ld_sched_compute = 0x4003f6f8 ); +PROVIDE ( r_ld_sched_init = 0x4003f7ac ); +PROVIDE ( r_ld_sched_inq_add = 0x4003f8a8 ); +PROVIDE ( r_ld_sched_inq_remove = 0x4003f8d0 ); +PROVIDE ( r_ld_sched_iscan_add = 0x4003f7e8 ); +PROVIDE ( r_ld_sched_iscan_remove = 0x4003f808 ); +PROVIDE ( r_ld_sched_page_add = 0x4003f910 ); +PROVIDE ( r_ld_sched_page_remove = 0x4003f938 ); +PROVIDE ( r_ld_sched_pscan_add = 0x4003f828 ); +PROVIDE ( r_ld_sched_pscan_remove = 0x4003f848 ); +PROVIDE ( r_ld_sched_reset = 0x4003f7d4 ); +PROVIDE ( r_ld_sched_sco_add = 0x4003fa4c ); +PROVIDE ( r_ld_sched_sco_remove = 0x4003fa9c ); +PROVIDE ( r_ld_sched_sniff_add = 0x4003f9c4 ); +PROVIDE ( r_ld_sched_sniff_remove = 0x4003fa0c ); +PROVIDE ( r_ld_sched_sscan_add = 0x4003f868 ); +PROVIDE ( r_ld_sched_sscan_remove = 0x4003f888 ); +PROVIDE ( r_ld_sco_audio_isr = 0x40037cc8 ); +PROVIDE ( r_ld_sco_data_tx = 0x40037ee8 ); +PROVIDE ( r_ld_sco_start = 0x40037110 ); +PROVIDE ( r_ld_sco_stop = 0x40037c40 ); +PROVIDE ( r_ld_sco_update = 0x40037a74 ); +PROVIDE ( r_ld_sscan_activated = 0x4004031c ); +PROVIDE ( r_ld_sscan_init = 0x400402f0 ); +PROVIDE ( r_ld_sscan_reset = 0x400402fc ); +PROVIDE ( r_ld_sscan_start = 0x40040384 ); +PROVIDE ( r_ld_strain_init = 0x400409f4 ); +PROVIDE ( r_ld_strain_reset = 0x40040a00 ); +PROVIDE ( r_ld_strain_start = 0x40040a8c ); +PROVIDE ( r_ld_strain_stop = 0x40040df0 ); +PROVIDE ( r_ld_timing_accuracy_get = 0x4003caac ); +PROVIDE ( r_ld_util_active_master_afh_map_get = 0x4004131c ); +PROVIDE ( r_ld_util_active_master_afh_map_set = 0x40041308 ); +PROVIDE ( r_ld_util_bch_create = 0x40040fcc ); +PROVIDE ( r_ld_util_fhs_pk = 0x400411c8 ); +PROVIDE ( r_ld_util_fhs_unpk = 0x40040e54 ); +PROVIDE ( r_ld_util_stp_pk = 0x400413f4 ); +PROVIDE ( r_ld_util_stp_unpk = 0x40041324 ); +PROVIDE ( r_ld_version_get = 0x4003ca6c ); +PROVIDE ( r_ld_wlcoex_set = 0x4003caf8 ); +PROVIDE ( r_llc_ch_assess_get_current_ch_map = 0x40041574 ); +PROVIDE ( r_llc_ch_assess_get_local_ch_map = 0x4004150c ); +PROVIDE ( r_llc_ch_assess_local = 0x40041494 ); +PROVIDE ( r_llc_ch_assess_merge_ch = 0x40041588 ); +PROVIDE ( r_llc_ch_assess_reass_ch = 0x400415c0 ); +PROVIDE ( r_llc_common_cmd_complete_send = 0x40044eac ); +PROVIDE ( r_llc_common_cmd_status_send = 0x40044ee0 ); +PROVIDE ( r_llc_common_enc_change_evt_send = 0x40044f6c ); +PROVIDE ( r_llc_common_enc_key_ref_comp_evt_send = 0x40044f38 ); +PROVIDE ( r_llc_common_flush_occurred_send = 0x40044f0c ); +PROVIDE ( r_llc_common_nb_of_pkt_comp_evt_send = 0x40045000 ); +PROVIDE ( r_llc_con_update_complete_send = 0x40044d68 ); +PROVIDE ( r_llc_con_update_finished = 0x4004518c ); +PROVIDE ( r_llc_con_update_ind = 0x40045038 ); +PROVIDE ( r_llc_discon_event_complete_send = 0x40044a30 ); +PROVIDE ( r_llc_end_evt_defer = 0x40046330 ); +PROVIDE ( r_llc_feats_rd_event_send = 0x40044e0c ); +PROVIDE ( r_llc_init = 0x40044778 ); +PROVIDE ( r_llc_le_con_cmp_evt_send = 0x40044a78 ); +PROVIDE ( r_llc_llcp_ch_map_update_pdu_send = 0x40043f94 ); +PROVIDE ( r_llc_llcp_con_param_req_pdu_send = 0x400442fc ); +PROVIDE ( r_llc_llcp_con_param_rsp_pdu_send = 0x40044358 ); +PROVIDE ( r_llc_llcp_con_update_pdu_send = 0x400442c4 ); +PROVIDE ( r_llc_llcp_enc_req_pdu_send = 0x40044064 ); +PROVIDE ( r_llc_llcp_enc_rsp_pdu_send = 0x40044160 ); +PROVIDE ( r_llc_llcp_feats_req_pdu_send = 0x400443b4 ); +PROVIDE ( r_llc_llcp_feats_rsp_pdu_send = 0x400443f0 ); +PROVIDE ( r_llc_llcp_get_autorize = 0x4004475c ); +PROVIDE ( r_llc_llcp_length_req_pdu_send = 0x40044574 ); +PROVIDE ( r_llc_llcp_length_rsp_pdu_send = 0x400445ac ); +PROVIDE ( r_llc_llcp_pause_enc_req_pdu_send = 0x40043fd8 ); +PROVIDE ( r_llc_llcp_pause_enc_rsp_pdu_send = 0x40044010 ); +PROVIDE ( r_llc_llcp_ping_req_pdu_send = 0x4004454c ); +PROVIDE ( r_llc_llcp_ping_rsp_pdu_send = 0x40044560 ); +PROVIDE ( r_llc_llcp_recv_handler = 0x40044678 ); +PROVIDE ( r_llc_llcp_reject_ind_pdu_send = 0x4004425c ); +PROVIDE ( r_llc_llcp_start_enc_req_pdu_send = 0x4004441c ); +PROVIDE ( r_llc_llcp_start_enc_rsp_pdu_send = 0x400441f8 ); +PROVIDE ( r_llc_llcp_terminate_ind_pdu_send = 0x400444b0 ); +PROVIDE ( r_llc_llcp_tester_send = 0x400445e4 ); +PROVIDE ( r_llc_llcp_unknown_rsp_send_pdu = 0x40044534 ); +PROVIDE ( r_llc_llcp_version_ind_pdu_send = 0x40043f6c ); +PROVIDE ( r_llc_lsto_con_update = 0x40045098 ); +PROVIDE ( r_llc_ltk_req_send = 0x40044dc0 ); +PROVIDE ( r_llc_map_update_finished = 0x40045260 ); +PROVIDE ( r_llc_map_update_ind = 0x400450f0 ); +PROVIDE ( r_llc_pdu_acl_tx_ack_defer = 0x400464dc ); +PROVIDE ( r_llc_pdu_defer = 0x40046528 ); +PROVIDE ( r_llc_pdu_llcp_tx_ack_defer = 0x400463ac ); +PROVIDE ( r_llc_reset = 0x400447b8 ); +PROVIDE ( r_llc_start = 0x400447f4 ); +PROVIDE ( r_llc_stop = 0x400449ac ); +PROVIDE ( r_llc_util_bw_mgt = 0x4004629c ); +PROVIDE ( r_llc_util_clear_operation_ptr = 0x40046234 ); +PROVIDE ( r_llc_util_dicon_procedure = 0x40046130 ); +PROVIDE ( r_llc_util_get_free_conhdl = 0x400460c8 ); +PROVIDE ( r_llc_util_get_nb_active_link = 0x40046100 ); +PROVIDE ( r_llc_util_set_auth_payl_to_margin = 0x400461f4 ); +PROVIDE ( r_llc_util_set_llcp_discard_enable = 0x400461c8 ); +PROVIDE ( r_llc_util_update_channel_map = 0x400461ac ); +PROVIDE ( r_llc_version_rd_event_send = 0x40044e60 ); +PROVIDE ( r_lld_adv_start = 0x40048b38 ); +PROVIDE ( r_lld_adv_stop = 0x40048ea0 ); +PROVIDE ( r_lld_ch_map_ind = 0x4004a2f4 ); +PROVIDE ( r_lld_con_param_req = 0x40049f0c ); +PROVIDE ( r_lld_con_param_rsp = 0x40049e00 ); +PROVIDE ( r_lld_con_start = 0x400491f8 ); +PROVIDE ( r_lld_con_stop = 0x40049fdc ); +PROVIDE ( r_lld_con_update_after_param_req = 0x40049bcc ); +PROVIDE ( r_lld_con_update_ind = 0x4004a30c ); +PROVIDE ( r_lld_con_update_req = 0x40049b60 ); +PROVIDE ( r_lld_core_reset = 0x40048a9c ); +PROVIDE ( r_lld_crypt_isr = 0x4004a324 ); +PROVIDE ( r_lld_evt_adv_create = 0x400481f4 ); +PROVIDE ( r_lld_evt_canceled = 0x400485c8 ); +PROVIDE ( r_lld_evt_channel_next = 0x40046aac ); +PROVIDE ( r_lld_evt_deffered_elt_handler = 0x400482bc ); +PROVIDE ( r_lld_evt_delete_elt_handler = 0x40046974 ); +PROVIDE ( r_lld_evt_delete_elt_push = 0x40046a3c ); +PROVIDE ( r_lld_evt_drift_compute = 0x40047670 ); +PROVIDE ( r_lld_evt_elt_delete = 0x40047538 ); +PROVIDE ( r_lld_evt_elt_insert = 0x400474c8 ); +PROVIDE ( r_lld_evt_end = 0x400483e8 ); +PROVIDE ( r_lld_evt_end_isr = 0x4004862c ); +PROVIDE ( r_lld_evt_init = 0x40046b3c ); +PROVIDE ( r_lld_evt_init_evt = 0x40046cd0 ); +PROVIDE ( r_lld_evt_move_to_master = 0x40047ba0 ); +PROVIDE ( r_lld_evt_move_to_slave = 0x40047e18 ); +PROVIDE ( r_lld_evt_prevent_stop = 0x40047adc ); +PROVIDE ( r_lld_evt_restart = 0x40046d50 ); +PROVIDE ( r_lld_evt_rx = 0x40048578 ); +PROVIDE ( r_lld_evt_rx_isr = 0x40048678 ); +PROVIDE ( r_lld_evt_scan_create = 0x40047ae8 ); +PROVIDE ( r_lld_evt_schedule = 0x40047908 ); +PROVIDE ( r_lld_evt_schedule_next = 0x400477dc ); +PROVIDE ( r_lld_evt_schedule_next_instant = 0x400476a8 ); +PROVIDE ( r_lld_evt_slave_update = 0x40048138 ); +PROVIDE ( r_lld_evt_update_create = 0x40047cd8 ); +PROVIDE ( r_lld_get_mode = 0x40049ff8 ); +PROVIDE ( r_lld_init = 0x4004873c ); +PROVIDE ( r_lld_move_to_master = 0x400499e0 ); +PROVIDE ( r_lld_move_to_slave = 0x4004a024 ); +PROVIDE ( r_lld_pdu_adv_pack = 0x4004b488 ); +PROVIDE ( r_lld_pdu_check = 0x4004ac34 ); +PROVIDE ( r_lld_pdu_data_send = 0x4004b018 ); +PROVIDE ( r_lld_pdu_data_tx_push = 0x4004aecc ); +PROVIDE ( r_lld_pdu_rx_handler = 0x4004b4d4 ); +PROVIDE ( r_lld_pdu_send_packet = 0x4004b774 ); +PROVIDE ( r_lld_pdu_tx_flush = 0x4004b414 ); +PROVIDE ( r_lld_pdu_tx_loop = 0x4004ae40 ); +PROVIDE ( r_lld_pdu_tx_prog = 0x4004b120 ); +PROVIDE ( r_lld_pdu_tx_push = 0x4004b080 ); +PROVIDE ( r_lld_ral_renew_req = 0x4004a73c ); +PROVIDE ( r_lld_scan_start = 0x40048ee0 ); +PROVIDE ( r_lld_scan_stop = 0x40049190 ); +PROVIDE ( r_lld_test_mode_rx = 0x4004a540 ); +PROVIDE ( r_lld_test_mode_tx = 0x4004a350 ); +PROVIDE ( r_lld_test_stop = 0x4004a710 ); +PROVIDE ( r_lld_util_anchor_point_move = 0x4004bacc ); +PROVIDE ( r_lld_util_compute_ce_max = 0x4004bc0c ); +PROVIDE ( r_lld_util_connection_param_set = 0x4004ba40 ); +PROVIDE ( r_lld_util_dle_set_cs_fields = 0x4004ba90 ); +PROVIDE ( r_lld_util_eff_tx_time_set = 0x4004bd88 ); +PROVIDE ( r_lld_util_elt_programmed = 0x4004bce0 ); +PROVIDE ( r_lld_util_flush_list = 0x4004bbd8 ); +PROVIDE ( r_lld_util_freq2chnl = 0x4004b9e4 ); +PROVIDE ( r_lld_util_get_bd_address = 0x4004b8ac ); +PROVIDE ( r_lld_util_get_local_offset = 0x4004ba10 ); +PROVIDE ( r_lld_util_get_peer_offset = 0x4004ba24 ); +PROVIDE ( r_lld_util_get_tx_pkt_cnt = 0x4004bd80 ); +PROVIDE ( r_lld_util_instant_get = 0x4004b890 ); +PROVIDE ( r_lld_util_instant_ongoing = 0x4004bbfc ); +PROVIDE ( r_lld_util_priority_set = 0x4004bd10 ); +PROVIDE ( r_lld_util_priority_update = 0x4004bd78 ); +PROVIDE ( r_lld_util_ral_force_rpa_renew = 0x4004b980 ); +PROVIDE ( r_lld_util_set_bd_address = 0x4004b8f8 ); +PROVIDE ( r_lld_wlcoex_set = 0x4004bd98 ); +PROVIDE ( r_llm_ble_ready = 0x4004cc34 ); +PROVIDE ( r_llm_common_cmd_complete_send = 0x4004d288 ); +PROVIDE ( r_llm_common_cmd_status_send = 0x4004d2b4 ); +PROVIDE ( r_llm_con_req_ind = 0x4004cc54 ); +PROVIDE ( r_llm_con_req_tx_cfm = 0x4004d158 ); +PROVIDE ( r_llm_create_con = 0x4004de78 ); +PROVIDE ( r_llm_encryption_done = 0x4004dff8 ); +PROVIDE ( r_llm_encryption_start = 0x4004e128 ); +PROVIDE ( r_llm_end_evt_defer = 0x4004eb6c ); +PROVIDE ( r_llm_init = 0x4004c9f8 ); +PROVIDE ( r_llm_le_adv_report_ind = 0x4004cdf4 ); +PROVIDE ( r_llm_pdu_defer = 0x4004ec48 ); +PROVIDE ( r_llm_ral_clear = 0x4004e1fc ); +PROVIDE ( r_llm_ral_dev_add = 0x4004e23c ); +PROVIDE ( r_llm_ral_dev_rm = 0x4004e3bc ); +PROVIDE ( r_llm_ral_get_rpa = 0x4004e400 ); +PROVIDE ( r_llm_ral_set_timeout = 0x4004e4a0 ); +PROVIDE ( r_llm_ral_update = 0x4004e4f8 ); +PROVIDE ( r_llm_set_adv_data = 0x4004d960 ); +PROVIDE ( r_llm_set_adv_en = 0x4004d7ec ); +PROVIDE ( r_llm_set_adv_param = 0x4004d5f4 ); +PROVIDE ( r_llm_set_scan_en = 0x4004db64 ); +PROVIDE ( r_llm_set_scan_param = 0x4004dac8 ); +PROVIDE ( r_llm_set_scan_rsp_data = 0x4004da14 ); +PROVIDE ( r_llm_test_mode_start_rx = 0x4004d534 ); +PROVIDE ( r_llm_test_mode_start_tx = 0x4004d2fc ); +PROVIDE ( r_llm_util_adv_data_update = 0x4004e8fc ); +PROVIDE ( r_llm_util_apply_bd_addr = 0x4004e868 ); +PROVIDE ( r_llm_util_bd_addr_in_ral = 0x4004eb08 ); +PROVIDE ( r_llm_util_bd_addr_in_wl = 0x4004e788 ); +PROVIDE ( r_llm_util_bd_addr_wl_position = 0x4004e720 ); +PROVIDE ( r_llm_util_bl_add = 0x4004e9ac ); +PROVIDE ( r_llm_util_bl_check = 0x4004e930 ); +PROVIDE ( r_llm_util_bl_rem = 0x4004ea70 ); +PROVIDE ( r_llm_util_check_address_validity = 0x4004e7e4 ); +PROVIDE ( r_llm_util_check_evt_mask = 0x4004e8b0 ); +PROVIDE ( r_llm_util_check_map_validity = 0x4004e800 ); +PROVIDE ( r_llm_util_get_channel_map = 0x4004e8d4 ); +PROVIDE ( r_llm_util_get_supp_features = 0x4004e8e8 ); +PROVIDE ( r_llm_util_set_public_addr = 0x4004e89c ); +PROVIDE ( r_llm_wl_clr = 0x4004dc54 ); +PROVIDE ( r_llm_wl_dev_add = 0x4004dcc0 ); +PROVIDE ( r_llm_wl_dev_add_hdl = 0x4004dd38 ); +PROVIDE ( r_llm_wl_dev_rem = 0x4004dcfc ); +PROVIDE ( r_llm_wl_dev_rem_hdl = 0x4004dde0 ); +PROVIDE ( r_lm_acl_disc = 0x4004f148 ); +PROVIDE ( r_LM_AddSniff = 0x40022d20 ); +PROVIDE ( r_lm_add_sync = 0x40051358 ); +PROVIDE ( r_lm_afh_activate_timer = 0x4004f444 ); +PROVIDE ( r_lm_afh_ch_ass_en_get = 0x4004f3f8 ); +PROVIDE ( r_lm_afh_host_ch_class_get = 0x4004f410 ); +PROVIDE ( r_lm_afh_master_ch_map_get = 0x4004f43c ); +PROVIDE ( r_lm_afh_peer_ch_class_set = 0x4004f418 ); +PROVIDE ( r_lm_check_active_sync = 0x40051334 ); +PROVIDE ( r_LM_CheckEdrFeatureRequest = 0x4002f90c ); +PROVIDE ( r_LM_CheckSwitchInstant = 0x4002f8c0 ); +PROVIDE ( r_lm_check_sync_hl_rsp = 0x4005169c ); +PROVIDE ( r_lm_clk_adj_ack_pending_clear = 0x4004f514 ); +PROVIDE ( r_lm_clk_adj_instant_pending_set = 0x4004f4d8 ); +PROVIDE ( r_LM_ComputePacketType = 0x4002f554 ); +PROVIDE ( r_LM_ComputeSniffSubRate = 0x400233ac ); +PROVIDE ( r_lm_debug_key_compare_192 = 0x4004f3a8 ); +PROVIDE ( r_lm_debug_key_compare_256 = 0x4004f3d0 ); +PROVIDE ( r_lm_dhkey_calc_init = 0x40013234 ); +PROVIDE ( r_lm_dhkey_compare = 0x400132d8 ); +PROVIDE ( r_lm_dut_mode_en_get = 0x4004f3ec ); +PROVIDE ( r_LM_ExtractMaxEncKeySize = 0x4001aca4 ); +PROVIDE ( r_lm_f1 = 0x40012bb8 ); +PROVIDE ( r_lm_f2 = 0x40012cfc ); +PROVIDE ( r_lm_f3 = 0x40013050 ); +PROVIDE ( r_lm_g = 0x40012f90 ); +PROVIDE ( r_LM_GetAFHSwitchInstant = 0x4002f86c ); +PROVIDE ( r_lm_get_auth_en = 0x4004f1ac ); +PROVIDE ( r_lm_get_common_pkt_types = 0x4002fa1c ); +PROVIDE ( r_LM_GetConnectionAcceptTimeout = 0x4004f1f4 ); +PROVIDE ( r_LM_GetFeature = 0x4002f924 ); +PROVIDE ( r_LM_GetLinkTimeout = 0x400233ec ); +PROVIDE ( r_LM_GetLocalNameSeg = 0x4004f200 ); +PROVIDE ( r_lm_get_loopback_mode = 0x4004f248 ); +PROVIDE ( r_LM_GetMasterEncKeySize = 0x4001b29c ); +PROVIDE ( r_LM_GetMasterEncRand = 0x4001b288 ); +PROVIDE ( r_LM_GetMasterKey = 0x4001b260 ); +PROVIDE ( r_LM_GetMasterKeyRand = 0x4001b274 ); +PROVIDE ( r_lm_get_min_sync_intv = 0x400517a8 ); +PROVIDE ( r_lm_get_nb_acl = 0x4004ef9c ); +PROVIDE ( r_lm_get_nb_sync_link = 0x4005179c ); +PROVIDE ( r_lm_get_nonce = 0x400131c4 ); +PROVIDE ( r_lm_get_oob_local_commit = 0x4004f374 ); +PROVIDE ( r_lm_get_oob_local_data_192 = 0x4004f2d4 ); +PROVIDE ( r_lm_get_oob_local_data_256 = 0x4004f318 ); +PROVIDE ( r_LM_GetPINType = 0x4004f1e8 ); +PROVIDE ( r_lm_get_priv_key_192 = 0x4004f278 ); +PROVIDE ( r_lm_get_priv_key_256 = 0x4004f2b8 ); +PROVIDE ( r_lm_get_pub_key_192 = 0x4004f258 ); +PROVIDE ( r_lm_get_pub_key_256 = 0x4004f298 ); +PROVIDE ( r_LM_GetQoSParam = 0x4002f6e0 ); +PROVIDE ( r_lm_get_sec_con_host_supp = 0x4004f1d4 ); +PROVIDE ( r_LM_GetSniffSubratingParam = 0x4002325c ); +PROVIDE ( r_lm_get_sp_en = 0x4004f1c0 ); +PROVIDE ( r_LM_GetSwitchInstant = 0x4002f7f8 ); +PROVIDE ( r_lm_get_synchdl = 0x4005175c ); +PROVIDE ( r_lm_get_sync_param = 0x400503b4 ); +PROVIDE ( r_lm_init = 0x4004ed34 ); +PROVIDE ( r_lm_init_sync = 0x400512d8 ); +PROVIDE ( r_lm_is_acl_con = 0x4004f47c ); +PROVIDE ( r_lm_is_acl_con_role = 0x4004f49c ); +PROVIDE ( r_lm_is_clk_adj_ack_pending = 0x4004f4e8 ); +PROVIDE ( r_lm_is_clk_adj_instant_pending = 0x4004f4c8 ); +PROVIDE ( r_lm_local_ext_fr_configured = 0x4004f540 ); +PROVIDE ( r_lm_look_for_stored_link_key = 0x4002f948 ); +PROVIDE ( r_lm_look_for_sync = 0x40051774 ); +PROVIDE ( r_lm_lt_addr_alloc = 0x4004ef1c ); +PROVIDE ( r_lm_lt_addr_free = 0x4004ef74 ); +PROVIDE ( r_lm_lt_addr_reserve = 0x4004ef48 ); +PROVIDE ( r_LM_MakeCof = 0x4002f84c ); +PROVIDE ( r_LM_MakeRandVec = 0x400112d8 ); +PROVIDE ( r_lm_master_clk_adj_req_handler = 0x40054180 ); +PROVIDE ( r_LM_MaxSlot = 0x4002f694 ); +PROVIDE ( r_lm_modif_sync = 0x40051578 ); +PROVIDE ( r_lm_n_is_zero = 0x40012170 ); +PROVIDE ( r_lm_num_clk_adj_ack_pending_set = 0x4004f500 ); +PROVIDE ( r_lm_oob_f1 = 0x40012e54 ); +PROVIDE ( r_lm_pca_sscan_link_get = 0x4004f560 ); +PROVIDE ( r_lm_pca_sscan_link_set = 0x4004f550 ); +PROVIDE ( nvds_null_read = 0x400542a0 ); +PROVIDE ( nvds_null_write = 0x400542a8 ); +PROVIDE ( nvds_null_erase = 0x400542b0 ); +PROVIDE ( nvds_read = 0x400542c4 ); +PROVIDE ( nvds_write = 0x400542fc ); +PROVIDE ( nvds_erase = 0x40054334 ); +PROVIDE ( nvds_init_memory = 0x40054358 ); +PROVIDE ( r_lmp_pack = 0x4001135c ); +PROVIDE ( r_lmp_unpack = 0x4001149c ); +PROVIDE ( r_lm_read_features = 0x4004f0d8 ); +PROVIDE ( r_LM_RemoveSniff = 0x40023124 ); +PROVIDE ( r_LM_RemoveSniffSubrating = 0x400233c4 ); +PROVIDE ( r_lm_remove_sync = 0x400517c8 ); +PROVIDE ( r_lm_reset_sync = 0x40051304 ); +PROVIDE ( r_lm_role_switch_finished = 0x4004f028 ); +PROVIDE ( r_lm_role_switch_start = 0x4004efe0 ); +PROVIDE ( r_lm_sco_nego_end = 0x40051828 ); +PROVIDE ( r_LM_SniffSubrateNegoRequired = 0x40023334 ); +PROVIDE ( r_LM_SniffSubratingHlReq = 0x40023154 ); +PROVIDE ( r_LM_SniffSubratingPeerReq = 0x400231dc ); +PROVIDE ( r_lm_sp_debug_mode_get = 0x4004f398 ); +PROVIDE ( r_lm_sp_n192_convert_wnaf = 0x400123c0 ); +PROVIDE ( r_lm_sp_n_one = 0x400123a4 ); +PROVIDE ( r_lm_sp_p192_add = 0x40012828 ); +PROVIDE ( r_lm_sp_p192_dbl = 0x4001268c ); +PROVIDE ( r_lm_sp_p192_invert = 0x40012b6c ); +PROVIDE ( r_lm_sp_p192_point_jacobian_to_affine = 0x40012468 ); +PROVIDE ( r_lm_sp_p192_points_jacobian_to_affine = 0x400124e4 ); +PROVIDE ( r_lm_sp_p192_point_to_inf = 0x40012458 ); +PROVIDE ( r_lm_sp_pre_compute_points = 0x40012640 ); +PROVIDE ( r_lm_sp_sha256_calculate = 0x400121a0 ); +PROVIDE ( r_LM_SuppressAclPacket = 0x4002f658 ); +PROVIDE ( r_lm_sync_flow_ctrl_en_get = 0x4004f404 ); +PROVIDE ( r_LM_UpdateAclEdrPacketType = 0x4002f5d8 ); +PROVIDE ( r_LM_UpdateAclPacketType = 0x4002f584 ); +PROVIDE ( r_modules_funcs = 0x3ffafd6c ); +PROVIDE ( r_modules_funcs_p = 0x3ffafd68 ); +PROVIDE ( r_nvds_del = 0x400544c4 ); +PROVIDE ( r_nvds_get = 0x40054488 ); +PROVIDE ( r_nvds_init = 0x40054410 ); +PROVIDE ( r_nvds_lock = 0x400544fc ); +PROVIDE ( r_nvds_put = 0x40054534 ); +PROVIDE ( rom_abs_temp = 0x400054f0 ); +PROVIDE ( rom_bb_bss_bw_40_en = 0x4000401c ); +PROVIDE ( rom_bb_bss_cbw40_dig = 0x40003bac ); +PROVIDE ( rom_bb_rx_ht20_cen_bcov_en = 0x40003734 ); +PROVIDE ( rom_bb_tx_ht20_cen = 0x40003760 ); +PROVIDE ( rom_bb_wdg_test_en = 0x40003b70 ); +PROVIDE ( rom_cbw2040_cfg = 0x400040b0 ); +PROVIDE ( rom_check_noise_floor = 0x40003c78 ); +PROVIDE ( rom_chip_i2c_readReg = 0x40004110 ); +PROVIDE ( rom_chip_i2c_writeReg = 0x40004168 ); +PROVIDE ( rom_chip_v7_bt_init = 0x40004d8c ); +PROVIDE ( rom_chip_v7_rx_init = 0x40004cec ); +PROVIDE ( rom_chip_v7_rx_rifs_en = 0x40003d90 ); +PROVIDE ( rom_chip_v7_tx_init = 0x40004d18 ); +PROVIDE ( rom_clk_force_on_vit = 0x40003710 ); +PROVIDE ( rom_correct_rf_ana_gain = 0x400062a8 ); +PROVIDE ( rom_dc_iq_est = 0x400055c8 ); +PROVIDE ( rom_disable_agc = 0x40002fa4 ); +PROVIDE ( rom_enable_agc = 0x40002fcc ); +PROVIDE ( rom_en_pwdet = 0x4000506c ); +PROVIDE ( rom_gen_rx_gain_table = 0x40003e3c ); +PROVIDE ( rom_get_data_sat = 0x4000312c ); +PROVIDE ( rom_get_fm_sar_dout = 0x40005204 ); +PROVIDE ( rom_get_power_db = 0x40005fc8 ); +PROVIDE ( rom_get_pwctrl_correct = 0x400065d4 ); +PROVIDE ( rom_get_rfcal_rxiq_data = 0x40005bbc ); +PROVIDE ( rom_get_rf_gain_qdb = 0x40006290 ); +PROVIDE ( rom_get_sar_dout = 0x40006564 ); +PROVIDE ( rom_i2c_readReg = 0x40004148 ); +PROVIDE ( rom_i2c_readReg_Mask = 0x400041c0 ); +PROVIDE ( rom_i2c_writeReg = 0x400041a4 ); +PROVIDE ( rom_i2c_writeReg_Mask = 0x400041fc ); +PROVIDE ( rom_index_to_txbbgain = 0x40004df8 ); +PROVIDE ( rom_iq_est_disable = 0x40005590 ); +PROVIDE ( rom_iq_est_enable = 0x40005514 ); +PROVIDE ( rom_linear_to_db = 0x40005f64 ); +PROVIDE ( rom_loopback_mode_en = 0x400030f8 ); +PROVIDE ( rom_meas_tone_pwr_db = 0x40006004 ); +PROVIDE ( rom_mhz2ieee = 0x4000404c ); +PROVIDE ( rom_noise_floor_auto_set = 0x40003bdc ); +PROVIDE ( rom_pbus_debugmode = 0x40004458 ); +PROVIDE ( rom_pbus_force_mode = 0x40004270 ); +PROVIDE ( rom_pbus_force_test = 0x400043c0 ); +PROVIDE ( rom_pbus_rd = 0x40004414 ); +PROVIDE ( rom_pbus_rd_addr = 0x40004334 ); +PROVIDE ( rom_pbus_rd_shift = 0x40004374 ); +PROVIDE ( rom_pbus_rx_dco_cal = 0x40005620 ); +PROVIDE ( rom_pbus_set_dco = 0x40004638 ); +PROVIDE ( rom_pbus_set_rxgain = 0x40004480 ); +PROVIDE ( rom_pbus_workmode = 0x4000446c ); +PROVIDE ( rom_pbus_xpd_rx_off = 0x40004508 ); +PROVIDE ( rom_pbus_xpd_rx_on = 0x4000453c ); +PROVIDE ( rom_pbus_xpd_tx_off = 0x40004590 ); +PROVIDE ( rom_pbus_xpd_tx_on = 0x400045e0 ); +PROVIDE ( rom_phy_disable_agc = 0x40002f6c ); +PROVIDE ( rom_phy_disable_cca = 0x40003000 ); +PROVIDE ( rom_phy_enable_agc = 0x40002f88 ); +PROVIDE ( rom_phy_enable_cca = 0x4000302c ); +PROVIDE ( rom_phy_freq_correct = 0x40004b44 ); +PROVIDE ( rom_phyFuns = 0x3ffae0c0 ); +PROVIDE ( rom_phy_get_noisefloor = 0x40003c2c ); +PROVIDE ( rom_phy_get_vdd33 = 0x4000642c ); +PROVIDE ( rom_pow_usr = 0x40003044 ); +PROVIDE ( rom_read_sar_dout = 0x400051c0 ); +PROVIDE ( rom_restart_cal = 0x400046e0 ); +PROVIDE ( rom_rfcal_pwrctrl = 0x40006058 ); +PROVIDE ( rom_rfcal_rxiq = 0x40005b4c ); +PROVIDE ( rom_rfcal_txcap = 0x40005dec ); +PROVIDE ( rom_rfpll_reset = 0x40004680 ); +PROVIDE ( rom_rfpll_set_freq = 0x400047f8 ); +PROVIDE ( rom_rtc_mem_backup = 0x40003db4 ); +PROVIDE ( rom_rtc_mem_recovery = 0x40003df4 ); +PROVIDE ( rom_rx_gain_force = 0x4000351c ); +PROVIDE ( rom_rxiq_cover_mg_mp = 0x40005a68 ); +PROVIDE ( rom_rxiq_get_mis = 0x400058e4 ); +PROVIDE ( rom_rxiq_set_reg = 0x40005a00 ); +PROVIDE ( rom_set_cal_rxdc = 0x400030b8 ); +PROVIDE ( rom_set_chan_cal_interp = 0x40005ce0 ); +PROVIDE ( rom_set_channel_freq = 0x40004880 ); +PROVIDE ( rom_set_loopback_gain = 0x40003060 ); +PROVIDE ( rom_set_noise_floor = 0x40003d48 ); +PROVIDE ( rom_set_pbus_mem = 0x400031a4 ); +PROVIDE ( rom_set_rf_freq_offset = 0x40004ca8 ); +PROVIDE ( rom_set_rxclk_en = 0x40003594 ); +PROVIDE ( rom_set_txcap_reg = 0x40005d50 ); +PROVIDE ( rom_set_txclk_en = 0x40003564 ); +PROVIDE ( rom_spur_coef_cfg = 0x40003ac8 ); +PROVIDE ( rom_spur_reg_write_one_tone = 0x400037f0 ); +PROVIDE ( rom_start_tx_tone = 0x400036b4 ); +PROVIDE ( rom_start_tx_tone_step = 0x400035d0 ); +PROVIDE ( rom_stop_tx_tone = 0x40003f98 ); +PROVIDE ( _rom_store = 0x4000d66c ); +PROVIDE ( _rom_store_table = 0x4000d4f8 ); +PROVIDE ( rom_target_power_add_backoff = 0x40006268 ); +PROVIDE ( rom_tx_atten_set_interp = 0x400061cc ); +PROVIDE ( rom_txbbgain_to_index = 0x40004dc0 ); +PROVIDE ( rom_txcal_work_mode = 0x4000510c ); +PROVIDE ( rom_txdc_cal_init = 0x40004e10 ); +PROVIDE ( rom_txdc_cal_v70 = 0x40004ea4 ); +PROVIDE ( rom_txiq_cover = 0x4000538c ); +PROVIDE ( rom_txiq_get_mis_pwr = 0x400052dc ); +PROVIDE ( rom_txiq_set_reg = 0x40005154 ); +PROVIDE ( rom_tx_pwctrl_bg_init = 0x4000662c ); +PROVIDE ( rom_txtone_linear_pwr = 0x40005290 ); +PROVIDE ( rom_wait_rfpll_cal_end = 0x400047a8 ); +PROVIDE ( rom_write_gain_mem = 0x4000348c ); +PROVIDE ( rom_write_rfpll_sdm = 0x40004740 ); +PROVIDE ( roundup2 = 0x4000ab7c ); +PROVIDE ( r_plf_funcs_p = 0x3ffb8360 ); +PROVIDE ( r_rf_rw_bt_init = 0x40054868 ); +PROVIDE ( r_rf_rw_init = 0x40054b0c ); +PROVIDE ( r_rf_rw_le_init = 0x400549d0 ); +PROVIDE ( r_rwble_activity_ongoing_check = 0x40054d8c ); +PROVIDE ( r_rwble_init = 0x40054bf4 ); +PROVIDE ( r_rwble_isr = 0x40054e08 ); +PROVIDE ( r_rwble_reset = 0x40054ce8 ); +PROVIDE ( r_rwble_sleep_check = 0x40054d78 ); +PROVIDE ( r_rwble_version = 0x40054dac ); +PROVIDE ( r_rwbt_init = 0x40055160 ); +PROVIDE ( r_rwbt_isr = 0x40055248 ); +PROVIDE ( r_rwbt_reset = 0x400551bc ); +PROVIDE ( r_rwbt_sleep_check = 0x4005577c ); +PROVIDE ( r_rwbt_sleep_enter = 0x400557a4 ); +PROVIDE ( r_rwbt_sleep_wakeup = 0x400557fc ); +PROVIDE ( r_rwbt_sleep_wakeup_end = 0x400558cc ); +PROVIDE ( r_rwbt_version = 0x4005520c ); +PROVIDE ( r_rwip_assert_err = 0x40055f88 ); +PROVIDE ( r_rwip_check_wakeup_boundary = 0x400558fc ); +PROVIDE ( r_rwip_ext_wakeup_enable = 0x40055f3c ); +PROVIDE ( r_rwip_init = 0x4005595c ); +PROVIDE ( r_rwip_pca_clock_dragging_only = 0x40055f48 ); +PROVIDE ( r_rwip_prevent_sleep_clear = 0x40055ec8 ); +PROVIDE ( r_rwip_prevent_sleep_set = 0x40055e64 ); +PROVIDE ( r_rwip_reset = 0x40055ab8 ); +PROVIDE ( r_rwip_schedule = 0x40055b38 ); +PROVIDE ( r_rwip_sleep = 0x40055b5c ); +PROVIDE ( r_rwip_sleep_enable = 0x40055f30 ); +PROVIDE ( r_rwip_version = 0x40055b20 ); +PROVIDE ( r_rwip_wakeup = 0x40055dc4 ); +PROVIDE ( r_rwip_wakeup_delay_set = 0x40055e4c ); +PROVIDE ( r_rwip_wakeup_end = 0x40055e18 ); +PROVIDE ( r_rwip_wlcoex_set = 0x40055f60 ); +PROVIDE ( r_SHA_256 = 0x40013a90 ); +PROVIDE ( rwip_coex_cfg = 0x3ff9914c ); +PROVIDE ( rwip_priority = 0x3ff99159 ); +PROVIDE ( rwip_rf = 0x3ffbdb28 ); +PROVIDE ( rwip_rf_p_get = 0x400558f4 ); +PROVIDE ( r_XorKey = 0x400112c0 ); +PROVIDE ( sha_blk_bits = 0x3ff99290 ); +PROVIDE ( sha_blk_bits_bytes = 0x3ff99288 ); +PROVIDE ( sha_blk_hash_bytes = 0x3ff9928c ); +PROVIDE ( sig_matrix = 0x3ffae293 ); +PROVIDE ( sip_after_tx_complete = 0x4000b358 ); +PROVIDE ( sip_alloc_to_host_evt = 0x4000ab9c ); +PROVIDE ( sip_get_ptr = 0x4000b34c ); +PROVIDE ( sip_get_state = 0x4000ae2c ); +PROVIDE ( sip_init_attach = 0x4000ae58 ); +PROVIDE ( sip_install_rx_ctrl_cb = 0x4000ae10 ); +PROVIDE ( sip_install_rx_data_cb = 0x4000ae20 ); +PROVIDE ( sip_is_active = 0x4000b3c0 ); +PROVIDE ( sip_post_init = 0x4000aed8 ); +PROVIDE ( sip_reclaim_from_host_cmd = 0x4000adbc ); +PROVIDE ( sip_reclaim_tx_data_pkt = 0x4000ad5c ); +PROVIDE ( sip_send = 0x4000af54 ); +PROVIDE ( sip_to_host_chain_append = 0x4000aef8 ); +PROVIDE ( sip_to_host_evt_send_done = 0x4000ac04 ); +PROVIDE ( slc_add_credits = 0x4000baf4 ); +PROVIDE ( slc_enable = 0x4000b64c ); +PROVIDE ( slc_from_host_chain_fetch = 0x4000b7e8 ); +PROVIDE ( slc_from_host_chain_recycle = 0x4000bb10 ); +PROVIDE ( slc_has_pkt_to_host = 0x4000b5fc ); +PROVIDE ( slc_init_attach = 0x4000b918 ); +PROVIDE ( slc_init_credit = 0x4000badc ); +PROVIDE ( slc_reattach = 0x4000b62c ); +PROVIDE ( slc_send_to_host_chain = 0x4000b6a0 ); +PROVIDE ( slc_set_host_io_max_window = 0x4000b89c ); +PROVIDE ( slc_to_host_chain_recycle = 0x4000b758 ); +PROVIDE ( specialModP256 = 0x4001600c ); +PROVIDE ( __stack = 0x3ffe3f20 ); +PROVIDE ( __stack_app = 0x3ffe7e30 ); +PROVIDE ( _stack_sentry = 0x3ffe1320 ); +PROVIDE ( _stack_sentry_app = 0x3ffe5230 ); +PROVIDE ( _start = 0x40000704 ); +PROVIDE ( start_tb_console = 0x4005a980 ); +PROVIDE ( _stat_r = 0x4000bcb4 ); +PROVIDE ( _stext = 0x40000560 ); +PROVIDE ( SubtractBigHex256 = 0x40015bcc ); +PROVIDE ( SubtractBigHexMod256 = 0x40015e8c ); +PROVIDE ( SubtractBigHexUint32_256 = 0x40015f8c ); +PROVIDE ( SubtractFromSelfBigHex256 = 0x40015c20 ); +PROVIDE ( SubtractFromSelfBigHexSign256 = 0x40015dc8 ); +PROVIDE ( sw_to_hw = 0x3ffb8d40 ); +PROVIDE ( syscall_table_ptr_app = 0x3ffae020 ); +PROVIDE ( syscall_table_ptr_pro = 0x3ffae024 ); +PROVIDE ( tdefl_compress = 0x400600bc ); +PROVIDE ( tdefl_compress_buffer = 0x400607f4 ); +PROVIDE ( tdefl_compress_mem_to_mem = 0x40060900 ); +PROVIDE ( tdefl_compress_mem_to_output = 0x400608e0 ); +PROVIDE ( tdefl_get_adler32 = 0x400608d8 ); +PROVIDE ( tdefl_get_prev_return_status = 0x400608d0 ); +PROVIDE ( tdefl_init = 0x40060810 ); +PROVIDE ( tdefl_write_image_to_png_file_in_memory = 0x4006091c ); +PROVIDE ( tdefl_write_image_to_png_file_in_memory_ex = 0x40060910 ); +PROVIDE ( tinfl_decompress = 0x4005ef30 ); +PROVIDE ( tinfl_decompress_mem_to_callback = 0x40060090 ); +PROVIDE ( tinfl_decompress_mem_to_mem = 0x40060050 ); +PROVIDE ( UartDev = 0x3ffe019c ); +PROVIDE ( user_code_start = 0x3ffe0400 ); +PROVIDE ( veryBigHexP256 = 0x3ff9736c ); +PROVIDE ( xthal_bcopy = 0x4000c098 ); +PROVIDE ( xthal_copy123 = 0x4000c124 ); +PROVIDE ( xthal_get_ccompare = 0x4000c078 ); +PROVIDE ( xthal_get_ccount = 0x4000c050 ); +PROVIDE ( xthal_get_interrupt = 0x4000c1e4 ); +PROVIDE ( xthal_get_intread = 0x4000c1e4 ); +PROVIDE ( Xthal_intlevel = 0x3ff9c2b4 ); +PROVIDE ( xthal_memcpy = 0x4000c0bc ); +PROVIDE ( xthal_set_ccompare = 0x4000c058 ); +PROVIDE ( xthal_set_intclear = 0x4000c1ec ); +PROVIDE ( _xtos_set_intlevel = 0x4000bfdc ); +PROVIDE ( g_ticks_per_us_pro = 0x3ffe01e0 ); +PROVIDE ( g_ticks_per_us_app = 0x3ffe40f0 ); +PROVIDE ( esp_rom_spiflash_config_param = 0x40063238 ); +PROVIDE ( esp_rom_spiflash_read_user_cmd = 0x400621b0 ); +PROVIDE ( esp_rom_spiflash_write_encrypted_disable = 0x40062e60 ); +PROVIDE ( esp_rom_spiflash_write_encrypted_enable = 0x40062df4 ); +PROVIDE ( esp_rom_spiflash_prepare_encrypted_data = 0x40062e1c ); +PROVIDE ( esp_rom_spiflash_select_qio_pins = 0x40061ddc ); +PROVIDE ( esp_rom_spiflash_attach = 0x40062a6c ); +PROVIDE ( esp_rom_spiflash_config_clk = 0x40062bc8 ); +PROVIDE ( g_rom_spiflash_chip = 0x3ffae270 ); +PROVIDE ( SPI_write_enable = 0x40062320 ); +PROVIDE ( hci_le_rd_rem_used_feats_cmd_handler = 0x400417b4 ); +PROVIDE ( llcp_length_req_handler = 0x40043808 ); +PROVIDE ( llcp_unknown_rsp_handler = 0x40043ba8 ); +PROVIDE ( llcp_channel_map_req_handler = 0x4004291c ); +PROVIDE ( llcp_con_up_req_handler = 0x400426f0 ); +/* +These functions are xtos-related (or call xtos-related functions) and do not play well +with multicore FreeRTOS. Where needed, we provide alternatives that are multicore +compatible. These functions also use a chunk of static RAM, by not using them we can +allocate that RAM for general use. +*/ +/* +PROVIDE ( _DebugExceptionVector = 0x40000280 ); +PROVIDE ( _DoubleExceptionVector = 0x400003c0 ); +PROVIDE ( _KernelExceptionVector = 0x40000300 ); +PROVIDE ( _GeneralException = 0x40000e14 ); +PROVIDE ( _ResetHandler = 0x40000450 ); +PROVIDE ( _ResetVector = 0x40000400 ); +PROVIDE ( _UserExceptionVector = 0x40000340 ); +PROVIDE ( _NMIExceptionVector = 0x400002c0 ); +PROVIDE ( _WindowOverflow12 = 0x40000100 ); +PROVIDE ( _WindowOverflow4 = 0x40000000 ); +PROVIDE ( _WindowOverflow8 = 0x40000080 ); +PROVIDE ( _WindowUnderflow12 = 0x40000140 ); +PROVIDE ( _WindowUnderflow4 = 0x40000040 ); +PROVIDE ( _WindowUnderflow8 = 0x400000c0 ); +PROVIDE ( _Level2FromVector = 0x40000954 ); +PROVIDE ( _Level3FromVector = 0x40000a28 ); +PROVIDE ( _Level4FromVector = 0x40000af8 ); +PROVIDE ( _Level5FromVector = 0x40000c68 ); +PROVIDE ( _Level2Vector = 0x40000180 ); +PROVIDE ( _Level3Vector = 0x400001c0 ); +PROVIDE ( _Level4Vector = 0x40000200 ); +PROVIDE ( _Level5Vector = 0x40000240 ); +PROVIDE ( _LevelOneInterrupt = 0x40000835 ); +PROVIDE ( _SyscallException = 0x400007cf ); +PROVIDE ( _xtos_alloca_handler = 0x40000010 ); +PROVIDE ( _xtos_cause3_handler = 0x40000dd8 ); +PROVIDE ( _xtos_c_handler_table = 0x3ffe0548 ); +PROVIDE ( _xtos_c_wrapper_handler = 0x40000de8 ); +PROVIDE ( _xtos_enabled = 0x3ffe0650 ); +PROVIDE ( _xtos_exc_handler_table = 0x3ffe0448 ); +PROVIDE ( _xtos_interrupt_mask_table = 0x3ffe0758 ); +PROVIDE ( _xtos_interrupt_table = 0x3ffe0658 ); +PROVIDE ( _xtos_ints_off = 0x4000bfac ); +PROVIDE ( _xtos_ints_on = 0x4000bf88 ); +PROVIDE ( _xtos_intstruct = 0x3ffe0650 ); +PROVIDE ( _xtos_l1int_handler = 0x40000814 ); +PROVIDE ( _xtos_p_none = 0x4000bfd4 ); +PROVIDE ( _xtos_restore_intlevel = 0x40000928 ); +PROVIDE ( _xtos_return_from_exc = 0x4000c034 ); +PROVIDE ( _xtos_set_exception_handler = 0x4000074c ); +PROVIDE ( _xtos_set_interrupt_handler = 0x4000bf78 ); +PROVIDE ( _xtos_set_interrupt_handler_arg = 0x4000bf34 ); +PROVIDE ( _xtos_set_min_intlevel = 0x4000bff8 ); +PROVIDE ( _xtos_set_vpri = 0x40000934 ); +PROVIDE ( _xtos_syscall_handler = 0x40000790 ); +PROVIDE ( _xtos_unhandled_exception = 0x4000c024 ); +PROVIDE ( _xtos_unhandled_interrupt = 0x4000c01c ); +PROVIDE ( _xtos_vpri_enabled = 0x3ffe0654 ); +PROVIDE ( ets_intr_count = 0x3ffe03fc ); +*/ + +/* These functions are part of the UART downloader but also contain general UART functions. */ +PROVIDE ( FilePacketSendDeflatedReqMsgProc = 0x40008b24 ); +PROVIDE ( FilePacketSendReqMsgProc = 0x40008860 ); +PROVIDE ( FlashDwnLdDeflatedStartMsgProc = 0x40008ad8 ); +PROVIDE ( FlashDwnLdParamCfgMsgProc = 0x4000891c ); +PROVIDE ( FlashDwnLdStartMsgProc = 0x40008820 ); +PROVIDE ( FlashDwnLdStopDeflatedReqMsgProc = 0x40008c18 ); +PROVIDE ( FlashDwnLdStopReqMsgProc = 0x400088ec ); +PROVIDE ( MemDwnLdStartMsgProc = 0x40008948 ); +PROVIDE ( MemDwnLdStopReqMsgProc = 0x400089dc ); +PROVIDE ( MemPacketSendReqMsgProc = 0x40008978 ); +PROVIDE ( uart_baudrate_detect = 0x40009034 ); +PROVIDE ( uart_buff_switch = 0x400093c0 ); +PROVIDE ( UartConnCheck = 0x40008738 ); +PROVIDE ( UartConnectProc = 0x40008a04 ); +PROVIDE ( UartDwnLdProc = 0x40008ce8 ); +PROVIDE ( UartRegReadProc = 0x40008a58 ); +PROVIDE ( UartRegWriteProc = 0x40008a14 ); +PROVIDE ( UartSetBaudProc = 0x40008aac ); +PROVIDE ( UartSpiAttachProc = 0x40008a6c ); +PROVIDE ( UartSpiReadProc = 0x40008a80 ); +PROVIDE ( VerifyFlashMd5Proc = 0x40008c44 ); +PROVIDE ( GetUartDevice = 0x40009598 ); +PROVIDE ( RcvMsg = 0x4000954c ); +PROVIDE ( SendMsg = 0x40009384 ); +PROVIDE ( UartGetCmdLn = 0x40009564 ); +PROVIDE ( UartRxString = 0x400092fc ); +PROVIDE ( Uart_Init = 0x40009120 ); +PROVIDE ( recv_packet = 0x40009424 ); +PROVIDE ( send_packet = 0x40009340 ); +PROVIDE ( uartAttach = 0x40008fd0 ); +PROVIDE ( uart_div_modify = 0x400090cc ); +PROVIDE ( uart_rx_intr_handler = 0x40008f4c ); +PROVIDE ( uart_rx_one_char = 0x400092d0 ); +PROVIDE ( uart_rx_one_char_block = 0x400092a4 ); +PROVIDE ( uart_rx_readbuff = 0x40009394 ); +PROVIDE ( uart_tx_flush = 0x40009258 ); +PROVIDE ( uart_tx_one_char = 0x40009200 ); +PROVIDE ( uart_tx_one_char2 = 0x4000922c ); +PROVIDE ( uart_tx_switch = 0x40009028 ); + + +/* +These functions are part of the ROM GPIO driver. We do not use them; the provided esp-idf functions +replace them and this way we can reuse the fixed RAM addresses these routines need. +*/ +/* <-- So you don't read over it: This comment disables the next lines. +PROVIDE ( gpio_init = 0x40009c20 ); +PROVIDE ( gpio_intr_ack = 0x40009dd4 ); +PROVIDE ( gpio_intr_ack_high = 0x40009e1c ); +PROVIDE ( gpio_intr_handler_register = 0x40009e6c ); +PROVIDE ( gpio_intr_pending = 0x40009cec ); +PROVIDE ( gpio_intr_pending_high = 0x40009cf8 ); +PROVIDE ( gpio_pending_mask = 0x3ffe0038 ); +PROVIDE ( gpio_pending_mask_high = 0x3ffe0044 ); +PROVIDE ( gpio_pin_intr_state_set = 0x40009d04 ); +PROVIDE ( gpio_pin_wakeup_disable = 0x40009eb0 ); +PROVIDE ( gpio_pin_wakeup_enable = 0x40009e7c ); +PROVIDE ( gpio_register_get = 0x40009cbc ); +PROVIDE ( gpio_register_set = 0x40009bbc ); +*/ +/* These are still part of that driver, but have been verified not to use static RAM, so they can be used. */ +PROVIDE ( gpio_output_set = 0x40009b24 ); +PROVIDE ( gpio_output_set_high = 0x40009b5c ); +PROVIDE ( gpio_input_get = 0x40009b88 ); +PROVIDE ( gpio_input_get_high = 0x40009b9c ); +PROVIDE ( gpio_matrix_in = 0x40009edc ); +PROVIDE ( gpio_matrix_out = 0x40009f0c ); +PROVIDE ( gpio_pad_select_gpio = 0x40009fdc ); +PROVIDE ( gpio_pad_set_drv = 0x4000a11c ); +PROVIDE ( gpio_pad_pulldown = 0x4000a348 ); +PROVIDE ( gpio_pad_pullup = 0x4000a22c ); +PROVIDE ( gpio_pad_hold = 0x4000a734 ); +PROVIDE ( gpio_pad_unhold = 0x4000a484 ); + +/* +These functions are part of the non-os kernel (etsc). +*/ +PROVIDE ( ets_aes_crypt = 0x4005c9b8 ); +PROVIDE ( ets_aes_disable = 0x4005c8f8 ); +PROVIDE ( ets_aes_enable = 0x4005c8cc ); +PROVIDE ( ets_aes_set_endian = 0x4005c928 ); +PROVIDE ( ets_aes_setkey_dec = 0x4005c994 ); +PROVIDE ( ets_aes_setkey_enc = 0x4005c97c ); +PROVIDE ( ets_bigint_disable = 0x4005c4e0 ); +PROVIDE ( ets_bigint_enable = 0x4005c498 ); +PROVIDE ( ets_bigint_mod_mult_getz = 0x4005c818 ); +PROVIDE ( ets_bigint_mod_mult_prepare = 0x4005c7b4 ); +PROVIDE ( ets_bigint_mod_power_getz = 0x4005c614 ); +PROVIDE ( ets_bigint_mod_power_prepare = 0x4005c54c ); +PROVIDE ( ets_bigint_montgomery_mult_getz = 0x4005c7a4 ); +PROVIDE ( ets_bigint_montgomery_mult_prepare = 0x4005c6fc ); +PROVIDE ( ets_bigint_mult_getz = 0x4005c6e8 ); +PROVIDE ( ets_bigint_mult_prepare = 0x4005c630 ); +PROVIDE ( ets_bigint_wait_finish = 0x4005c520 ); +PROVIDE ( ets_post = 0x4000673c ); +PROVIDE ( ets_run = 0x400066bc ); +PROVIDE ( ets_set_idle_cb = 0x40006674 ); +PROVIDE ( ets_task = 0x40006688 ); +PROVIDE ( ets_efuse_get_8M_clock = 0x40008710 ); +PROVIDE ( ets_efuse_get_spiconfig = 0x40008658 ); +PROVIDE ( ets_efuse_program_op = 0x40008628 ); +PROVIDE ( ets_efuse_read_op = 0x40008600 ); +PROVIDE ( ets_intr_lock = 0x400067b0 ); +PROVIDE ( ets_intr_unlock = 0x400067c4 ); +PROVIDE ( ets_isr_attach = 0x400067ec ); +PROVIDE ( ets_waiti0 = 0x400067d8 ); +PROVIDE ( intr_matrix_set = 0x4000681c ); +PROVIDE ( check_pos = 0x400068b8 ); +PROVIDE ( ets_set_appcpu_boot_addr = 0x4000689c ); +PROVIDE ( ets_set_startup_callback = 0x4000688c ); +PROVIDE ( ets_set_user_start = 0x4000687c ); +PROVIDE ( ets_unpack_flash_code = 0x40007018 ); +PROVIDE ( ets_unpack_flash_code_legacy = 0x4000694c ); +PROVIDE ( rom_main = 0x400076c4 ); +PROVIDE ( ets_write_char_uart = 0x40007cf8 ); +PROVIDE ( ets_install_putc1 = 0x40007d18 ); +PROVIDE ( ets_install_putc2 = 0x40007d38 ); +PROVIDE ( ets_install_uart_printf = 0x40007d28 ); +PROVIDE ( ets_printf = 0x40007d54 ); +PROVIDE ( rtc_boot_control = 0x4000821c ); +PROVIDE ( rtc_get_reset_reason = 0x400081d4 ); +PROVIDE ( rtc_get_wakeup_cause = 0x400081f4 ); +PROVIDE ( rtc_select_apb_bridge = 0x40008288 ); +PROVIDE ( set_rtc_memory_crc = 0x40008208 ); +PROVIDE ( software_reset = 0x4000824c ); +PROVIDE ( software_reset_cpu = 0x40008264 ); +PROVIDE ( ets_secure_boot_check = 0x4005cb40 ); +PROVIDE ( ets_secure_boot_check_finish = 0x4005cc04 ); +PROVIDE ( ets_secure_boot_check_start = 0x4005cbcc ); +PROVIDE ( ets_secure_boot_finish = 0x4005ca84 ); +PROVIDE ( ets_secure_boot_hash = 0x4005cad4 ); +PROVIDE ( ets_secure_boot_obtain = 0x4005cb14 ); +PROVIDE ( ets_secure_boot_rd_abstract = 0x4005cba8 ); +PROVIDE ( ets_secure_boot_rd_iv = 0x4005cb84 ); +PROVIDE ( ets_secure_boot_start = 0x4005ca34 ); +PROVIDE ( ets_sha_disable = 0x4005c0a8 ); +PROVIDE ( ets_sha_enable = 0x4005c07c ); +PROVIDE ( ets_sha_finish = 0x4005c104 ); +PROVIDE ( ets_sha_init = 0x4005c0d4 ); +PROVIDE ( ets_sha_update = 0x4005c2a0 ); +PROVIDE ( ets_delay_us = 0x40008534 ); +PROVIDE ( ets_get_cpu_frequency = 0x4000855c ); +PROVIDE ( ets_get_detected_xtal_freq = 0x40008588 ); +PROVIDE ( ets_get_xtal_scale = 0x4000856c ); +PROVIDE ( ets_update_cpu_frequency_rom = 0x40008550 ); /* Updates g_ticks_per_us on the current CPU only; not on the other core */ + +/* Following are static data, but can be used, not generated by script <<<<< btdm data */ +PROVIDE ( hci_tl_env = 0x3ffb8154 ); +PROVIDE ( ld_acl_env = 0x3ffb8258 ); +PROVIDE ( ea_env = 0x3ffb80ec ); +PROVIDE ( lc_sco_data_path_config = 0x3ffb81f8 ); +PROVIDE ( lc_sco_env = 0x3ffb81fc ); +PROVIDE ( ld_active_ch_map = 0x3ffb8334 ); +PROVIDE ( ld_bcst_acl_env = 0x3ffb8274 ); +PROVIDE ( ld_csb_rx_env = 0x3ffb8278 ); +PROVIDE ( ld_csb_tx_env = 0x3ffb827c ); +PROVIDE ( ld_env = 0x3ffb9510 ); +PROVIDE ( ld_fm_env = 0x3ffb8284 ); +PROVIDE ( ld_inq_env = 0x3ffb82e4 ); +PROVIDE ( ld_iscan_env = 0x3ffb82e8 ); +PROVIDE ( ld_page_env = 0x3ffb82f0 ); +PROVIDE ( ld_pca_env = 0x3ffb82f4 ); +PROVIDE ( ld_pscan_env = 0x3ffb8308 ); +PROVIDE ( ld_sched_env = 0x3ffb830c ); +PROVIDE ( ld_sched_params = 0x3ffb96c0 ); +PROVIDE ( ld_sco_env = 0x3ffb824c ); +PROVIDE ( ld_sscan_env = 0x3ffb832c ); +PROVIDE ( ld_strain_env = 0x3ffb8330 ); +PROVIDE ( LM_Sniff = 0x3ffb8230 ); +PROVIDE ( LM_SniffSubRate = 0x3ffb8214 ); +PROVIDE ( prbs_64bytes = 0x3ff98992 ); +PROVIDE ( nvds_env = 0x3ffb8364 ); +PROVIDE ( nvds_magic_number = 0x3ff9912a ); +PROVIDE ( TASK_DESC_LLD = 0x3ff98b58 ); + +PROVIDE ( ld_acl_clk_isr = 0x40030cf8 ); +PROVIDE ( ld_acl_evt_canceled_cbk = 0x40033944 ); +PROVIDE ( ld_acl_evt_stop_cbk = 0x40033870 ); +PROVIDE ( ld_acl_evt_start_cbk = 0x40030ab0 ); +PROVIDE ( ld_acl_test_mode_update = 0x40032050 ); +PROVIDE ( ld_acl_resched = 0x40033814 ); +PROVIDE ( ld_acl_rx_isr = 0x40033aa8 ); +PROVIDE ( lc_acl_disc_ind_handler = 0x4002f270 ); +PROVIDE ( lc_pca_sscan_start_req_handler = 0x40029b34 ); +PROVIDE ( lmp_feats_req_ext_handler = 0x4002ccb0 ); +PROVIDE ( ld_pscan_em_init = 0x4003e5e8 ); +PROVIDE ( ld_acl_rsw_start = 0x40032e90 ); +PROVIDE ( ld_acl_sniff_enter = 0x40031244 ); +PROVIDE ( ld_acl_sniff_trans_sched = 0x40033734 ); +PROVIDE ( lc_pwr_decr_ind_handler = 0x4002859c ); +PROVIDE ( lc_pwr_incr_ind_handler = 0x400284a8 ); +PROVIDE ( lc_pwr_max_ind_handler = 0x40028690 ); +PROVIDE ( lc_setup_sync_param_check = 0x4002354c ); + +PROVIDE ( lm_sync_conf = 0x3ffb8348 ); +PROVIDE ( lm_nb_sync_active = 0x3ffb8346 ); +PROVIDE ( lm_sync_nego = 0x3ffb8345 ); +PROVIDE ( lm_nego_cnt = 0x3ffb8344 ); +PROVIDE ( lm_nego_cntl = 0x3ffb8342 ); +PROVIDE ( lm_nego_max_cnt = 0x3ffb8343 ); +PROVIDE ( lm_nego_pkt_used = 0x3ffb8340 ); +/* Above are static data, but can be used, not generated by script >>>>> btdm data */ diff --git a/esp-hal/ld/esp32/rom/esp32.rom.libgcc.ld b/esp-hal/ld/esp32/rom/esp32.rom.libgcc.ld new file mode 100644 index 000000000..0bda115dc --- /dev/null +++ b/esp-hal/ld/esp32/rom/esp32.rom.libgcc.ld @@ -0,0 +1,94 @@ +/* Unlike other ROM functions which are exported using PROVIDE, which declares + weak symbols, these libgcc functions are exported using assignment, + which declares strong symbols. This is done so that ROM functions are always + used instead of the ones provided by libgcc.a. +*/ + +__absvdi2 = 0x4006387c; +__absvsi2 = 0x40063868; +__adddf3 = 0x40002590; +__addsf3 = 0x400020e8; +__addvdi3 = 0x40002cbc; +__addvsi3 = 0x40002c98; +__ashldi3 = 0x4000c818; +__ashrdi3 = 0x4000c830; +__bswapdi2 = 0x40064b08; +__bswapsi2 = 0x40064ae0; +__clrsbdi2 = 0x40064b7c; +__clrsbsi2 = 0x40064b64; +__clzdi2 = 0x4000ca50; +__clzsi2 = 0x4000c7e8; +__cmpdi2 = 0x40063820; +__ctzdi2 = 0x4000ca64; +__ctzsi2 = 0x4000c7f0; +__divdc3 = 0x400645a4; +__divdf3 = 0x40002954; +__divdi3 = 0x4000ca84; +__divsi3 = 0x4000c7b8; +__eqdf2 = 0x400636a8; +__eqsf2 = 0x40063374; +__extendsfdf2 = 0x40002c34; +__ffsdi2 = 0x4000ca2c; +__ffssi2 = 0x4000c804; +__fixdfdi = 0x40002ac4; +__fixdfsi = 0x40002a78; +__fixsfdi = 0x4000244c; +__fixsfsi = 0x4000240c; +__fixunsdfsi = 0x40002b30; +__fixunssfdi = 0x40002504; +__fixunssfsi = 0x400024ac; +__floatdidf = 0x4000c988; +__floatdisf = 0x4000c8c0; +__floatsidf = 0x4000c944; +__floatsisf = 0x4000c870; +__floatundidf = 0x4000c978; +__floatundisf = 0x4000c8b0; +__floatunsidf = 0x4000c938; +__floatunsisf = 0x4000c864; +__gcc_bcmp = 0x40064a70; +__gedf2 = 0x40063768; +__gesf2 = 0x4006340c; +__gtdf2 = 0x400636dc; +__gtsf2 = 0x400633a0; +__ledf2 = 0x40063704; +__lesf2 = 0x400633c0; +__lshrdi3 = 0x4000c84c; +__ltdf2 = 0x40063790; +__ltsf2 = 0x4006342c; +__moddi3 = 0x4000cd4c; +__modsi3 = 0x4000c7c0; +__muldc3 = 0x40063c90; +__muldf3 = 0x4006358c; +__muldi3 = 0x4000c9fc; +__mulsf3 = 0x400632c8; +__mulsi3 = 0x4000c7b0; +__mulvdi3 = 0x40002d78; +__mulvsi3 = 0x40002d60; +__nedf2 = 0x400636a8; +__negdf2 = 0x400634a0; +__negdi2 = 0x4000ca14; +__negsf2 = 0x400020c0; +__negvdi2 = 0x40002e98; +__negvsi2 = 0x40002e78; +__nesf2 = 0x40063374; +__nsau_data = 0x3ff96544; +__paritysi2 = 0x40002f3c; +__popcount_tab = 0x3ff96544; +__popcountdi2 = 0x40002ef8; +__popcountsi2 = 0x40002ed0; +__powidf2 = 0x400638e4; +__subdf3 = 0x400026e4; +__subsf3 = 0x400021d0; +__subvdi3 = 0x40002d20; +__subvsi3 = 0x40002cf8; +__truncdfsf2 = 0x40002b90; +__ucmpdi2 = 0x40063840; +__udiv_w_sdiv = 0x40064bec; +__udivdi3 = 0x4000cff8; +__udivmoddi4 = 0x40064bf4; +__udivsi3 = 0x4000c7c8; +__umoddi3 = 0x4000d280; +__umodsi3 = 0x4000c7d0; +__umulsidi3 = 0x4000c7d8; +__unorddf2 = 0x400637f4; +__unordsf2 = 0x40063478; diff --git a/esp-hal/ld/esp32/rom/esp32.rom.redefined.ld b/esp-hal/ld/esp32/rom/esp32.rom.redefined.ld new file mode 100644 index 000000000..a7f62b867 --- /dev/null +++ b/esp-hal/ld/esp32/rom/esp32.rom.redefined.ld @@ -0,0 +1,38 @@ +/* + ROM Functions defined in this file are not used in ESP-IDF as is, + and different definitions for functions with the same names are provided. + This file is not used when linking ESP-IDF and is intended for reference only +*/ + +PROVIDE ( abort = 0x4000bba4 ); +PROVIDE ( aes_128_cbc_decrypt = 0x4005cc7c ); +PROVIDE ( aes_128_cbc_encrypt = 0x4005cc18 ); +PROVIDE ( aes_unwrap = 0x4005ccf0 ); +PROVIDE ( base64_decode = 0x4005ced8 ); +PROVIDE ( base64_encode = 0x4005cdbc ); +PROVIDE ( ets_isr_mask = 0x400067fc ); +PROVIDE ( ets_isr_unmask = 0x40006808 ); +PROVIDE ( ets_timer_arm = 0x40008368 ); +PROVIDE ( ets_timer_arm_us = 0x400083ac ); +PROVIDE ( ets_timer_disarm = 0x400083ec ); +PROVIDE ( ets_timer_done = 0x40008428 ); +PROVIDE ( ets_timer_init = 0x400084e8 ); +PROVIDE ( ets_timer_handler_isr = 0x40008454 ); +PROVIDE ( ets_timer_setfn = 0x40008350 ); +PROVIDE ( hmac_md5 = 0x4005d264 ); +PROVIDE ( hmac_md5_vector = 0x4005d17c ); +PROVIDE ( hmac_sha1 = 0x40060acc ); +PROVIDE ( hmac_sha1_vector = 0x400609e4 ); +PROVIDE ( hmac_sha256 = 0x40060d58 ); +PROVIDE ( hmac_sha256_vector = 0x40060c84 ); +PROVIDE ( MD5Final = 0x4005db1c ); +PROVIDE ( MD5Init = 0x4005da7c ); +PROVIDE ( MD5Update = 0x4005da9c ); +PROVIDE ( md5_vector = 0x4005db80 ); +PROVIDE ( pbkdf2_sha1 = 0x40060ba4 ); +PROVIDE ( rc4_skip = 0x40060928 ); +PROVIDE ( sha1_prf = 0x40060ae8 ); +PROVIDE ( sha1_vector = 0x40060b64 ); +PROVIDE ( sha256_prf = 0x40060d70 ); +PROVIDE ( sha256_vector = 0x40060e08 ); +PROVIDE ( uart_tx_wait_idle = 0x40009278 ); diff --git a/esp-hal/ld/esp32/rom/esp32.rom.spiflash_legacy.ld b/esp-hal/ld/esp32/rom/esp32.rom.spiflash_legacy.ld new file mode 100644 index 000000000..b68b897a9 --- /dev/null +++ b/esp-hal/ld/esp32/rom/esp32.rom.spiflash_legacy.ld @@ -0,0 +1,29 @@ +/* + * SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD + * + * SPDX-License-Identifier: Apache-2.0 + */ +/* + Address table for SPI driver functions in ESP32 ROM. + These functions are only linked from ROM when SPI_FLASH_ROM_DRIVER_PATCH is not set in configuration. +*/ + +PROVIDE ( esp_rom_spiflash_write_encrypted = 0x40062e78 ); +PROVIDE ( esp_rom_spiflash_erase_area = 0x400631ac ); +PROVIDE ( esp_rom_spiflash_erase_block = 0x40062c4c ); +PROVIDE ( esp_rom_spiflash_erase_chip = 0x40062c14 ); +PROVIDE ( esp_rom_spiflash_erase_sector = 0x40062ccc ); +PROVIDE ( esp_rom_spiflash_attach = 0x40062a6c ); +PROVIDE ( esp_rom_spiflash_lock = 0x400628f0 ); +PROVIDE ( esp_rom_spiflash_read = 0x40062ed8 ); +PROVIDE ( esp_rom_spiflash_config_readmode = 0x40062b64 ); /* SPIMasterReadModeCnfig */ +PROVIDE ( esp_rom_spiflash_read_status = 0x4006226c ); +PROVIDE ( esp_rom_spiflash_read_statushigh = 0x40062448 ); +PROVIDE ( esp_rom_spiflash_write = 0x40062d50 ); +PROVIDE ( esp_rom_spiflash_enable_write = 0x40062320 ); +PROVIDE ( esp_rom_spiflash_write_status = 0x400622f0 ); + +/* always using patched versions of these functions +PROVIDE ( esp_rom_spiflash_wait_idle = 0x400622c0 ); +PROVIDE ( esp_rom_spiflash_unlock = 0x400????? ); +*/ diff --git a/esp-hal/ld/esp32/rom/esp32.rom.syscalls.ld b/esp-hal/ld/esp32/rom/esp32.rom.syscalls.ld new file mode 100644 index 000000000..42326b6b1 --- /dev/null +++ b/esp-hal/ld/esp32/rom/esp32.rom.syscalls.ld @@ -0,0 +1,66 @@ +/* These ROM functions call respective entries in the syscall table. + They are called by other ROM functions (mostly from newlib). + We don't link to them directly, since in IDF there are actual + implementations of these functions, with same names. + + I.e.: + + times (in ROM) -> _times_r (in ROM) -> syscall table entry _times_r -> _times_r (in IDF) + + Hence the following entries are provided only for reference + and commented out. + */ + +/* <--- the following lines are commented out + +PROVIDE ( calloc = 0x4000bee4 ); +PROVIDE ( free = 0x4000beb8 ); +PROVIDE ( _free_r = 0x4000bbcc ); +PROVIDE ( _getpid_r = 0x4000bcfc ); +PROVIDE ( __getreent = 0x4000be8c ); +PROVIDE ( _gettimeofday_r = 0x4000bc58 ); +PROVIDE ( _kill_r = 0x4000bd10 ); +PROVIDE ( _lock_acquire = 0x4000be14 ); +PROVIDE ( _lock_acquire_recursive = 0x4000be28 ); +PROVIDE ( _lock_close = 0x4000bdec ); +PROVIDE ( _lock_close_recursive = 0x4000be00 ); +PROVIDE ( _lock_init = 0x4000bdc4 ); +PROVIDE ( _lock_init_recursive = 0x4000bdd8 ); +PROVIDE ( _lock_release = 0x4000be64 ); +PROVIDE ( _lock_release_recursive = 0x4000be78 ); +PROVIDE ( _lock_try_acquire = 0x4000be3c ); +PROVIDE ( _lock_try_acquire_recursive = 0x4000be50 ); +PROVIDE ( malloc = 0x4000bea0 ); +PROVIDE ( _malloc_r = 0x4000bbb4 ); +PROVIDE ( _raise_r = 0x4000bc70 ); +PROVIDE ( realloc = 0x4000becc ); +PROVIDE ( _realloc_r = 0x4000bbe0 ); +PROVIDE ( _sbrk_r = 0x4000bce4 ); +PROVIDE ( _system_r = 0x4000bc10 ); +PROVIDE ( _times_r = 0x4000bc40 ); +PROVIDE ( _close_r = 0x4000bd3c ); +PROVIDE ( _exit_r = 0x4000bd28 ); +PROVIDE ( _fstat_r = 0x4000bccc ); +PROVIDE ( _link_r = 0x4000bc9c ); +PROVIDE ( _lseek_r = 0x4000bd8c ); +PROVIDE ( _open_r = 0x4000bd54 ); +PROVIDE ( _read_r = 0x4000bda8 ); +PROVIDE ( _rename_r = 0x4000bc28 ); +PROVIDE ( _unlink_r = 0x4000bc84 ); +PROVIDE ( _write_r = 0x4000bd70 ); + + ---> end commented out block +*/ + + +/* These are the non-reentrant versions of syscalls present in the ROM. + They call the reentrant versions, passing the pointer returned by __getreent + as the first argument. + */ + +close = 0x40001778; +open = 0x4000178c; +read = 0x400017dc; +sbrk = 0x400017f4; +times = 0x40001808; +write = 0x4000181c; diff --git a/esp-hal/ld/esp32c2/rom-functions.x b/esp-hal/ld/esp32c2/rom-functions.x index 3165a5266..67ca73f2c 100644 --- a/esp-hal/ld/esp32c2/rom-functions.x +++ b/esp-hal/ld/esp32c2/rom-functions.x @@ -1,23 +1,8 @@ -PROVIDE(ets_delay_us = 0x40000044); -PROVIDE(ets_update_cpu_frequency_rom = 0x40000774); -PROVIDE(rom_i2c_writeReg = 0x400022f4); -PROVIDE(rom_i2c_writeReg_Mask = 0x400022fc); -PROVIDE(rtc_get_reset_reason = 0x40000018); -PROVIDE(software_reset = 0x40000088); -PROVIDE(software_reset_cpu = 0x4000008c); +INCLUDE "rom/esp32c2.rom.api.ld" +INCLUDE "rom/esp32c2.rom.heap.ld" +INCLUDE "rom/esp32c2.rom.ld" +INCLUDE "rom/esp32c2.rom.libgcc.ld" +INCLUDE "rom/esp32c2.rom.rvfp.ld" +INCLUDE "rom/esp32c2.rom.version.ld" -PROVIDE(esp_rom_crc32_be = 0x40000808); -PROVIDE(esp_rom_crc16_be = 0x4000080c); -PROVIDE(esp_rom_crc8_be = 0x40000810); -PROVIDE(esp_rom_crc32_le = 0x400007fc); -PROVIDE(esp_rom_crc16_le = 0x40000800); -PROVIDE(esp_rom_crc8_le = 0x40000804); - -PROVIDE(esp_rom_mbedtls_md5_starts_ret = 0x40002be4); -PROVIDE(esp_rom_mbedtls_md5_update_ret = 0x40002be8); -PROVIDE(esp_rom_mbedtls_md5_finish_ret = 0x40002bec); - -memset = 0x40000488; -memcpy = 0x4000048c; -memmove = 0x40000490; -memcmp = 0x40000494; \ No newline at end of file +INCLUDE "rom/additional.ld" diff --git a/esp-hal/ld/esp32c2/rom/additional.ld b/esp-hal/ld/esp32c2/rom/additional.ld new file mode 100644 index 000000000..15f88e99b --- /dev/null +++ b/esp-hal/ld/esp32c2/rom/additional.ld @@ -0,0 +1,8 @@ +memset = 0x40000488; +memcpy = 0x4000048c; +memmove = 0x40000490; +memcmp = 0x40000494; + +strcpy = 0x40000498; +strncpy = 0x4000049c; +strncmp = 0x400004a4; diff --git a/esp-hal/ld/esp32c2/rom/esp32c2.rom.api.ld b/esp-hal/ld/esp32c2/rom/esp32c2.rom.api.ld new file mode 100644 index 000000000..f8a46d0e4 --- /dev/null +++ b/esp-hal/ld/esp32c2/rom/esp32c2.rom.api.ld @@ -0,0 +1,69 @@ +/* + * SPDX-FileCopyrightText: 2021-2024 Espressif Systems (Shanghai) CO LTD + * + * SPDX-License-Identifier: Apache-2.0 + */ +/** ROM APIs + */ +PROVIDE ( esp_rom_crc32_le = crc32_le ); +PROVIDE ( esp_rom_crc16_le = crc16_le ); +PROVIDE ( esp_rom_crc8_le = crc8_le ); +PROVIDE ( esp_rom_crc32_be = crc32_be ); +PROVIDE ( esp_rom_crc16_be = crc16_be ); +PROVIDE ( esp_rom_crc8_be = crc8_be ); + +PROVIDE ( esp_rom_gpio_pad_select_gpio = gpio_pad_select_gpio ); +PROVIDE ( esp_rom_gpio_pad_pullup_only = gpio_pad_pullup ); +PROVIDE ( esp_rom_gpio_pad_set_drv = gpio_pad_set_drv ); +PROVIDE ( esp_rom_gpio_pad_unhold = gpio_pad_unhold ); +PROVIDE ( esp_rom_gpio_connect_in_signal = gpio_matrix_in ); +PROVIDE ( esp_rom_gpio_connect_out_signal = gpio_matrix_out ); + +PROVIDE ( esp_rom_efuse_mac_address_crc8 = esp_crc8 ); +PROVIDE ( esp_rom_efuse_is_secure_boot_enabled = ets_efuse_secure_boot_enabled ); + +PROVIDE ( esp_rom_uart_flush_tx = uart_tx_flush ); +PROVIDE ( esp_rom_uart_tx_one_char = uart_tx_one_char ); +PROVIDE ( esp_rom_uart_tx_wait_idle = uart_tx_wait_idle ); +PROVIDE ( esp_rom_uart_rx_one_char = uart_rx_one_char ); +PROVIDE ( esp_rom_uart_rx_string = UartRxString ); +PROVIDE ( esp_rom_uart_set_as_console = uart_tx_switch ); +PROVIDE ( esp_rom_uart_putc = ets_write_char_uart ); + +PROVIDE ( esp_rom_output_flush_tx = uart_tx_flush ); +PROVIDE ( esp_rom_output_tx_one_char = uart_tx_one_char ); +PROVIDE ( esp_rom_output_tx_wait_idle = uart_tx_wait_idle ); +PROVIDE ( esp_rom_output_rx_one_char = uart_rx_one_char ); +PROVIDE ( esp_rom_output_rx_string = UartRxString ); +PROVIDE ( esp_rom_output_set_as_console = uart_tx_switch ); +PROVIDE ( esp_rom_output_putc = ets_write_char_uart ); + +PROVIDE ( esp_rom_mbedtls_md5_starts_ret = mbedtls_md5_starts_ret ); +PROVIDE ( esp_rom_mbedtls_md5_update_ret = mbedtls_md5_update_ret ); +PROVIDE ( esp_rom_mbedtls_md5_finish_ret = mbedtls_md5_finish_ret ); + +PROVIDE ( esp_rom_software_reset_system = software_reset ); +PROVIDE ( esp_rom_software_reset_cpu = software_reset_cpu ); + +PROVIDE ( esp_rom_printf = ets_printf ); +PROVIDE ( esp_rom_install_uart_printf = ets_install_uart_printf ); +PROVIDE ( esp_rom_delay_us = ets_delay_us ); +PROVIDE ( esp_rom_get_reset_reason = rtc_get_reset_reason ); +PROVIDE ( esp_rom_route_intr_matrix = intr_matrix_set ); +PROVIDE ( esp_rom_get_cpu_ticks_per_us = ets_get_cpu_frequency ); +PROVIDE ( esp_rom_set_cpu_ticks_per_us = ets_update_cpu_frequency ); + +PROVIDE ( esp_rom_spiflash_attach = spi_flash_attach ); +PROVIDE ( esp_rom_spiflash_clear_bp = esp_rom_spiflash_unlock ); +PROVIDE ( esp_rom_spiflash_write_enable = SPI_write_enable); +PROVIDE ( esp_rom_spiflash_erase_area = SPIEraseArea ); + +PROVIDE ( esp_rom_spiflash_fix_dummylen = spi_dummy_len_fix ); +PROVIDE ( esp_rom_spiflash_set_drvs = SetSpiDrvs); +PROVIDE ( esp_rom_spiflash_select_padsfunc = SelectSpiFunction ); +PROVIDE ( esp_rom_spiflash_common_cmd = SPI_Common_Command ); + +PROVIDE ( esp_rom_regi2c_read = rom_i2c_readReg ); +PROVIDE ( esp_rom_regi2c_read_mask = rom_i2c_readReg_Mask ); +PROVIDE ( esp_rom_regi2c_write = rom_i2c_writeReg ); +PROVIDE ( esp_rom_regi2c_write_mask = rom_i2c_writeReg_Mask ); diff --git a/esp-hal/ld/esp32c2/rom/esp32c2.rom.heap.ld b/esp-hal/ld/esp32c2/rom/esp32c2.rom.heap.ld new file mode 100644 index 000000000..5d6f54c53 --- /dev/null +++ b/esp-hal/ld/esp32c2/rom/esp32c2.rom.heap.ld @@ -0,0 +1,75 @@ +/* + * SPDX-FileCopyrightText: 2022-2024 Espressif Systems (Shanghai) CO LTD + * + * SPDX-License-Identifier: Apache-2.0 + */ + + +/*************************************** + Group heap + ***************************************/ + +/* Functions */ +PROVIDE( tlsf_create = 0x400002dc ); +PROVIDE( tlsf_create_with_pool = 0x400002e0 ); +PROVIDE( tlsf_get_pool = 0x400002e4 ); +PROVIDE( tlsf_add_pool = 0x400002e8 ); +PROVIDE( tlsf_remove_pool = 0x400002ec ); +PROVIDE( tlsf_malloc = 0x400002f0 ); +PROVIDE( tlsf_memalign = 0x400002f4 ); +PROVIDE( tlsf_memalign_offs = 0x400002f8 ); +PROVIDE( tlsf_realloc = 0x400002fc ); +PROVIDE( tlsf_free = 0x40000300 ); +PROVIDE( tlsf_block_size = 0x40000304 ); +PROVIDE( tlsf_size = 0x40000308 ); +PROVIDE( tlsf_align_size = 0x4000030c ); +PROVIDE( tlsf_block_size_min = 0x40000310 ); +PROVIDE( tlsf_block_size_max = 0x40000314 ); +PROVIDE( tlsf_pool_overhead = 0x40000318 ); +PROVIDE( tlsf_alloc_overhead = 0x4000031c ); +PROVIDE( tlsf_walk_pool = 0x40000320 ); +PROVIDE( tlsf_check = 0x40000324 ); +PROVIDE( tlsf_check_pool = 0x40000328 ); +PROVIDE( tlsf_poison_fill_pfunc_set = 0x4000032c ); +PROVIDE( multi_heap_get_block_address_impl = 0x40000330 ); +PROVIDE( multi_heap_get_allocated_size_impl = 0x40000334 ); +PROVIDE( multi_heap_register_impl = 0x40000338 ); +PROVIDE( multi_heap_set_lock = 0x4000033c ); +PROVIDE( multi_heap_os_funcs_init = 0x40000340 ); +PROVIDE( multi_heap_internal_lock = 0x40000344 ); +PROVIDE( multi_heap_internal_unlock = 0x40000348 ); +PROVIDE( multi_heap_get_first_block = 0x4000034c ); +PROVIDE( multi_heap_get_next_block = 0x40000350 ); +PROVIDE( multi_heap_is_free = 0x40000354 ); +PROVIDE( multi_heap_malloc_impl = 0x40000358 ); +PROVIDE( multi_heap_free_impl = 0x4000035c ); +PROVIDE( multi_heap_realloc_impl = 0x40000360 ); +PROVIDE( multi_heap_aligned_alloc_impl_offs = 0x40000364 ); +PROVIDE( multi_heap_aligned_alloc_impl = 0x40000368 ); +PROVIDE( multi_heap_check = 0x4000036c ); +PROVIDE( multi_heap_dump = 0x40000370 ); +PROVIDE( multi_heap_free_size_impl = 0x40000374 ); +PROVIDE( multi_heap_minimum_free_size_impl = 0x40000378 ); +PROVIDE( multi_heap_get_info_impl = 0x4000037c ); +/* Data (.data, .bss, .rodata) */ +PROVIDE( heap_tlsf_table_ptr = 0x3fcdffec ); + +/** + * Multi heap function + */ + +PROVIDE (multi_heap_malloc = multi_heap_malloc_impl); +PROVIDE (multi_heap_free = multi_heap_free_impl); +PROVIDE (multi_heap_realloc = multi_heap_realloc_impl); +PROVIDE (multi_heap_get_allocated_size = multi_heap_get_allocated_size_impl); +PROVIDE (multi_heap_register = multi_heap_register_impl); +PROVIDE (multi_heap_get_info = multi_heap_get_info_impl); +PROVIDE (multi_heap_free_size = multi_heap_free_size_impl); +PROVIDE (multi_heap_minimum_free_size = multi_heap_minimum_free_size_impl); +PROVIDE (multi_heap_get_block_address = multi_heap_get_block_address_impl); +PROVIDE (multi_heap_aligned_alloc = multi_heap_aligned_alloc_impl); +PROVIDE (multi_heap_aligned_free = multi_heap_aligned_free_impl); +PROVIDE (multi_heap_check = multi_heap_check); +PROVIDE (multi_heap_set_lock = multi_heap_set_lock); +PROVIDE (multi_heap_internal_lock = multi_heap_internal_lock); +PROVIDE (multi_heap_internal_unlock = multi_heap_internal_unlock); diff --git a/esp-hal/ld/esp32c2/rom/esp32c2.rom.ld b/esp-hal/ld/esp32c2/rom/esp32c2.rom.ld new file mode 100644 index 000000000..007732f4e --- /dev/null +++ b/esp-hal/ld/esp32c2/rom/esp32c2.rom.ld @@ -0,0 +1,2237 @@ +/* + * SPDX-FileCopyrightText: 2021-2024 Espressif Systems (Shanghai) CO LTD + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/* ROM function interface esp32c2.rom.ld for esp32c2 + * + * + * Generated from ./interface-esp32c2.yml md5sum c679b6ed5e9f0a9c3e7b93e5e0f2a1a3 + * + * Compatible with ROM where ECO version equal or greater to 1. + * + * THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT. + */ + +/*************************************** + Group common + ***************************************/ + +/* Functions */ +rtc_get_reset_reason = 0x40000018; +analog_super_wdt_reset_happened = 0x4000001c; +rtc_get_wakeup_cause = 0x40000020; +rtc_select_apb_bridge = 0x40000024; +rtc_unhold_all_pads = 0x40000028; +ets_is_print_boot = 0x4000002c; +ets_vprintf = 0x40000030; +ets_printf = 0x40000034; +ets_install_putc1 = 0x40000038; +ets_install_uart_printf = 0x4000003c; +ets_install_putc2 = 0x40000040; +ets_delay_us = 0x40000044; +ets_get_stack_info = 0x40000048; +ets_install_lock = 0x4000004c; +UartRxString = 0x40000050; +UartGetCmdLn = 0x40000054; +uart_tx_one_char = 0x40000058; +uart_tx_one_char2 = 0x4000005c; +uart_rx_one_char = 0x40000060; +uart_rx_one_char_block = 0x40000064; +uart_rx_readbuff = 0x40000068; +uartAttach = 0x4000006c; +uart_tx_flush = 0x40000070; +uart_tx_wait_idle = 0x40000074; +uart_div_modify = 0x40000078; +ets_write_char_uart = 0x4000007c; +uart_tx_switch = 0x40000080; +multofup = 0x40000084; +software_reset = 0x40000088; +software_reset_cpu = 0x4000008c; +assist_debug_clock_enable = 0x40000090; +assist_debug_record_enable = 0x40000094; +clear_super_wdt_reset_flag = 0x40000098; +disable_default_watchdog = 0x4000009c; +send_packet = 0x400000a0; +recv_packet = 0x400000a4; +GetUartDevice = 0x400000a8; +UartDwnLdProc = 0x400000ac; +GetSecurityInfoProc = 0x400000b0; +Uart_Init = 0x400000b4; +ets_set_user_start = 0x400000b8; +/* Data (.data, .bss, .rodata) */ +ets_rom_layout_p = 0x3ff4fffc; +ets_ops_table_ptr = 0x3fcdfffc; + + +/*************************************** + Group miniz + ***************************************/ + +/* Functions */ +mz_adler32 = 0x400000bc; +mz_free = 0x400000c0; +tdefl_compress = 0x400000c4; +tdefl_compress_buffer = 0x400000c8; +tdefl_compress_mem_to_heap = 0x400000cc; +tdefl_compress_mem_to_mem = 0x400000d0; +tdefl_compress_mem_to_output = 0x400000d4; +tdefl_get_adler32 = 0x400000d8; +tdefl_get_prev_return_status = 0x400000dc; +tdefl_init = 0x400000e0; +tdefl_write_image_to_png_file_in_memory = 0x400000e4; +tdefl_write_image_to_png_file_in_memory_ex = 0x400000e8; +tinfl_decompress = 0x400000ec; +tinfl_decompress_mem_to_callback = 0x400000f0; +tinfl_decompress_mem_to_heap = 0x400000f4; +tinfl_decompress_mem_to_mem = 0x400000f8; + + +/*************************************** + Group spiflash_legacy + ***************************************/ + +/* Functions */ +PROVIDE( esp_rom_spiflash_wait_idle = 0x400000fc ); +PROVIDE( esp_rom_spiflash_write_encrypted = 0x40000100 ); +PROVIDE( esp_rom_spiflash_write_encrypted_dest = 0x40000104 ); +PROVIDE( esp_rom_spiflash_write_encrypted_enable = 0x40000108 ); +PROVIDE( esp_rom_spiflash_write_encrypted_disable = 0x4000010c ); +PROVIDE( esp_rom_spiflash_erase_chip = 0x40000110 ); +PROVIDE( _esp_rom_spiflash_erase_sector = 0x40000114 ); +PROVIDE( _esp_rom_spiflash_erase_block = 0x40000118 ); +PROVIDE( _esp_rom_spiflash_write = 0x4000011c ); +PROVIDE( _esp_rom_spiflash_read = 0x40000120 ); +PROVIDE( _esp_rom_spiflash_unlock = 0x40000124 ); +PROVIDE( _SPIEraseArea = 0x40000128 ); +PROVIDE( _SPI_write_enable = 0x4000012c ); +PROVIDE( esp_rom_spiflash_erase_sector = 0x40000130 ); +PROVIDE( esp_rom_spiflash_erase_block = 0x40000134 ); +PROVIDE( esp_rom_spiflash_write = 0x40000138 ); +PROVIDE( esp_rom_spiflash_read = 0x4000013c ); +PROVIDE( esp_rom_spiflash_unlock = 0x40000140 ); +PROVIDE( SPIEraseArea = 0x40000144 ); +PROVIDE( SPI_write_enable = 0x40000148 ); +PROVIDE( esp_rom_spiflash_config_param = 0x4000014c ); +PROVIDE( esp_rom_spiflash_read_user_cmd = 0x40000150 ); +PROVIDE( esp_rom_spiflash_select_qio_pins = 0x40000154 ); +PROVIDE( esp_rom_spi_flash_auto_sus_res = 0x40000158 ); +PROVIDE( esp_rom_spi_flash_send_resume = 0x4000015c ); +PROVIDE( esp_rom_spi_flash_update_id = 0x40000160 ); +PROVIDE( esp_rom_spiflash_config_clk = 0x40000164 ); +PROVIDE( esp_rom_spiflash_config_readmode = 0x40000168 ); +PROVIDE( esp_rom_spiflash_read_status = 0x4000016c ); +PROVIDE( esp_rom_spiflash_read_statushigh = 0x40000170 ); +PROVIDE( esp_rom_spiflash_write_status = 0x40000174 ); +PROVIDE( spi_flash_attach = 0x40000178 ); +PROVIDE( spi_flash_get_chip_size = 0x4000017c ); +PROVIDE( spi_flash_guard_set = 0x40000180 ); +PROVIDE( spi_flash_guard_get = 0x40000184 ); +PROVIDE( spi_flash_read_encrypted = 0x40000188 ); +PROVIDE( spi_flash_mmap_os_func_set = 0x4000018c ); +PROVIDE( spi_flash_mmap_page_num_init = 0x40000190 ); +PROVIDE( spi_flash_mmap = 0x40000194 ); +PROVIDE( spi_flash_mmap_pages = 0x40000198 ); +PROVIDE( spi_flash_munmap = 0x4000019c ); +PROVIDE( spi_flash_mmap_dump = 0x400001a0 ); +PROVIDE( spi_flash_check_and_flush_cache = 0x400001a4 ); +PROVIDE( spi_flash_mmap_get_free_pages = 0x400001a8 ); +PROVIDE( spi_flash_cache2phys = 0x400001ac ); +PROVIDE( spi_flash_phys2cache = 0x400001b0 ); +PROVIDE( spi_flash_disable_cache = 0x400001b4 ); +PROVIDE( spi_flash_restore_cache = 0x400001b8 ); +PROVIDE( spi_flash_cache_enabled = 0x400001bc ); +PROVIDE( spi_flash_enable_cache = 0x400001c0 ); +PROVIDE( spi_cache_mode_switch = 0x400001c4 ); +PROVIDE( spi_common_set_dummy_output = 0x400001c8 ); +PROVIDE( spi_common_set_flash_cs_timing = 0x400001cc ); +PROVIDE( esp_rom_spi_set_address_bit_len = 0x400001d0 ); +PROVIDE( esp_enable_cache_flash_wrap = 0x400001d4 ); +PROVIDE( SPILock = 0x400001d8 ); +PROVIDE( SPIMasterReadModeCnfig = 0x400001dc ); +PROVIDE( SPI_Common_Command = 0x400001e0 ); +PROVIDE( SPI_WakeUp = 0x400001e4 ); +PROVIDE( SPI_block_erase = 0x400001e8 ); +PROVIDE( SPI_chip_erase = 0x400001ec ); +PROVIDE( SPI_init = 0x400001f0 ); +PROVIDE( SPI_page_program = 0x400001f4 ); +PROVIDE( SPI_read_data = 0x400001f8 ); +PROVIDE( SPI_sector_erase = 0x400001fc ); +PROVIDE( SelectSpiFunction = 0x40000200 ); +PROVIDE( SetSpiDrvs = 0x40000204 ); +PROVIDE( Wait_SPI_Idle = 0x40000208 ); +PROVIDE( spi_dummy_len_fix = 0x4000020c ); +PROVIDE( Disable_QMode = 0x40000210 ); +PROVIDE( Enable_QMode = 0x40000214 ); +/* Data (.data, .bss, .rodata) */ +PROVIDE( rom_spiflash_legacy_funcs = 0x3fcdfff4 ); +PROVIDE( rom_spiflash_legacy_data = 0x3fcdfff0 ); +PROVIDE( g_flash_guard_ops = 0x3fcdfff8 ); + + +/*************************************** + Group hal_soc + ***************************************/ + +/* Functions */ +PROVIDE( spi_flash_hal_poll_cmd_done = 0x40000218 ); +PROVIDE( spi_flash_hal_device_config = 0x4000021c ); +PROVIDE( spi_flash_hal_configure_host_io_mode = 0x40000220 ); +PROVIDE( spi_flash_hal_common_command = 0x40000224 ); +PROVIDE( spi_flash_hal_read = 0x40000228 ); +PROVIDE( spi_flash_hal_erase_chip = 0x4000022c ); +PROVIDE( spi_flash_hal_erase_sector = 0x40000230 ); +PROVIDE( spi_flash_hal_erase_block = 0x40000234 ); +PROVIDE( spi_flash_hal_program_page = 0x40000238 ); +PROVIDE( spi_flash_hal_set_write_protect = 0x4000023c ); +PROVIDE( spi_flash_hal_host_idle = 0x40000240 ); +PROVIDE( spi_flash_hal_check_status = 0x40000244 ); +PROVIDE( spi_flash_hal_setup_read_suspend = 0x40000248 ); +PROVIDE( spi_flash_hal_setup_auto_suspend_mode = 0x4000024c ); +PROVIDE( spi_flash_hal_setup_auto_resume_mode = 0x40000250 ); +PROVIDE( spi_flash_hal_disable_auto_suspend_mode = 0x40000254 ); +PROVIDE( spi_flash_hal_disable_auto_resume_mode = 0x40000258 ); +PROVIDE( spi_flash_hal_resume = 0x4000025c ); +PROVIDE( spi_flash_hal_suspend = 0x40000260 ); +PROVIDE( spi_flash_encryption_hal_enable = 0x40000264 ); +PROVIDE( spi_flash_encryption_hal_disable = 0x40000268 ); +PROVIDE( spi_flash_encryption_hal_prepare = 0x4000026c ); +PROVIDE( spi_flash_encryption_hal_done = 0x40000270 ); +PROVIDE( spi_flash_encryption_hal_destroy = 0x40000274 ); +PROVIDE( spi_flash_encryption_hal_check = 0x40000278 ); + + +/*************************************** + Group spi_flash_chips + ***************************************/ + +/* Functions */ +PROVIDE( spi_flash_chip_generic_probe = 0x40000380 ); +PROVIDE( spi_flash_chip_generic_detect_size = 0x40000384 ); +PROVIDE( spi_flash_chip_generic_write = 0x40000388 ); +PROVIDE( spi_flash_chip_generic_write_encrypted = 0x4000038c ); +PROVIDE( spi_flash_chip_generic_set_write_protect = 0x40000390 ); +PROVIDE( spi_flash_common_write_status_16b_wrsr = 0x40000394 ); +PROVIDE( spi_flash_chip_generic_reset = 0x40000398 ); +PROVIDE( spi_flash_chip_generic_erase_chip = 0x4000039c ); +PROVIDE( spi_flash_chip_generic_erase_sector = 0x400003a0 ); +PROVIDE( spi_flash_chip_generic_erase_block = 0x400003a4 ); +PROVIDE( spi_flash_chip_generic_page_program = 0x400003a8 ); +PROVIDE( spi_flash_chip_generic_get_write_protect = 0x400003ac ); +PROVIDE( spi_flash_common_read_status_16b_rdsr_rdsr2 = 0x400003b0 ); +PROVIDE( spi_flash_chip_generic_read_reg = 0x400003b4 ); +PROVIDE( spi_flash_chip_generic_yield = 0x400003b8 ); +PROVIDE( spi_flash_generic_wait_host_idle = 0x400003bc ); +PROVIDE( spi_flash_chip_generic_wait_idle = 0x400003c0 ); +PROVIDE( spi_flash_chip_generic_config_host_io_mode = 0x400003c4 ); +PROVIDE( spi_flash_chip_generic_read = 0x400003c8 ); +PROVIDE( spi_flash_common_read_status_8b_rdsr2 = 0x400003cc ); +PROVIDE( spi_flash_chip_generic_get_io_mode = 0x400003d0 ); +PROVIDE( spi_flash_common_read_status_8b_rdsr = 0x400003d4 ); +PROVIDE( spi_flash_common_write_status_8b_wrsr = 0x400003d8 ); +PROVIDE( spi_flash_common_write_status_8b_wrsr2 = 0x400003dc ); +PROVIDE( spi_flash_common_set_io_mode = 0x400003e0 ); +PROVIDE( spi_flash_chip_generic_set_io_mode = 0x400003e4 ); +PROVIDE( spi_flash_chip_generic_read_unique_id = 0x400003e8 ); +PROVIDE( spi_flash_chip_generic_get_caps = 0x400003ec ); +PROVIDE( spi_flash_chip_generic_suspend_cmd_conf = 0x400003f0 ); +PROVIDE( spi_flash_chip_gd_get_io_mode = 0x400003f4 ); +PROVIDE( spi_flash_chip_gd_probe = 0x400003f8 ); +PROVIDE( spi_flash_chip_gd_set_io_mode = 0x400003fc ); +/* Data (.data, .bss, .rodata) */ +PROVIDE( spi_flash_chip_generic_config_data = 0x3fcdffe8 ); +PROVIDE( spi_flash_encryption = 0x3fcdffe4 ); + + +/*************************************** + Group memspi_host + ***************************************/ + +/* Functions */ +PROVIDE( memspi_host_read_id_hs = 0x40000400 ); +PROVIDE( memspi_host_read_status_hs = 0x40000404 ); +PROVIDE( memspi_host_flush_cache = 0x40000408 ); +PROVIDE( memspi_host_erase_chip = 0x4000040c ); +PROVIDE( memspi_host_erase_sector = 0x40000410 ); +PROVIDE( memspi_host_erase_block = 0x40000414 ); +PROVIDE( memspi_host_program_page = 0x40000418 ); +PROVIDE( memspi_host_read = 0x4000041c ); +PROVIDE( memspi_host_set_write_protect = 0x40000420 ); +PROVIDE( memspi_host_set_max_read_len = 0x40000424 ); +PROVIDE( memspi_host_read_data_slicer = 0x40000428 ); +PROVIDE( memspi_host_write_data_slicer = 0x4000042c ); + + +/*************************************** + Group esp_flash + ***************************************/ + +/* Functions */ +PROVIDE( esp_flash_chip_driver_initialized = 0x40000430 ); +PROVIDE( esp_flash_read_id = 0x40000434 ); +PROVIDE( esp_flash_get_size = 0x40000438 ); +PROVIDE( esp_flash_erase_chip = 0x4000043c ); +PROVIDE( esp_flash_erase_region = 0x40000440 ); +PROVIDE( esp_flash_get_chip_write_protect = 0x40000444 ); +PROVIDE( esp_flash_set_chip_write_protect = 0x40000448 ); +PROVIDE( esp_flash_get_protectable_regions = 0x4000044c ); +PROVIDE( esp_flash_get_protected_region = 0x40000450 ); +PROVIDE( esp_flash_set_protected_region = 0x40000454 ); +PROVIDE( esp_flash_read = 0x40000458 ); +PROVIDE( esp_flash_write = 0x4000045c ); +PROVIDE( esp_flash_write_encrypted = 0x40000460 ); +PROVIDE( esp_flash_read_encrypted = 0x40000464 ); +PROVIDE( esp_flash_get_io_mode = 0x40000468 ); +PROVIDE( esp_flash_set_io_mode = 0x4000046c ); +PROVIDE( spi_flash_boot_attach = 0x40000470 ); +PROVIDE( esp_flash_read_chip_id = 0x40000474 ); +PROVIDE( detect_spi_flash_chip = 0x40000478 ); +PROVIDE( esp_rom_spiflash_write_disable = 0x4000047c ); +PROVIDE( esp_flash_suspend_cmd_init = 0x40000480 ); +/* Data (.data, .bss, .rodata) */ +PROVIDE( esp_flash_default_chip = 0x3fcdffe0 ); +PROVIDE( esp_flash_api_funcs = 0x3fcdffdc ); + + +/*************************************** + Group cache + ***************************************/ + +/* Functions */ +PROVIDE( Cache_Get_ICache_Line_Size = 0x400006e0 ); +PROVIDE( Cache_Get_Mode = 0x400006e4 ); +PROVIDE( Cache_Address_Through_IBus = 0x400006e8 ); +PROVIDE( Cache_Address_Through_DBus = 0x400006ec ); +PROVIDE( Cache_Set_Default_Mode = 0x400006f0 ); +PROVIDE( Cache_Enable_Defalut_ICache_Mode = 0x400006f4 ); +PROVIDE( ROM_Boot_Cache_Init = 0x400006f8 ); +PROVIDE( MMU_Set_Page_Mode = 0x400006fc ); +PROVIDE( MMU_Get_Page_Mode = 0x40000700 ); +PROVIDE( Cache_Invalidate_ICache_Items = 0x40000704 ); +PROVIDE( Cache_Op_Addr = 0x40000708 ); +PROVIDE( Cache_Invalidate_Addr = 0x4000070c ); +PROVIDE( Cache_Invalidate_ICache_All = 0x40000710 ); +PROVIDE( Cache_Mask_All = 0x40000714 ); +PROVIDE( Cache_UnMask_Dram0 = 0x40000718 ); +PROVIDE( Cache_Disable_ICache = 0x4000071c ); +PROVIDE( Cache_Enable_ICache = 0x40000720 ); +PROVIDE( Cache_Suspend_ICache = 0x40000724 ); +PROVIDE( Cache_Resume_ICache = 0x40000728 ); +PROVIDE( Cache_Freeze_ICache_Enable = 0x4000072c ); +PROVIDE( Cache_Freeze_ICache_Disable = 0x40000730 ); +PROVIDE( Cache_Set_IDROM_MMU_Size = 0x40000734 ); +PROVIDE( Cache_Get_IROM_MMU_End = 0x40000738 ); +PROVIDE( Cache_Get_DROM_MMU_End = 0x4000073c ); +PROVIDE( Cache_Owner_Init = 0x40000740 ); +PROVIDE( Cache_Occupy_ICache_MEMORY = 0x40000744 ); +PROVIDE( Cache_MMU_Init = 0x40000748 ); +PROVIDE( Cache_Ibus_MMU_Set = 0x4000074c ); +PROVIDE( Cache_Dbus_MMU_Set = 0x40000750 ); +PROVIDE( Cache_Count_Flash_Pages = 0x40000754 ); +PROVIDE( Cache_Travel_Tag_Memory = 0x40000758 ); +PROVIDE( Cache_Get_Virtual_Addr = 0x4000075c ); +PROVIDE( Cache_Get_Memory_BaseAddr = 0x40000760 ); +PROVIDE( Cache_Get_Memory_Addr = 0x40000764 ); +PROVIDE( Cache_Get_Memory_value = 0x40000768 ); +/* Data (.data, .bss, .rodata) */ +PROVIDE( rom_cache_op_cb = 0x3fcdffd0 ); +PROVIDE( rom_cache_internal_table_ptr = 0x3fcdffcc ); + + +/*************************************** + Group clock + ***************************************/ + +/* Functions */ +ets_get_apb_freq = 0x4000076c; +ets_get_cpu_frequency = 0x40000770; +ets_update_cpu_frequency = 0x40000774; +ets_get_printf_channel = 0x40000778; +ets_get_xtal_div = 0x4000077c; +ets_set_xtal_div = 0x40000780; +ets_get_xtal_freq = 0x40000784; + + +/*************************************** + Group gpio + ***************************************/ + +/* Functions */ +gpio_input_get = 0x40000788; +gpio_matrix_in = 0x4000078c; +gpio_matrix_out = 0x40000790; +gpio_output_disable = 0x40000794; +gpio_output_enable = 0x40000798; +gpio_output_set = 0x4000079c; +gpio_pad_hold = 0x400007a0; +gpio_pad_input_disable = 0x400007a4; +gpio_pad_input_enable = 0x400007a8; +gpio_pad_pulldown = 0x400007ac; +gpio_pad_pullup = 0x400007b0; +gpio_pad_select_gpio = 0x400007b4; +gpio_pad_set_drv = 0x400007b8; +gpio_pad_unhold = 0x400007bc; +gpio_pin_wakeup_disable = 0x400007c0; +gpio_pin_wakeup_enable = 0x400007c4; +gpio_bypass_matrix_in = 0x400007c8; + + +/*************************************** + Group interrupts + ***************************************/ + +/* Functions */ +esprv_intc_int_set_priority = 0x400007cc; +esprv_intc_int_set_threshold = 0x400007d0; +esprv_intc_int_enable = 0x400007d4; +esprv_intc_int_disable = 0x400007d8; +esprv_intc_int_set_type = 0x400007dc; +PROVIDE( intr_handler_set = 0x400007e0 ); +intr_matrix_set = 0x400007e4; +ets_intr_lock = 0x400007e8; +ets_intr_unlock = 0x400007ec; +ets_isr_attach = 0x400007f0; +ets_isr_mask = 0x400007f4; +ets_isr_unmask = 0x400007f8; + + +/*************************************** + Group crypto + ***************************************/ + +/* Functions */ +crc32_le = 0x400007fc; +crc16_le = 0x40000800; +crc8_le = 0x40000804; +crc32_be = 0x40000808; +crc16_be = 0x4000080c; +crc8_be = 0x40000810; +esp_crc8 = 0x40000814; +ets_sha_enable = 0x40000818; +ets_sha_disable = 0x4000081c; +ets_sha_get_state = 0x40000820; +ets_sha_init = 0x40000824; +ets_sha_process = 0x40000828; +ets_sha_starts = 0x4000082c; +ets_sha_update = 0x40000830; +ets_sha_finish = 0x40000834; +ets_sha_clone = 0x40000838; +/* Data (.data, .bss, .rodata) */ +crc32_le_table_ptr = 0x3ff4fff8; +crc16_le_table_ptr = 0x3ff4fff4; +crc8_le_table_ptr = 0x3ff4fff0; +crc32_be_table_ptr = 0x3ff4ffec; +crc16_be_table_ptr = 0x3ff4ffe8; +crc8_be_table_ptr = 0x3ff4ffe4; + + +/*************************************** + Group efuse + ***************************************/ + +/* Functions */ +ets_efuse_read = 0x4000083c; +ets_efuse_program = 0x40000840; +ets_efuse_clear_program_registers = 0x40000844; +ets_efuse_write_key = 0x40000848; +ets_efuse_get_read_register_address = 0x4000084c; +ets_efuse_get_key_purpose = 0x40000850; +ets_efuse_key_block_unused = 0x40000854; +ets_efuse_find_unused_key_block = 0x40000858; +ets_efuse_rs_calculate = 0x4000085c; +ets_efuse_count_unused_key_blocks = 0x40000860; +ets_efuse_secure_boot_enabled = 0x40000864; +ets_efuse_secure_boot_aggressive_revoke_enabled = 0x40000868; +ets_efuse_cache_encryption_enabled = 0x4000086c; +ets_efuse_download_modes_disabled = 0x40000870; +ets_efuse_find_purpose = 0x40000874; +ets_efuse_force_send_resume = 0x40000878; +ets_efuse_get_flash_delay_us = 0x4000087c; +ets_efuse_get_mac = 0x40000880; +ets_efuse_get_uart_print_control = 0x40000884; +ets_efuse_direct_boot_mode_disabled = 0x40000888; +ets_efuse_security_download_modes_enabled = 0x4000088c; +ets_efuse_set_timing = 0x40000890; +ets_efuse_jtag_disabled = 0x40000894; + + +/*************************************** + Group secureboot + ***************************************/ + +/* Functions */ +ets_ecdsa_verify = 0x40000898; +ets_secure_boot_verify_bootloader_with_keys = 0x4000089c; +ets_secure_boot_verify_signature = 0x400008a0; +ets_secure_boot_read_key_digests = 0x400008a4; + + +/*************************************** + Group usb_uart + ***************************************/ + +/* Data (.data, .bss, .rodata) */ +g_uart_print = 0x3fcdffc9; +g_usb_print = 0x3fcdffc8; + + +/*************************************** + Group bluetooth + ***************************************/ + +/* Functions */ +ble_controller_rom_data_init = 0x40000aa8; +ble_osi_coex_funcs_register = 0x40000aac; +bt_rf_coex_cfg_get_default = 0x40000ab0; +bt_rf_coex_dft_pti_get_default = 0x40000ab4; +bt_rf_coex_hooks_p_set = 0x40000ab8; +r__os_mbuf_copypkthdr = 0x40000abc; +r_ble_controller_get_rom_compile_version = 0x40000ac4; +r_ble_hci_ram_reset = 0x40000ad8; +r_ble_hci_ram_set_acl_free_cb = 0x40000adc; +r_ble_hci_trans_acl_buf_alloc = 0x40000ae0; +r_ble_hci_trans_buf_alloc = 0x40000ae4; +r_ble_hci_trans_buf_free = 0x40000ae8; +r_ble_hci_trans_cfg_hs = 0x40000aec; +r_ble_hci_trans_cfg_ll = 0x40000af0; +r_ble_hci_trans_init = 0x40000afc; +r_ble_hci_uart_acl_tx = 0x40000b00; +r_ble_hci_uart_cmdevt_tx = 0x40000b04; +r_ble_hci_uart_config = 0x40000b08; +r_ble_hci_uart_free_pkt = 0x40000b0c; +r_ble_hci_uart_rx_acl = 0x40000b20; +r_ble_hci_uart_rx_char = 0x40000b24; +r_ble_hci_uart_rx_cmd = 0x40000b28; +r_ble_hci_uart_rx_evt = 0x40000b2c; +r_ble_hci_uart_rx_evt_cb = 0x40000b30; +r_ble_hci_uart_rx_le_evt = 0x40000b34; +r_ble_hci_uart_rx_pkt_type = 0x40000b38; +r_ble_hci_uart_rx_skip_acl = 0x40000b3c; +r_ble_hci_uart_rx_skip_cmd = 0x40000b40; +r_ble_hci_uart_rx_skip_evt = 0x40000b44; +r_ble_hci_uart_rx_sync_loss = 0x40000b48; +r_ble_hci_uart_set_acl_free_cb = 0x40000b4c; +r_ble_hci_uart_sync_lost = 0x40000b50; +r_ble_hci_uart_trans_reset = 0x40000b54; +r_ble_hci_uart_tx_char = 0x40000b58; +r_ble_hci_uart_tx_pkt_type = 0x40000b5c; +r_ble_hw_encrypt_block = 0x40000b68; +r_ble_hw_get_public_addr = 0x40000b6c; +r_ble_hw_get_static_addr = 0x40000b70; +r_ble_hw_periodiclist_add = 0x40000b74; +r_ble_hw_periodiclist_clear = 0x40000b78; +r_ble_hw_periodiclist_rmv = 0x40000b7c; +r_ble_hw_resolv_list_cur_entry = 0x40000b80; +r_ble_hw_resolv_list_set = 0x40000b88; +r_ble_hw_rng_init = 0x40000b8c; +r_ble_hw_rng_start = 0x40000b90; +r_ble_hw_rng_stop = 0x40000b94; +r_ble_hw_rx_local_is_resolved = 0x40000b98; +r_ble_hw_rx_local_is_rpa = 0x40000b9c; +r_ble_hw_whitelist_add = 0x40000ba0; +r_ble_hw_whitelist_dev_num = 0x40000ba8; +r_ble_hw_whitelist_get_base = 0x40000bac; +r_ble_hw_whitelist_search = 0x40000bb4; +r_ble_hw_whitelist_sort = 0x40000bb8; +r_ble_ll_acl_data_in = 0x40000bbc; +r_ble_ll_addr_is_id = 0x40000bc0; +r_ble_ll_addr_subtype = 0x40000bc4; +r_ble_ll_adv_active_chanset_clear = 0x40000bc8; +r_ble_ll_adv_active_chanset_is_pri = 0x40000bcc; +r_ble_ll_adv_active_chanset_is_sec = 0x40000bd0; +r_ble_ll_adv_active_chanset_set_pri = 0x40000bd4; +r_ble_ll_adv_active_chanset_set_sec = 0x40000bd8; +r_ble_ll_adv_aux_calculate = 0x40000bdc; +r_ble_ll_adv_aux_conn_rsp_pdu_make = 0x40000be0; +r_ble_ll_adv_aux_pdu_make = 0x40000be4; +r_ble_ll_adv_aux_scannable_pdu_make = 0x40000be8; +r_ble_ll_adv_aux_txed = 0x40000bec; +r_ble_ll_adv_can_chg_whitelist = 0x40000bf0; +r_ble_ll_adv_chk_rpa_timeout = 0x40000bf4; +r_ble_ll_adv_clear_all = 0x40000bf8; +r_ble_ll_adv_conn_req_rxd = 0x40000bfc; +r_ble_ll_adv_enabled = 0x40000c04; +r_ble_ll_adv_ext_set_adv_data = 0x40000c0c; +r_ble_ll_adv_ext_set_scan_rsp = 0x40000c18; +r_ble_ll_adv_final_chan = 0x40000c1c; +r_ble_ll_adv_first_chan = 0x40000c20; +r_ble_ll_adv_flags_clear = 0x40000c24; +r_ble_ll_adv_flags_set = 0x40000c28; +r_ble_ll_adv_get_chan_num = 0x40000c2c; +r_ble_ll_adv_get_local_rpa = 0x40000c30; +r_ble_ll_adv_get_peer_rpa = 0x40000c34; +r_ble_ll_adv_hci_set_random_addr = 0x40000c38; +r_ble_ll_adv_init = 0x40000c3c; +r_ble_ll_adv_next_chan = 0x40000c44; +r_ble_ll_adv_pdu_make = 0x40000c48; +r_ble_ll_adv_periodic_check_data_itvl = 0x40000c4c; +r_ble_ll_adv_periodic_estimate_data_itvl = 0x40000c54; +r_ble_ll_adv_periodic_send_sync_ind = 0x40000c58; +r_ble_ll_adv_periodic_set_info_transfer = 0x40000c60; +r_ble_ll_adv_periodic_set_param = 0x40000c64; +r_ble_ll_adv_pre_process = 0x40000c68; +r_ble_ll_adv_put_acad_chM_update_ind = 0x40000c6c; +r_ble_ll_adv_put_aux_ptr = 0x40000c70; +r_ble_ll_adv_put_syncinfo = 0x40000c74; +r_ble_ll_adv_rd_max_adv_data_len = 0x40000c78; +r_ble_ll_adv_rd_sup_adv_sets = 0x40000c7c; +r_ble_ll_adv_read_txpwr = 0x40000c80; +r_ble_ll_adv_rpa_timeout = 0x40000c8c; +r_ble_ll_adv_rpa_update = 0x40000c90; +r_ble_ll_adv_scan_req_rxd = 0x40000c98; +r_ble_ll_adv_scan_rsp_legacy_pdu_make = 0x40000c9c; +r_ble_ll_adv_scan_rsp_pdu_make = 0x40000ca0; +r_ble_ll_adv_scheduled = 0x40000ca4; +r_ble_ll_adv_set_random_addr = 0x40000cb8; +r_ble_ll_adv_sm_deinit = 0x40000cc4; +r_ble_ll_adv_sm_event_init = 0x40000cc8; +r_ble_ll_adv_sm_find_configured = 0x40000ccc; +r_ble_ll_adv_sm_get = 0x40000cd0; +r_ble_ll_adv_sm_reset = 0x40000cd8; +r_ble_ll_adv_sm_start = 0x40000cdc; +r_ble_ll_adv_sm_start_periodic = 0x40000ce0; +r_ble_ll_adv_sm_stop = 0x40000ce4; +r_ble_ll_adv_sm_stop_limit_reached = 0x40000ce8; +r_ble_ll_adv_sm_stop_periodic = 0x40000cec; +r_ble_ll_adv_sm_stop_timeout = 0x40000cf0; +r_ble_ll_adv_sync_get_pdu_len = 0x40000cf8; +r_ble_ll_adv_update_adv_scan_rsp_data = 0x40000d00; +r_ble_ll_adv_update_data_mbuf = 0x40000d04; +r_ble_ll_adv_update_did = 0x40000d08; +r_ble_ll_adv_update_periodic_data = 0x40000d0c; +r_ble_ll_auth_pyld_tmo_event_send = 0x40000d14; +r_ble_ll_calc_offset_ticks_us_for_rampup = 0x40000d18; +r_ble_ll_calc_session_key = 0x40000d1c; +r_ble_ll_calc_ticks_per_slot = 0x40000d20; +r_ble_ll_chk_txrx_octets = 0x40000d28; +r_ble_ll_chk_txrx_time = 0x40000d2c; +r_ble_ll_conn_adjust_pyld_len = 0x40000d30; +r_ble_ll_conn_auth_pyld_timer_cb = 0x40000d34; +r_ble_ll_conn_auth_pyld_timer_start = 0x40000d38; +r_ble_ll_conn_calc_dci = 0x40000d3c; +r_ble_ll_conn_calc_dci_csa1 = 0x40000d40; +r_ble_ll_conn_calc_itvl_ticks = 0x40000d44; +r_ble_ll_conn_chk_csm_flags = 0x40000d48; +r_ble_ll_conn_chk_phy_upd_start = 0x40000d4c; +r_ble_ll_conn_comp_event_send = 0x40000d50; +r_ble_ll_conn_create_cancel = 0x40000d5c; +r_ble_ll_conn_cth_flow_enable = 0x40000d64; +r_ble_ll_conn_cth_flow_error_fn = 0x40000d68; +r_ble_ll_conn_cth_flow_have_credit = 0x40000d6c; +r_ble_ll_conn_cth_flow_is_enabled = 0x40000d70; +r_ble_ll_conn_cth_flow_process_cmd = 0x40000d74; +r_ble_ll_conn_cth_flow_set_buffers = 0x40000d78; +r_ble_ll_conn_ext_master_init = 0x40000d84; +r_ble_ll_conn_find_active_conn = 0x40000d88; +r_ble_ll_conn_get_active_conn = 0x40000d8c; +r_ble_ll_conn_get_anchor = 0x40000d90; +r_ble_ll_conn_hcc_params_set_fallback = 0x40000d94; +r_ble_ll_conn_hci_cancel_conn_complete_event = 0x40000d98; +r_ble_ll_conn_hci_chk_conn_params = 0x40000d9c; +r_ble_ll_conn_hci_chk_scan_params = 0x40000da0; +r_ble_ll_conn_hci_disconnect_cmd = 0x40000da4; +r_ble_ll_conn_hci_le_ltk_neg_reply = 0x40000da8; +r_ble_ll_conn_hci_le_ltk_reply = 0x40000dac; +r_ble_ll_conn_hci_le_rd_phy = 0x40000db0; +r_ble_ll_conn_hci_le_start_encrypt = 0x40000db8; +r_ble_ll_conn_hci_param_nrr = 0x40000dbc; +r_ble_ll_conn_hci_param_rr = 0x40000dc0; +r_ble_ll_conn_hci_rd_auth_pyld_tmo = 0x40000dc4; +r_ble_ll_conn_hci_rd_chan_map = 0x40000dc8; +r_ble_ll_conn_hci_rd_rem_ver_cmd = 0x40000dcc; +r_ble_ll_conn_hci_rd_rssi = 0x40000dd0; +r_ble_ll_conn_hci_read_rem_features = 0x40000dd4; +r_ble_ll_conn_hci_set_data_len = 0x40000ddc; +r_ble_ll_conn_hci_update = 0x40000de0; +r_ble_ll_conn_hci_wr_auth_pyld_tmo = 0x40000de4; +r_ble_ll_conn_init_phy = 0x40000de8; +r_ble_ll_conn_is_empty_pdu = 0x40000df0; +r_ble_ll_conn_is_lru = 0x40000df4; +r_ble_ll_conn_master_init = 0x40000df8; +r_ble_ll_conn_module_reset = 0x40000e04; +r_ble_ll_conn_num_comp_pkts_event_send = 0x40000e0c; +r_ble_ll_conn_process_conn_params = 0x40000e14; +r_ble_ll_conn_req_peer_sca = 0x40000e18; +r_ble_ll_conn_set_csa = 0x40000e20; +r_ble_ll_conn_set_ext_con_params = 0x40000e24; +r_ble_ll_conn_set_global_chanmap = 0x40000e28; +r_ble_ll_conn_set_phy = 0x40000e2c; +r_ble_ll_conn_set_txpwr_by_handle = 0x40000e30; +r_ble_ll_conn_set_unknown_rx_octets = 0x40000e34; +r_ble_ll_conn_sm_get = 0x40000e3c; +r_ble_ll_conn_tx_pkt_in = 0x40000e4c; +r_ble_ll_conn_update_eff_data_len = 0x40000e50; +r_ble_ll_ctrl_chanmap_req_make = 0x40000e54; +r_ble_ll_ctrl_conn_param_pdu_make = 0x40000e5c; +r_ble_ll_ctrl_conn_param_pdu_proc = 0x40000e60; +r_ble_ll_ctrl_conn_param_reply = 0x40000e64; +r_ble_ll_ctrl_datalen_upd_make = 0x40000e6c; +r_ble_ll_ctrl_enc_allowed_pdu = 0x40000e70; +r_ble_ll_ctrl_enc_allowed_pdu_rx = 0x40000e74; +r_ble_ll_ctrl_enc_req_make = 0x40000e7c; +r_ble_ll_ctrl_find_new_phy = 0x40000e80; +r_ble_ll_ctrl_initiate_dle = 0x40000e84; +r_ble_ll_ctrl_len_proc = 0x40000e88; +r_ble_ll_ctrl_min_used_chan_rsp = 0x40000e8c; +r_ble_ll_ctrl_phy_from_phy_mask = 0x40000e90; +r_ble_ll_ctrl_phy_req_rsp_make = 0x40000e94; +r_ble_ll_ctrl_phy_tx_transition_get = 0x40000e98; +r_ble_ll_ctrl_phy_update_cancel = 0x40000e9c; +r_ble_ll_ctrl_phy_update_ind_make = 0x40000ea0; +r_ble_ll_ctrl_phy_update_proc_complete = 0x40000ea4; +r_ble_ll_ctrl_proc_rsp_timer_cb = 0x40000eac; +r_ble_ll_ctrl_proc_stop = 0x40000eb4; +r_ble_ll_ctrl_proc_with_instant_initiated = 0x40000ebc; +r_ble_ll_ctrl_rej_ext_ind_make = 0x40000ec0; +r_ble_ll_ctrl_reject_ind_send = 0x40000ec4; +r_ble_ll_ctrl_rx_chanmap_req = 0x40000ec8; +r_ble_ll_ctrl_rx_conn_param_req = 0x40000ecc; +r_ble_ll_ctrl_rx_enc_req = 0x40000ed8; +r_ble_ll_ctrl_rx_enc_rsp = 0x40000edc; +r_ble_ll_ctrl_rx_feature_req = 0x40000ee0; +r_ble_ll_ctrl_rx_pause_enc_req = 0x40000ee8; +r_ble_ll_ctrl_rx_pause_enc_rsp = 0x40000eec; +r_ble_ll_ctrl_rx_periodic_sync_ind = 0x40000ef4; +r_ble_ll_ctrl_rx_phy_req = 0x40000ef8; +r_ble_ll_ctrl_rx_phy_rsp = 0x40000efc; +r_ble_ll_ctrl_rx_phy_update_ind = 0x40000f00; +r_ble_ll_ctrl_rx_ping_rsp = 0x40000f04; +r_ble_ll_ctrl_rx_reject_ind = 0x40000f08; +r_ble_ll_ctrl_rx_sca_req = 0x40000f0c; +r_ble_ll_ctrl_rx_sca_rsp = 0x40000f10; +r_ble_ll_ctrl_rx_start_enc_req = 0x40000f14; +r_ble_ll_ctrl_rx_start_enc_rsp = 0x40000f18; +r_ble_ll_ctrl_rx_version_ind = 0x40000f1c; +r_ble_ll_ctrl_sca_req_rsp_make = 0x40000f20; +r_ble_ll_ctrl_start_enc_send = 0x40000f24; +r_ble_ll_ctrl_start_rsp_timer = 0x40000f28; +r_ble_ll_ctrl_terminate_start = 0x40000f2c; +r_ble_ll_ctrl_update_features = 0x40000f34; +r_ble_ll_ctrl_version_ind_make = 0x40000f38; +r_ble_ll_data_buffer_overflow = 0x40000f3c; +r_ble_ll_disconn_comp_event_send = 0x40000f44; +r_ble_ll_event_comp_pkts = 0x40000f4c; +r_ble_ll_event_dbuf_overflow = 0x40000f50; +r_ble_ll_event_send = 0x40000f54; +r_ble_ll_event_tx_pkt = 0x40000f58; +r_ble_ll_ext_adv_phy_mode_to_local_phy = 0x40000f5c; +r_ble_ll_ext_scan_parse_adv_info = 0x40000f64; +r_ble_ll_ext_scan_parse_aux_ptr = 0x40000f68; +r_ble_ll_flush_pkt_queue = 0x40000f6c; +r_ble_ll_generate_dh_key_v1 = 0x40000f70; +r_ble_ll_generate_dh_key_v2 = 0x40000f74; +r_ble_ll_get_addr_type = 0x40000f7c; +r_ble_ll_get_our_devaddr = 0x40000f84; +r_ble_ll_get_tx_pwr_compensation = 0x40000f88; +r_ble_ll_hci_acl_rx = 0x40000f8c; +r_ble_ll_hci_adv_mode_ext = 0x40000f90; +r_ble_ll_hci_adv_set_enable = 0x40000f94; +r_ble_ll_hci_cb_set_ctrlr_to_host_fc = 0x40000f9c; +r_ble_ll_hci_cb_set_event_mask = 0x40000fa0; +r_ble_ll_hci_cb_set_event_mask2 = 0x40000fa4; +r_ble_ll_hci_chk_phy_masks = 0x40000fa8; +r_ble_ll_hci_cmd_rx = 0x40000fb0; +r_ble_ll_hci_disconnect = 0x40000fbc; +r_ble_ll_hci_ev_conn_update = 0x40000fc4; +r_ble_ll_hci_ev_databuf_overflow = 0x40000fc8; +r_ble_ll_hci_ev_datalen_chg = 0x40000fcc; +r_ble_ll_hci_ev_encrypt_chg = 0x40000fd0; +r_ble_ll_hci_ev_hw_err = 0x40000fd4; +r_ble_ll_hci_ev_le_csa = 0x40000fd8; +r_ble_ll_hci_ev_ltk_req = 0x40000fdc; +r_ble_ll_hci_ev_phy_update = 0x40000fe0; +r_ble_ll_hci_ev_rd_rem_used_feat = 0x40000fe4; +r_ble_ll_hci_ev_rd_rem_ver = 0x40000fe8; +r_ble_ll_hci_ev_rem_conn_parm_req = 0x40000fec; +r_ble_ll_hci_ev_sca_update = 0x40000ff0; +r_ble_ll_hci_ev_send_adv_set_terminated = 0x40000ff4; +r_ble_ll_hci_ev_send_scan_req_recv = 0x40000ff8; +r_ble_ll_hci_ev_send_scan_timeout = 0x40000ffc; +r_ble_ll_hci_ev_send_vendor_err = 0x40001000; +r_ble_ll_hci_ext_scan_set_enable = 0x40001008; +r_ble_ll_hci_get_num_cmd_pkts = 0x4000100c; +r_ble_ll_hci_info_params_cmd_proc = 0x40001010; +r_ble_ll_hci_init = 0x40001014; +r_ble_ll_hci_init_support_cmd_base_on_lmp_ver = 0x40001018; +r_ble_ll_hci_is_event_enabled = 0x4000101c; +r_ble_ll_hci_is_le_event_enabled = 0x40001020; +r_ble_ll_hci_le_cmd_send_cmd_status = 0x40001028; +r_ble_ll_hci_le_encrypt = 0x4000102c; +r_ble_ll_hci_le_rand = 0x40001030; +r_ble_ll_hci_le_rd_max_data_len = 0x40001034; +r_ble_ll_hci_le_rd_sugg_data_len = 0x40001038; +r_ble_ll_hci_le_read_bufsize = 0x4000103c; +r_ble_ll_hci_le_read_supp_states = 0x40001044; +r_ble_ll_hci_le_set_def_phy = 0x40001048; +r_ble_ll_hci_le_wr_sugg_data_len = 0x4000104c; +r_ble_ll_hci_link_ctrl_cmd_proc = 0x40001050; +r_ble_ll_hci_npl_init = 0x40001054; +r_ble_ll_hci_post_gen_dhkey_cmp_evt = 0x40001058; +r_ble_ll_hci_post_rd_p256_pubkey_cmp_evt = 0x4000105c; +r_ble_ll_hci_rd_bd_addr = 0x40001060; +r_ble_ll_hci_rd_local_supp_cmd = 0x40001064; +r_ble_ll_hci_rd_local_supp_feat = 0x40001068; +r_ble_ll_hci_rd_local_version = 0x4000106c; +r_ble_ll_hci_scan_set_enable = 0x40001070; +r_ble_ll_hci_send_adv_report = 0x40001074; +r_ble_ll_hci_send_dir_adv_report = 0x40001078; +r_ble_ll_hci_send_noop = 0x40001084; +r_ble_ll_hci_set_adv_data = 0x40001088; +r_ble_ll_hci_set_le_event_mask = 0x4000108c; +r_ble_ll_hci_set_scan_rsp_data = 0x40001090; +r_ble_ll_hci_status_params_cmd_proc = 0x40001094; +r_ble_ll_hci_vs_cmd_proc = 0x40001098; +r_ble_ll_hci_vs_rd_static_addr = 0x4000109c; +r_ble_ll_hw_err_timer_cb = 0x400010a0; +r_ble_ll_hw_error = 0x400010a4; +r_ble_ll_init_alloc_conn_comp_ev = 0x400010ac; +r_ble_ll_init_get_conn_comp_ev = 0x400010b0; +r_ble_ll_is_addr_empty = 0x400010b8; +r_ble_ll_is_controller_busy = 0x400010bc; +r_ble_ll_is_on_resolv_list = 0x400010c0; +r_ble_ll_is_our_devaddr = 0x400010c4; +r_ble_ll_is_rpa = 0x400010c8; +r_ble_ll_is_valid_adv_mode = 0x400010cc; +r_ble_ll_is_valid_own_addr_type = 0x400010d0; +r_ble_ll_is_valid_public_addr = 0x400010d4; +r_ble_ll_is_valid_random_addr = 0x400010d8; +r_ble_ll_misc_options_set = 0x400010e0; +r_ble_ll_modify_sca = 0x400010e4; +r_ble_ll_pdu_max_tx_octets_get = 0x400010ec; +r_ble_ll_pdu_tx_time_get = 0x400010f0; +r_ble_ll_phy_to_phy_mode = 0x400010f4; +r_ble_ll_qa_enable = 0x400010f8; +r_ble_ll_rand_data_get = 0x40001100; +r_ble_ll_rand_init = 0x4000110c; +r_ble_ll_rand_prand_get = 0x40001110; +r_ble_ll_rand_sample = 0x40001114; +r_ble_ll_rand_start = 0x40001118; +r_ble_ll_read_local_p256_pub_key = 0x4000111c; +r_ble_ll_read_rf_path_compensation = 0x40001120; +r_ble_ll_read_supp_features = 0x40001124; +r_ble_ll_read_supp_states = 0x40001128; +r_ble_ll_resolv_clear_all_pl_bit = 0x40001134; +r_ble_ll_resolv_clear_all_wl_bit = 0x40001138; +r_ble_ll_resolv_enable_cmd = 0x40001140; +r_ble_ll_resolv_enabled = 0x40001144; +r_ble_ll_resolv_gen_rpa = 0x40001150; +r_ble_ll_resolv_get_addr_pointer = 0x40001154; +r_ble_ll_resolv_get_index = 0x40001158; +r_ble_ll_resolv_get_irk_pointer = 0x4000115c; +r_ble_ll_resolv_get_list = 0x40001160; +r_ble_ll_resolv_get_priv_addr = 0x40001164; +r_ble_ll_resolv_get_rpa_tmo = 0x40001168; +r_ble_ll_resolv_irk_nonzero = 0x40001170; +r_ble_ll_resolv_list_add = 0x40001174; +r_ble_ll_resolv_list_chg_allowed = 0x40001178; +r_ble_ll_resolv_list_clr = 0x4000117c; +r_ble_ll_resolv_list_find = 0x40001180; +r_ble_ll_resolv_list_read_size = 0x40001184; +r_ble_ll_resolv_list_reset = 0x40001188; +r_ble_ll_resolv_local_addr_rd = 0x40001190; +r_ble_ll_resolv_peer_addr_rd = 0x40001194; +r_ble_ll_resolv_peer_rpa_any = 0x40001198; +r_ble_ll_resolv_reset = 0x4000119c; +r_ble_ll_resolv_rpa = 0x400011a0; +r_ble_ll_resolv_rpa_timer_cb = 0x400011a4; +r_ble_ll_resolv_set_local_rpa = 0x400011a8; +r_ble_ll_resolv_set_peer_rpa = 0x400011ac; +r_ble_ll_resolv_set_rpa_tmo = 0x400011b0; +r_ble_ll_resolve_set_priv_mode = 0x400011b4; +r_ble_ll_rxpdu_alloc = 0x400011b8; +r_ble_ll_scan_add_scan_rsp_adv = 0x400011bc; +r_ble_ll_scan_adv_decode_addr = 0x400011c0; +r_ble_ll_scan_aux_data_ref = 0x400011c4; +r_ble_ll_scan_aux_data_unref = 0x400011c8; +r_ble_ll_scan_can_chg_whitelist = 0x400011cc; +r_ble_ll_scan_check_periodic_sync = 0x400011d0; +r_ble_ll_scan_classify_filter_aux_init = 0x400011d4; +r_ble_ll_scan_classify_filter_init = 0x400011d8; +r_ble_ll_scan_common_init = 0x400011dc; +r_ble_ll_scan_continue_en = 0x400011e0; +r_ble_ll_scan_dup_check_ext = 0x400011e8; +r_ble_ll_scan_dup_check_legacy = 0x400011ec; +r_ble_ll_scan_dup_move_to_head = 0x400011f0; +r_ble_ll_scan_dup_new = 0x400011f4; +r_ble_ll_scan_dup_update_ext = 0x400011f8; +r_ble_ll_scan_dup_update_legacy = 0x400011fc; +r_ble_ll_scan_enabled = 0x40001200; +r_ble_ll_scan_end_adv_evt = 0x40001204; +r_ble_ll_scan_ext_initiator_start = 0x4000120c; +r_ble_ll_scan_get_addr_data_from_legacy = 0x40001210; +r_ble_ll_scan_get_addr_from_ext_adv = 0x40001214; +r_ble_ll_scan_get_cur_sm = 0x40001218; +r_ble_ll_scan_get_ext_adv_report = 0x4000121c; +r_ble_ll_scan_get_local_rpa = 0x40001220; +r_ble_ll_scan_get_next_adv_prim_chan = 0x40001224; +r_ble_ll_scan_get_peer_rpa = 0x40001228; +r_ble_ll_scan_have_rxd_scan_rsp = 0x4000122c; +r_ble_ll_scan_initiator_start = 0x40001234; +r_ble_ll_scan_is_inside_window = 0x40001238; +r_ble_ll_scan_move_window_to = 0x4000123c; +r_ble_ll_scan_npl_reset = 0x40001240; +r_ble_ll_scan_parse_auxptr = 0x40001244; +r_ble_ll_scan_parse_ext_hdr = 0x40001248; +r_ble_ll_scan_record_new_adv = 0x40001250; +r_ble_ll_scan_refresh_nrpa = 0x40001254; +r_ble_ll_scan_reset = 0x40001258; +r_ble_ll_scan_rx_pkt_in = 0x4000125c; +r_ble_ll_scan_rx_pkt_in_restore_addr_data = 0x40001268; +r_ble_ll_scan_rxed = 0x4000126c; +r_ble_ll_scan_send_truncated = 0x40001274; +r_ble_ll_scan_set_peer_rpa = 0x4000127c; +r_ble_ll_scan_set_perfer_addr = 0x40001280; +r_ble_ll_scan_sm_start = 0x40001288; +r_ble_ll_scan_sm_stop = 0x4000128c; +r_ble_ll_scan_time_hci_to_ticks = 0x40001290; +r_ble_ll_scan_update_aux_data = 0x40001294; +r_ble_ll_scan_whitelist_enabled = 0x40001298; +r_ble_ll_set_default_privacy_mode = 0x4000129c; +r_ble_ll_set_default_sync_transfer_params = 0x400012a0; +r_ble_ll_set_public_addr = 0x400012ac; +r_ble_ll_set_random_addr = 0x400012b0; +r_ble_ll_set_sync_transfer_params = 0x400012b4; +r_ble_ll_state_get = 0x400012b8; +r_ble_ll_state_set = 0x400012bc; +r_ble_ll_sync_adjust_ext_hdr = 0x400012c0; +r_ble_ll_sync_cancel = 0x400012c4; +r_ble_ll_sync_cancel_complete_event = 0x400012c8; +r_ble_ll_sync_check_acad = 0x400012cc; +r_ble_ll_sync_check_failed = 0x400012d0; +r_ble_ll_sync_enabled = 0x400012dc; +r_ble_ll_sync_established = 0x400012ec; +r_ble_ll_sync_filter_enabled = 0x400012f0; +r_ble_ll_sync_find = 0x400012f4; +r_ble_ll_sync_get_cur_sm = 0x400012f8; +r_ble_ll_sync_get_handle = 0x400012fc; +r_ble_ll_sync_get_sm = 0x40001300; +r_ble_ll_sync_info_event = 0x40001304; +r_ble_ll_sync_init = 0x40001308; +r_ble_ll_sync_list_add = 0x4000130c; +r_ble_ll_sync_list_clear = 0x40001310; +r_ble_ll_sync_list_empty = 0x40001314; +r_ble_ll_sync_list_get_free = 0x40001318; +r_ble_ll_sync_list_remove = 0x4000131c; +r_ble_ll_sync_list_search = 0x40001320; +r_ble_ll_sync_list_size = 0x40001324; +r_ble_ll_sync_lost_event = 0x40001328; +r_ble_ll_sync_next_event = 0x4000132c; +r_ble_ll_sync_on_list = 0x40001330; +r_ble_ll_sync_periodic_ind = 0x40001338; +r_ble_ll_sync_phy_mode_to_aux_phy = 0x4000133c; +r_ble_ll_sync_phy_mode_to_hci = 0x40001340; +r_ble_ll_sync_reserve = 0x4000134c; +r_ble_ll_sync_reset = 0x40001350; +r_ble_ll_sync_reset_sm = 0x40001354; +r_ble_ll_sync_send_per_adv_rpt = 0x4000135c; +r_ble_ll_sync_send_sync_ind = 0x40001360; +r_ble_ll_sync_send_truncated_per_adv_rpt = 0x40001364; +r_ble_ll_sync_sm_clear = 0x40001368; +r_ble_ll_sync_terminate = 0x4000136c; +r_ble_ll_sync_transfer = 0x40001370; +r_ble_ll_sync_transfer_get = 0x40001374; +r_ble_ll_sync_transfer_received = 0x40001378; +r_ble_ll_trace_u32 = 0x40001384; +r_ble_ll_trace_u32x2 = 0x40001388; +r_ble_ll_trace_u32x3 = 0x4000138c; +r_ble_ll_tx_flat_mbuf_pducb = 0x40001390; +r_ble_ll_update_max_tx_octets_phy_mode = 0x4000139c; +r_ble_ll_usecs_to_ticks_round_up = 0x400013a0; +r_ble_ll_utils_calc_access_addr = 0x400013a4; +r_ble_ll_utils_calc_dci_csa2 = 0x400013a8; +r_ble_ll_utils_calc_num_used_chans = 0x400013ac; +r_ble_ll_utils_calc_window_widening = 0x400013b0; +r_ble_ll_utils_csa2_perm = 0x400013b4; +r_ble_ll_utils_csa2_prng = 0x400013b8; +r_ble_ll_utils_remapped_channel = 0x400013bc; +r_ble_ll_whitelist_add = 0x400013c0; +r_ble_ll_whitelist_chg_allowed = 0x400013c4; +r_ble_ll_whitelist_read_size = 0x400013cc; +r_ble_ll_write_rf_path_compensation = 0x400013d8; +r_ble_lll_adv_aux_schedule = 0x400013e0; +r_ble_lll_adv_aux_schedule_first = 0x400013e4; +r_ble_lll_adv_aux_schedule_next = 0x400013e8; +r_ble_lll_adv_aux_scheduled = 0x400013ec; +r_ble_lll_adv_aux_set_start_time = 0x400013f0; +r_ble_lll_adv_coex_dpc_calc_pti_update_itvl = 0x400013f4; +r_ble_lll_adv_coex_dpc_process_pri = 0x400013f8; +r_ble_lll_adv_coex_dpc_process_sec = 0x400013fc; +r_ble_lll_adv_coex_dpc_pti_get = 0x40001400; +r_ble_lll_adv_coex_dpc_update = 0x40001404; +r_ble_lll_adv_coex_dpc_update_on_adv_start = 0x40001408; +r_ble_lll_adv_coex_dpc_update_on_aux_scheduled = 0x4000140c; +r_ble_lll_adv_coex_dpc_update_on_data_updated = 0x40001410; +r_ble_lll_adv_coex_dpc_update_on_event_end = 0x40001414; +r_ble_lll_adv_coex_dpc_update_on_event_scheduled = 0x40001418; +r_ble_lll_adv_done = 0x4000141c; +r_ble_lll_adv_event_done = 0x40001424; +r_ble_lll_adv_event_rmvd_from_sched = 0x40001428; +r_ble_lll_adv_get_sec_pdu_len = 0x40001430; +r_ble_lll_adv_make_done = 0x40001438; +r_ble_lll_adv_periodic_done = 0x4000143c; +r_ble_lll_adv_periodic_event_done = 0x40001440; +r_ble_lll_adv_periodic_rmvd_from_sched = 0x40001444; +r_ble_lll_adv_periodic_schedule_first = 0x40001448; +r_ble_lll_adv_pri_schedule_tx_pdu = 0x40001458; +r_ble_lll_adv_reschedule_event = 0x4000145c; +r_ble_lll_adv_reschedule_periodic_event = 0x40001460; +r_ble_lll_adv_sec_event_done = 0x4000146c; +r_ble_lll_adv_sec_schedule_next_aux = 0x40001470; +r_ble_lll_adv_secondary_tx_start_cb = 0x40001474; +r_ble_lll_adv_sm_deinit = 0x40001478; +r_ble_lll_adv_sm_event_init = 0x4000147c; +r_ble_lll_adv_sm_event_restore = 0x40001480; +r_ble_lll_adv_sm_event_store = 0x40001484; +r_ble_lll_adv_sm_init = 0x40001488; +r_ble_lll_adv_sm_reset = 0x4000148c; +r_ble_lll_adv_start = 0x40001490; +r_ble_lll_adv_stop = 0x40001494; +r_ble_lll_adv_sync_next_scheduled = 0x40001498; +r_ble_lll_adv_sync_schedule = 0x4000149c; +r_ble_lll_adv_sync_tx_done = 0x400014a0; +r_ble_lll_adv_sync_tx_end = 0x400014a4; +r_ble_lll_adv_sync_tx_start_cb = 0x400014a8; +r_ble_lll_adv_tx_done = 0x400014ac; +r_ble_lll_adv_tx_start_cb = 0x400014b0; +r_ble_lll_adv_update_rsp_offset = 0x400014b4; +r_ble_lll_aux_scan_cb = 0x400014b8; +r_ble_lll_aux_scan_drop = 0x400014bc; +r_ble_lll_aux_scan_drop_event_cb = 0x400014c0; +r_ble_lll_calc_us_convert_tick_unit = 0x400014c4; +r_ble_lll_conn_can_send_next_pdu = 0x400014cc; +r_ble_lll_conn_check_opcode_matched = 0x400014d0; +r_ble_lll_conn_coex_dpc_process = 0x400014d4; +r_ble_lll_conn_coex_dpc_pti_get = 0x400014d8; +r_ble_lll_conn_coex_dpc_update = 0x400014dc; +r_ble_lll_conn_coex_dpc_update_on_event_end = 0x400014e0; +r_ble_lll_conn_coex_dpc_update_on_event_scheduled = 0x400014e4; +r_ble_lll_conn_coex_dpc_update_on_event_started = 0x400014e8; +r_ble_lll_conn_cth_flow_alloc_credit = 0x400014ec; +r_ble_lll_conn_current_sm_over = 0x400014f4; +r_ble_lll_conn_event_is_over = 0x40001510; +r_ble_lll_conn_event_start_cb = 0x40001514; +r_ble_lll_conn_free_rx_mbuf = 0x40001518; +r_ble_lll_conn_get_addr_info_from_rx_buf = 0x4000151c; +r_ble_lll_conn_get_ce_end_time = 0x40001520; +r_ble_lll_conn_get_next_sched_time = 0x40001524; +r_ble_lll_conn_master_common_init = 0x40001530; +r_ble_lll_conn_master_new = 0x40001534; +r_ble_lll_conn_module_reset = 0x40001540; +r_ble_lll_conn_pre_process = 0x40001548; +r_ble_lll_conn_recv_ack = 0x40001554; +r_ble_lll_conn_recv_valid_packet = 0x40001558; +r_ble_lll_conn_reset_pending_sched = 0x4000155c; +r_ble_lll_conn_sched_next_anchor = 0x40001564; +r_ble_lll_conn_sched_next_event = 0x40001568; +r_ble_lll_conn_sm_new = 0x40001574; +r_ble_lll_conn_sm_npl_deinit = 0x40001578; +r_ble_lll_conn_sm_npl_init = 0x4000157c; +r_ble_lll_conn_superversion_timer_cb = 0x40001580; +r_ble_lll_conn_timeout = 0x40001584; +r_ble_lll_conn_update_anchor = 0x40001588; +r_ble_lll_conn_update_conn_ind_params = 0x4000158c; +r_ble_lll_conn_update_tx_buffer = 0x40001594; +r_ble_lll_deinit = 0x40001598; +r_ble_lll_dtm_calculate_itvl = 0x4000159c; +r_ble_lll_dtm_ctx_free = 0x400015a0; +r_ble_lll_dtm_end_test = 0x400015a8; +r_ble_lll_dtm_ev_rx_restart_cb = 0x400015ac; +r_ble_lll_dtm_ev_tx_resched_cb = 0x400015b0; +r_ble_lll_dtm_reset = 0x400015b8; +r_ble_lll_dtm_rx_create_ctx = 0x400015bc; +r_ble_lll_dtm_rx_isr_end = 0x400015c0; +r_ble_lll_dtm_rx_isr_start = 0x400015c4; +r_ble_lll_dtm_rx_pkt_in = 0x400015c8; +r_ble_lll_dtm_rx_sched_cb = 0x400015cc; +r_ble_lll_dtm_rx_start = 0x400015d0; +r_ble_lll_dtm_rx_test = 0x400015d4; +r_ble_lll_dtm_set_next = 0x400015d8; +r_ble_lll_dtm_tx_done = 0x400015e0; +r_ble_lll_dtm_tx_sched_cb = 0x400015e4; +r_ble_lll_dtm_tx_test = 0x400015e8; +r_ble_lll_dtm_wfr_timer_exp = 0x400015ec; +r_ble_lll_event_rx_pkt = 0x400015f0; +r_ble_lll_ext_scan_coex_dpc_process = 0x400015f4; +r_ble_lll_ext_scan_coex_dpc_pti_get = 0x400015f8; +r_ble_lll_ext_scan_coex_dpc_update = 0x400015fc; +r_ble_lll_ext_scan_coex_dpc_update_on_start = 0x40001600; +r_ble_lll_hci_dtm_rx_test = 0x40001604; +r_ble_lll_hci_dtm_rx_test_v2 = 0x40001608; +r_ble_lll_hci_dtm_tx_test = 0x4000160c; +r_ble_lll_hci_dtm_tx_test_ext = 0x40001610; +r_ble_lll_hci_dtm_tx_test_v2 = 0x40001614; +r_ble_lll_hci_dtm_tx_test_v2_ext = 0x40001618; +r_ble_lll_init = 0x4000161c; +r_ble_lll_init_pre_process = 0x40001620; +r_ble_lll_per_adv_coex_dpc_calc_pti_update_itvl = 0x40001628; +r_ble_lll_per_adv_coex_dpc_process = 0x4000162c; +r_ble_lll_per_adv_coex_dpc_pti_get = 0x40001630; +r_ble_lll_per_adv_coex_dpc_update = 0x40001634; +r_ble_lll_per_adv_coex_dpc_update_on_data_updated = 0x40001638; +r_ble_lll_per_adv_coex_dpc_update_on_scheduled = 0x4000163c; +r_ble_lll_per_adv_coex_dpc_update_on_start = 0x40001640; +r_ble_lll_rfmgmt_is_enabled = 0x40001660; +r_ble_lll_rfmgmt_release = 0x40001664; +r_ble_lll_rfmgmt_scan_changed = 0x40001670; +r_ble_lll_rfmgmt_sched_changed = 0x40001674; +r_ble_lll_rfmgmt_set_sleep_cb = 0x40001678; +r_ble_lll_rfmgmt_ticks_to_enabled = 0x4000167c; +r_ble_lll_rx_pdu_in = 0x40001688; +r_ble_lll_rx_pkt_in = 0x4000168c; +r_ble_lll_rx_pkt_isr = 0x40001690; +r_ble_lll_scan_abort_aux_sched = 0x40001694; +r_ble_lll_scan_chk_resume = 0x4000169c; +r_ble_lll_scan_clean_cur_aux_data = 0x400016a0; +r_ble_lll_scan_coex_event_cb = 0x400016a4; +r_ble_lll_scan_common_init = 0x400016a8; +r_ble_lll_scan_deinit = 0x400016ac; +r_ble_lll_scan_duration_period_timers_restart = 0x400016b0; +r_ble_lll_scan_duration_period_timers_stop = 0x400016b4; +r_ble_lll_scan_duration_timer_cb = 0x400016b8; +r_ble_lll_scan_event_proc = 0x400016bc; +r_ble_lll_scan_ext_adv_init = 0x400016c0; +r_ble_lll_scan_has_sent_scan_req = 0x400016c8; +r_ble_lll_scan_npl_reset = 0x400016d4; +r_ble_lll_scan_npl_restore = 0x400016d8; +r_ble_lll_scan_npl_store = 0x400016dc; +r_ble_lll_scan_period_timer_cb = 0x400016e0; +r_ble_lll_scan_process_adv_in_isr = 0x400016e4; +r_ble_lll_scan_req_backoff = 0x400016ec; +r_ble_lll_scan_sched_next_aux = 0x40001700; +r_ble_lll_scan_sched_remove = 0x40001704; +r_ble_lll_scan_start = 0x40001708; +r_ble_lll_scan_start_rx = 0x4000170c; +r_ble_lll_scan_timer_cb = 0x40001718; +r_ble_lll_sched_adv_new = 0x4000171c; +r_ble_lll_sched_adv_resched_pdu = 0x40001720; +r_ble_lll_sched_adv_reschedule = 0x40001724; +r_ble_lll_sched_aux_scan = 0x40001728; +r_ble_lll_sched_conn_overlap = 0x4000172c; +r_ble_lll_sched_dtm = 0x40001738; +r_ble_lll_sched_execute_item = 0x40001744; +r_ble_lll_sched_insert_if_empty = 0x4000174c; +r_ble_lll_sched_is_overlap = 0x40001750; +r_ble_lll_sched_master_new = 0x40001754; +r_ble_lll_sched_next_time = 0x40001758; +r_ble_lll_sched_overlaps_current = 0x4000175c; +r_ble_lll_sched_periodic_adv = 0x40001760; +r_ble_lll_sched_rmv_elem = 0x40001764; +r_ble_lll_sched_rmv_elem_type = 0x40001768; +r_ble_lll_sched_run = 0x4000176c; +r_ble_lll_sched_scan_req_over_aux_ptr = 0x40001770; +r_ble_lll_sched_slave_new = 0x40001774; +r_ble_lll_sched_stop = 0x40001778; +r_ble_lll_sched_sync = 0x4000177c; +r_ble_lll_sched_sync_overlaps_current = 0x40001780; +r_ble_lll_sync_chain_start_cb = 0x40001788; +r_ble_lll_sync_coex_dpc_process = 0x4000178c; +r_ble_lll_sync_coex_dpc_pti_get = 0x40001790; +r_ble_lll_sync_coex_dpc_update = 0x40001794; +r_ble_lll_sync_current_sm_over = 0x40001798; +r_ble_lll_sync_deinit = 0x4000179c; +r_ble_lll_sync_event_end_cb = 0x400017a4; +r_ble_lll_sync_get_event_end_time = 0x400017ac; +r_ble_lll_sync_init = 0x400017b4; +r_ble_lll_sync_new = 0x400017b8; +r_ble_lll_sync_reset = 0x400017bc; +r_ble_lll_sync_reset_sm = 0x400017c0; +r_ble_lll_sync_rmvd_from_sched = 0x400017c4; +r_ble_lll_sync_schedule_chain = 0x400017cc; +r_ble_lll_sync_stop = 0x400017d0; +r_ble_lll_sync_trnasfer_sched = 0x400017d4; +r_ble_phy_access_addr_get = 0x400017d8; +r_ble_phy_calculate_rxtx_ifs = 0x400017dc; +r_ble_phy_calculate_rxwindow = 0x400017e0; +r_ble_phy_calculate_txrx_ifs = 0x400017e4; +r_ble_phy_check_bb_status = 0x400017e8; +r_ble_phy_complete_rx_info = 0x400017ec; +r_ble_phy_data_make = 0x400017f4; +r_ble_phy_disable = 0x400017f8; +r_ble_phy_disable_irq = 0x400017fc; +r_ble_phy_disable_whitening = 0x40001800; +r_ble_phy_enable_whitening = 0x40001804; +r_ble_phy_encrypt_disable = 0x40001808; +r_ble_phy_get_current_phy = 0x40001810; +r_ble_phy_get_packet_counter = 0x40001814; +r_ble_phy_get_packet_status = 0x40001818; +r_ble_phy_get_pyld_time_offset = 0x4000181c; +r_ble_phy_get_rx_phy_mode = 0x40001820; +r_ble_phy_get_seq_end_st = 0x40001824; +r_ble_phy_max_data_pdu_pyld = 0x40001830; +r_ble_phy_mode_config = 0x40001834; +r_ble_phy_mode_convert = 0x40001838; +r_ble_phy_mode_write = 0x4000183c; +r_ble_phy_module_init = 0x40001844; +r_ble_phy_reset_bb_monitor = 0x4000184c; +r_ble_phy_resolv_list_disable = 0x40001850; +r_ble_phy_resolv_list_enable = 0x40001854; +r_ble_phy_restart_sequence = 0x40001858; +r_ble_phy_rx_set_start_time_forcibly = 0x4000185c; +r_ble_phy_rxpdu_copy = 0x40001860; +r_ble_phy_seq_encrypt_enable = 0x40001864; +r_ble_phy_seq_encrypt_set_pkt_cntr = 0x40001868; +r_ble_phy_sequence_end_isr = 0x4000186c; +r_ble_phy_sequence_get_mode = 0x40001870; +r_ble_phy_sequence_is_running = 0x40001874; +r_ble_phy_sequence_is_waiting_rsp = 0x40001878; +r_ble_phy_sequence_single_end = 0x4000187c; +r_ble_phy_sequence_tx_end_invoke = 0x40001880; +r_ble_phy_sequence_update_conn_ind_params = 0x40001884; +r_ble_phy_set_coex_pti = 0x4000188c; +r_ble_phy_set_conn_ind_pdu = 0x40001890; +r_ble_phy_set_conn_mode = 0x40001894; +r_ble_phy_set_dev_address = 0x40001898; +r_ble_phy_set_rx_pwr_compensation = 0x4000189c; +r_ble_phy_set_single_packet_rx_sequence = 0x400018ac; +r_ble_phy_set_single_packet_tx_sequence = 0x400018b0; +r_ble_phy_set_tx_rx_transition = 0x400018b4; +r_ble_phy_set_txend_cb = 0x400018b8; +r_ble_phy_setchan = 0x400018bc; +r_ble_phy_start_rx_immediately = 0x400018c0; +r_ble_phy_state_get = 0x400018c4; +r_ble_phy_timer_config_start_time = 0x400018c8; +r_ble_phy_timer_start_now = 0x400018cc; +r_ble_phy_timer_stop = 0x400018d0; +r_ble_phy_tx_set_start_time = 0x400018d4; +r_ble_phy_txpwr_set = 0x400018dc; +r_ble_phy_update_ifs = 0x400018e8; +r_ble_phy_xcvr_state_get = 0x400018ec; +r_ble_plf_set_log_level = 0x400018f0; +r_ble_rtc_wake_up_cpu_init = 0x400018f4; +r_ble_rtc_wake_up_state_clr = 0x400018f8; +r_ble_vendor_hci_register = 0x400018fc; +r_bt_rf_coex_cfg_set = 0x40001900; +r_bt_rf_coex_coded_txrx_time_upper_lim = 0x40001904; +r_bt_rf_coex_dft_pti_set = 0x40001908; +r_bt_rf_coex_hook_deinit = 0x4000190c; +r_bt_rf_coex_hook_init = 0x40001910; +r_bt_rf_coex_hook_st_set = 0x40001914; +r_bt_rf_coex_hooks_p_set_default = 0x40001918; +r_btdm_disable_adv_delay = 0x4000191c; +r_btdm_switch_phy_coded = 0x40001920; +r_esp_wait_disabled = 0x40001924; +r_get_be16 = 0x40001928; +r_get_be24 = 0x4000192c; +r_get_be32 = 0x40001930; +r_get_be64 = 0x40001934; +r_get_le16 = 0x40001938; +r_get_le24 = 0x4000193c; +r_get_le32 = 0x40001940; +r_get_le64 = 0x40001944; +r_get_local_irk_offset = 0x40001948; +r_get_local_rpa_offset = 0x4000194c; +r_get_max_skip = 0x40001950; +r_get_peer_id_offset = 0x40001954; +r_get_peer_irk_offset = 0x40001958; +r_get_peer_rpa_offset = 0x4000195c; +r_hal_timer_disable_irq = 0x4000196c; +r_hal_timer_process = 0x40001978; +r_hal_timer_read = 0x4000197c; +r_hal_timer_read_tick = 0x40001980; +r_hal_timer_set_cb = 0x40001984; +r_hal_timer_start = 0x4000198c; +r_hal_timer_task_start = 0x40001998; +r_ll_assert = 0x4000199c; +r_mem_init_mbuf_pool = 0x400019a0; +r_mem_malloc_mbuf_pool = 0x400019a4; +r_mem_malloc_mbufpkt_pool = 0x400019a8; +r_mem_malloc_mempool = 0x400019ac; +r_mem_malloc_mempool_ext = 0x400019b0; +r_mem_malloc_mempool_gen = 0x400019b4; +r_mem_pullup_obj = 0x400019b8; +r_os_cputime_get32 = 0x400019c0; +r_os_cputime_ticks_to_usecs = 0x400019c4; +r_os_cputime_timer_init = 0x400019c8; +r_os_cputime_timer_relative = 0x400019cc; +r_os_cputime_timer_start = 0x400019d0; +r_os_cputime_timer_stop = 0x400019d4; +r_os_cputime_usecs_to_ticks = 0x400019d8; +r_os_mbuf_adj = 0x400019dc; +r_os_mbuf_appendfrom = 0x400019e4; +r_os_mbuf_cmpf = 0x400019e8; +r_os_mbuf_cmpm = 0x400019ec; +r_os_mbuf_concat = 0x400019f0; +r_os_mbuf_copydata = 0x400019f4; +r_os_mbuf_copyinto = 0x400019f8; +r_os_mbuf_dup = 0x400019fc; +r_os_mbuf_extend = 0x40001a00; +r_os_mbuf_free = 0x40001a04; +r_os_mbuf_free_chain = 0x40001a08; +r_os_mbuf_get = 0x40001a0c; +r_os_mbuf_get_pkthdr = 0x40001a10; +r_os_mbuf_leadingspace = 0x40001a14; +r_os_mbuf_len = 0x40001a18; +r_os_mbuf_off = 0x40001a1c; +r_os_mbuf_pack_chains = 0x40001a20; +r_os_mbuf_pool_init = 0x40001a24; +r_os_mbuf_prepend = 0x40001a28; +r_os_mbuf_prepend_pullup = 0x40001a2c; +r_os_mbuf_pullup = 0x40001a30; +r_os_mbuf_trailingspace = 0x40001a34; +r_os_mbuf_trim_front = 0x40001a38; +r_os_mbuf_widen = 0x40001a3c; +r_os_memblock_from = 0x40001a40; +r_os_memblock_get = 0x40001a44; +r_os_memblock_put_from_cb = 0x40001a4c; +r_os_mempool_clear = 0x40001a50; +r_os_mempool_ext_clear = 0x40001a54; +r_os_mempool_ext_init = 0x40001a58; +r_os_mempool_init = 0x40001a60; +r_os_mempool_is_sane = 0x40001a68; +r_os_mqueue_get = 0x40001a74; +r_os_mqueue_init = 0x40001a78; +r_os_mqueue_put = 0x40001a7c; +r_os_msys_count = 0x40001a80; +r_os_msys_get = 0x40001a84; +r_os_msys_get_pkthdr = 0x40001a88; +r_os_msys_num_free = 0x40001a8c; +r_os_msys_register = 0x40001a90; +r_os_msys_reset = 0x40001a94; +r_pri_phy_valid = 0x40001a98; +r_put_be16 = 0x40001a9c; +r_put_be24 = 0x40001aa0; +r_put_be32 = 0x40001aa4; +r_put_be64 = 0x40001aa8; +r_put_le16 = 0x40001aac; +r_put_le24 = 0x40001ab0; +r_put_le32 = 0x40001ab4; +r_put_le64 = 0x40001ab8; +r_rtc0_timer_handler = 0x40001abc; +r_sdkconfig_get_opts = 0x40001ac0; +r_sdkconfig_set_opts = 0x40001ac4; +r_sec_phy_valid = 0x40001ac8; +r_swap_buf = 0x40001acc; +r_swap_in_place = 0x40001ad0; +/* Data (.data, .bss, .rodata) */ +ble_lll_dtm_module_env_p = 0x3fcdffc4; +g_ble_lll_dtm_prbs15_data = 0x3ff4fee4; +g_ble_lll_dtm_prbs9_data = 0x3ff4fde4; +g_channel_rf_to_index = 0x3ff4fdbc; +g_ble_lll_rfmgmt_data = 0x3fcdff7c; +g_ble_sleep_enter_cb = 0x3fcdff78; +g_ble_sleep_exit_cb = 0x3fcdff74; +ble_lll_sched_env_p = 0x3fcdff70; +ble_ll_env_p = 0x3fcdff6c; +g_ble_ll_pdu_header_tx_time_ro = 0x3ff4fdb4; +ble_ll_adv_env_p = 0x3fcdff68; +ble_ll_conn_env_p = 0x3fcdff64; +ble_ll_conn_required_phy_mask = 0x3ff4fdb0; +ble_ll_valid_conn_phy_mask = 0x3ff4fdaf; +ble_ll_hci_env_p = 0x3fcdff60; +g_debug_le_private_key = 0x3ff4fd6c; +g_ecc_key = 0x3fcdfefc; +ble_ll_rand_env_p = 0x3fcdfef8; +ble_ll_resolv_env_p = 0x3fcdfef4; +g_ble_ll_resolve_hdr = 0x3fcdfeec; +g_device_mode_default = 0x3fcdfe68; +ble_ll_scan_classify_filter_aux_check_cb = 0x3fcdfee8; +ble_ll_scan_classify_filter_check_cb = 0x3fcdfee4; +ble_ll_scan_env_p = 0x3fcdfee0; +g_ble_ll_supp_cmds_ro = 0x3ff4fd3c; +ble_ll_sync_env_p = 0x3fcdfedc; +g_ble_sca_ppm_tbl_ro = 0x3ff4fd2c; +priv_config_opts = 0x3fcdfe48; +ble_hci_uart_reset_cmd = 0x3ff4fd28; +ble_hci_trans_env_p = 0x3fcdfed8; +ble_hci_trans_mode = 0x3fcdfe44; +ble_hci_trans_funcs_ptr = 0x3fcdfed4; +r_ble_lll_stub_funcs_ptr = 0x3fcdfed0; +r_ble_stub_funcs_ptr = 0x3fcdfecc; +r_ext_funcs_p = 0x3fcdfec8; +r_npl_funcs = 0x3fcdfec4; +ble_hw_env_p = 0x3fcdfec0; +ble_phy_module_env_p = 0x3fcdfebc; +g_ble_phy_chan_freq_ro = 0x3ff4fd00; +g_ble_phy_mode_pkt_start_off_ro = 0x3ff4fcf8; +g_ble_phy_rxtx_ifs_compensation_ro = 0x3ff4fce8; +g_ble_phy_t_rxaddrdelay_ro = 0x3ff4fce4; +g_ble_phy_t_rxenddelay_ro = 0x3ff4fce0; +g_ble_phy_t_txdelay_ro = 0x3ff4fcdc; +g_ble_phy_t_txenddelay_ro = 0x3ff4fcd8; +g_ble_phy_txrx_ifs_compensation_ro = 0x3ff4fcc8; +hal_timer_env_p = 0x3fcdfeb8; +r_osi_coex_funcs_p = 0x3fcdfeb4; +bt_rf_coex_hooks = 0x3fcdfeac; +bt_rf_coex_hooks_p = 0x3fcdfea8; +coex_hook_st_group_tab = 0x3ff4fcbc; +coex_hook_st_group_to_coex_schm_st_tab = 0x3ff4fcb8; +s_ble_act_count_by_group = 0x3fcdfea4; +s_ble_coex_st_map = 0x3fcdfe90; +bt_rf_coex_cfg_cb = 0x3fcdfe74; +bt_rf_coex_cfg_p = 0x3fcdfe70; +bt_rf_coex_cfg_rom = 0x3ff4fc9c; +bt_rf_coex_pti_dft_p = 0x3fcdfe6c; +bt_rf_coex_pti_dft_rom = 0x3fcdfe04; +conn_dynamic_pti_param_rom = 0x3ff4fc84; +conn_phy_coded_max_data_time_param_rom = 0x3ff4fc80; +ext_adv_dynamic_pti_param_rom = 0x3ff4fc4c; +ext_scan_dynamic_param_rom = 0x3ff4fc14; +legacy_adv_dynamic_pti_param_rom = 0x3ff4fbf4; +per_adv_dynamic_pti_param_rom = 0x3ff4fbd8; +sync_dynamic_param_rom = 0x3ff4fbc0; +g_ble_plf_log_level = 0x3fcdfe00; +g_msys_pool_list = 0x3fcdfdf8; +g_os_mempool_list = 0x3fcdfdf0; + + +/*************************************** + Group rom_pp + ***************************************/ + +/* Functions */ +esp_pp_rom_version_get = 0x40001ad4; +RC_GetBlockAckTime = 0x40001ad8; +ebuf_list_remove = 0x40001adc; +/*esf_buf_alloc = 0x40001ae0;*/ +/*esf_buf_alloc_dynamic = 0x40001ae4;*/ +/*esf_buf_recycle = 0x40001ae8;*/ +GetAccess = 0x40001aec; +hal_mac_is_low_rate_enabled = 0x40001af0; +hal_mac_tx_get_blockack = 0x40001af4; +/*hal_mac_tx_set_ppdu = 0x40001af8;*/ +ic_get_trc = 0x40001afc; +/* ic_mac_deinit = 0x40001b00; */ +ic_mac_init = 0x40001b04; +ic_interface_enabled = 0x40001b08; +is_lmac_idle = 0x40001b0c; +/*lmacAdjustTimestamp = 0x40001b10;*/ +lmacDiscardAgedMSDU = 0x40001b14; +/*lmacDiscardMSDU = 0x40001b18;*/ +/*lmacEndFrameExchangeSequence = 0x40001b1c;*/ +lmacIsIdle = 0x40001b20; +lmacIsLongFrame = 0x40001b24; +/*lmacMSDUAged = 0x40001b28;*/ +lmacPostTxComplete = 0x40001b2c; +lmacProcessAllTxTimeout = 0x40001b30; +lmacProcessCollisions = 0x40001b34; +lmacProcessRxSucData = 0x40001b38; +lmacReachLongLimit = 0x40001b3c; +lmacReachShortLimit = 0x40001b40; +lmacRecycleMPDU = 0x40001b44; +lmacRxDone = 0x40001b48; +/*lmacSetTxFrame = 0x40001b4c;*/ +lmacTxDone = 0x40001b50; +lmacTxFrame = 0x40001b54; +mac_tx_set_duration = 0x40001b58; +mac_tx_set_htsig = 0x40001b5c; +mac_tx_set_plcp0 = 0x40001b60; +mac_tx_set_plcp1 = 0x40001b64; +mac_tx_set_plcp2 = 0x40001b68; +/* pm_check_state = 0x40001b6c; */ +pm_disable_dream_timer = 0x40001b70; +pm_disable_sleep_delay_timer = 0x40001b74; +/*pm_dream = 0x40001b78;*/ +pm_mac_wakeup = 0x40001b7c; +pm_mac_sleep = 0x40001b80; +pm_enable_active_timer = 0x40001b84; +pm_enable_sleep_delay_timer = 0x40001b88; +pm_local_tsf_process = 0x40001b8c; +pm_set_beacon_filter = 0x40001b90; +pm_is_in_wifi_slice_threshold = 0x40001b94; +pm_is_waked = 0x40001b98; +pm_keep_alive = 0x40001b9c; +/* pm_on_beacon_rx = 0x40001ba0; */ +pm_on_data_rx = 0x40001ba4; +pm_on_tbtt = 0x40001ba8; +/* pm_parse_beacon = 0x40001bac;*/ +/* pm_process_tim = 0x40001bb0; */ +/*pm_rx_beacon_process = 0x40001bb4;*/ +/* pm_rx_data_process = 0x40001bb8; */ +/*pm_sleep = 0x40001bbc;*/ +pm_sleep_for = 0x40001bc0; +/* pm_tbtt_process = 0x40001bc4; */ +ppAMPDU2Normal = 0x40001bc8; +/*ppAssembleAMPDU = 0x40001bcc;*/ +ppCalFrameTimes = 0x40001bd0; +ppCalSubFrameLength = 0x40001bd4; +/*ppCalTxAMPDULength = 0x40001bd8;*/ +ppCheckTxAMPDUlength = 0x40001bdc; +ppDequeueRxq_Locked = 0x40001be0; +ppDequeueTxQ = 0x40001be4; +ppEmptyDelimiterLength = 0x40001be8; +ppEnqueueRxq = 0x40001bec; +ppEnqueueTxDone = 0x40001bf0; +ppGetTxQFirstAvail_Locked = 0x40001bf4; +ppGetTxframe = 0x40001bf8; +ppMapTxQueue = 0x40001bfc; +ppProcTxSecFrame = 0x40001c00; +ppProcessRxPktHdr = 0x40001c04; +ppProcessTxQ = 0x40001c08; +ppRecordBarRRC = 0x40001c0c; +lmacRequestTxopQueue = 0x40001c10; +lmacReleaseTxopQueue = 0x40001c14; +ppRecycleAmpdu = 0x40001c18; +ppRecycleRxPkt = 0x40001c1c; +ppResortTxAMPDU = 0x40001c20; +ppResumeTxAMPDU = 0x40001c24; +/*ppRxFragmentProc = 0x40001c28;*/ +/* ppRxPkt = 0x40001c2c; */ +ppRxProtoProc = 0x40001c30; +ppSearchTxQueue = 0x40001c34; +ppSearchTxframe = 0x40001c38; +ppSelectNextQueue = 0x40001c3c; +ppSubFromAMPDU = 0x40001c40; +ppTask = 0x40001c44; +ppTxPkt = 0x40001c48; +ppTxProtoProc = 0x40001c4c; +ppTxqUpdateBitmap = 0x40001c50; +/*pp_coex_tx_request = 0x40001c54;*/ +pp_hdrsize = 0x40001c58; +pp_post = 0x40001c5c; +pp_process_hmac_waiting_txq = 0x40001c60; +rcGetAmpduSched = 0x40001c64; +rcUpdateRxDone = 0x40001c68; +rc_get_trc = 0x40001c6c; +rc_get_trc_by_index = 0x40001c70; +rcAmpduLowerRate = 0x40001c74; +rcampduuprate = 0x40001c78; +rcClearCurAMPDUSched = 0x40001c7c; +rcClearCurSched = 0x40001c80; +rcClearCurStat = 0x40001c84; +/*rcGetSched = 0x40001c88;*/ +rcLowerSched = 0x40001c8c; +rcSetTxAmpduLimit = 0x40001c90; +/* rcTxUpdatePer = 0x40001c94;*/ +rcUpdateAckSnr = 0x40001c98; +/*rcUpdateRate = 0x40001c9c;*/ +rcUpdateTxDone = 0x40001ca0; +rcUpdateTxDoneAmpdu2 = 0x40001ca4; +rcUpSched = 0x40001ca8; +rssi_margin = 0x40001cac; +rx11NRate2AMPDULimit = 0x40001cb0; +TRC_AMPDU_PER_DOWN_THRESHOLD = 0x40001cb4; +TRC_AMPDU_PER_UP_THRESHOLD = 0x40001cb8; +trc_calc_duration = 0x40001cbc; +trc_isTxAmpduOperational = 0x40001cc0; +trc_onAmpduOp = 0x40001cc4; +TRC_PER_IS_GOOD = 0x40001cc8; +trc_SetTxAmpduState = 0x40001ccc; +trc_tid_isTxAmpduOperational = 0x40001cd0; +trcAmpduSetState = 0x40001cd4; +wDevCheckBlockError = 0x40001cd8; +/*wDev_AppendRxBlocks = 0x40001cdc;*/ +wDev_DiscardFrame = 0x40001ce0; +wDev_GetNoiseFloor = 0x40001ce4; +wDev_IndicateAmpdu = 0x40001ce8; +/*wDev_IndicateFrame = 0x40001cec;*/ +wdev_mac_reg_load = 0x40001cf0; +wdev_mac_reg_store = 0x40001cf4; +wdev_mac_special_reg_load = 0x40001cf8; +wdev_mac_special_reg_store = 0x40001cfc; +wdev_mac_wakeup = 0x40001d00; +wdev_mac_sleep = 0x40001d04; +/* wDev_ProcessFiq = 0x40001d08; */ +/*wDev_ProcessRxSucData = 0x40001d0c;*/ +wdevProcessRxSucDataAll = 0x40001d10; +wdev_csi_len_align = 0x40001d14; +ppDequeueTxDone_Locked = 0x40001d18; +/*ppProcTxDone = 0x40001d1c;*/ +/*pm_tx_data_done_process = 0x40001d20;*/ +config_is_cache_tx_buf_enabled = 0x40001d24; +//ppMapWaitTxq = 0x40001d28; +ppProcessWaitingQueue = 0x40001d2c; +ppDisableQueue = 0x40001d30; +pm_allow_tx = 0x40001d34; +wdev_is_data_in_rxlist = 0x40001d38; +ppProcTxCallback = 0x40001d3c; +pm_is_open = 0x40001d40; +pm_wake_up = 0x40001d44; +pm_wake_done = 0x40001d48; +pm_disable_disconnected_sleep_delay_timer = 0x40001d4c; +pm_enable_disconnected_sleep_delay_timer = 0x40001d50; +hal_mac_get_txq_state = 0x40001d54; +hal_mac_clr_txq_state = 0x40001d58; +hal_mac_tx_set_cca = 0x40001d5c; +hal_mac_set_txq_invalid = 0x40001d60; +hal_mac_txq_disable = 0x40001d64; +hal_mac_is_txq_enabled = 0x40001d68; +hal_mac_get_txq_pmd = 0x40001d6c; +/*lmacDiscardFrameExchangeSequence = 0x40001d70;*/ +/*lmacDisableTransmit = 0x40001d74;*/ +/*lmacProcessTxTimeout = 0x40001d78;*/ +/*lmacProcessTxSuccess = 0x40001d7c;*/ +lmacProcessCollision = 0x40001d80; +lmacProcessTxRtsError = 0x40001d84; +lmacProcessCtsTimeout = 0x40001d88; +/* lmacProcessTxComplete = 0x40001d8c;*/ +lmacProcessAckTimeout = 0x40001d90; +lmacProcessTxError = 0x40001d94; +lmacProcessTxseckiderr = 0x40001d98; +rcReachRetryLimit = 0x40001d9c; +lmacProcessShortRetryFail = 0x40001da0; +lmacEndRetryAMPDUFail = 0x40001da4; +ppFillAMPDUBar = 0x40001da8; +rcGetRate = 0x40001dac; +ppReSendBar = 0x40001db0; +lmacProcessLongRetryFail = 0x40001db4; +lmacRetryTxFrame = 0x40001db8; +lmacProcessCollisions_task = 0x40001dbc; +/*lmacProcessTxopQComplete = 0x40001dc0;*/ +lmacInitAc = 0x40001dc4; +/*lmacInit = 0x40001dc8;*/ +mac_tx_set_txop_q = 0x40001dcc; +/*hal_init = 0x40001dd0;*/ +hal_mac_rx_set_policy = 0x40001dd4; +hal_mac_set_bssid = 0x40001dd8; +mac_rx_policy_init = 0x40001ddc; +/*mac_txrx_init = 0x40001de0;*/ +mac_rxbuf_init = 0x40001de4; +mac_last_rxbuf_init = 0x40001de8; +hal_attenna_init = 0x40001dec; +hal_timer_update_by_rtc = 0x40001df0; +hal_coex_pti_init = 0x40001df4; +/*lmac_stop_hw_txq = 0x40001df8;*/ +ppDirectRecycleAmpdu = 0x40001dfc; +esp_wifi_internal_set_rts = 0x40001e00; +esp_wifi_internal_get_rts = 0x40001e04; +/*ppTxFragmentProc = 0x40001e08;*/ +/*esf_buf_setup = 0x40001e0c;*/ +hal_agreement_add_rx_ba = 0x40001e10; +hal_agreement_del_rx_ba = 0x40001e14; +/*hal_crypto_set_key_entry = 0x40001e18;*/ +hal_crypto_get_key_entry = 0x40001e1c; +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; +/* pm_start = 0x40001e34; */ +/* pm_stop = 0x40001e38; */ +hal_disable_sta_tbtt = 0x40001e3c; +ppCalTxopDur = 0x40001e40; +wDev_IndicateCtrlFrame = 0x40001e44; +hal_enable_sta_tbtt = 0x40001e48; +/*hal_set_sta_tbtt = 0x40001e4c;*/ +/* pm_update_next_tbtt = 0x40001e50;*/ +/* pm_set_sleep_type = 0x40001e54; */ +wDev_Rxbuf_Init = 0x40001e58; +wDev_Rxbuf_Deinit = 0x40001e5c; +ppCalTkipMic = 0x40001e60; +wDev_SnifferRxData = 0x40001e64; +hal_crypto_enable = 0x40001e68; +hal_crypto_disable = 0x40001e6c; +wDev_Insert_KeyEntry = 0x40001e70; +wDev_remove_KeyEntry = 0x40001e74; +rc_enable_trc = 0x40001e78; +rc_set_per_conn_fix_rate = 0x40001e7c; +wdev_csi_rx_process = 0x40001e80; +wDev_SnifferRxAmpdu = 0x40001e84; +hal_mac_tsf_reset = 0x40001e88; +dbg_lmac_statis_dump = 0x40001e8c; +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; +rcUpdateAMPDUParam = 0x40001ea4; +rcUpdatePhyMode = 0x40001ea8; +rcGetHighestRateIdx = 0x40001eac; +//pm_tx_null_data_done_process = 0x40001eb0; +//pm_tx_data_process = 0x40001eb4; +/* pm_attach = 0x40001eb8; */ +/* pm_coex_schm_process = 0x40001ebc; */ +ppInitTxq = 0x40001ec0; +pp_attach = 0x40001ec4; +pp_deattach = 0x40001ec8; +//pm_on_probe_resp_rx = 0x40001ecc; +hal_set_sta_tsf = 0x40001ed0; +ic_update_sta_tsf = 0x40001ed4; +ic_tx_pkt = 0x40001ed8; +//pm_send_probe_stop = 0x40001edc; +pm_send_probe_start = 0x40001ee0; +pm_on_coex_schm_process_restart = 0x40001ee4; +hal_mac_set_rxq_policy = 0x40001ee8; +hal_sniffer_enable = 0x40001eec; +hal_sniffer_disable = 0x40001ef0; +/*hal_sniffer_rx_set_promis = 0x40001ef4;*/ +hal_sniffer_rx_clr_statistics = 0x40001ef8; +/*hal_sniffer_set_promis_misc_pkt = 0x40001efc;*/ +tsf_hal_set_tsf_enable = 0x40001f00; +tsf_hal_set_tsf_disable = 0x40001f04; +tsf_hal_is_tsf_enabled = 0x40001f08; +tsf_hal_set_modem_wakeup_early_time = 0x40001f0c; +tsf_hal_get_counter_value = 0x40001f10; +tsf_hal_set_counter_value = 0x40001f14; +tsf_hal_get_time = 0x40001f18; +tsf_hal_set_time = 0x40001f1c; +tsf_hal_set_tbtt_enable = 0x40001f20; +tsf_hal_set_tbtt_disable = 0x40001f24; +tsf_hal_set_tbtt_intr_enable = 0x40001f28; +tsf_hal_set_tbtt_intr_disable = 0x40001f2c; +tsf_hal_set_tbtt_soc_wakeup_enable = 0x40001f30; +tsf_hal_set_tbtt_soc_wakeup_disable = 0x40001f34; +/*tsf_hal_set_tbtt_start_time = 0x40001f38;*/ +tsf_hal_set_tbtt_early_time = 0x40001f3c; +tsf_hal_set_tbtt_interval = 0x40001f40; +tsf_hal_get_tbtt_interval = 0x40001f44; +tsf_hal_set_timer_enable = 0x40001f48; +tsf_hal_set_timer_disable = 0x40001f4c; +tsf_hal_set_timer_target = 0x40001f50; +tsf_hal_get_timer_target = 0x40001f54; +tsf_hal_set_timer_intr_enable = 0x40001f58; +tsf_hal_set_timer_intr_disable = 0x40001f5c; +tsf_hal_set_timer_soc_wakeup_enable = 0x40001f60; +tsf_hal_set_timer_soc_wakeup_disable = 0x40001f64; +pm_disconnected_wake = 0x40001f68; +pm_get_connectionless_status = 0x40001f6c; +pm_update_by_connectionless_status = 0x40001f70; +pm_connectionless_wake_interval_timeout_process = 0x40001f74; +pm_connectionless_wake_window_timeout_process = 0x40001f78; +/* Data (.data, .bss, .rodata) */ +our_instances_ptr = 0x3ff4fbbc; +pTxRx = 0x3fcdfdec; +lmacConfMib_ptr = 0x3fcdfde8; +our_wait_eb = 0x3fcdfde4; +our_tx_eb = 0x3fcdfde0; +pp_wdev_funcs = 0x3fcdfddc; +g_osi_funcs_p = 0x3fcdfdd8; +wDevCtrl_ptr = 0x3fcdfdd4; +g_wdev_last_desc_reset_ptr = 0x3ff4fbb8; +wDevMacSleep_ptr = 0x3fcdfdd0; +g_lmac_cnt_ptr = 0x3fcdfdcc; +our_controls_ptr = 0x3ff4fbb4; +pp_sig_cnt_ptr = 0x3fcdfdc8; +g_eb_list_desc_ptr = 0x3fcdfdc4; +s_fragment_ptr = 0x3fcdfdc0; +if_ctrl_ptr = 0x3fcdfdbc; +g_intr_lock_mux = 0x3fcdfdb8; +g_wifi_global_lock = 0x3fcdfdb4; +s_wifi_queue = 0x3fcdfdb0; +pp_task_hdl = 0x3fcdfdac; +s_pp_task_create_sem = 0x3fcdfda8; +s_pp_task_del_sem = 0x3fcdfda4; +g_wifi_menuconfig_ptr = 0x3fcdfda0; +xphyQueue = 0x3fcdfd9c; +ap_no_lr_ptr = 0x3fcdfd98; +rc11BSchedTbl_ptr = 0x3fcdfd94; +rc11NSchedTbl_ptr = 0x3fcdfd90; +rcLoRaSchedTbl_ptr = 0x3fcdfd8c; +BasicOFDMSched_ptr = 0x3fcdfd88; +trc_ctl_ptr = 0x3fcdfd84; +g_pm_cnt_ptr = 0x3fcdfd80; +g_pm_ptr = 0x3fcdfd7c; +g_pm_cfg_ptr = 0x3fcdfd78; +g_esp_mesh_quick_funcs_ptr = 0x3fcdfd74; +g_txop_queue_status_ptr = 0x3fcdfd70; +g_mac_sleep_en_ptr = 0x3fcdfd6c; +g_mesh_is_root_ptr = 0x3fcdfd68; +g_mesh_topology_ptr = 0x3fcdfd64; +g_mesh_init_ps_type_ptr = 0x3fcdfd60; +g_mesh_is_started_ptr = 0x3fcdfd5c; +g_config_func = 0x3fcdfd58; +g_net80211_tx_func = 0x3fcdfd54; +g_timer_func = 0x3fcdfd50; +s_michael_mic_failure_cb = 0x3fcdfd4c; +wifi_sta_rx_probe_req = 0x3fcdfd48; +g_tx_done_cb_func = 0x3fcdfd44; +g_per_conn_trc = 0x3fcdfd28; +s_encap_amsdu_func = 0x3fcdfd24; +bars = 0x3fcdfc84; +eb_txdesc_space = 0x3fcdfbf4; +eb_space = 0x3fcdfb54; +g_pd_mac_in_light_sleep = 0x3fcdfb50; +s_fix_rate_mask = 0x3fcdfb4c; +s_fix_rate = 0x3fcdfb44; +g_wdev_csi_rx = 0x3fcdfb40; +g_wdev_csi_rx_ctx = 0x3fcdfb3c; +BcnSendTick = 0x3fcdfb38; +g_pp_timer_info_ptr = 0x3fcdfb34; +rcP2P11NSchedTbl_ptr = 0x3fcdfb30; +rcP2P11GSchedTbl_ptr = 0x3fcdfb2c; +rc11GSchedTbl_ptr = 0x3fcdfb28; + + +/*************************************** + Group rom_net80211 + ***************************************/ + +/* Functions */ +esp_net80211_rom_version_get = 0x40001f7c; +ampdu_dispatch = 0x40001f80; +ampdu_dispatch_all = 0x40001f84; +ampdu_dispatch_as_many_as_possible = 0x40001f88; +ampdu_dispatch_movement = 0x40001f8c; +ampdu_dispatch_upto = 0x40001f90; +chm_is_at_home_channel = 0x40001f94; +cnx_node_is_existing = 0x40001f98; +cnx_node_search = 0x40001f9c; +ic_ebuf_recycle_rx = 0x40001fa0; +ic_ebuf_recycle_tx = 0x40001fa4; +ic_reset_rx_ba = 0x40001fa8; +ieee80211_align_eb = 0x40001fac; +/*ieee80211_ampdu_reorder = 0x40001fb0;*/ +ieee80211_ampdu_start_age_timer = 0x40001fb4; +/*ieee80211_encap_esfbuf = 0x40001fb8;*/ +ieee80211_is_tx_allowed = 0x40001fbc; +ieee80211_output_pending_eb = 0x40001fc0; +/* ieee80211_output_process = 0x40001fc4; */ +ieee80211_set_tx_desc = 0x40001fc8; +/*sta_input = 0x40001fcc;*/ +wifi_get_macaddr = 0x40001fd0; +wifi_rf_phy_disable = 0x40001fd4; +wifi_rf_phy_enable = 0x40001fd8; +ic_ebuf_alloc = 0x40001fdc; +/*ieee80211_classify = 0x40001fe0;*/ +ieee80211_copy_eb_header = 0x40001fe4; +ieee80211_recycle_cache_eb = 0x40001fe8; +ieee80211_search_node = 0x40001fec; +roundup2 = 0x40001ff0; +ieee80211_crypto_encap = 0x40001ff4; +/* ieee80211_crypto_decap = 0x40001ff8; */ +ieee80211_decap = 0x40001ffc; +ieee80211_set_tx_pti = 0x40002000; +wifi_is_started = 0x40002004; +ieee80211_gettid = 0x40002008; +/* ieee80211_ccmp_decrypt = 0x4000200c; */ +/* ieee80211_ccmp_encrypt = 0x40002010; */ +ccmp_encap = 0x40002014; +ccmp_decap = 0x40002018; +tkip_encap = 0x4000201c; +tkip_decap = 0x40002020; +wep_encap = 0x40002024; +wep_decap = 0x40002028; +dbg_hmac_rxtx_statis_dump = 0x4000202c; +dbg_hmac_statis_dump = 0x40002030; +/* 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_is_ht_cipher = 0x4000205c; +ieee80211_setup_lr_rates = 0x40002068; +ieee80211_ht_node_init = 0x4000206c; +ieee80211_is_support_rate = 0x40002070; +ieee80211_setup_rates = 0x40002074; +ieee80211_is_lr_only = 0x40002078; +ieee80211_setup_phy_mode = 0x4000207c; +ieee80211_sta_is_connected = 0x40002080; +current_task_is_wifi_task = 0x40002084; +wifi_get_init_state = 0x40002088; +/* ieee80211_timer_process = 0x4000208c; */ +/* 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; */ +ieee80211_alloc_challenge = 0x400020b0; +cnx_assoc_timeout = 0x400020b4; +ieee80211_vnd_ie_set = 0x400020b8; +ieee80211_vnd_lora_ie_set = 0x400020bc; +ieee80211_add_wme_param = 0x400020c0; +ieee80211_add_dsparams = 0x400020c4; +ieee80211_add_csa = 0x400020c8; +/*ieee80211_add_extcap = 0x400020cc;*/ +ieee80211_regdomain_get_country = 0x400020d0; +ieee80211_add_countryie = 0x400020d4; +ieee80211_amsdu_adjust_head = 0x400020dc; +ieee80211_amsdu_adjust_last_length = 0x400020e0; +ieee80211_amsdu_send_check = 0x400020e4; +ieee80211_amsdu_encap_check = 0x400020e8; +ieee80211_amsdu_length_check = 0x400020ec; +ieee80211_encap_amsdu = 0x400020f0; +ieee80211_output_raw_process = 0x400020f4; +ieee80211_raw_frame_sanity_check = 0x400020fc; +ieee80211_crypto_aes_128_cmac_encrypt = 0x40002100; +ieee80211_alloc_tx_buf = 0x40002108; +/* ieee80211_output_do = 0x4000210c; */ +/* ieee80211_send_nulldata = 0x40002110; */ +/* ieee80211_setup_robust_mgmtframe = 0x40002114; */ +ieee80211_encap_null_data = 0x4000211c; +ieee80211_send_deauth_no_bss = 0x40002120; +ieee80211_alloc_deauth = 0x40002124; +ieee80211_send_proberesp = 0x40002128; +ieee80211_getcapinfo = 0x40002130; +/* sta_rx_csa = 0x40002134; */ +/* sta_recv_sa_query_resp = 0x40002144; */ +ieee80211_set_max_rate = 0x4000214c; +ic_set_sta = 0x40002150; +ieee80211_parse_wpa = 0x40002158; +ieee80211_add_assoc_req_ies = 0x40002160; +ieee80211_add_probe_req_ies = 0x40002164; +/* Data (.data, .bss, .rodata) */ +net80211_funcs = 0x3fcdfb24; +g_scan = 0x3fcdfb20; +g_chm = 0x3fcdfb1c; +g_ic_ptr = 0x3fcdfb18; +g_hmac_cnt_ptr = 0x3fcdfaf4; +g_tx_cacheq_ptr = 0x3fcdfb14; +s_netstack_free = 0x3fcdfb10; +mesh_rxcb = 0x3fcdfb0c; +sta_rxcb = 0x3fcdfb08; +ccmp_ptr = 0x3fcdfb04; +s_wifi_nvs_ptr = 0x3fcdfb00; +tkip_ptr = 0x3fcdfafc; +wep_ptr = 0x3fcdfaf8; +g_hmac_cnt_ptr = 0x3fcdfaf4; +g_misc_nvs = 0x3fcdfaf0; +s_wifi_init_state = 0x3fcdfac0; +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; */ +g_sta_connected_flag = 0x3fcdfad4; +wpa_crypto_funcs_ptr = 0x3fcdfad0; +s_netstack_ref = 0x3fcdfacc; +sta_csa_timer_ptr = 0x3fcdfac8; +/* s_trans_id = 0x3fcdfac4; */ + + +/*************************************** + Group rom_coexist + ***************************************/ + +/* Functions */ +esp_coex_rom_version_get = 0x40002168; +coex_bt_release = 0x4000216c; +coex_bt_request = 0x40002170; +coex_core_ble_conn_dyn_prio_get = 0x40002174; +/*coex_core_event_duration_get = 0x40002178;*/ +coex_core_pti_get = 0x4000217c; +coex_core_release = 0x40002180; +coex_core_request = 0x40002184; +coex_core_status_get = 0x40002188; +/*coex_core_timer_idx_get = 0x4000218c;*/ +coex_event_duration_get = 0x40002190; +coex_hw_timer_disable = 0x40002194; +coex_hw_timer_enable = 0x40002198; +coex_hw_timer_set = 0x4000219c; +coex_schm_interval_set = 0x400021a0; +coex_schm_lock = 0x400021a4; +coex_schm_unlock = 0x400021a8; +coex_status_get = 0x400021ac; +coex_wifi_release = 0x400021b0; +esp_coex_ble_conn_dynamic_prio_get = 0x400021b4; +/*coex_hw_timer_tick_get = 0x400021b8;*/ +/* Data (.data, .bss, .rodata) */ +coex_env_ptr = 0x3fcdfabc; +coex_pti_tab_ptr = 0x3fcdfab8; +coex_schm_env_ptr = 0x3fcdfab4; +coexist_funcs = 0x3fcdfab0; +g_coa_funcs_p = 0x3fcdfaac; +g_coex_param_ptr = 0x3fcdfaa8; + + +/*************************************** + Group rom_phy + ***************************************/ + +/* Functions */ +phy_param_addr = 0x400021bc; +phy_get_romfuncs = 0x400021c0; +chip729_phyrom_version = 0x400021c4; +chip729_phyrom_version_num = 0x400021c8; +rom_get_rc_dout = 0x400021cc; +rc_cal = 0x400021d0; +phy_analog_delay_cal = 0x400021d4; +phy_rx_rifs_en = 0x400021d8; +phy_current_level_set = 0x400021dc; +phy_bbpll_en_usb = 0x400021e0; +phy_bt_power_track = 0x400021e4; +/* phy_xpd_tsens = 0x400021e8); Link this function in phy_lib, no longer link the rom one.*/ +bb_wdt_rst_enable = 0x400021ec; +bb_wdt_int_enable = 0x400021f0; +bb_wdt_timeout_clear = 0x400021f4; +bb_wdt_get_status = 0x400021f8; +rom_enter_critical_phy = 0x400021fc; +rom_exit_critical_phy = 0x40002200; +rom_bb_bss_cbw40 = 0x40002204; +rom_set_chan_reg = 0x40002208; +abs_temp = 0x4000220c; +set_chan_cal_interp = 0x40002210; +loopback_mode_en = 0x40002214; +get_data_sat = 0x40002218; +phy_byte_to_word = 0x4000221c; +phy_get_rx_freq = 0x40002220; +i2c_master_reset = 0x40002224; +chan14_mic_enable = 0x40002228; +chan14_mic_cfg = 0x4000222c; +set_adc_rand = 0x40002230; +phy_set_most_tpw = 0x40002234; +phy_get_most_tpw = 0x40002238; +esp_tx_state_out = 0x4000223c; +phy_get_adc_rand = 0x40002240; +phy_internal_delay = 0x40002244; +phy_ftm_comp = 0x40002248; +phy_11p_set = 0x4000224c; +phy_freq_mem_backup = 0x40002250; +ant_dft_cfg = 0x40002254; +ant_wifitx_cfg = 0x40002258; +ant_wifirx_cfg = 0x4000225c; +ant_bttx_cfg = 0x40002260; +ant_btrx_cfg = 0x40002264; +phy_chan_dump_cfg = 0x40002268; +phy_enable_low_rate = 0x4000226c; +phy_disable_low_rate = 0x40002270; +phy_dig_reg_backup = 0x40002274; +phy_chan_filt_set = 0x40002278; +phy_rx11blr_cfg = 0x4000227c; +set_cca = 0x40002280; +set_rx_sense = 0x40002284; +rx_gain_force = 0x40002288; +rom_phy_en_hw_set_freq = 0x4000228c; +rom_phy_dis_hw_set_freq = 0x40002290; +wr_rf_freq_mem = 0x40002294; +freq_i2c_write_set = 0x40002298; +write_pll_cap_mem = 0x4000229c; +pll_dac_mem_update = 0x400022a0; +pll_cap_mem_update = 0x400022a4; +get_rf_freq_cap = 0x400022a8; +get_rf_freq_init = 0x400022ac; +freq_get_i2c_data = 0x400022b0; +freq_i2c_data_write = 0x400022b4; +set_chan_freq_hw_init = 0x400022b8; +set_chan_freq_sw_start = 0x400022bc; +rom_get_i2c_read_mask = 0x400022c0; +rom_get_i2c_mst0_mask = 0x400022c4; +rom_get_i2c_hostid = 0x400022c8; +rom_chip_i2c_readReg_org = 0x400022cc; +rom_chip_i2c_readReg = 0x400022d0; +rom_i2c_paral_set_mst0 = 0x400022d4; +rom_i2c_paral_set_read = 0x400022d8; +rom_i2c_paral_read = 0x400022dc; +rom_i2c_paral_write = 0x400022e0; +rom_i2c_paral_write_num = 0x400022e4; +rom_i2c_paral_write_mask = 0x400022e8; +rom_i2c_readReg = 0x400022ec; +rom_chip_i2c_writeReg = 0x400022f0; +rom_i2c_writeReg = 0x400022f4; +rom_i2c_readReg_Mask = 0x400022f8; +rom_i2c_writeReg_Mask = 0x400022fc; +rom_set_txcap_reg = 0x40002300; +i2c_sar2_init_code = 0x40002304; +phy_i2c_init1 = 0x40002308; +phy_i2c_init2 = 0x4000230c; +phy_get_i2c_data = 0x40002310; +bias_reg_set = 0x40002314; +i2c_rc_cal_set = 0x40002318; +i2c_bbpll_set = 0x4000231c; +rom_phy_xpd_rf = 0x40002320; +phy_wakeup_init_rom = 0x40002324; +register_chipv7_phy_init_param = 0x40002328; +phy_reg_init = 0x4000232c; +phy_close_rf_rom = 0x40002330; +rom_pbus_force_mode = 0x40002334; +rom_pbus_rd_addr = 0x40002338; +rom_pbus_rd_shift = 0x4000233c; +rom_pbus_force_test = 0x40002340; +rom_pbus_rd = 0x40002344; +rom_pbus_debugmode = 0x40002348; +rom_pbus_workmode = 0x4000234c; +rom_pbus_set_rxgain = 0x40002350; +rom_pbus_xpd_rx_off = 0x40002354; +rom_pbus_xpd_rx_on = 0x40002358; +rom_pbus_xpd_tx_off = 0x4000235c; +rom_pbus_xpd_tx_on = 0x40002360; +rom_pbus_set_dco = 0x40002364; +rom_set_loopback_gain = 0x40002368; +rom_txcal_debuge_mode = 0x4000236c; +rom_txcal_work_mode = 0x40002370; +set_pbus_mem = 0x40002374; +rom_pwdet_sar2_init = 0x40002378; +rom_en_pwdet = 0x4000237c; +rom_get_sar_sig_ref = 0x40002380; +rom_pwdet_tone_start = 0x40002384; +rom_get_tone_sar_dout = 0x40002388; +rom_get_fm_sar_dout = 0x4000238c; +rom_txtone_linear_pwr = 0x40002390; +rom_get_power_db = 0x40002394; +rom_meas_tone_pwr_db = 0x40002398; +rom_pkdet_vol_start = 0x4000239c; +rom_read_sar_dout = 0x400023a0; +rom_read_sar2_code = 0x400023a4; +rom_get_sar2_vol = 0x400023a8; +rom_get_pll_vol = 0x400023ac; +rom_tx_pwctrl_bg_init = 0x400023b0; +rom_phy_pwdet_always_en = 0x400023b4; +rom_phy_pwdet_onetime_en = 0x400023b8; +linear_to_db = 0x400023bc; +rom_disable_agc = 0x400023c0; +rom_enable_agc = 0x400023c4; +rom_disable_wifi_agc = 0x400023c8; +rom_enable_wifi_agc = 0x400023cc; +rom_write_gain_mem = 0x400023d0; +rom_bb_bss_cbw40_dig = 0x400023d4; +rom_cbw2040_cfg = 0x400023d8; +rom_mac_tx_chan_offset = 0x400023dc; +rom_tx_paon_set = 0x400023e0; +rom_i2cmst_reg_init = 0x400023e4; +rom_bt_gain_offset = 0x400023e8; +rom_fe_reg_init = 0x400023ec; +rom_mac_enable_bb = 0x400023f0; +rom_bb_wdg_cfg = 0x400023f4; +rom_fe_txrx_reset = 0x400023f8; +rom_set_rx_comp = 0x400023fc; +rom_write_chan_freq = 0x40002400; +rom_agc_reg_init = 0x40002404; +rom_bb_reg_init = 0x40002408; +rom_write_txrate_power_offset = 0x4000240c; +rom_open_i2c_xpd = 0x40002410; +rom_txiq_set_reg = 0x40002414; +rom_rxiq_set_reg = 0x40002418; +rom_phy_bbpll_cal = 0x4000241c; +phy_disable_cca = 0x40002420; +phy_enable_cca = 0x40002424; +force_txon = 0x40002428; +set_txclk_en = 0x4000242c; +set_rxclk_en = 0x40002430; +start_tx_tone_step = 0x40002434; +stop_tx_tone = 0x40002438; +bb_wdg_test_en = 0x4000243c; +noise_floor_auto_set = 0x40002440; +read_hw_noisefloor = 0x40002444; +iq_corr_enable = 0x40002448; +bt_tx_dig_gain = 0x4000244c; +wifi_tx_dig_reg = 0x40002450; +wifi_agc_sat_gain = 0x40002454; +phy_ant_init = 0x40002458; +phy_set_bbfreq_init = 0x4000245c; +wifi_fbw_sel = 0x40002460; +phy_rx_sense_set = 0x40002464; +tx_state_set = 0x40002468; +phy_close_pa = 0x4000246c; +bt_filter_reg = 0x40002470; +phy_freq_correct = 0x40002474; +set_pbus_reg = 0x40002478; +wifi_rifs_mode_en = 0x4000247c; +rfagc_disable = 0x40002480; +rom_restart_cal = 0x40002484; +rom_write_rfpll_sdm = 0x40002488; +rom_wait_rfpll_cal_end = 0x4000248c; +rom_rfpll_set_freq = 0x40002490; +rom_rfpll_cap_init_cal = 0x40002494; +rom_set_rfpll_freq = 0x40002498; +rom_write_pll_cap = 0x4000249c; +rom_read_pll_cap = 0x400024a0; +mhz2ieee = 0x400024a4; +chan_to_freq = 0x400024a8; +set_rf_freq_offset = 0x400024ac; +set_channel_rfpll_freq = 0x400024b0; +rfpll_cap_correct = 0x400024b4; +phy_set_freq = 0x400024b8; +correct_rfpll_offset = 0x400024bc; +pll_vol_cal = 0x400024c0; +chip_v7_set_chan_misc = 0x400024c4; +chip_v7_set_chan = 0x400024c8; +chip_v7_set_chan_offset = 0x400024cc; +chip_v7_set_chan_ana = 0x400024d0; +set_chanfreq = 0x400024d4; +rom_rxiq_cover_mg_mp = 0x400024d8; +rom_rfcal_rxiq = 0x400024dc; +rom_get_rfcal_rxiq_data = 0x400024e0; +rom_pbus_rx_dco_cal = 0x400024e4; +rom_rxdc_est_min = 0x400024e8; +rom_pbus_rx_dco_cal_1step = 0x400024ec; +rom_set_lb_txiq = 0x400024f0; +rom_set_rx_gain_cal_iq = 0x400024f4; +rom_set_rx_gain_cal_dc = 0x400024f8; +iq_est_enable = 0x400024fc; +iq_est_disable = 0x40002500; +dc_iq_est = 0x40002504; +set_cal_rxdc = 0x40002508; +rxiq_get_mis = 0x4000250c; +spur_reg_write_one_tone = 0x40002510; +spur_cal = 0x40002514; +spur_coef_cfg = 0x40002518; +gen_rx_gain_table = 0x4000251c; +wr_rx_gain_mem = 0x40002520; +set_rx_gain_param = 0x40002524; +set_rx_gain_table = 0x40002528; +rom_tester_wifi_cali = 0x4000252c; +esp_recover_efuse_data = 0x40002530; +/* bt_track_pll_cap = 0x40002534;*/ +rfpll_cap_track = 0x40002538; +phy_param_track = 0x4000253c; +txpwr_correct = 0x40002540; +txpwr_cal_track = 0x40002544; +/* tx_pwctrl_background = 0x40002548;*/ +bt_track_tx_power = 0x4000254c; +wifi_track_tx_power = 0x40002550; +rom_code_to_temp = 0x40002554; +rom_tsens_index_to_dac = 0x40002558; +rom_tsens_index_to_offset = 0x4000255c; +rom_tsens_dac_cal = 0x40002560; +rom_tsens_code_read = 0x40002564; +rom_tsens_temp_read = 0x40002568; +rom_temp_to_power = 0x4000256c; +tsens_read_init = 0x40002570; +get_temp_init = 0x40002574; +rom_txiq_cover = 0x40002578; +rom_rfcal_txiq = 0x4000257c; +rom_get_power_atten = 0x40002580; +rom_tx_pwctrl_init_cal = 0x40002584; +bt_txdc_cal = 0x40002588; +bt_txiq_cal = 0x4000258c; +txiq_cal_init = 0x40002590; +txdc_cal_init = 0x40002594; +txdc_cal_v70 = 0x40002598; +txiq_get_mis_pwr = 0x4000259c; +pwdet_ref_code = 0x400025a0; +pwdet_code_cal = 0x400025a4; +rfcal_txcap = 0x400025a8; +tx_cap_init = 0x400025ac; +rfcal_pwrctrl = 0x400025b0; +tx_pwctrl_init = 0x400025b4; +bt_tx_pwctrl_init = 0x400025b8; +bt_txpwr_freq = 0x400025bc; +rom_txbbgain_to_index = 0x400025c0; +rom_index_to_txbbgain = 0x400025c4; +rom_bt_index_to_bb = 0x400025c8; +rom_bt_bb_to_index = 0x400025cc; +rom_bt_get_tx_gain = 0x400025d0; +rom_get_tx_gain_value = 0x400025d4; +rom_wifi_get_tx_gain = 0x400025d8; +rom_set_tx_gain_mem = 0x400025dc; +rom_get_rate_fcc_index = 0x400025e0; +rom_get_chan_target_power = 0x400025e4; +rom_wifi_tx_dig_gain = 0x400025e8; +rom_wifi_set_tx_gain = 0x400025ec; +rom_bt_set_tx_gain = 0x400025f0; +wifi_11g_rate_chg = 0x400025f4; +bt_chan_pwr_interp = 0x400025f8; +bt_tx_gain_init = 0x400025fc; +/* Data (.data, .bss, .rodata) */ +phy_param_rom = 0x3fcdfaa4; + + +/*************************************** + Group rom_btbb + ***************************************/ + +/* Functions */ +bt_agc_gain_offset = 0x40002600; +bt_agc_gain_max = 0x40002604; +bt_set_rx_comp = 0x40002608; +bt_agc_gain_set = 0x4000260c; +bt_agc_rssi_thresh = 0x40002610; +bt_agc_target_set = 0x40002614; +bt_agc_restart_set = 0x40002618; +bt_agc_recorrect_set = 0x4000261c; +bt_agc_detect_set = 0x40002620; +bt_bb_rx_correlator_set = 0x40002624; +bt_bb_rx_dpo_set = 0x40002628; +bt_bb_rx_filter_sel = 0x4000262c; +bt_bb_rx_set1 = 0x40002630; +bt_bb_v2_rx_set = 0x40002634; +bt_bb_v2_tx_set = 0x40002638; +bt_bb_tx_cca_set = 0x4000263c; +bt_bb_tx_cca_period = 0x40002640; +bt_bb_tx_cca_fifo_reset = 0x40002644; +bt_bb_tx_cca_fifo_empty = 0x40002648; +bt_bb_tx_cca_fifo_full = 0x4000264c; +bt_bb_tx_cca_fifo_count = 0x40002650; +bt_bb_tx_cca_fifo_read = 0x40002654; +coex_pti_v2 = 0x40002658; +bt_bb_set_le_tx_on_delay = 0x4000265c; +bt_bb_set_corr_thresh_le = 0x40002660; + +/*************************************** + Group rom_mbedtls md5 + ***************************************/ +mbedtls_md5_starts_ret = 0x40002be4; +mbedtls_md5_update_ret = 0x40002be8; +mbedtls_md5_finish_ret = 0x40002bec; diff --git a/esp-hal/ld/esp32c2/rom/esp32c2.rom.libgcc.ld b/esp-hal/ld/esp32c2/rom/esp32c2.rom.libgcc.ld new file mode 100644 index 000000000..83b085cf4 --- /dev/null +++ b/esp-hal/ld/esp32c2/rom/esp32c2.rom.libgcc.ld @@ -0,0 +1,113 @@ +/* + * SPDX-FileCopyrightText: 2021-2022 Espressif Systems (Shanghai) CO LTD + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/* ROM function interface esp32c2.rom.libgcc.ld for esp32c2 + * + * + * Generated from ./interface-esp32c2.yml md5sum c679b6ed5e9f0a9c3e7b93e5e0f2a1a3 + * + * Compatible with ROM where ECO version equal or greater to 1. + * + * THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT. + */ + +/*************************************** + Group libgcc + ***************************************/ + +/* Functions */ +__absvdi2 = 0x400008a8; +__absvsi2 = 0x400008ac; +__adddf3 = 0x400008b0; +__addsf3 = 0x400008b4; +__addvdi3 = 0x400008b8; +__addvsi3 = 0x400008bc; +__ashldi3 = 0x400008c0; +__ashrdi3 = 0x400008c4; +__bswapdi2 = 0x400008c8; +__bswapsi2 = 0x400008cc; +__clear_cache = 0x400008d0; +__clrsbdi2 = 0x400008d4; +__clrsbsi2 = 0x400008d8; +__clzdi2 = 0x400008dc; +__clzsi2 = 0x400008e0; +__cmpdi2 = 0x400008e4; +__ctzdi2 = 0x400008e8; +__ctzsi2 = 0x400008ec; +__divdc3 = 0x400008f0; +__divdf3 = 0x400008f4; +__divdi3 = 0x400008f8; +__divsc3 = 0x400008fc; +__divsf3 = 0x40000900; +__divsi3 = 0x40000904; +__eqdf2 = 0x40000908; +__eqsf2 = 0x4000090c; +__extendsfdf2 = 0x40000910; +__ffsdi2 = 0x40000914; +__ffssi2 = 0x40000918; +__fixdfdi = 0x4000091c; +__fixdfsi = 0x40000920; +__fixsfdi = 0x40000924; +__fixsfsi = 0x40000928; +__fixunsdfsi = 0x4000092c; +__fixunssfdi = 0x40000930; +__fixunssfsi = 0x40000934; +__floatdidf = 0x40000938; +__floatdisf = 0x4000093c; +__floatsidf = 0x40000940; +__floatsisf = 0x40000944; +__floatundidf = 0x40000948; +__floatundisf = 0x4000094c; +__floatunsidf = 0x40000950; +__floatunsisf = 0x40000954; +__gcc_bcmp = 0x40000958; +__gedf2 = 0x4000095c; +__gesf2 = 0x40000960; +__gtdf2 = 0x40000964; +__gtsf2 = 0x40000968; +__ledf2 = 0x4000096c; +__lesf2 = 0x40000970; +__lshrdi3 = 0x40000974; +__ltdf2 = 0x40000978; +__ltsf2 = 0x4000097c; +__moddi3 = 0x40000980; +__modsi3 = 0x40000984; +__muldc3 = 0x40000988; +__muldf3 = 0x4000098c; +__muldi3 = 0x40000990; +__mulsc3 = 0x40000994; +__mulsf3 = 0x40000998; +__mulsi3 = 0x4000099c; +__mulvdi3 = 0x400009a0; +__mulvsi3 = 0x400009a4; +__nedf2 = 0x400009a8; +__negdf2 = 0x400009ac; +__negdi2 = 0x400009b0; +__negsf2 = 0x400009b4; +__negvdi2 = 0x400009b8; +__negvsi2 = 0x400009bc; +__nesf2 = 0x400009c0; +__paritysi2 = 0x400009c4; +__popcountdi2 = 0x400009c8; +__popcountsi2 = 0x400009cc; +__powidf2 = 0x400009d0; +__powisf2 = 0x400009d4; +__subdf3 = 0x400009d8; +__subsf3 = 0x400009dc; +__subvdi3 = 0x400009e0; +__subvsi3 = 0x400009e4; +__truncdfsf2 = 0x400009e8; +__ucmpdi2 = 0x400009ec; +__udivdi3 = 0x400009f0; +__udivmoddi4 = 0x400009f4; +__udivsi3 = 0x400009f8; +__udiv_w_sdiv = 0x400009fc; +__umoddi3 = 0x40000a00; +__umodsi3 = 0x40000a04; +__unorddf2 = 0x40000a08; +__unordsf2 = 0x40000a0c; +__extenddftf2 = 0x40000a10; +__trunctfdf2 = 0x40000a14; diff --git a/esp-hal/ld/esp32c2/rom/esp32c2.rom.rvfp.ld b/esp-hal/ld/esp32c2/rom/esp32c2.rom.rvfp.ld new file mode 100644 index 000000000..98d13c99d --- /dev/null +++ b/esp-hal/ld/esp32c2/rom/esp32c2.rom.rvfp.ld @@ -0,0 +1,118 @@ +/* + * SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD + * + * SPDX-License-Identifier: Apache-2.0 + */ +/* ROM function interface esp32c2.rom.rvfp.ld esp32c2 + * + * + * Generated from ./interface-esp32c2.yml md5sum c679b6ed5e9f0a9c3e7b93e5e0f2a1a3 + * + * Compatible with ROM where ECO version equal or greater to 1. + * + * THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT. + */ + +/*************************************** + Group rvfplib + ***************************************/ + +/* Functions */ +__adddf3 = 0x40000a18; +__addsf3 = 0x40000a1c; +__divsf3 = 0x40000a20; +__eqdf2 = 0x40000a24; +__eqsf2 = 0x40000a28; +__extendsfdf2 = 0x40000a2c; +__fixdfdi = 0x40000a30; +__fixdfsi = 0x40000a34; +__fixsfdi = 0x40000a38; +__fixsfsi = 0x40000a3c; +__fixunsdfsi = 0x40000a40; +__fixunssfdi = 0x40000a44; +__fixunssfsi = 0x40000a48; +__floatdidf = 0x40000a4c; +__floatdisf = 0x40000a50; +__floatsidf = 0x40000a54; +__floatsisf = 0x40000a58; +__floatundidf = 0x40000a5c; +__floatundisf = 0x40000a60; +__floatunsidf = 0x40000a64; +__floatunsisf = 0x40000a68; +__gedf2 = 0x40000a6c; +__gesf2 = 0x40000a70; +__gtdf2 = 0x40000a74; +__gtsf2 = 0x40000a78; +__ledf2 = 0x40000a7c; +__lesf2 = 0x40000a80; +__ltdf2 = 0x40000a84; +__ltsf2 = 0x40000a88; +__muldf3 = 0x40000a8c; +__mulsf3 = 0x40000a90; +__nedf2 = 0x40000a94; +__nesf2 = 0x40000a98; +__subdf3 = 0x40000a9c; +__subsf3 = 0x40000aa0; +__truncdfsf2 = 0x40000aa4; + +/*************************************** + Group libgcc +***************************************/ + +/* Functions */ +__absvdi2 = 0x400008a8; +__absvsi2 = 0x400008ac; +__addvdi3 = 0x400008b8; +__addvsi3 = 0x400008bc; +__ashldi3 = 0x400008c0; +__ashrdi3 = 0x400008c4; +__bswapdi2 = 0x400008c8; +__bswapsi2 = 0x400008cc; +__clear_cache = 0x400008d0; +__clrsbdi2 = 0x400008d4; +__clrsbsi2 = 0x400008d8; +__clzdi2 = 0x400008dc; +__clzsi2 = 0x400008e0; +__cmpdi2 = 0x400008e4; +__ctzdi2 = 0x400008e8; +__ctzsi2 = 0x400008ec; +__divdc3 = 0x400008f0; +__divdf3 = 0x400008f4; +__divdi3 = 0x400008f8; +__divsc3 = 0x400008fc; +__divsi3 = 0x40000904; +__ffsdi2 = 0x40000914; +__ffssi2 = 0x40000918; +__gcc_bcmp = 0x40000958; +__lshrdi3 = 0x40000974; +__moddi3 = 0x40000980; +__modsi3 = 0x40000984; +__muldc3 = 0x40000988; +__muldi3 = 0x40000990; +__mulsc3 = 0x40000994; +__mulsi3 = 0x4000099c; +__mulvdi3 = 0x400009a0; +__mulvsi3 = 0x400009a4; +__negdf2 = 0x400009ac; +__negdi2 = 0x400009b0; +__negsf2 = 0x400009b4; +__negvdi2 = 0x400009b8; +__negvsi2 = 0x400009bc; +__paritysi2 = 0x400009c4; +__popcountdi2 = 0x400009c8; +__popcountsi2 = 0x400009cc; +__powidf2 = 0x400009d0; +__powisf2 = 0x400009d4; +__subvdi3 = 0x400009e0; +__subvsi3 = 0x400009e4; +__ucmpdi2 = 0x400009ec; +__udivdi3 = 0x400009f0; +__udivmoddi4 = 0x400009f4; +__udivsi3 = 0x400009f8; +__udiv_w_sdiv = 0x400009fc; +__umoddi3 = 0x40000a00; +__umodsi3 = 0x40000a04; +__unorddf2 = 0x40000a08; +__unordsf2 = 0x40000a0c; +__extenddftf2 = 0x40000a10; +__trunctfdf2 = 0x40000a14; diff --git a/esp-hal/ld/esp32c2/rom/esp32c2.rom.version.ld b/esp-hal/ld/esp32c2/rom/esp32c2.rom.version.ld new file mode 100644 index 000000000..e49433d55 --- /dev/null +++ b/esp-hal/ld/esp32c2/rom/esp32c2.rom.version.ld @@ -0,0 +1,14 @@ +/* + * SPDX-FileCopyrightText: 2021-2022 Espressif Systems (Shanghai) CO LTD + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/* ROM version variables for esp32c2 + * + * These addresses should be compatible with any ROM version for this chip. + * + * THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT. + */ +_rom_chip_id = 0x40000010; +_rom_eco_version = 0x40000014; diff --git a/esp-hal/ld/esp32c3/rom-functions.x b/esp-hal/ld/esp32c3/rom-functions.x index 1d205abc3..a6ba0165b 100644 --- a/esp-hal/ld/esp32c3/rom-functions.x +++ b/esp-hal/ld/esp32c3/rom-functions.x @@ -1,30 +1,10 @@ -ets_printf = 0x40000040; -PROVIDE(esp_rom_printf = ets_printf); -PROVIDE(cache_invalidate_icache_all = 0x400004d8); -PROVIDE(cache_suspend_icache = 0x40000524); -PROVIDE(cache_resume_icache = 0x40000528); -PROVIDE(cache_ibus_mmu_set = 0x40000560); -PROVIDE(cache_dbus_mmu_set = 0x40000564); -PROVIDE(ets_delay_us = 0x40000050); -PROVIDE(ets_update_cpu_frequency_rom = 0x40000588); -PROVIDE(rom_i2c_writeReg = 0x4000195c); -PROVIDE(rom_i2c_writeReg_Mask = 0x40001960); -PROVIDE(rtc_get_reset_reason = 0x40000018); -PROVIDE(software_reset = 0x40000090); -PROVIDE(software_reset_cpu = 0x40000094); +INCLUDE "rom/esp32c3.rom.api.ld" +INCLUDE "rom/esp32c3.rom.eco3.ld" +/* TODO +INCLUDE "rom/esp32c3.rom.eco7.ld" +*/ +INCLUDE "rom/esp32c3.rom.ld" +INCLUDE "rom/esp32c3.rom.libgcc.ld" +INCLUDE "rom/esp32c3.rom.version.ld" -PROVIDE(esp_rom_crc32_be = 0x4000062c); -PROVIDE(esp_rom_crc16_be = 0x40000634); -PROVIDE(esp_rom_crc8_be = 0x4000063c); -PROVIDE(esp_rom_crc32_le = 0x40000628); -PROVIDE(esp_rom_crc16_le = 0x40000630); -PROVIDE(esp_rom_crc8_le = 0x40000638); - -PROVIDE(esp_rom_md5_init = 0x40000614); -PROVIDE(esp_rom_md5_update = 0x40000618); -PROVIDE(esp_rom_md5_final = 0x4000061c); - -memset = 0x40000354; -memcpy = 0x40000358; -memmove = 0x4000035c; -memcmp = 0x40000360; \ No newline at end of file +INCLUDE "rom/additional.ld" diff --git a/esp-hal/ld/esp32c3/rom/additional.ld b/esp-hal/ld/esp32c3/rom/additional.ld new file mode 100644 index 000000000..70032e9e9 --- /dev/null +++ b/esp-hal/ld/esp32c3/rom/additional.ld @@ -0,0 +1,12 @@ +memset = 0x40000354; +memcpy = 0x40000358; +memmove = 0x4000035c; +memcmp = 0x40000360; + +strncmp = 0x40000370; +strncpy = 0x40000368; +strcpy = 0x40000364; + +abs = 0x40000424; + +PROVIDE(cache_dbus_mmu_set = 0x40000564); diff --git a/esp-hal/ld/esp32c3/rom/esp32c3.rom.api.ld b/esp-hal/ld/esp32c3/rom/esp32c3.rom.api.ld new file mode 100644 index 000000000..c7cf3573b --- /dev/null +++ b/esp-hal/ld/esp32c3/rom/esp32c3.rom.api.ld @@ -0,0 +1,61 @@ +/** + * ROM APIs + */ +PROVIDE ( esp_rom_crc32_le = crc32_le ); +PROVIDE ( esp_rom_crc16_le = crc16_le ); +PROVIDE ( esp_rom_crc8_le = crc8_le ); +PROVIDE ( esp_rom_crc32_be = crc32_be ); +PROVIDE ( esp_rom_crc16_be = crc16_be ); +PROVIDE ( esp_rom_crc8_be = crc8_be ); + +PROVIDE ( esp_rom_gpio_pad_select_gpio = gpio_pad_select_gpio ); +PROVIDE ( esp_rom_gpio_pad_pullup_only = gpio_pad_pullup ); +PROVIDE ( esp_rom_gpio_pad_set_drv = gpio_pad_set_drv ); +PROVIDE ( esp_rom_gpio_pad_unhold = gpio_pad_unhold ); +PROVIDE ( esp_rom_gpio_connect_in_signal = gpio_matrix_in ); +PROVIDE ( esp_rom_gpio_connect_out_signal = gpio_matrix_out ); + +PROVIDE ( esp_rom_efuse_mac_address_crc8 = esp_crc8 ); +PROVIDE ( esp_rom_efuse_get_flash_gpio_info = ets_efuse_get_spiconfig ); +PROVIDE ( esp_rom_efuse_is_secure_boot_enabled = ets_efuse_secure_boot_enabled ); +PROVIDE ( esp_rom_efuse_get_flash_wp_gpio = ets_efuse_get_wp_pad ); + +PROVIDE ( esp_rom_uart_flush_tx = uart_tx_flush ); +PROVIDE ( esp_rom_uart_tx_one_char = uart_tx_one_char ); +PROVIDE ( esp_rom_uart_tx_wait_idle = uart_tx_wait_idle ); +PROVIDE ( esp_rom_uart_rx_one_char = uart_rx_one_char ); +PROVIDE ( esp_rom_uart_rx_string = UartRxString ); + +PROVIDE ( esp_rom_output_flush_tx = uart_tx_flush ); +PROVIDE ( esp_rom_output_tx_one_char = uart_tx_one_char ); +PROVIDE ( esp_rom_output_tx_wait_idle = uart_tx_wait_idle ); +PROVIDE ( esp_rom_output_rx_one_char = uart_rx_one_char ); +PROVIDE ( esp_rom_output_rx_string = UartRxString ); + +PROVIDE ( esp_rom_md5_init = MD5Init ); +PROVIDE ( esp_rom_md5_update = MD5Update ); +PROVIDE ( esp_rom_md5_final = MD5Final ); + +PROVIDE ( esp_rom_software_reset_system = software_reset ); +PROVIDE ( esp_rom_software_reset_cpu = software_reset_cpu ); + +PROVIDE ( esp_rom_printf = ets_printf ); +PROVIDE ( esp_rom_delay_us = ets_delay_us ); +PROVIDE ( esp_rom_get_reset_reason = rtc_get_reset_reason ); +PROVIDE ( esp_rom_route_intr_matrix = intr_matrix_set ); +PROVIDE ( esp_rom_get_cpu_ticks_per_us = ets_get_cpu_frequency ); +PROVIDE ( esp_rom_set_cpu_ticks_per_us = ets_update_cpu_frequency ); + +PROVIDE ( esp_rom_spiflash_clear_bp = esp_rom_spiflash_unlock ); +PROVIDE ( esp_rom_spiflash_write_enable = SPI_write_enable ); +PROVIDE ( esp_rom_spiflash_erase_area = SPIEraseArea ); + +PROVIDE ( esp_rom_spiflash_fix_dummylen = spi_dummy_len_fix ); +PROVIDE ( esp_rom_spiflash_set_drvs = SetSpiDrvs); +PROVIDE ( esp_rom_spiflash_select_padsfunc = SelectSpiFunction ); +PROVIDE ( esp_rom_spiflash_common_cmd = SPI_Common_Command ); + +PROVIDE ( esp_rom_regi2c_read = rom_i2c_readReg ); +PROVIDE ( esp_rom_regi2c_read_mask = rom_i2c_readReg_Mask ); +PROVIDE ( esp_rom_regi2c_write = rom_i2c_writeReg ); +PROVIDE ( esp_rom_regi2c_write_mask = rom_i2c_writeReg_Mask ); diff --git a/esp-hal/ld/esp32c3/rom/esp32c3.rom.eco3.ld b/esp-hal/ld/esp32c3/rom/esp32c3.rom.eco3.ld new file mode 100644 index 000000000..3568b2d6e --- /dev/null +++ b/esp-hal/ld/esp32c3/rom/esp32c3.rom.eco3.ld @@ -0,0 +1,129 @@ +/* +ESP32C3 ECO3 ROM address table +Version 3 API's imported from the ROM +*/ + +/*esf_buf_alloc_dynamic = 0x400015c0;*/ +/*esf_buf_recycle = 0x400015c4;*/ +/*lmacTxDone = 0x4000162c;*/ +/*ppMapTxQueue = 0x400016d8;*/ +/*rcGetSched = 0x40001764;*/ +wDevCheckBlockError = 0x400017b4; +/*ppProcTxDone = 0x40001804;*/ +/*sta_input = rom_sta_input;*/ + +/*************************************** + Group rom_phy + ***************************************/ + +/* Functions */ +rom_index_to_txbbgain = 0x40001964; +rom_pbus_xpd_tx_on = 0x400019b0; +rom_set_tx_dig_gain = 0x400019f0; +rom_set_txcap_reg = 0x400019f4; +rom_txbbgain_to_index = 0x40001a0c; +rom_agc_reg_init = 0x40001a54; +rom_bb_reg_init = 0x40001a58; +rom_set_pbus_reg = 0x40001a70; +rom_phy_xpd_rf = 0x40001a78; +rom_write_txrate_power_offset = 0x40001a8c; +rom_temp_to_power = 0x40001ab4; +rom_open_i2c_xpd = 0x40001af8; +rom_tsens_read_init = 0x40001b00; +rom_tsens_code_read = 0x40001b04; +rom_tsens_dac_cal = 0x40001b10; +rom_pll_vol_cal = 0x40001b28; + +/*************************************** + Group eco3_wifi + ***************************************/ + +/* Functions */ +wdev_is_data_in_rxlist = 0x40001b2c; +ppProcTxCallback = 0x40001b30; +ieee80211_gettid = 0x40001b34; + + +/*************************************** + Group eco3_bluetooth + ***************************************/ + +/* Functions */ +r_lld_legacy_adv_dynamic_pti_get = 0x40001b38; +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_connectable_construct = 0x40001b54; +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_schedule_asap = 0x40001b6c; +r_lld_con_tx_prog_new_packet_coex = 0x40001b70; +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_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; +r_lld_adv_direct_adv_use_rpa_addr_state_set = 0x40001b9c; +r_lld_adv_direct_adv_use_rpa_addr_state_get = 0x40001ba0; +r_lld_init_evt_end_type_check_state_set = 0x40001ba4; +r_lld_init_evt_end_type_check_state_get = 0x40001ba8; + + +/*************************************** + Group eco3_phy + ***************************************/ + +/* Functions */ +rom_wrtie_pll_cap = 0x40001bac; +rom_set_tx_gain_mem = 0x40001bb0; +rom_bt_tx_dig_gain = 0x40001bb4; +rom_bt_get_tx_gain = 0x40001bb8; +rom_get_chan_target_power = 0x40001bbc; +rom_get_tx_gain_value = 0x40001bc0; +rom_wifi_tx_dig_gain = 0x40001bc4; +rom_wifi_get_tx_gain = 0x40001bc8; +rom_fe_i2c_reg_renew = 0x40001bcc; +rom_wifi_agc_sat_gain = 0x40001bd0; +rom_i2c_master_reset = 0x40001bd4; +rom_bt_filter_reg = 0x40001bd8; +rom_phy_bbpll_cal = 0x40001bdc; +rom_i2c_sar2_init_code = 0x40001be0; +rom_phy_param_addr = 0x40001be4; +rom_phy_reg_init = 0x40001be8; +rom_set_chan_reg = 0x40001bec; +rom_phy_wakeup_init = 0x40001bf0; +rom_phy_i2c_init1 = 0x40001bf4; +rom_tsens_temp_read = 0x40001bf8; +rom_bt_track_pll_cap = 0x40001bfc; +rom_wifi_track_pll_cap = 0x40001c00; +rom_wifi_set_tx_gain = 0x40001c04; +rom_txpwr_cal_track = 0x40001c08; +rom_tx_pwctrl_background = 0x40001c0c; +rom_bt_set_tx_gain = 0x40001c10; +rom_noise_check_loop = 0x40001c14; +rom_phy_close_rf = 0x40001c18; +rom_phy_xpd_tsens = 0x40001c1c; +rom_phy_freq_mem_backup = 0x40001c20; +rom_phy_ant_init = 0x40001c24; +rom_bt_track_tx_power = 0x40001c28; +rom_wifi_track_tx_power = 0x40001c2c; +rom_phy_dig_reg_backup = 0x40001c30; +chip726_phyrom_version_num = 0x40001c34; +/* Data (.data, .bss, .rodata) */ +phy_param_rom = 0x3fcdf830; + +/*************************************** + Group eco3_esp_flash + ***************************************/ + +/* Functions */ +PROVIDE( esp_flash_read_chip_id = 0x40001c38 ); +PROVIDE( detect_spi_flash_chip = 0x40001c3c ); +PROVIDE( esp_rom_spiflash_write_disable = 0x40001c40 ); diff --git a/esp-hal/ld/esp32c3/rom/esp32c3.rom.eco7.ld b/esp-hal/ld/esp32c3/rom/esp32c3.rom.eco7.ld new file mode 100644 index 000000000..9150a4e32 --- /dev/null +++ b/esp-hal/ld/esp32c3/rom/esp32c3.rom.eco7.ld @@ -0,0 +1,240 @@ +/* + * SPDX-FileCopyrightText: 2023-2024 Espressif Systems (Shanghai) CO LTD + * + * SPDX-License-Identifier: Apache-2.0 + */ +esf_buf_alloc = 0x400015bc; +esf_buf_alloc_dynamic = 0x400015c0; +esf_buf_recycle = 0x400015c4; +/*hal_mac_tx_set_ppdu = 0x400015d4;*/ +ic_mac_deinit = 0x400015dc; +lmacDiscardMSDU = 0x400015f4; +/*lmacSetTxFrame = 0x40001628;*/ +lmacTxDone = 0x4000162c; +lmacTxFrame = 0x40001630; +mac_tx_set_htsig = 0x40001638; +mac_tx_set_plcp1 = 0x40001640; +pm_check_state = 0x40001648; +/*pm_on_beacon_rx = 0x4000167c;*/ +/*pm_parse_beacon = 0x40001688;*/ +pm_process_tim = 0x4000168c; +pm_rx_beacon_process = 0x40001690; +pm_rx_data_process = 0x40001694; +/* pm_sleep = 0x40001698;*/ +/* pm_tbtt_process = 0x400016a0;*/ +ppMapTxQueue = 0x400016d8; +ppProcTxSecFrame = 0x400016dc; +/*ppRxFragmentProc = 0x40001704;*/ +/* rcGetSched = 0x40001764;*/ +rcTxUpdatePer = 0x40001770; +rcUpdateTxDone = 0x4000177c; +wDevCheckBlockError = 0x400017b4; +/* wDev_IndicateFrame = 0x400017c8;*/ +wDev_ProcessFiq = 0x400017f0; +/*wDev_ProcessRxSucData = 0x400017f4;*/ +/*ppProcTxDone = 0x40001804;*/ +/*pm_tx_data_done_process = 0x40001808;*/ +ppMapWaitTxq = 0x40001810; +/*ieee80211_encap_esfbuf = 0x4000185c;*/ +/*sta_input = 0x40001870;*/ +ieee80211_crypto_decap = 0x4000189c; +ieee80211_decap = 0x400018a0; +/*coex_core_timer_idx_get = 0x400018d0;*/ +rom1_chip_i2c_readReg = 0x40001924; +rom1_chip_i2c_writeReg = 0x40001928; +rom_index_to_txbbgain = 0x40001964; +rom_pbus_xpd_tx_on = 0x400019b0; +rom1_set_noise_floor = 0x400019e8; +rom_set_tx_dig_gain = 0x400019f0; +rom_set_txcap_reg = 0x400019f4; +rom_txbbgain_to_index = 0x40001a0c; +rom1_disable_wifi_agc = 0x40001a1c; +rom1_enable_wifi_agc = 0x40001a20; +rom1_tx_paon_set = 0x40001a44; +rom_agc_reg_init = 0x40001a54; +rom_bb_reg_init = 0x40001a58; +rom1_set_pbus_reg = 0x40001a70; +rom_phy_xpd_rf = 0x40001a78; +rom_write_txrate_power_offset = 0x40001a8c; +rom1_get_rate_fcc_index = 0x40001a90; +rom1_read_sar2_code = 0x40001aa4; +rom2_temp_to_power1 = 0x40001ab4; +rom1_get_i2c_hostid = 0x40001ac8; +rom_open_i2c_xpd = 0x40001af8; +rom2_tsens_read_init1 = 0x40001b00; +rom_tsens_code_read = 0x40001b04; +rom_tsens_dac_cal = 0x40001b10; +rom1_phy_en_hw_set_freq = 0x40001b20; +rom1_phy_dis_hw_set_freq = 0x40001b24; +rom_pll_vol_cal = 0x40001b28; + +rom1_bt_get_tx_gain = 0x40001bb8; +rom1_get_chan_target_power = 0x40001bbc; +rom2_get_tx_gain_value1 = 0x40001bc0; +rom1_wifi_tx_dig_gain = 0x40001bc4; +rom1_wifi_get_tx_gain = 0x40001bc8; +rom1_fe_i2c_reg_renew = 0x40001bcc; +rom1_i2c_master_reset = 0x40001bd4; +rom1_phy_wakeup_init = 0x40001bf0; +rom1_phy_i2c_init1 = 0x40001bf4; +rom1_tsens_temp_read = 0x40001bf8; +rom1_bt_track_pll_cap = 0x40001bfc; +rom1_wifi_set_tx_gain = 0x40001c04; +rom1_txpwr_cal_track = 0x40001c08; +rom1_bt_set_tx_gain = 0x40001c10; +rom1_phy_close_rf = 0x40001c18; + + +/*************************************** + Group eco7_uart + ***************************************/ + +/* Functions */ +uart_tx_switch = 0x40001c44; + + +/*************************************** + Group eco7_bluetooth + ***************************************/ + +/* Functions */ +r_lld_con_count_get = 0x40001c48; +r_lld_update_con_offset = 0x40001c4c; +r_lld_con_update_last_clock = 0x40001c50; +r_lld_con_llcp_ind_info_clear = 0x40001c54; +r_lld_con_update_terminte_info_init = 0x40001c58; +r_lld_con_terminate_max_evt_update = 0x40001c5c; +r_llc_pref_param_compute_eco = 0x40001ce8; +r_llc_hci_con_upd_info_send_eco = 0x40001cec; +r_llc_rem_encrypt_proc_continue_eco = 0x40001cf0; +r_llc_start_eco = 0x40001cf8; +r_lld_ext_adv_dynamic_aux_pti_process_eco = 0x40001cfc; +r_lld_adv_start_eco = 0x40001d04; +r_lld_con_evt_canceled_cbk_eco = 0x40001d08; +r_lld_con_evt_time_update_eco = 0x40001d0c; +r_lld_con_start_eco = 0x40001d10; +r_lld_con_frm_isr_eco = 0x40001d14; +r_lld_con_tx_eco = 0x40001d18; +r_lld_ext_scan_dynamic_pti_process_eco = 0x40001d28; +r_lld_scan_frm_eof_isr_eco = 0x40001d2c; +r_lld_sync_start_eco = 0x40001d30; +r_lld_sync_insert_eco = 0x40001d34; +r_llm_adv_rep_flow_control_update_eco = 0x40001d38; +r_llm_env_adv_dup_filt_init_eco = 0x40001d3c; +r_llm_env_adv_dup_filt_deinit_eco = 0x40001d40; +r_llm_adv_rep_flow_control_check_eco = 0x40001d44; +r_llm_scan_start_eco = 0x40001d48; +r_llm_update_duplicate_scan_count = 0x40001d4c; +r_llc_hci_command_handler_pre = 0x40001d50; +r_llc_hci_command_handler_get = 0x40001d54; +r_llc_hci_command_handler_search = 0x40001d58; +r_llc_llcp_pdu_handler_get_overwrite = 0x40001d5c; +r_llc_llcp_pdu_handler_pre = 0x40001d60; +r_llc_llcp_pdu_handler_end = 0x40001d64; +r_llc_con_conflict_check = 0x40001d6c; +r_sch_prog_hw_reset_try = 0x40001d70; +r_sch_prog_et_state_reset = 0x40001d74; +r_sch_prog_end_isr_handler = 0x40001d78; +r_sch_plan_conflict_check = 0x40001d7c; +r_rwble_isr_hw_fixed = 0x40001d80; +r_bt_bb_recorrect_is_dead = 0x40001d84; +r_bt_bb_restart_hw_recorrect = 0x40001d88; +r_ke_task_handler_pre = 0x40001da0; +r_ke_task_handler_end = 0x40001da4; +r_lld_scan_frm_skip_isr_eco = 0x40001db0; +r_lld_ext_scan_dynamic_pti_reset = 0x40001db4; +r_llc_rem_phy_upd_proc_continue_eco = 0x40001db8; +r_llm_get_preferred_phys = 0x40001dbc; +r_lld_hw_cca_isr_eco = 0x40001dc0; +r_lld_sw_cca_isr_eco = 0x40001dc4; +r_lld_cca_chan_prn_e = 0x40001dc8; +r_lld_cca_chan_prn_s = 0x40001dcc; +r_lld_cca_chan_sel_remap = 0x40001dd0; +r_lld_cca_chan_sel_1 = 0x40001dd4; +r_lld_cca_chan_sel_2 = 0x40001dd8; +r_lld_cca_set_thresh = 0x40001ddc; +r_lld_cca_con_start = 0x40001de0; +r_lld_cca_con_end = 0x40001de4; +r_lld_cca_chm_restore = 0x40001de8; +r_lld_cca_chan_unused_check = 0x40001dec; +r_lld_cca_chm_update_check = 0x40001df0; +r_lld_cca_busy_mode_handle = 0x40001df4; +r_lld_cca_lbt_handle = 0x40001df8; +r_lld_cca_scst_timeout_check = 0x40001dfc; +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_hci_register_vendor_desc_tab = 0x40000d9c; +r_ke_task_schedule = 0x40000e80; +r_llc_hci_command_handler = 0x40000ef0; +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_lld_scan_process_pkt_rx_adv_rep = 0x40001284; +r_register_esp_vendor_cmd_handler = 0x40001400; +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_lld_scan_process_pkt_rx = 0x40001280; +r_llm_le_features_get = 0x400013b0; + +/* ble functions rename */ +r_lld_init_start_hack = 0x400011a4; + +/* ble functions disable */ +/* +r_lld_adv_frm_isr_eco = 0x40001d00; +r_lld_res_list_clear = 0x40004638; +r_lld_res_list_rem = 0x40004680; +r_lld_adv_start_hook = 0x40001c80; +r_lld_con_evt_start_cbk_eco = 0x40001d1c; +r_lld_con_tx_prog_new_packet = 0x40001b74; +r_lld_adv_ext_chain_none_construct = 0x40001b50; +r_llc_llcp_send_eco = 0x40001cf4; +r_llc_llcp_channel_map_ind_ack = 0x40001d68; +r_rwble_isr = 0x40001464; +r_lld_scan_start_eco = 0x40001d24; +r_lld_scan_try_sched_eco = 0x40001dac; +r_lld_scan_start_hook = 0x40001c74; +r_lld_init_start_hook = 0x40001cb8; +r_lld_scan_evt_start_cbk_eco = 0x40001d20; +r_ke_task_handler_get_overwrite = 0x40001da8; +*/ + + +/*************************************** + Group eco7_phy + ***************************************/ + +/* Functions */ +rom2_pll_cap_mem_update = 0x40001e04; +rom2_phy_i2c_enter_critical = 0x40001e08; +rom2_phy_i2c_exit_critical = 0x40001e0c; +rom2_rfpll_cap_correct = 0x40001e10; +rom2_write_pll_cap = 0x40001e14; +rom2_read_pll_cap = 0x40001e18; +rom2_tester_wifi_cali = 0x40001e1c; +rom2_wait_hw_freq_busy = 0x40001e20; +rom2_rfpll_cap_track = 0x40001e24; +rom2_ulp_code_track = 0x40001e28; +rom2_ulp_ext_code_set = 0x40001e2c; +rom2_phy_set_tsens_power = 0x40001e30; +rom2_phy_get_tsens_value = 0x40001e34; +rom_mac_tx_chan_offset = 0x40001e38; +rom_rx_gain_force = 0x40001e3c; diff --git a/esp-hal/ld/esp32c3/rom/esp32c3.rom.ld b/esp-hal/ld/esp32c3/rom/esp32c3.rom.ld new file mode 100644 index 000000000..b9201bc0c --- /dev/null +++ b/esp-hal/ld/esp32c3/rom/esp32c3.rom.ld @@ -0,0 +1,1932 @@ +/* ROM function interface esp32c3.rom.ld for esp32c3 + * + * + * Generated from ./interface-esp32c3.yml md5sum 93b28a9e1fe42d212018eb4336849208 + * + * Compatible with ROM where ECO version equal or greater to 0. + * + * THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT. + */ + +/*************************************** + Group common + ***************************************/ + +/* Functions */ +rtc_get_reset_reason = 0x40000018; +analog_super_wdt_reset_happened = 0x4000001c; +jtag_cpu_reset_happened = 0x40000020; +rtc_get_wakeup_cause = 0x40000024; +rtc_boot_control = 0x40000028; +rtc_select_apb_bridge = 0x4000002c; +rtc_unhold_all_pads = 0x40000030; +set_rtc_memory_crc = 0x40000034; +cacl_rtc_memory_crc = 0x40000038; +ets_is_print_boot = 0x4000003c; +ets_printf = 0x40000040; +ets_install_putc1 = 0x40000044; +ets_install_uart_printf = 0x40000048; +ets_install_putc2 = 0x4000004c; +PROVIDE( ets_delay_us = 0x40000050 ); +ets_get_stack_info = 0x40000054; +ets_install_lock = 0x40000058; +ets_backup_dma_copy = 0x4000005c; +ets_apb_backup_init_lock_func = 0x40000060; +UartRxString = 0x40000064; +uart_tx_one_char = 0x40000068; +uart_tx_one_char2 = 0x4000006c; +uart_rx_one_char = 0x40000070; +uart_rx_one_char_block = 0x40000074; +uart_rx_readbuff = 0x40000078; +uartAttach = 0x4000007c; +uart_tx_flush = 0x40000080; +uart_tx_wait_idle = 0x40000084; +uart_div_modify = 0x40000088; +multofup = 0x4000008c; +software_reset = 0x40000090; +software_reset_cpu = 0x40000094; +assist_debug_clock_enable = 0x40000098; +assist_debug_record_enable = 0x4000009c; +clear_super_wdt_reset_flag = 0x400000a0; +disable_default_watchdog = 0x400000a4; +send_packet = 0x400000a8; +recv_packet = 0x400000ac; +GetUartDevice = 0x400000b0; +UartDwnLdProc = 0x400000b4; +Uart_Init = 0x400000b8; +ets_set_user_start = 0x400000bc; +/* Data (.data, .bss, .rodata) */ +ets_rom_layout_p = 0x3ff1fffc; +ets_ops_table_ptr = 0x3fcdfffc; + + +/*************************************** + Group miniz + ***************************************/ + +/* Functions */ +mz_adler32 = 0x400000c0; +mz_crc32 = 0x400000c4; +mz_free = 0x400000c8; +tdefl_compress = 0x400000cc; +tdefl_compress_buffer = 0x400000d0; +tdefl_compress_mem_to_heap = 0x400000d4; +tdefl_compress_mem_to_mem = 0x400000d8; +tdefl_compress_mem_to_output = 0x400000dc; +tdefl_get_adler32 = 0x400000e0; +tdefl_get_prev_return_status = 0x400000e4; +tdefl_init = 0x400000e8; +tdefl_write_image_to_png_file_in_memory = 0x400000ec; +tdefl_write_image_to_png_file_in_memory_ex = 0x400000f0; +tinfl_decompress = 0x400000f4; +tinfl_decompress_mem_to_callback = 0x400000f8; +tinfl_decompress_mem_to_heap = 0x400000fc; +tinfl_decompress_mem_to_mem = 0x40000100; + + +/*************************************** + Group tjpgd + ***************************************/ + +/* Functions */ +PROVIDE( jd_prepare = 0x40000104 ); +PROVIDE( jd_decomp = 0x40000108 ); + + +/*************************************** + Group spiflash_legacy + ***************************************/ + +/* Functions */ +PROVIDE( esp_rom_spiflash_wait_idle = 0x4000010c ); +PROVIDE( esp_rom_spiflash_write_encrypted = 0x40000110 ); +PROVIDE( esp_rom_spiflash_write_encrypted_dest = 0x40000114 ); +PROVIDE( esp_rom_spiflash_write_encrypted_enable = 0x40000118 ); +PROVIDE( esp_rom_spiflash_write_encrypted_disable = 0x4000011c ); +PROVIDE( esp_rom_spiflash_erase_chip = 0x40000120 ); +PROVIDE( esp_rom_spiflash_erase_block = 0x40000124 ); +PROVIDE( esp_rom_spiflash_erase_sector = 0x40000128 ); +PROVIDE( esp_rom_spiflash_write = 0x4000012c ); +PROVIDE( esp_rom_spiflash_read = 0x40000130 ); +PROVIDE( esp_rom_spiflash_config_param = 0x40000134 ); +PROVIDE( esp_rom_spiflash_read_user_cmd = 0x40000138 ); +PROVIDE( esp_rom_spiflash_select_qio_pins = 0x4000013c ); +PROVIDE( esp_rom_spiflash_unlock = 0x40000140 ); +PROVIDE( esp_rom_spi_flash_auto_sus_res = 0x40000144 ); +PROVIDE( esp_rom_spi_flash_send_resume = 0x40000148 ); +PROVIDE( esp_rom_spi_flash_update_id = 0x4000014c ); +PROVIDE( esp_rom_spiflash_config_clk = 0x40000150 ); +PROVIDE( esp_rom_spiflash_config_readmode = 0x40000154 ); +PROVIDE( esp_rom_spiflash_read_status = 0x40000158 ); +PROVIDE( esp_rom_spiflash_read_statushigh = 0x4000015c ); +PROVIDE( esp_rom_spiflash_write_status = 0x40000160 ); +PROVIDE( esp_rom_spiflash_attach = 0x40000164 ); +PROVIDE( spi_flash_get_chip_size = 0x40000168 ); +PROVIDE( spi_flash_guard_set = 0x4000016c ); +PROVIDE( spi_flash_guard_get = 0x40000170 ); +PROVIDE( spi_flash_write_config_set = 0x40000174 ); +PROVIDE( spi_flash_write_config_get = 0x40000178 ); +PROVIDE( spi_flash_safe_write_address_func_set = 0x4000017c ); +PROVIDE( spi_flash_unlock = 0x40000180 ); +PROVIDE( spi_flash_erase_range = 0x40000184 ); +PROVIDE( spi_flash_erase_sector = 0x40000188 ); +PROVIDE( spi_flash_write = 0x4000018c ); +PROVIDE( spi_flash_read = 0x40000190 ); +PROVIDE( spi_flash_write_encrypted = 0x40000194 ); +PROVIDE( spi_flash_read_encrypted = 0x40000198 ); +PROVIDE( spi_flash_mmap_os_func_set = 0x4000019c ); +PROVIDE( spi_flash_mmap_page_num_init = 0x400001a0 ); +PROVIDE( spi_flash_mmap = 0x400001a4 ); +PROVIDE( spi_flash_mmap_pages = 0x400001a8 ); +PROVIDE( spi_flash_munmap = 0x400001ac ); +PROVIDE( spi_flash_mmap_dump = 0x400001b0 ); +PROVIDE( spi_flash_check_and_flush_cache = 0x400001b4 ); +PROVIDE( spi_flash_mmap_get_free_pages = 0x400001b8 ); +PROVIDE( spi_flash_cache2phys = 0x400001bc ); +PROVIDE( spi_flash_phys2cache = 0x400001c0 ); +PROVIDE( spi_flash_disable_cache = 0x400001c4 ); +PROVIDE( spi_flash_restore_cache = 0x400001c8 ); +PROVIDE( spi_flash_cache_enabled = 0x400001cc ); +PROVIDE( spi_flash_enable_cache = 0x400001d0 ); +PROVIDE( spi_cache_mode_switch = 0x400001d4 ); +PROVIDE( spi_common_set_dummy_output = 0x400001d8 ); +PROVIDE( spi_common_set_flash_cs_timing = 0x400001dc ); +PROVIDE( esp_enable_cache_flash_wrap = 0x400001e0 ); +PROVIDE( SPIEraseArea = 0x400001e4 ); +PROVIDE( SPILock = 0x400001e8 ); +PROVIDE( SPIMasterReadModeCnfig = 0x400001ec ); +PROVIDE( SPI_Common_Command = 0x400001f0 ); +PROVIDE( SPI_WakeUp = 0x400001f4 ); +PROVIDE( SPI_block_erase = 0x400001f8 ); +PROVIDE( SPI_chip_erase = 0x400001fc ); +PROVIDE( SPI_init = 0x40000200 ); +PROVIDE( SPI_page_program = 0x40000204 ); +PROVIDE( SPI_read_data = 0x40000208 ); +PROVIDE( SPI_sector_erase = 0x4000020c ); +PROVIDE( SPI_write_enable = 0x40000210 ); +PROVIDE( SelectSpiFunction = 0x40000214 ); +PROVIDE( SetSpiDrvs = 0x40000218 ); +PROVIDE( Wait_SPI_Idle = 0x4000021c ); +PROVIDE( spi_dummy_len_fix = 0x40000220 ); +PROVIDE( Disable_QMode = 0x40000224 ); +PROVIDE( Enable_QMode = 0x40000228 ); +/* Data (.data, .bss, .rodata) */ +PROVIDE( rom_spiflash_legacy_funcs = 0x3fcdfff4 ); +PROVIDE( rom_spiflash_legacy_data = 0x3fcdfff0 ); +PROVIDE( g_flash_guard_ops = 0x3fcdfff8 ); + + +/*************************************** + Group spi_flash_hal + ***************************************/ + +/* Functions */ +PROVIDE( spi_flash_hal_poll_cmd_done = 0x4000022c ); +PROVIDE( spi_flash_hal_device_config = 0x40000230 ); +PROVIDE( spi_flash_hal_configure_host_io_mode = 0x40000234 ); +PROVIDE( spi_flash_hal_common_command = 0x40000238 ); +PROVIDE( spi_flash_hal_read = 0x4000023c ); +PROVIDE( spi_flash_hal_erase_chip = 0x40000240 ); +PROVIDE( spi_flash_hal_erase_sector = 0x40000244 ); +PROVIDE( spi_flash_hal_erase_block = 0x40000248 ); +PROVIDE( spi_flash_hal_program_page = 0x4000024c ); +PROVIDE( spi_flash_hal_set_write_protect = 0x40000250 ); +PROVIDE( spi_flash_hal_host_idle = 0x40000254 ); + + +/*************************************** + Group spi_flash_chips + ***************************************/ + +/* Functions */ +PROVIDE( spi_flash_chip_generic_probe = 0x40000258 ); +PROVIDE( spi_flash_chip_generic_detect_size = 0x4000025c ); +PROVIDE( spi_flash_chip_generic_write = 0x40000260 ); +PROVIDE( spi_flash_chip_generic_write_encrypted = 0x40000264 ); +PROVIDE( spi_flash_chip_generic_set_write_protect = 0x40000268 ); +PROVIDE( spi_flash_common_write_status_16b_wrsr = 0x4000026c ); +PROVIDE( spi_flash_chip_generic_reset = 0x40000270 ); +PROVIDE( spi_flash_chip_generic_erase_chip = 0x40000274 ); +PROVIDE( spi_flash_chip_generic_erase_sector = 0x40000278 ); +PROVIDE( spi_flash_chip_generic_erase_block = 0x4000027c ); +PROVIDE( spi_flash_chip_generic_page_program = 0x40000280 ); +PROVIDE( spi_flash_chip_generic_get_write_protect = 0x40000284 ); +PROVIDE( spi_flash_common_read_status_16b_rdsr_rdsr2 = 0x40000288 ); +PROVIDE( spi_flash_chip_generic_read_reg = 0x4000028c ); +PROVIDE( spi_flash_chip_generic_yield = 0x40000290 ); +PROVIDE( spi_flash_generic_wait_host_idle = 0x40000294 ); +PROVIDE( spi_flash_chip_generic_wait_idle = 0x40000298 ); +PROVIDE( spi_flash_chip_generic_config_host_io_mode = 0x4000029c ); +PROVIDE( spi_flash_chip_generic_read = 0x400002a0 ); +PROVIDE( spi_flash_common_read_status_8b_rdsr2 = 0x400002a4 ); +PROVIDE( spi_flash_chip_generic_get_io_mode = 0x400002a8 ); +PROVIDE( spi_flash_common_read_status_8b_rdsr = 0x400002ac ); +PROVIDE( spi_flash_common_write_status_8b_wrsr = 0x400002b0 ); +PROVIDE( spi_flash_common_write_status_8b_wrsr2 = 0x400002b4 ); +PROVIDE( spi_flash_common_set_io_mode = 0x400002b8 ); +PROVIDE( spi_flash_chip_generic_set_io_mode = 0x400002bc ); +PROVIDE( spi_flash_chip_gd_get_io_mode = 0x400002c0 ); +PROVIDE( spi_flash_chip_gd_probe = 0x400002c4 ); +PROVIDE( spi_flash_chip_gd_set_io_mode = 0x400002c8 ); +/* Data (.data, .bss, .rodata) */ +PROVIDE( spi_flash_chip_generic_config_data = 0x3fcdffec ); + + +/*************************************** + Group memspi_host + ***************************************/ + +/* Functions */ +PROVIDE( memspi_host_read_id_hs = 0x400002cc ); +PROVIDE( memspi_host_read_status_hs = 0x400002d0 ); +PROVIDE( memspi_host_flush_cache = 0x400002d4 ); +PROVIDE( memspi_host_erase_chip = 0x400002d8 ); +PROVIDE( memspi_host_erase_sector = 0x400002dc ); +PROVIDE( memspi_host_erase_block = 0x400002e0 ); +PROVIDE( memspi_host_program_page = 0x400002e4 ); +PROVIDE( memspi_host_read = 0x400002e8 ); +PROVIDE( memspi_host_set_write_protect = 0x400002ec ); +PROVIDE( memspi_host_set_max_read_len = 0x400002f0 ); +PROVIDE( memspi_host_read_data_slicer = 0x400002f4 ); +PROVIDE( memspi_host_write_data_slicer = 0x400002f8 ); + + +/*************************************** + Group esp_flash + ***************************************/ + +/* Functions */ +PROVIDE( esp_flash_chip_driver_initialized = 0x400002fc ); +PROVIDE( esp_flash_read_id = 0x40000300 ); +PROVIDE( esp_flash_get_size = 0x40000304 ); +PROVIDE( esp_flash_erase_chip = 0x40000308 ); +PROVIDE( rom_esp_flash_erase_region = 0x4000030c ); +PROVIDE( esp_flash_get_chip_write_protect = 0x40000310 ); +PROVIDE( esp_flash_set_chip_write_protect = 0x40000314 ); +PROVIDE( esp_flash_get_protectable_regions = 0x40000318 ); +PROVIDE( esp_flash_get_protected_region = 0x4000031c ); +PROVIDE( esp_flash_set_protected_region = 0x40000320 ); +PROVIDE( esp_flash_read = 0x40000324 ); +PROVIDE( esp_flash_write = 0x40000328 ); +PROVIDE( esp_flash_write_encrypted = 0x4000032c ); +PROVIDE( esp_flash_read_encrypted = 0x40000330 ); +PROVIDE( esp_flash_get_io_mode = 0x40000334 ); +PROVIDE( esp_flash_set_io_mode = 0x40000338 ); +PROVIDE( spi_flash_boot_attach = 0x4000033c ); +PROVIDE( spi_flash_dump_counters = 0x40000340 ); +PROVIDE( spi_flash_get_counters = 0x40000344 ); +PROVIDE( spi_flash_op_counters_config = 0x40000348 ); +PROVIDE( spi_flash_reset_counters = 0x4000034c ); +/* Data (.data, .bss, .rodata) */ +PROVIDE( esp_flash_default_chip = 0x3fcdffe8 ); +PROVIDE( esp_flash_api_funcs = 0x3fcdffe4 ); + + +/*************************************** + Group cache + ***************************************/ + +/* Functions */ +PROVIDE( Cache_Get_ICache_Line_Size = 0x400004b0 ); +PROVIDE( Cache_Get_Mode = 0x400004b4 ); +PROVIDE( Cache_Address_Through_IBus = 0x400004b8 ); +PROVIDE( Cache_Address_Through_DBus = 0x400004bc ); +PROVIDE( Cache_Set_Default_Mode = 0x400004c0 ); +PROVIDE( Cache_Enable_Defalut_ICache_Mode = 0x400004c4 ); +PROVIDE( ROM_Boot_Cache_Init = 0x400004c8 ); +PROVIDE( Cache_Invalidate_ICache_Items = 0x400004cc ); +PROVIDE( Cache_Op_Addr = 0x400004d0 ); +PROVIDE( Cache_Invalidate_Addr = 0x400004d4 ); +PROVIDE( Cache_Invalidate_ICache_All = 0x400004d8 ); +PROVIDE( Cache_Mask_All = 0x400004dc ); +PROVIDE( Cache_UnMask_Dram0 = 0x400004e0 ); +PROVIDE( Cache_Suspend_ICache_Autoload = 0x400004e4 ); +PROVIDE( Cache_Resume_ICache_Autoload = 0x400004e8 ); +PROVIDE( Cache_Start_ICache_Preload = 0x400004ec ); +PROVIDE( Cache_ICache_Preload_Done = 0x400004f0 ); +PROVIDE( Cache_End_ICache_Preload = 0x400004f4 ); +PROVIDE( Cache_Config_ICache_Autoload = 0x400004f8 ); +PROVIDE( Cache_Enable_ICache_Autoload = 0x400004fc ); +PROVIDE( Cache_Disable_ICache_Autoload = 0x40000500 ); +PROVIDE( Cache_Enable_ICache_PreLock = 0x40000504 ); +PROVIDE( Cache_Disable_ICache_PreLock = 0x40000508 ); +PROVIDE( Cache_Lock_ICache_Items = 0x4000050c ); +PROVIDE( Cache_Unlock_ICache_Items = 0x40000510 ); +PROVIDE( Cache_Lock_Addr = 0x40000514 ); +PROVIDE( Cache_Unlock_Addr = 0x40000518 ); +PROVIDE( Cache_Disable_ICache = 0x4000051c ); +PROVIDE( Cache_Enable_ICache = 0x40000520 ); +PROVIDE( Cache_Suspend_ICache = 0x40000524 ); +PROVIDE( Cache_Resume_ICache = 0x40000528 ); +PROVIDE( Cache_Freeze_ICache_Enable = 0x4000052c ); +PROVIDE( Cache_Freeze_ICache_Disable = 0x40000530 ); +PROVIDE( Cache_Pms_Lock = 0x40000534 ); +PROVIDE( Cache_Ibus_Pms_Set_Addr = 0x40000538 ); +PROVIDE( Cache_Ibus_Pms_Set_Attr = 0x4000053c ); +PROVIDE( Cache_Dbus_Pms_Set_Addr = 0x40000540 ); +PROVIDE( Cache_Dbus_Pms_Set_Attr = 0x40000544 ); +PROVIDE( Cache_Set_IDROM_MMU_Size = 0x40000548 ); +PROVIDE( Cache_Get_IROM_MMU_End = 0x4000054c ); +PROVIDE( Cache_Get_DROM_MMU_End = 0x40000550 ); +PROVIDE( Cache_Owner_Init = 0x40000554 ); +PROVIDE( Cache_Occupy_ICache_MEMORY = 0x40000558 ); +PROVIDE( Cache_MMU_Init = 0x4000055c ); +PROVIDE( Cache_Ibus_MMU_Set = 0x40000560 ); +PROVIDE( Cache_Dbus_MMU_Set = 0x40000564 ); +PROVIDE( Cache_Count_Flash_Pages = 0x40000568 ); +PROVIDE( Cache_Travel_Tag_Memory = 0x4000056c ); +PROVIDE( Cache_Get_Virtual_Addr = 0x40000570 ); +PROVIDE( Cache_Get_Memory_BaseAddr = 0x40000574 ); +PROVIDE( Cache_Get_Memory_Addr = 0x40000578 ); +PROVIDE( Cache_Get_Memory_value = 0x4000057c ); +/* Data (.data, .bss, .rodata) */ +PROVIDE( rom_cache_op_cb = 0x3fcdffd8 ); +PROVIDE( rom_cache_internal_table_ptr = 0x3fcdffd4 ); + + +/*************************************** + Group clock + ***************************************/ + +/* Functions */ +ets_get_apb_freq = 0x40000580; +ets_get_cpu_frequency = 0x40000584; +ets_update_cpu_frequency = 0x40000588; +ets_get_printf_channel = 0x4000058c; +ets_get_xtal_div = 0x40000590; +ets_set_xtal_div = 0x40000594; +ets_get_xtal_freq = 0x40000598; + + +/*************************************** + Group gpio + ***************************************/ + +/* Functions */ +gpio_input_get = 0x4000059c; +gpio_matrix_in = 0x400005a0; +gpio_matrix_out = 0x400005a4; +gpio_output_disable = 0x400005a8; +gpio_output_enable = 0x400005ac; +gpio_output_set = 0x400005b0; +gpio_pad_hold = 0x400005b4; +gpio_pad_input_disable = 0x400005b8; +gpio_pad_input_enable = 0x400005bc; +gpio_pad_pulldown = 0x400005c0; +gpio_pad_pullup = 0x400005c4; +gpio_pad_select_gpio = 0x400005c8; +gpio_pad_set_drv = 0x400005cc; +gpio_pad_unhold = 0x400005d0; +gpio_pin_wakeup_disable = 0x400005d4; +gpio_pin_wakeup_enable = 0x400005d8; +gpio_bypass_matrix_in = 0x400005dc; + + +/*************************************** + Group interrupts + ***************************************/ + +/* Functions */ +esprv_intc_int_set_priority = 0x400005e0; +esprv_intc_int_set_threshold = 0x400005e4; +esprv_intc_int_enable = 0x400005e8; +esprv_intc_int_disable = 0x400005ec; +esprv_intc_int_set_type = 0x400005f0; +intr_matrix_set = 0x400005f4; +ets_intr_lock = 0x400005f8; +ets_intr_unlock = 0x400005fc; +PROVIDE( intr_handler_set = 0x40000600 ); +ets_isr_attach = 0x40000604; +ets_isr_mask = 0x40000608; +ets_isr_unmask = 0x4000060c; + + +/*************************************** + Group crypto + ***************************************/ + +/* Functions */ +md5_vector = 0x40000610; +MD5Init = 0x40000614; +MD5Update = 0x40000618; +MD5Final = 0x4000061c; +hmac_md5_vector = 0x40000620; +hmac_md5 = 0x40000624; +crc32_le = 0x40000628; +crc32_be = 0x4000062c; +crc16_le = 0x40000630; +crc16_be = 0x40000634; +crc8_le = 0x40000638; +crc8_be = 0x4000063c; +esp_crc8 = 0x40000640; +ets_sha_enable = 0x40000644; +ets_sha_disable = 0x40000648; +ets_sha_get_state = 0x4000064c; +ets_sha_init = 0x40000650; +ets_sha_process = 0x40000654; +ets_sha_starts = 0x40000658; +ets_sha_update = 0x4000065c; +ets_sha_finish = 0x40000660; +ets_sha_clone = 0x40000664; +ets_hmac_enable = 0x40000668; +ets_hmac_disable = 0x4000066c; +ets_hmac_calculate_message = 0x40000670; +ets_hmac_calculate_downstream = 0x40000674; +ets_hmac_invalidate_downstream = 0x40000678; +ets_jtag_enable_temporarily = 0x4000067c; +ets_aes_enable = 0x40000680; +ets_aes_disable = 0x40000684; +ets_aes_setkey = 0x40000688; +ets_aes_block = 0x4000068c; +ets_bigint_enable = 0x40000690; +ets_bigint_disable = 0x40000694; +ets_bigint_multiply = 0x40000698; +ets_bigint_modmult = 0x4000069c; +ets_bigint_modexp = 0x400006a0; +ets_bigint_wait_finish = 0x400006a4; +ets_bigint_getz = 0x400006a8; +ets_ds_enable = 0x400006ac; +ets_ds_disable = 0x400006b0; +ets_ds_start_sign = 0x400006b4; +ets_ds_is_busy = 0x400006b8; +ets_ds_finish_sign = 0x400006bc; +ets_ds_encrypt_params = 0x400006c0; +ets_aes_setkey_dec = 0x400006c4; +ets_aes_setkey_enc = 0x400006c8; +ets_mgf1_sha256 = 0x400006cc; + + +/*************************************** + Group efuse + ***************************************/ + +/* Functions */ +ets_efuse_read = 0x400006d0; +ets_efuse_program = 0x400006d4; +ets_efuse_clear_program_registers = 0x400006d8; +ets_efuse_write_key = 0x400006dc; +ets_efuse_get_read_register_address = 0x400006e0; +ets_efuse_get_key_purpose = 0x400006e4; +ets_efuse_key_block_unused = 0x400006e8; +ets_efuse_find_unused_key_block = 0x400006ec; +ets_efuse_rs_calculate = 0x400006f0; +ets_efuse_count_unused_key_blocks = 0x400006f4; +ets_efuse_secure_boot_enabled = 0x400006f8; +ets_efuse_secure_boot_aggressive_revoke_enabled = 0x400006fc; +ets_efuse_cache_encryption_enabled = 0x40000700; +ets_efuse_download_modes_disabled = 0x40000704; +ets_efuse_find_purpose = 0x40000708; +ets_efuse_flash_opi_5pads_power_sel_vddspi = 0x4000070c; +ets_efuse_force_send_resume = 0x40000710; +ets_efuse_get_flash_delay_us = 0x40000714; +ets_efuse_get_mac = 0x40000718; +ets_efuse_get_spiconfig = 0x4000071c; +ets_efuse_usb_print_is_disabled = 0x40000720; +/*ets_efuse_get_uart_print_channel = 0x40000724;*/ +ets_efuse_usb_serial_jtag_print_is_disabled = 0x40000724; +ets_efuse_get_uart_print_control = 0x40000728; +ets_efuse_get_wp_pad = 0x4000072c; +ets_efuse_legacy_spi_boot_mode_disabled = 0x40000730; +ets_efuse_security_download_modes_enabled = 0x40000734; +ets_efuse_set_timing = 0x40000738; +ets_efuse_jtag_disabled = 0x4000073c; +ets_efuse_usb_download_mode_disabled = 0x40000740; +ets_efuse_usb_module_disabled = 0x40000744; +ets_efuse_usb_device_disabled = 0x40000748; + + +/*************************************** + Group secureboot + ***************************************/ + +/* Functions */ +ets_emsa_pss_verify = 0x4000074c; +ets_rsa_pss_verify = 0x40000750; +ets_secure_boot_verify_bootloader_with_keys = 0x40000754; +ets_secure_boot_verify_signature = 0x40000758; +ets_secure_boot_read_key_digests = 0x4000075c; +ets_secure_boot_revoke_public_key_digest = 0x40000760; + + +/*************************************** + Group usb_uart + ***************************************/ + +/* Functions */ +PROVIDE( usb_uart_rx_one_char = 0x400008cc ); +PROVIDE( usb_uart_rx_one_char_block = 0x400008d0 ); +PROVIDE( usb_uart_tx_flush = 0x400008d4 ); +PROVIDE( usb_uart_tx_one_char = 0x400008d8 ); +/* Data (.data, .bss, .rodata) */ +PROVIDE( g_uart_print = 0x3fcdffd1 ); +PROVIDE( g_usb_print = 0x3fcdffd0 ); + + +/*************************************** + Group bluetooth + ***************************************/ + +/* Functions */ +bt_rf_coex_get_dft_cfg = 0x400008dc; +bt_rf_coex_hooks_p_set = 0x400008e0; +btdm_con_maxevtime_cal_impl = 0x400008e4; +btdm_controller_get_compile_version_impl = 0x400008e8; +btdm_controller_rom_data_init = 0x400008ec; +btdm_dis_privacy_err_report_impl = 0x400008f0; +btdm_disable_adv_delay_impl = 0x400008f4; +btdm_enable_scan_continue_impl = 0x400008f8; +btdm_enable_scan_forever_impl = 0x400008fc; +btdm_get_power_state_impl = 0x40000900; +btdm_get_prevent_sleep_flag_impl = 0x40000904; +btdm_power_state_active_impl = 0x40000908; +btdm_switch_phy_coded_impl = 0x4000090c; +hci_acl_data_handler = 0x40000910; +hci_disconnect_cmd_handler = 0x40000914; +hci_le_con_upd_cmd_handler = 0x40000918; +hci_le_ltk_req_neg_reply_cmd_handler = 0x4000091c; +hci_le_ltk_req_reply_cmd_handler = 0x40000920; +hci_le_rd_chnl_map_cmd_handler = 0x40000924; +hci_le_rd_phy_cmd_handler = 0x40000928; +hci_le_rd_rem_feats_cmd_handler = 0x4000092c; +hci_le_rem_con_param_req_neg_reply_cmd_handler = 0x40000930; +hci_le_rem_con_param_req_reply_cmd_handler = 0x40000934; +hci_le_set_data_len_cmd_handler = 0x40000938; +hci_le_set_phy_cmd_handler = 0x4000093c; +hci_le_start_enc_cmd_handler = 0x40000940; +hci_rd_auth_payl_to_cmd_handler = 0x40000944; +hci_rd_rem_ver_info_cmd_handler = 0x40000948; +hci_rd_rssi_cmd_handler = 0x4000094c; +hci_rd_tx_pwr_lvl_cmd_handler = 0x40000950; +hci_vs_set_pref_slave_evt_dur_cmd_handler = 0x40000954; +hci_vs_set_pref_slave_latency_cmd_handler = 0x40000958; +hci_wr_auth_payl_to_cmd_handler = 0x4000095c; +ll_channel_map_ind_handler = 0x40000960; +ll_connection_param_req_handler = 0x40000964; +ll_connection_param_rsp_handler = 0x40000968; +ll_connection_update_ind_handler = 0x4000096c; +ll_enc_req_handler = 0x40000970; +ll_enc_rsp_handler = 0x40000974; +ll_feature_req_handler = 0x40000978; +ll_feature_rsp_handler = 0x4000097c; +ll_length_req_handler = 0x40000980; +ll_length_rsp_handler = 0x40000984; +ll_min_used_channels_ind_handler = 0x40000988; +ll_pause_enc_req_handler = 0x4000098c; +ll_pause_enc_rsp_handler = 0x40000990; +ll_phy_req_handler = 0x40000994; +ll_phy_rsp_handler = 0x40000998; +ll_phy_update_ind_handler = 0x4000099c; +ll_ping_req_handler = 0x400009a0; +ll_ping_rsp_handler = 0x400009a4; +ll_slave_feature_req_handler = 0x400009a8; +ll_start_enc_req_handler = 0x400009ac; +ll_start_enc_rsp_handler = 0x400009b0; +ll_terminate_ind_handler = 0x400009b4; +ll_version_ind_handler = 0x400009b8; +llc_auth_payl_nearly_to_handler = 0x400009bc; +llc_auth_payl_real_to_handler = 0x400009c0; +llc_encrypt_ind_handler = 0x400009c4; +llc_hci_command_handler_wrapper = 0x400009c8; +llc_ll_connection_param_req_pdu_send = 0x400009cc; +llc_ll_connection_param_rsp_pdu_send = 0x400009d0; +llc_ll_connection_update_ind_pdu_send = 0x400009d4; +llc_ll_enc_req_pdu_send = 0x400009d8; +llc_ll_enc_rsp_pdu_send = 0x400009dc; +llc_ll_feature_req_pdu_send = 0x400009e0; +llc_ll_feature_rsp_pdu_send = 0x400009e4; +llc_ll_length_req_pdu_send = 0x400009e8; +llc_ll_length_rsp_pdu_send = 0x400009ec; +llc_ll_pause_enc_req_pdu_send = 0x400009f0; +llc_ll_pause_enc_rsp_pdu_send = 0x400009f4; +llc_ll_phy_req_pdu_send = 0x400009f8; +llc_ll_phy_rsp_pdu_send = 0x400009fc; +llc_ll_ping_req_pdu_send = 0x40000a00; +llc_ll_ping_rsp_pdu_send = 0x40000a04; +llc_ll_start_enc_req_pdu_send = 0x40000a08; +llc_ll_start_enc_rsp_pdu_send = 0x40000a0c; +llc_ll_terminate_ind_pdu_send = 0x40000a10; +llc_ll_unknown_rsp_pdu_send = 0x40000a14; +llc_llcp_ch_map_update_ind_pdu_send = 0x40000a18; +llc_llcp_phy_upd_ind_pdu_send = 0x40000a1c; +llc_llcp_version_ind_pdu_send = 0x40000a20; +llc_op_ch_map_upd_ind_handler = 0x40000a24; +llc_op_con_upd_ind_handler = 0x40000a28; +llc_op_disconnect_ind_handler = 0x40000a2c; +llc_op_dl_upd_ind_handler = 0x40000a30; +llc_op_encrypt_ind_handler = 0x40000a34; +llc_op_feats_exch_ind_handler = 0x40000a38; +llc_op_le_ping_ind_handler = 0x40000a3c; +llc_op_phy_upd_ind_handler = 0x40000a40; +llc_op_ver_exch_ind_handler = 0x40000a44; +llc_stopped_ind_handler = 0x40000a48; +lld_acl_rx_ind_handler = 0x40000a4c; +lld_acl_tx_cfm_handler = 0x40000a50; +lld_adv_end_ind_handler = 0x40000a54; +lld_adv_rep_ind_handler = 0x40000a58; +lld_ch_map_upd_cfm_handler = 0x40000a5c; +lld_con_estab_ind_handler = 0x40000a60; +lld_con_evt_sd_evt_time_set = 0x40000a64; +lld_con_offset_upd_ind_handler = 0x40000a68; +lld_con_param_upd_cfm_handler = 0x40000a6c; +lld_disc_ind_handler = 0x40000a70; +lld_init_end_ind_handler = 0x40000a74; +lld_llcp_rx_ind_handler_wrapper = 0x40000a78; +lld_llcp_tx_cfm_handler = 0x40000a7c; +lld_per_adv_end_ind_handler = 0x40000a80; +lld_per_adv_rep_ind_handler = 0x40000a84; +lld_per_adv_rx_end_ind_handler = 0x40000a88; +lld_phy_coded_500k_get = 0x40000a8c; +lld_phy_upd_cfm_handler = 0x40000a90; +lld_scan_end_ind_handler = 0x40000a94; +lld_scan_req_ind_handler = 0x40000a98; +lld_sync_start_req_handler = 0x40000a9c; +lld_test_end_ind_handler = 0x40000aa0; +lld_update_rxbuf_handler = 0x40000aa4; +llm_ch_map_update_ind_handler = 0x40000aa8; +llm_hci_command_handler_wrapper = 0x40000aac; +llm_scan_period_to_handler = 0x40000ab0; +r_Add2SelfBigHex256 = 0x40000ab4; +r_AddBigHex256 = 0x40000ab8; +r_AddBigHexModP256 = 0x40000abc; +r_AddP256 = 0x40000ac0; +r_AddPdiv2_256 = 0x40000ac4; +r_GF_Jacobian_Point_Addition256 = 0x40000ac8; +r_GF_Jacobian_Point_Double256 = 0x40000acc; +r_GF_Point_Jacobian_To_Affine256 = 0x40000ad0; +r_MultiplyBigHexByUint32_256 = 0x40000ad4; +r_MultiplyBigHexModP256 = 0x40000ad8; +r_MultiplyByU16ModP256 = 0x40000adc; +r_SubtractBigHex256 = 0x40000ae0; +r_SubtractBigHexMod256 = 0x40000ae4; +r_SubtractBigHexUint32_256 = 0x40000ae8; +r_SubtractFromSelfBigHex256 = 0x40000aec; +r_SubtractFromSelfBigHexSign256 = 0x40000af0; +r_aes_alloc = 0x40000af4; +r_aes_ccm_continue = 0x40000af8; +r_aes_ccm_process_e = 0x40000afc; +r_aes_ccm_xor_128_lsb = 0x40000b00; +r_aes_ccm_xor_128_msb = 0x40000b04; +r_aes_cmac_continue = 0x40000b08; +r_aes_cmac_start = 0x40000b0c; +r_aes_k1_continue = 0x40000b10; +r_aes_k2_continue = 0x40000b14; +r_aes_k3_continue = 0x40000b18; +r_aes_k4_continue = 0x40000b1c; +r_aes_shift_left_128 = 0x40000b20; +r_aes_start = 0x40000b24; +r_aes_xor_128 = 0x40000b28; +r_assert_err = 0x40000b2c; +r_assert_param = 0x40000b30; +r_assert_warn = 0x40000b34; +r_bigHexInversion256 = 0x40000b38; +r_ble_sw_cca_check_isr = 0x40000b3c; +r_ble_util_buf_acl_tx_alloc = 0x40000b40; +r_ble_util_buf_acl_tx_elt_get = 0x40000b44; +r_ble_util_buf_acl_tx_free = 0x40000b48; +r_ble_util_buf_acl_tx_free_in_isr = 0x40000b4c; +r_ble_util_buf_adv_tx_alloc = 0x40000b50; +r_ble_util_buf_adv_tx_free = 0x40000b54; +r_ble_util_buf_adv_tx_free_in_isr = 0x40000b58; +r_ble_util_buf_env_deinit = 0x40000b5c; +r_ble_util_buf_env_init = 0x40000b60; +r_ble_util_buf_get_rx_buf_nb = 0x40000b64; +r_ble_util_buf_get_rx_buf_size = 0x40000b68; +r_ble_util_buf_llcp_tx_alloc = 0x40000b6c; +r_ble_util_buf_llcp_tx_free = 0x40000b70; +r_ble_util_buf_rx_alloc = 0x40000b74; +r_ble_util_buf_rx_alloc_in_isr = 0x40000b78; +r_ble_util_buf_rx_free = 0x40000b7c; +r_ble_util_buf_rx_free_in_isr = 0x40000b80; +r_ble_util_buf_set_rx_buf_nb = 0x40000b84; +r_ble_util_buf_set_rx_buf_size = 0x40000b88; +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_rf_coex_cfg_set = 0x40000ba0; +r_bt_rf_coex_conn_dynamic_pti_en_get = 0x40000ba4; +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; +r_bt_rf_coex_per_adv_dynamic_pti_en_get = 0x40000bb8; +r_bt_rf_coex_pti_table_get = 0x40000bbc; +r_bt_rf_coex_st_param_get = 0x40000bc0; +r_bt_rf_coex_st_param_set = 0x40000bc4; +r_bt_rf_coex_sync_scan_dynamic_pti_en_get = 0x40000bc8; +r_bt_rma_apply_rule_cs_fmt = 0x40000bcc; +r_bt_rma_apply_rule_cs_idx = 0x40000bd0; +r_bt_rma_configure = 0x40000bd4; +r_bt_rma_deregister_rule_cs_fmt = 0x40000bd8; +r_bt_rma_deregister_rule_cs_idx = 0x40000bdc; +r_bt_rma_get_ant_by_act = 0x40000be0; +r_bt_rma_init = 0x40000be4; +r_bt_rma_register_rule_cs_fmt = 0x40000be8; +r_bt_rma_register_rule_cs_idx = 0x40000bec; +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_init = 0x40000c04; +r_bt_rtp_register_rule_cs_fmt = 0x40000c08; +r_bt_rtp_register_rule_cs_idx = 0x40000c0c; +r_btdm_isr = 0x40000c10; +r_cali_phase_match_p = 0x40000c20; +r_cmp_abs_time = 0x40000c24; +r_cmp_dest_id = 0x40000c28; +r_cmp_timer_id = 0x40000c2c; +r_co_bdaddr_compare = 0x40000c30; +r_co_ble_pkt_dur_in_us = 0x40000c34; +r_co_list_extract = 0x40000c38; +r_co_list_extract_after = 0x40000c3c; +r_co_list_extract_sublist = 0x40000c40; +r_co_list_find = 0x40000c44; +r_co_list_init = 0x40000c48; +r_co_list_insert_after = 0x40000c4c; +r_co_list_insert_before = 0x40000c50; +r_co_list_merge = 0x40000c54; +r_co_list_pool_init = 0x40000c58; +r_co_list_pop_front = 0x40000c5c; +r_co_list_push_back = 0x40000c60; +r_co_list_push_back_sublist = 0x40000c64; +r_co_list_push_front = 0x40000c68; +r_co_list_size = 0x40000c6c; +r_co_nb_good_le_channels = 0x40000c70; +r_co_util_pack = 0x40000c74; +r_co_util_read_array_size = 0x40000c78; +r_co_util_unpack = 0x40000c7c; +r_dbg_env_deinit = 0x40000c80; +r_dbg_env_init = 0x40000c84; +r_dbg_platform_reset_complete = 0x40000c88; +r_dl_upd_proc_start = 0x40000c8c; +r_dump_data = 0x40000c90; +r_ecc_abort_key256_generation = 0x40000c94; +r_ecc_gen_new_public_key = 0x40000c98; +r_ecc_gen_new_secret_key = 0x40000c9c; +r_ecc_generate_key256 = 0x40000ca0; +r_ecc_get_debug_Keys = 0x40000ca4; +r_ecc_init = 0x40000ca8; +r_ecc_is_valid_point = 0x40000cac; +r_ecc_multiplication_event_handler = 0x40000cb0; +r_ecc_point_multiplication_win_256 = 0x40000cb4; +r_emi_alloc_em_mapping_by_offset = 0x40000cb8; +r_emi_base_reg_lut_show = 0x40000cbc; +r_emi_em_base_reg_show = 0x40000cc0; +r_emi_free_em_mapping_by_offset = 0x40000cc4; +r_emi_get_em_mapping_idx_by_offset = 0x40000cc8; +r_emi_get_mem_addr_by_offset = 0x40000ccc; +r_emi_overwrite_em_mapping_by_offset = 0x40000cd0; +r_esp_vendor_hci_command_handler = 0x40000cd4; +r_get_stack_usage = 0x40000cd8; +r_h4tl_acl_hdr_rx_evt_handler = 0x40000cdc; +r_h4tl_cmd_hdr_rx_evt_handler = 0x40000ce0; +r_h4tl_cmd_pld_rx_evt_handler = 0x40000ce4; +r_h4tl_eif_io_event_post = 0x40000ce8; +r_h4tl_eif_register = 0x40000cec; +r_h4tl_init = 0x40000cf0; +r_h4tl_out_of_sync = 0x40000cf4; +r_h4tl_out_of_sync_check = 0x40000cf8; +r_h4tl_read_hdr = 0x40000cfc; +r_h4tl_read_next_out_of_sync = 0x40000d00; +r_h4tl_read_payl = 0x40000d04; +r_h4tl_read_start = 0x40000d08; +r_h4tl_rx_acl_hdr_extract = 0x40000d0c; +r_h4tl_rx_cmd_hdr_extract = 0x40000d10; +r_h4tl_rx_done = 0x40000d14; +r_h4tl_start = 0x40000d18; +r_h4tl_stop = 0x40000d1c; +r_h4tl_tx_done = 0x40000d20; +r_h4tl_tx_evt_handler = 0x40000d24; +r_h4tl_write = 0x40000d28; +r_hci_acl_tx_data_alloc = 0x40000d2c; +r_hci_acl_tx_data_received = 0x40000d30; +r_hci_basic_cmd_send_2_controller = 0x40000d34; +r_hci_ble_adv_report_filter_check = 0x40000d38; +r_hci_ble_adv_report_tx_check = 0x40000d3c; +r_hci_ble_conhdl_register = 0x40000d40; +r_hci_ble_conhdl_unregister = 0x40000d44; +r_hci_build_acl_data = 0x40000d48; +r_hci_build_cc_evt = 0x40000d4c; +r_hci_build_cs_evt = 0x40000d50; +r_hci_build_evt = 0x40000d54; +r_hci_build_le_evt = 0x40000d58; +r_hci_cmd_get_max_param_size = 0x40000d5c; +r_hci_cmd_received = 0x40000d60; +r_hci_cmd_reject = 0x40000d64; +r_hci_evt_mask_check = 0x40000d68; +r_hci_evt_mask_set = 0x40000d6c; +r_hci_fc_acl_buf_size_set = 0x40000d70; +r_hci_fc_acl_en = 0x40000d74; +r_hci_fc_acl_packet_sent = 0x40000d78; +r_hci_fc_check_host_available_nb_acl_packets = 0x40000d7c; +r_hci_fc_host_nb_acl_pkts_complete = 0x40000d80; +r_hci_fc_init = 0x40000d84; +r_hci_look_for_cmd_desc = 0x40000d88; +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_send_2_controller = 0x40000da0; +r_hci_send_2_host = 0x40000da4; +r_hci_tl_c2h_data_flow_on = 0x40000da8; +r_hci_tl_cmd_hdr_rx_evt_handler = 0x40000dac; +r_hci_tl_cmd_pld_rx_evt_handler = 0x40000db0; +r_hci_tl_get_pkt = 0x40000db4; +r_hci_tl_hci_pkt_handler = 0x40000db8; +r_hci_tl_hci_tx_done_evt_handler = 0x40000dbc; +r_hci_tl_inc_nb_h2c_cmd_pkts = 0x40000dc0; +r_hci_tl_save_pkt = 0x40000dc4; +r_hci_tl_send = 0x40000dc8; +r_hci_tx_done = 0x40000dcc; +r_hci_tx_start = 0x40000dd0; +r_hci_tx_trigger = 0x40000dd4; +r_isValidSecretKey_256 = 0x40000dd8; +r_ke_check_malloc = 0x40000ddc; +r_ke_event_callback_set = 0x40000de0; +r_ke_event_clear = 0x40000de4; +r_ke_event_flush = 0x40000de8; +r_ke_event_get = 0x40000dec; +r_ke_event_get_all = 0x40000df0; +r_ke_event_init = 0x40000df4; +r_ke_event_schedule = 0x40000df8; +r_ke_event_set = 0x40000dfc; +r_ke_flush = 0x40000e00; +r_ke_free = 0x40000e04; +r_ke_handler_search = 0x40000e08; +r_ke_init = 0x40000e0c; +r_ke_is_free = 0x40000e10; +r_ke_malloc = 0x40000e14; +r_ke_mem_init = 0x40000e18; +r_ke_mem_is_empty = 0x40000e1c; +r_ke_mem_is_in_heap = 0x40000e20; +r_ke_msg_alloc = 0x40000e24; +r_ke_msg_dest_id_get = 0x40000e28; +r_ke_msg_discard = 0x40000e2c; +r_ke_msg_forward = 0x40000e30; +r_ke_msg_forward_new_id = 0x40000e34; +r_ke_msg_free = 0x40000e38; +r_ke_msg_in_queue = 0x40000e3c; +r_ke_msg_save = 0x40000e40; +r_ke_msg_send = 0x40000e44; +r_ke_msg_send_basic = 0x40000e48; +r_ke_msg_src_id_get = 0x40000e4c; +r_ke_queue_extract = 0x40000e50; +r_ke_queue_insert = 0x40000e54; +r_ke_sleep_check = 0x40000e58; +r_ke_state_get = 0x40000e5c; +r_ke_state_set = 0x40000e60; +r_ke_task_check = 0x40000e64; +r_ke_task_create = 0x40000e68; +r_ke_task_delete = 0x40000e6c; +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_time = 0x40000e84; +r_ke_time_cmp = 0x40000e88; +r_ke_time_past = 0x40000e8c; +r_ke_timer_active = 0x40000e90; +r_ke_timer_adjust_all = 0x40000e94; +r_ke_timer_clear = 0x40000e98; +r_ke_timer_init = 0x40000e9c; +r_ke_timer_schedule = 0x40000ea0; +r_ke_timer_set = 0x40000ea4; +r_led_init = 0x40000ea8; +r_led_set_all = 0x40000eac; +r_llc_aes_res_cb = 0x40000eb0; +r_llc_ch_map_up_proc_err_cb = 0x40000eb4; +r_llc_cleanup = 0x40000eb8; +r_llc_cmd_cmp_send = 0x40000ebc; +r_llc_cmd_stat_send = 0x40000ec0; +r_llc_con_move_cbk = 0x40000ec4; +r_llc_con_plan_set_update = 0x40000ec8; +r_llc_con_upd_param_in_range = 0x40000ecc; +r_llc_disconnect = 0x40000ed0; +r_llc_disconnect_end = 0x40000ed4; +r_llc_disconnect_proc_continue = 0x40000ed8; +r_llc_disconnect_proc_err_cb = 0x40000edc; +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_con_param_req_evt_send = 0x40000ef4; +r_llc_hci_con_upd_info_send = 0x40000ef8; +r_llc_hci_disconnected_dis = 0x40000efc; +r_llc_hci_dl_upd_info_send = 0x40000f00; +r_llc_hci_enc_evt_send = 0x40000f04; +r_llc_hci_feats_info_send = 0x40000f08; +r_llc_hci_le_phy_upd_cmp_evt_send = 0x40000f0c; +r_llc_hci_ltk_request_evt_send = 0x40000f10; +r_llc_hci_nb_cmp_pkts_evt_send = 0x40000f14; +r_llc_hci_version_info_send = 0x40000f18; +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_set = 0x40000f30; +r_llc_ll_pause_enc_rsp_ack_handler = 0x40000f34; +r_llc_ll_reject_ind_ack_handler = 0x40000f38; +r_llc_ll_reject_ind_pdu_send = 0x40000f3c; +r_llc_ll_start_enc_rsp_ack_handler = 0x40000f40; +r_llc_ll_terminate_ind_ack = 0x40000f44; +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_loc_ch_map_proc_continue = 0x40000f5c; +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_err_cb = 0x40000f7c; +r_llc_msg_handler_tab_p_get = 0x40000f80; +r_llc_pref_param_compute = 0x40000f84; +r_llc_proc_collision_check = 0x40000f88; +r_llc_proc_err_ind = 0x40000f8c; +r_llc_proc_get = 0x40000f90; +r_llc_proc_id_get = 0x40000f94; +r_llc_proc_reg = 0x40000f98; +r_llc_proc_state_get = 0x40000f9c; +r_llc_proc_state_set = 0x40000fa0; +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_err_cb = 0x40000fb8; +r_llc_rem_dl_upd_proc = 0x40000fbc; +r_llc_rem_encrypt_proc_continue = 0x40000fc0; +r_llc_rem_encrypt_proc_err_cb = 0x40000fc4; +r_llc_rem_phy_upd_proc_continue = 0x40000fc8; +r_llc_rem_phy_upd_proc_err_cb = 0x40000fcc; +r_llc_role_get = 0x40000fd0; +r_llc_sk_gen = 0x40000fd4; +r_llc_start = 0x40000fd8; +r_llc_stop = 0x40000fdc; +r_llc_ver_exch_loc_proc_continue = 0x40000fe0; +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_aux_ch_idx_set = 0x40000ff8; +r_lld_adv_aux_evt_canceled_cbk = 0x40000ffc; +r_lld_adv_aux_evt_start_cbk = 0x40001000; +r_lld_adv_coex_check_ext_adv_synced = 0x40001004; +r_lld_adv_coex_env_reset = 0x40001008; +r_lld_adv_duration_update = 0x4000100c; +r_lld_adv_dynamic_pti_process = 0x40001010; +r_lld_adv_end = 0x40001014; +r_lld_adv_evt_canceled_cbk = 0x40001018; +r_lld_adv_evt_start_cbk = 0x4000101c; +r_lld_adv_ext_chain_construct = 0x40001020; +r_lld_adv_ext_pkt_prepare = 0x40001024; +r_lld_adv_frm_cbk = 0x40001028; +r_lld_adv_frm_isr = 0x4000102c; +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_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_set_tx_power = 0x40001054; +r_lld_adv_start = 0x40001058; +r_lld_adv_stop = 0x4000105c; +r_lld_adv_sync_info_set = 0x40001060; +r_lld_adv_sync_info_update = 0x40001064; +r_lld_calc_aux_rx = 0x40001068; +r_lld_cca_alloc = 0x4000106c; +r_lld_cca_data_reset = 0x40001070; +r_lld_cca_free = 0x40001074; +r_lld_ch_assess_data_get = 0x40001078; +r_lld_ch_idx_get = 0x4000107c; +r_lld_ch_map_set = 0x40001080; +r_lld_channel_assess = 0x40001084; +r_lld_con_activity_act_offset_compute = 0x40001088; +r_lld_con_activity_offset_compute = 0x4000108c; +r_lld_con_ch_map_update = 0x40001090; +r_lld_con_cleanup = 0x40001094; +r_lld_con_current_tx_power_get = 0x40001098; +r_lld_con_data_flow_set = 0x4000109c; +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_duration_min_get = 0x400010b4; +r_lld_con_evt_max_eff_time_cal = 0x400010b8; +r_lld_con_evt_sd_evt_time_get = 0x400010bc; +r_lld_con_evt_start_cbk = 0x400010c0; +r_lld_con_evt_time_update = 0x400010c4; +r_lld_con_free_all_tx_buf = 0x400010c8; +r_lld_con_frm_cbk = 0x400010cc; +r_lld_con_frm_isr = 0x400010d0; +r_lld_con_frm_skip_isr = 0x400010d4; +r_lld_con_init = 0x400010d8; +r_lld_con_llcp_tx = 0x400010dc; +r_lld_con_max_lat_calc = 0x400010e0; +r_lld_con_offset_get = 0x400010e4; +r_lld_con_param_update = 0x400010e8; +r_lld_con_phys_update = 0x400010ec; +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_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_set_tx_power = 0x4000111c; +r_lld_con_start = 0x40001120; +r_lld_con_tx = 0x40001128; +r_lld_con_tx_enc = 0x4000112c; +r_lld_con_tx_isr = 0x40001130; +r_lld_con_tx_len_update = 0x40001134; +r_lld_con_tx_len_update_for_intv = 0x40001138; +r_lld_con_tx_len_update_for_rate = 0x4000113c; +r_lld_con_tx_prog = 0x40001140; +r_lld_conn_dynamic_pti_process = 0x40001144; +r_lld_continue_scan_rx_isr_end_process = 0x40001148; +r_lld_ext_scan_dynamic_pti_process = 0x4000114c; +r_lld_hw_cca_end_isr = 0x40001150; +r_lld_hw_cca_evt_handler = 0x40001154; +r_lld_hw_cca_isr = 0x40001158; +r_lld_init_cal_anchor_point = 0x4000115c; +r_lld_init_compute_winoffset = 0x40001160; +r_lld_init_connect_req_pack = 0x40001164; +r_lld_init_end = 0x40001168; +r_lld_init_evt_canceled_cbk = 0x4000116c; +r_lld_init_evt_start_cbk = 0x40001170; +r_lld_init_frm_cbk = 0x40001174; +r_lld_init_frm_eof_isr = 0x40001178; +r_lld_init_frm_skip_isr = 0x4000117c; +r_lld_init_init = 0x40001180; +r_lld_init_process_pkt_rx = 0x40001184; +r_lld_init_process_pkt_rx_adv_ext_ind = 0x40001188; +r_lld_init_process_pkt_rx_adv_ind_or_direct_ind = 0x4000118c; +r_lld_init_process_pkt_rx_aux_connect_rsp = 0x40001190; +r_lld_init_process_pkt_tx = 0x40001194; +r_lld_init_process_pkt_tx_cal_con_timestamp = 0x40001198; +r_lld_init_sched = 0x4000119c; +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_per_adv_ch_map_update = 0x400011b4; +r_lld_per_adv_chain_construct = 0x400011b8; +r_lld_per_adv_cleanup = 0x400011bc; +r_lld_per_adv_coex_env_reset = 0x400011c0; +r_lld_per_adv_data_set = 0x400011c4; +r_lld_per_adv_data_update = 0x400011c8; +r_lld_per_adv_dynamic_pti_process = 0x400011cc; +r_lld_per_adv_evt_canceled_cbk = 0x400011d0; +r_lld_per_adv_evt_start_cbk = 0x400011d4; +r_lld_per_adv_ext_pkt_prepare = 0x400011d8; +r_lld_per_adv_frm_cbk = 0x400011dc; +r_lld_per_adv_frm_isr = 0x400011e0; +r_lld_per_adv_frm_skip_isr = 0x400011e4; +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_set_tx_power = 0x400011fc; +r_lld_per_adv_start = 0x40001200; +r_lld_per_adv_stop = 0x40001204; +r_lld_per_adv_sync_info_get = 0x40001208; +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_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_reset_reg = 0x40001238; +r_lld_rpa_renew = 0x4000123c; +r_lld_rpa_renew_evt_canceled_cbk = 0x40001240; +r_lld_rpa_renew_evt_start_cbk = 0x40001244; +r_lld_rpa_renew_instant_cbk = 0x40001248; +r_lld_rxdesc_check = 0x4000124c; +r_lld_rxdesc_free = 0x40001250; +r_lld_scan_create_sync = 0x40001254; +r_lld_scan_create_sync_cancel = 0x40001258; +r_lld_scan_end = 0x4000125c; +r_lld_scan_evt_canceled_cbk = 0x40001260; +r_lld_scan_evt_start_cbk = 0x40001264; +r_lld_scan_frm_cbk = 0x40001268; +r_lld_scan_frm_eof_isr = 0x4000126c; +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_aux_adv_ind = 0x40001288; +r_lld_scan_process_pkt_rx_aux_chain_ind = 0x4000128c; +r_lld_scan_process_pkt_rx_aux_scan_rsp = 0x40001290; +r_lld_scan_process_pkt_rx_ext_adv = 0x40001294; +r_lld_scan_process_pkt_rx_ext_adv_ind = 0x40001298; +r_lld_scan_process_pkt_rx_legacy_adv = 0x4000129c; +r_lld_scan_restart = 0x400012a0; +r_lld_scan_sched = 0x400012a4; +r_lld_scan_set_tx_power = 0x400012a8; +r_lld_scan_start = 0x400012ac; +r_lld_scan_stop = 0x400012b0; +r_lld_scan_sync_accept = 0x400012b4; +r_lld_scan_sync_info_unpack = 0x400012b8; +r_lld_scan_trunc_ind = 0x400012bc; +r_lld_sw_cca_evt_handler = 0x400012c0; +r_lld_sw_cca_isr = 0x400012c4; +r_lld_sync_ch_map_update = 0x400012c8; +r_lld_sync_cleanup = 0x400012cc; +r_lld_sync_evt_canceled_cbk = 0x400012d0; +r_lld_sync_evt_start_cbk = 0x400012d4; +r_lld_sync_frm_cbk = 0x400012d8; +r_lld_sync_frm_eof_isr = 0x400012dc; +r_lld_sync_frm_rx_isr = 0x400012e0; +r_lld_sync_frm_skip_isr = 0x400012e4; +r_lld_sync_init = 0x400012e8; +r_lld_sync_process_pkt_rx = 0x400012ec; +r_lld_sync_process_pkt_rx_aux_sync_ind = 0x400012f0; +r_lld_sync_process_pkt_rx_pkt_check = 0x400012f4; +r_lld_sync_scan_dynamic_pti_process = 0x400012f8; +r_lld_sync_sched = 0x400012fc; +r_lld_sync_start = 0x40001300; +r_lld_sync_stop = 0x40001304; +r_lld_sync_trunc_ind = 0x40001308; +r_lld_test_cleanup = 0x4000130c; +r_lld_test_evt_canceled_cbk = 0x40001310; +r_lld_test_evt_start_cbk = 0x40001314; +r_lld_test_freq2chnl = 0x40001318; +r_lld_test_frm_cbk = 0x4000131c; +r_lld_test_frm_isr = 0x40001320; +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_update_rxbuf = 0x40001338; +r_lld_update_rxbuf_isr = 0x4000133c; +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; +r_llm_adv_con_len_check = 0x40001354; +r_llm_adv_hdl_to_id = 0x40001358; +r_llm_adv_rep_flow_control_check = 0x4000135c; +r_llm_adv_rep_flow_control_update = 0x40001360; +r_llm_adv_reports_list_check = 0x40001364; +r_llm_adv_set_all_release = 0x40001368; +r_llm_adv_set_dft_params = 0x4000136c; +r_llm_adv_set_release = 0x40001370; +r_llm_aes_res_cb = 0x40001374; +r_llm_ble_update_adv_flow_control = 0x40001378; +r_llm_ch_map_update = 0x4000137c; +r_llm_cmd_cmp_send = 0x40001380; +r_llm_cmd_stat_send = 0x40001384; +r_llm_dev_list_empty_entry = 0x40001388; +r_llm_dev_list_search = 0x4000138c; +r_llm_env_adv_dup_filt_deinit = 0x40001390; +r_llm_env_adv_dup_filt_init = 0x40001394; +r_llm_init_ble_adv_report_flow_contol = 0x40001398; +r_llm_is_dev_connected = 0x4000139c; +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_link_disc = 0x400013b4; +r_llm_master_ch_map_get = 0x400013b8; +r_llm_msg_handler_tab_p_get = 0x400013bc; +r_llm_no_activity = 0x400013c0; +r_llm_per_adv_slot_dur = 0x400013c4; +r_llm_plan_elt_get = 0x400013c8; +r_llm_rx_path_comp_get = 0x400013cc; +r_llm_scan_start = 0x400013d0; +r_llm_scan_sync_acad_attach = 0x400013d4; +r_llm_scan_sync_acad_detach = 0x400013d8; +r_llm_send_adv_lost_event_to_host = 0x400013dc; +r_llm_tx_path_comp_get = 0x400013e0; +r_misc_deinit = 0x400013e4; +r_misc_free_em_buf_in_isr = 0x400013e8; +r_misc_init = 0x400013ec; +r_misc_msg_handler_tab_p_get = 0x400013f0; +r_notEqual256 = 0x400013f4; +r_phy_upd_proc_start = 0x400013f8; +r_platform_reset = 0x400013fc; +r_rf_em_init = 0x40001404; +r_rf_force_agc_enable = 0x40001408; +r_rf_reg_rd = 0x4000140c; +r_rf_reg_wr = 0x40001410; +r_rf_reset = 0x40001414; +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_util_cs_fmt_convert = 0x40001430; +r_rw_crypto_aes_ccm = 0x40001434; +r_rw_crypto_aes_encrypt = 0x40001438; +r_rw_crypto_aes_init = 0x4000143c; +r_rw_crypto_aes_k1 = 0x40001440; +r_rw_crypto_aes_k2 = 0x40001444; +r_rw_crypto_aes_k3 = 0x40001448; +r_rw_crypto_aes_k4 = 0x4000144c; +r_rw_crypto_aes_rand = 0x40001450; +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_sleep_enter = 0x40001468; +r_rwble_sleep_wakeup_end = 0x4000146c; +/* r_rwbtdm_isr_wrapper = 0x40001470; */ +r_rwip_active_check = 0x40001474; +r_rwip_aes_encrypt = 0x40001478; +/* r_rwip_assert = 0x4000147c; */ +r_rwip_crypt_evt_handler = 0x40001480; +r_rwip_crypt_isr_handler = 0x40001484; +r_rwip_eif_get = 0x40001488; +r_rwip_half_slot_2_lpcycles = 0x4000148c; +r_rwip_hus_2_lpcycles = 0x40001490; +r_rwip_isr = 0x40001494; +r_rwip_lpcycles_2_hus = 0x40001498; +r_rwip_prevent_sleep_clear = 0x4000149c; +r_rwip_prevent_sleep_set = 0x400014a0; +r_rwip_schedule = 0x400014a4; +r_rwip_sleep = 0x400014a8; +r_rwip_sw_int_handler = 0x400014ac; +r_rwip_sw_int_req = 0x400014b0; +r_rwip_time_get = 0x400014b4; +r_rwip_timer_10ms_handler = 0x400014b8; +r_rwip_timer_10ms_set = 0x400014bc; +r_rwip_timer_hs_handler = 0x400014c0; +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_wlcoex_set = 0x400014d8; +r_sch_alarm_clear = 0x400014dc; +r_sch_alarm_init = 0x400014e0; +r_sch_alarm_prog = 0x400014e4; +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_init = 0x400014fc; +r_sch_arb_insert = 0x40001500; +r_sch_arb_prog_timer = 0x40001504; +r_sch_arb_remove = 0x40001508; +r_sch_arb_sw_isr = 0x4000150c; +r_sch_plan_chk = 0x40001510; +r_sch_plan_clock_wrap_offset_update = 0x40001514; +r_sch_plan_init = 0x40001518; +r_sch_plan_interval_req = 0x4000151c; +r_sch_plan_offset_max_calc = 0x40001520; +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_prog_init = 0x4000153c; +r_sch_prog_push = 0x40001540; +r_sch_prog_rx_isr = 0x40001544; +r_sch_prog_skip_isr = 0x40001548; +r_sch_prog_tx_isr = 0x4000154c; +r_sch_slice_bg_add = 0x40001550; +r_sch_slice_bg_remove = 0x40001554; +r_sch_slice_compute = 0x40001558; +r_sch_slice_fg_add = 0x4000155c; +r_sch_slice_fg_remove = 0x40001560; +r_sch_slice_init = 0x40001564; +r_sch_slice_per_add = 0x40001568; +r_sch_slice_per_remove = 0x4000156c; +r_sdk_config_get_bt_sleep_enable = 0x40001570; +r_sdk_config_get_hl_derived_opts = 0x40001574; +r_sdk_config_get_opts = 0x40001578; +r_sdk_config_get_priv_opts = 0x4000157c; +r_sdk_config_set_bt_sleep_enable = 0x40001580; +r_sdk_config_set_hl_derived_opts = 0x40001584; +r_sdk_config_set_opts = 0x40001588; +r_specialModP256 = 0x4000158c; +r_unloaded_area_init = 0x40001590; +r_vhci_flow_off = 0x40001594; +r_vhci_flow_on = 0x40001598; +r_vhci_notify_host_send_available = 0x4000159c; +r_vhci_send_to_host = 0x400015a0; +r_vnd_hci_command_handler = 0x400015a4; +r_vshci_init = 0x400015a8; +vnd_hci_command_handler_wrapper = 0x400015ac; +/* Data (.data, .bss, .rodata) */ +bt_rf_coex_cfg_p = 0x3fcdffcc; +bt_rf_coex_hooks_p = 0x3fcdffc8; +btdm_env_p = 0x3fcdffc4; +g_rw_controller_task_handle = 0x3fcdffc0; +g_rw_init_sem = 0x3fcdffbc; +g_rw_schd_queue = 0x3fcdffb8; +lld_init_env = 0x3fcdffb4; +lld_rpa_renew_env = 0x3fcdffb0; +lld_scan_env = 0x3fcdffac; +lld_scan_sync_env = 0x3fcdffa8; +lld_test_env = 0x3fcdffa4; +p_ble_util_buf_env = 0x3fcdffa0; +p_lld_env = 0x3fcdff9c; +p_llm_env = 0x3fcdff98; +r_h4tl_eif_p = 0x3fcdff94; +r_hli_funcs_p = 0x3fcdff90; +r_ip_funcs_p = 0x3fcdff8c; +r_modules_funcs_p = 0x3fcdff88; +r_osi_funcs_p = 0x3fcdff84; +r_plf_funcs_p = 0x3fcdff80; +vhci_env_p = 0x3fcdff7c; +aa_gen = 0x3fcdff78; +aes_env = 0x3fcdff6c; +bt_rf_coex_cfg_cb = 0x3fcdff1c; +btdm_pwr_state = 0x3fcdff18; +btdm_slp_err = 0x3fcdff14; +ecc_env = 0x3fcdff0c; +esp_handler = 0x3fcdff04; +esp_vendor_cmd = 0x3fcdfefc; +g_adv_delay_dis = 0x3fcdfef8; +g_conflict_elt = 0x3fcdfef4; +g_eif_api = 0x3fcdfee4; +g_event_empty = 0x3fcdfed8; +g_llc_state = 0x3fcdfecc; +g_llm_state = 0x3fcdfec8; +g_max_evt_env = 0x3fcdfec4; +g_misc_state = 0x3fcdfec0; +g_rma_rule_db = 0x3fcdfea4; +g_rtp_rule_db = 0x3fcdfe88; +g_scan_forever = 0x3fcdfe85; +g_time_msb = 0x3fcdfe84; +h4tl_env = 0x3fcdfe5c; +hci_env = 0x3fcdfe38; +hci_ext_host = 0x3fcdfe34; +hci_fc_env = 0x3fcdfe2c; +hci_tl_env = 0x3fcdfe00; +ke_env = 0x3fcdfdd0; +ke_event_env = 0x3fcdfd90; +ke_task_env = 0x3fcdfd14; +llc_env = 0x3fcdfcec; +lld_adv_env = 0x3fcdfcc4; +lld_con_env = 0x3fcdfc9c; +lld_exp_sync_pos_tab = 0x3fcdfc94; +lld_per_adv_env = 0x3fcdfc6c; +lld_sync_env = 0x3fcdfc44; +llm_le_adv_flow_env = 0x3fcdfc38; +rw_sleep_enable = 0x3fcdfc34; +rwble_env = 0x3fcdfc2c; +rwip_env = 0x3fcdfc10; +rwip_param = 0x3fcdfc04; +rwip_prog_delay = 0x3fcdfc00; +rwip_rf = 0x3fcdfbc8; +sch_alarm_env = 0x3fcdfbc0; +sch_arb_env = 0x3fcdfbac; +sch_plan_env = 0x3fcdfba4; +sch_prog_env = 0x3fcdfaa0; +sch_slice_env = 0x3fcdfa40; +sch_slice_params = 0x3fcdfa38; +timer_env = 0x3fcdfa30; +unloaded_area = 0x3fcdfa2c; +vshci_state = 0x3fcdfa28; +TASK_DESC_LLC = 0x3fcdfa1c; +TASK_DESC_LLM = 0x3fcdfa10; +TASK_DESC_VSHCI = 0x3fcdfa04; +co_default_bdaddr = 0x3fcdf9fc; +dbg_assert_block = 0x3fcdf9f8; +g_bt_plf_log_level = 0x3fcdf9f4; +hci_cmd_desc_tab_vs_esp = 0x3fcdf9d0; +hci_command_handler_tab_esp = 0x3fcdf9b8; +privacy_en = 0x3fcdf9b4; +sdk_cfg_priv_opts = 0x3fcdf96c; +BasePoint_x_256 = 0x3ff1ffdc; +BasePoint_y_256 = 0x3ff1ffbc; +DebugE256PublicKey_x = 0x3ff1ff9c; +DebugE256PublicKey_y = 0x3ff1ff7c; +DebugE256SecretKey = 0x3ff1ff5c; +ECC_4Win_Look_up_table = 0x3ff1f7a0; +LLM_AA_CT1 = 0x3ff1f79c; +LLM_AA_CT2 = 0x3ff1f798; +RF_TX_PW_CONV_TBL = 0x3ff1f790; +TASK_DESC_MISC = 0x3ff1f784; +adv_evt_prop2type = 0x3ff1f768; +adv_evt_type2prop = 0x3ff1f760; +aes_cmac_zero = 0x3ff1f750; +aes_k2_salt = 0x3ff1f740; +aes_k3_id64 = 0x3ff1f738; +aes_k3_salt = 0x3ff1f728; +aes_k4_id6 = 0x3ff1f724; +aes_k4_salt = 0x3ff1f714; +bigHexP256 = 0x3ff1f6e8; +byte_tx_time = 0x3ff1f6e0; +co_null_bdaddr = 0x3ff1f6d8; +co_phy_mask_to_rate = 0x3ff1f6d0; +co_phy_mask_to_value = 0x3ff1f6c8; +co_phy_to_rate = 0x3ff1f6c4; +co_phy_value_to_mask = 0x3ff1f6c0; +co_rate_to_byte_dur_us = 0x3ff1f6b8; +co_rate_to_phy = 0x3ff1f6b0; +co_rate_to_phy_mask = 0x3ff1f6ac; +co_sca2ppm = 0x3ff1f69c; +coef_B = 0x3ff1f670; +connect_req_dur_tab = 0x3ff1f668; +ecc_Jacobian_InfinityPoint256 = 0x3ff1f5e4; +em_base_reg_lut = 0x3ff1f518; +fixed_tx_time = 0x3ff1f510; +h4tl_msgtype2hdrlen = 0x3ff1f508; +hci_cmd_desc_root_tab = 0x3ff1f4d8; +hci_cmd_desc_tab_ctrl_bb = 0x3ff1f46c; +hci_cmd_desc_tab_info_par = 0x3ff1f43c; +hci_cmd_desc_tab_le = 0x3ff1f0a0; +hci_cmd_desc_tab_lk_ctrl = 0x3ff1f088; +hci_cmd_desc_tab_stat_par = 0x3ff1f07c; +hci_cmd_desc_tab_vs = 0x3ff1f040; +hci_evt_desc_tab = 0x3ff1eff8; +hci_evt_le_desc_tab = 0x3ff1ef58; +hci_evt_le_desc_tab_esp = 0x3ff1ef50; +hci_rsvd_evt_msk = 0x3ff1ef48; +lld_aux_phy_to_rate = 0x3ff1ef44; +lld_init_max_aux_dur_tab = 0x3ff1ef3c; +lld_scan_map_legacy_pdu_to_evt_type = 0x3ff1ef34; +lld_scan_max_aux_dur_tab = 0x3ff1ef2c; +lld_sync_max_aux_dur_tab = 0x3ff1ef24; +llm_local_le_feats = 0x3ff1ef1c; +llm_local_le_states = 0x3ff1ef14; +llm_local_supp_cmds = 0x3ff1eeec; +maxSecretKey_256 = 0x3ff1eecc; +max_data_tx_time = 0x3ff1eec4; +one_bits = 0x3ff1eeb4; +rwip_coex_cfg = 0x3ff1eeac; +rwip_priority = 0x3ff1ee94; +veryBigHexP256 = 0x3ff1ee48; + +/* bluetooth hook funcs */ +r_llc_loc_encrypt_proc_continue_hook = 0x40001c60; +r_llc_loc_phy_upd_proc_continue_hook = 0x40001c64; +r_llc_rem_phy_upd_proc_continue_hook = 0x40001c68; +r_lld_scan_frm_eof_isr_hook = 0x40001c6c; +r_lld_scan_evt_start_cbk_hook = 0x40001c70; +r_lld_scan_process_pkt_rx_ext_adv_hook = 0x40001c78; +r_lld_scan_sched_hook = 0x40001c7c; +r_lld_adv_evt_start_cbk_hook = 0x40001c84; +r_lld_adv_aux_evt_start_cbk_hook = 0x40001c88; +r_lld_adv_frm_isr_hook = 0x40001c8c; +r_lld_adv_start_init_evt_param_hook = 0x40001c90; +r_lld_con_evt_canceled_cbk_hook = 0x40001c94; +r_lld_con_frm_isr_hook = 0x40001c98; +r_lld_con_tx_hook = 0x40001c9c; +r_lld_con_rx_hook = 0x40001ca0; +r_lld_con_evt_start_cbk_hook = 0x40001ca4; +r_lld_con_tx_prog_new_packet_hook = 0x40001cac; +r_lld_init_frm_eof_isr_hook = 0x40001cb0; +r_lld_init_evt_start_cbk_hook = 0x40001cb4; +r_lld_init_sched_hook = 0x40001cbc; +r_lld_init_process_pkt_tx_hook = 0x40001cc0; +r_lld_per_adv_evt_start_cbk_hook = 0x40001cc4; +r_lld_per_adv_frm_isr_hook = 0x40001cc8; +r_lld_per_adv_start_hook = 0x40001ccc; +r_lld_sync_frm_eof_isr_hook = 0x40001cd0; +r_lld_sync_evt_start_cbk_hook = 0x40001cd4; +r_lld_sync_start_hook = 0x40001cd8; +r_lld_sync_process_pkt_rx_pkt_check_hook = 0x40001cdc; +r_sch_arb_insert_hook = 0x40001ce0; +r_sch_plan_offset_req_hook = 0x40001ce4; + +/*************************************** + Group rom_pp + ***************************************/ + +/* Functions */ +esp_pp_rom_version_get = 0x400015b0; +RC_GetBlockAckTime = 0x400015b4; +ebuf_list_remove = 0x400015b8; +/*esf_buf_alloc = 0x400015bc;*/ +GetAccess = 0x400015c8; +hal_mac_is_low_rate_enabled = 0x400015cc; +hal_mac_tx_get_blockack = 0x400015d0; +/* hal_mac_tx_set_ppdu = 0x400015d4;*/ +ic_get_trc = 0x400015d8; +/* ic_mac_deinit = 0x400015dc; */ +ic_mac_init = 0x400015e0; +ic_interface_enabled = 0x400015e4; +is_lmac_idle = 0x400015e8; +/*lmacAdjustTimestamp = 0x400015ec;*/ +lmacDiscardAgedMSDU = 0x400015f0; +/*lmacDiscardMSDU = 0x400015f4;*/ +/*lmacEndFrameExchangeSequence = 0x400015f8;*/ +lmacIsIdle = 0x400015fc; +lmacIsLongFrame = 0x40001600; +/*lmacMSDUAged = 0x40001604;*/ +lmacPostTxComplete = 0x40001608; +lmacProcessAllTxTimeout = 0x4000160c; +lmacProcessCollisions = 0x40001610; +lmacProcessRxSucData = 0x40001614; +lmacReachLongLimit = 0x40001618; +lmacReachShortLimit = 0x4000161c; +lmacRecycleMPDU = 0x40001620; +lmacRxDone = 0x40001624; +/*lmacSetTxFrame = 0x40001628;*/ +/*lmacTxFrame = 0x40001630;*/ +mac_tx_set_duration = 0x40001634; +/* mac_tx_set_htsig = 0x40001638;*/ +mac_tx_set_plcp0 = 0x4000163c; +/* mac_tx_set_plcp1 = 0x40001640;*/ +mac_tx_set_plcp2 = 0x40001644; +/* pm_check_state = 0x40001648; */ +pm_disable_dream_timer = 0x4000164c; +pm_disable_sleep_delay_timer = 0x40001650; +/*pm_dream = 0x40001654;*/ +pm_mac_wakeup = 0x40001658; +pm_mac_sleep = 0x4000165c; +pm_enable_active_timer = 0x40001660; +pm_enable_sleep_delay_timer = 0x40001664; +pm_local_tsf_process = 0x40001668; +pm_set_beacon_filter = 0x4000166c; +pm_is_in_wifi_slice_threshold = 0x40001670; +pm_is_waked = 0x40001674; +pm_keep_alive = 0x40001678; +/* pm_on_beacon_rx = 0x4000167c; */ +pm_on_data_rx = 0x40001680; +pm_on_tbtt = 0x40001684; +/* pm_parse_beacon = 0x40001688;*/ +/* pm_process_tim = 0x4000168c; */ +/*pm_rx_beacon_process = 0x40001690;*/ +/* pm_rx_data_process = 0x40001694; */ +/*pm_sleep = 0x40001698;*/ +pm_sleep_for = 0x4000169c; +/* pm_tbtt_process = 0x400016a0; */ +ppAMPDU2Normal = 0x400016a4; +/*ppAssembleAMPDU = 0x400016a8;*/ +ppCalFrameTimes = 0x400016ac; +ppCalSubFrameLength = 0x400016b0; +/*ppCalTxAMPDULength = 0x400016b4;*/ +ppCheckTxAMPDUlength = 0x400016b8; +ppDequeueRxq_Locked = 0x400016bc; +ppDequeueTxQ = 0x400016c0; +ppEmptyDelimiterLength = 0x400016c4; +ppEnqueueRxq = 0x400016c8; +ppEnqueueTxDone = 0x400016cc; +ppGetTxQFirstAvail_Locked = 0x400016d0; +ppGetTxframe = 0x400016d4; +ppProcessRxPktHdr = 0x400016e0; +ppProcessTxQ = 0x400016e4; +ppRecordBarRRC = 0x400016e8; +lmacRequestTxopQueue = 0x400016ec; +lmacReleaseTxopQueue = 0x400016f0; +ppRecycleAmpdu = 0x400016f4; +ppRecycleRxPkt = 0x400016f8; +ppResortTxAMPDU = 0x400016fc; +ppResumeTxAMPDU = 0x40001700; +/* ppRxFragmentProc = 0x40001704; */ +/* ppRxPkt = 0x40001708; */ +ppRxProtoProc = 0x4000170c; +ppSearchTxQueue = 0x40001710; +ppSearchTxframe = 0x40001714; +ppSelectNextQueue = 0x40001718; +ppSubFromAMPDU = 0x4000171c; +ppTask = 0x40001720; +ppTxPkt = 0x40001724; +ppTxProtoProc = 0x40001728; +ppTxqUpdateBitmap = 0x4000172c; +/*pp_coex_tx_request = 0x40001730;*/ +pp_hdrsize = 0x40001734; +pp_post = 0x40001738; +pp_process_hmac_waiting_txq = 0x4000173c; +rcGetAmpduSched = 0x40001740; +rcUpdateRxDone = 0x40001744; +rc_get_trc = 0x40001748; +rc_get_trc_by_index = 0x4000174c; +rcAmpduLowerRate = 0x40001750; +rcampduuprate = 0x40001754; +rcClearCurAMPDUSched = 0x40001758; +rcClearCurSched = 0x4000175c; +rcClearCurStat = 0x40001760; +rcLowerSched = 0x40001768; +rcSetTxAmpduLimit = 0x4000176c; +/* rcTxUpdatePer = 0x40001770;*/ +rcUpdateAckSnr = 0x40001774; +/*rcUpdateRate = 0x40001778;*/ +/* rcUpdateTxDone = 0x4000177c; */ +rcUpdateTxDoneAmpdu2 = 0x40001780; +rcUpSched = 0x40001784; +rssi_margin = 0x40001788; +rx11NRate2AMPDULimit = 0x4000178c; +TRC_AMPDU_PER_DOWN_THRESHOLD = 0x40001790; +TRC_AMPDU_PER_UP_THRESHOLD = 0x40001794; +trc_calc_duration = 0x40001798; +trc_isTxAmpduOperational = 0x4000179c; +trc_onAmpduOp = 0x400017a0; +TRC_PER_IS_GOOD = 0x400017a4; +trc_SetTxAmpduState = 0x400017a8; +trc_tid_isTxAmpduOperational = 0x400017ac; +trcAmpduSetState = 0x400017b0; +/*wDev_AppendRxBlocks = 0x400017b8;*/ +wDev_DiscardFrame = 0x400017bc; +wDev_GetNoiseFloor = 0x400017c0; +wDev_IndicateAmpdu = 0x400017c4; +/*wDev_IndicateFrame = 0x400017c8;*/ +wdev_bank_store = 0x400017cc; +wdev_bank_load = 0x400017d0; +wdev_mac_reg_load = 0x400017d4; +wdev_mac_reg_store = 0x400017d8; +wdev_mac_special_reg_load = 0x400017dc; +wdev_mac_special_reg_store = 0x400017e0; +wdev_mac_wakeup = 0x400017e4; +wdev_mac_sleep = 0x400017e8; +hal_mac_is_dma_enable = 0x400017ec; +/*wDev_ProcessFiq = 0x400017f0;*/ +/*wDev_ProcessRxSucData = 0x400017f4;*/ +wdevProcessRxSucDataAll = 0x400017f8; +wdev_csi_len_align = 0x400017fc; +ppDequeueTxDone_Locked = 0x40001800; +/*pm_tx_data_done_process = 0x40001808;*/ +config_is_cache_tx_buf_enabled = 0x4000180c; +//ppMapWaitTxq = 0x40001810; +ppProcessWaitingQueue = 0x40001814; +ppDisableQueue = 0x40001818; +pm_allow_tx = 0x4000181c; +/* Data (.data, .bss, .rodata) */ +our_instances_ptr = 0x3ff1ee44; +pTxRx = 0x3fcdf968; +lmacConfMib_ptr = 0x3fcdf964; +our_wait_eb = 0x3fcdf960; +our_tx_eb = 0x3fcdf95c; +pp_wdev_funcs = 0x3fcdf958; +g_osi_funcs_p = 0x3fcdf954; +wDevCtrl_ptr = 0x3fcdf950; +g_wdev_last_desc_reset_ptr = 0x3ff1ee40; +wDevMacSleep_ptr = 0x3fcdf94c; +g_lmac_cnt_ptr = 0x3fcdf948; +our_controls_ptr = 0x3ff1ee3c; +pp_sig_cnt_ptr = 0x3fcdf944; +g_eb_list_desc_ptr = 0x3fcdf940; +s_fragment_ptr = 0x3fcdf93c; +if_ctrl_ptr = 0x3fcdf938; +g_intr_lock_mux = 0x3fcdf934; +g_wifi_global_lock = 0x3fcdf930; +s_wifi_queue = 0x3fcdf92c; +pp_task_hdl = 0x3fcdf928; +s_pp_task_create_sem = 0x3fcdf924; +s_pp_task_del_sem = 0x3fcdf920; +g_wifi_menuconfig_ptr = 0x3fcdf91c; +xphyQueue = 0x3fcdf918; +ap_no_lr_ptr = 0x3fcdf914; +rc11BSchedTbl_ptr = 0x3fcdf910; +rc11NSchedTbl_ptr = 0x3fcdf90c; +rcLoRaSchedTbl_ptr = 0x3fcdf908; +BasicOFDMSched_ptr = 0x3fcdf904; +trc_ctl_ptr = 0x3fcdf900; +g_pm_cnt_ptr = 0x3fcdf8fc; +g_pm_ptr = 0x3fcdf8f8; +g_pm_cfg_ptr = 0x3fcdf8f4; +g_esp_mesh_quick_funcs_ptr = 0x3fcdf8f0; +g_txop_queue_status_ptr = 0x3fcdf8ec; +g_mac_sleep_en_ptr = 0x3fcdf8e8; +g_mesh_is_root_ptr = 0x3fcdf8e4; +g_mesh_topology_ptr = 0x3fcdf8e0; +g_mesh_init_ps_type_ptr = 0x3fcdf8dc; +g_mesh_is_started_ptr = 0x3fcdf8d8; +g_config_func = 0x3fcdf8d4; +g_net80211_tx_func = 0x3fcdf8d0; +g_timer_func = 0x3fcdf8cc; +s_michael_mic_failure_cb = 0x3fcdf8c8; +wifi_sta_rx_probe_req = 0x3fcdf8c4; +g_tx_done_cb_func = 0x3fcdf8c0; +g_per_conn_trc = 0x3fcdf874; +s_encap_amsdu_func = 0x3fcdf870; + + +/*************************************** + Group rom_net80211 + ***************************************/ + +/* Functions */ +esp_net80211_rom_version_get = 0x40001820; +ampdu_dispatch = 0x40001824; +ampdu_dispatch_all = 0x40001828; +ampdu_dispatch_as_many_as_possible = 0x4000182c; +ampdu_dispatch_movement = 0x40001830; +ampdu_dispatch_upto = 0x40001834; +chm_is_at_home_channel = 0x40001838; +cnx_node_is_existing = 0x4000183c; +cnx_node_search = 0x40001840; +ic_ebuf_recycle_rx = 0x40001844; +ic_ebuf_recycle_tx = 0x40001848; +ic_reset_rx_ba = 0x4000184c; +ieee80211_align_eb = 0x40001850; +/*ieee80211_ampdu_reorder = 0x40001854;*/ +ieee80211_ampdu_start_age_timer = 0x40001858; +/*ieee80211_encap_esfbuf = 0x4000185c;*/ +ieee80211_is_tx_allowed = 0x40001860; +ieee80211_output_pending_eb = 0x40001864; +/*ieee80211_output_process = 0x40001868;*/ +ieee80211_set_tx_desc = 0x4000186c; +rom_sta_input = 0x40001870; +wifi_get_macaddr = 0x40001874; +wifi_rf_phy_disable = 0x40001878; +wifi_rf_phy_enable = 0x4000187c; +ic_ebuf_alloc = 0x40001880; +/*ieee80211_classify = 0x40001884;*/ +ieee80211_copy_eb_header = 0x40001888; +ieee80211_recycle_cache_eb = 0x4000188c; +ieee80211_search_node = 0x40001890; +roundup2 = 0x40001894; +ieee80211_crypto_encap = 0x40001898; +/* ieee80211_crypto_decap = 0x4000189c; */ +/* ieee80211_decap = 0x400018a0; */ +ieee80211_set_tx_pti = 0x400018a4; +wifi_is_started = 0x400018a8; +/* Data (.data, .bss, .rodata) */ +net80211_funcs = 0x3fcdf86c; +g_scan = 0x3fcdf868; +g_chm = 0x3fcdf864; +g_ic_ptr = 0x3fcdf860; +g_hmac_cnt_ptr = 0x3fcdf85c; +g_tx_cacheq_ptr = 0x3fcdf858; +s_netstack_free = 0x3fcdf854; +mesh_rxcb = 0x3fcdf850; +sta_rxcb = 0x3fcdf84c; + + +/*************************************** + Group rom_coexist + ***************************************/ + +/* Functions */ +esp_coex_rom_version_get = 0x400018ac; +coex_bt_release = 0x400018b0; +coex_bt_request = 0x400018b4; +coex_core_ble_conn_dyn_prio_get = 0x400018b8; +/*coex_core_event_duration_get = 0x400018bc;*/ +coex_core_pti_get = 0x400018c0; +coex_core_release = 0x400018c4; +coex_core_request = 0x400018c8; +coex_core_status_get = 0x400018cc; +/*coex_core_timer_idx_get = 0x400018d0;*/ +coex_event_duration_get = 0x400018d4; +coex_hw_timer_disable = 0x400018d8; +coex_hw_timer_enable = 0x400018dc; +coex_hw_timer_set = 0x400018e0; +coex_schm_interval_set = 0x400018e4; +coex_schm_lock = 0x400018e8; +coex_schm_unlock = 0x400018ec; +coex_status_get = 0x400018f0; +coex_wifi_release = 0x400018f4; +esp_coex_ble_conn_dynamic_prio_get = 0x400018f8; +/* Data (.data, .bss, .rodata) */ +coex_env_ptr = 0x3fcdf848; +coex_pti_tab_ptr = 0x3fcdf844; +coex_schm_env_ptr = 0x3fcdf840; +coexist_funcs = 0x3fcdf83c; +g_coa_funcs_p = 0x3fcdf838; +g_coex_param_ptr = 0x3fcdf834; + + +/*************************************** + Group rom_phy + ***************************************/ + +/* Functions */ +phy_get_romfuncs = 0x400018fc; +rom_abs_temp = 0x40001900; +rom_bb_bss_cbw40_dig = 0x40001904; +rom_bb_wdg_test_en = 0x40001908; +rom_bb_wdt_get_status = 0x4000190c; +rom_bb_wdt_int_enable = 0x40001910; +rom_bb_wdt_rst_enable = 0x40001914; +rom_bb_wdt_timeout_clear = 0x40001918; +rom_cbw2040_cfg = 0x4000191c; +rom_check_noise_floor = 0x40001920; +rom_chip_i2c_readReg = 0x40001924; +rom_chip_i2c_writeReg = 0x40001928; +rom_correct_rf_ana_gain = 0x4000192c; +rom_dc_iq_est = 0x40001930; +rom_disable_agc = 0x40001934; +rom_en_pwdet = 0x40001938; +rom_enable_agc = 0x4000193c; +rom_get_bbgain_db = 0x40001940; +rom_get_data_sat = 0x40001944; +rom_get_i2c_read_mask = 0x40001948; +rom_get_pwctrl_correct = 0x4000194c; +rom_get_rf_gain_qdb = 0x40001950; +rom_i2c_readReg = 0x40001954; +rom_i2c_readReg_Mask = 0x40001958; +rom_i2c_writeReg = 0x4000195c; +rom_i2c_writeReg_Mask = 0x40001960; +/* rom_index_to_txbbgain = 0x40001964; */ +rom_iq_est_disable = 0x40001968; +rom_iq_est_enable = 0x4000196c; +rom_linear_to_db = 0x40001970; +rom_loopback_mode_en = 0x40001974; +rom_mhz2ieee = 0x40001978; +rom_noise_floor_auto_set = 0x4000197c; +rom_pbus_debugmode = 0x40001980; +rom_pbus_force_mode = 0x40001984; +rom_pbus_force_test = 0x40001988; +rom_pbus_rd = 0x4000198c; +rom_pbus_rd_addr = 0x40001990; +rom_pbus_rd_shift = 0x40001994; +rom_pbus_set_dco = 0x40001998; +rom_pbus_set_rxgain = 0x4000199c; +rom_pbus_workmode = 0x400019a0; +rom_pbus_xpd_rx_off = 0x400019a4; +rom_pbus_xpd_rx_on = 0x400019a8; +rom_pbus_xpd_tx_off = 0x400019ac; +/* rom_pbus_xpd_tx_on = 0x400019b0; */ +rom_phy_byte_to_word = 0x400019b4; +rom_phy_disable_cca = 0x400019b8; +rom_phy_enable_cca = 0x400019bc; +rom_phy_get_noisefloor = 0x400019c0; +rom_phy_get_rx_freq = 0x400019c4; +rom_phy_set_bbfreq_init = 0x400019c8; +rom_pow_usr = 0x400019cc; +rom_pwdet_sar2_init = 0x400019d0; +rom_read_hw_noisefloor = 0x400019d4; +rom_read_sar_dout = 0x400019d8; +rom_set_cal_rxdc = 0x400019dc; +rom_set_chan_cal_interp = 0x400019e0; +rom_set_loopback_gain = 0x400019e4; +rom_set_noise_floor = 0x400019e8; +rom_set_rxclk_en = 0x400019ec; +/* rom_set_tx_dig_gain = 0x400019f0; */ +/* rom_set_txcap_reg = 0x400019f4; */ +rom_set_txclk_en = 0x400019f8; +rom_spur_cal = 0x400019fc; +rom_spur_reg_write_one_tone = 0x40001a00; +rom_target_power_add_backoff = 0x40001a04; +rom_tx_pwctrl_bg_init = 0x40001a08; +/* rom_txbbgain_to_index = 0x40001a0c; */ +rom_wifi_11g_rate_chg = 0x40001a10; +rom_write_gain_mem = 0x40001a14; +chip726_phyrom_version = 0x40001a18; +rom_disable_wifi_agc = 0x40001a1c; +rom_enable_wifi_agc = 0x40001a20; +rom_set_tx_gain_table = 0x40001a24; +rom_bt_index_to_bb = 0x40001a28; +rom_bt_bb_to_index = 0x40001a2c; +rom_wr_bt_tx_atten = 0x40001a30; +rom_wr_bt_tx_gain_mem = 0x40001a34; +rom_spur_coef_cfg = 0x40001a38; +rom_bb_bss_cbw40 = 0x40001a3c; +rom_set_cca = 0x40001a40; +rom_tx_paon_set = 0x40001a44; +rom_i2cmst_reg_init = 0x40001a48; +rom_iq_corr_enable = 0x40001a4c; +rom_fe_reg_init = 0x40001a50; +/* rom_agc_reg_init = 0x40001a54; */ +/* rom_bb_reg_init = 0x40001a58; */ +rom_mac_enable_bb = 0x40001a5c; +rom_bb_wdg_cfg = 0x40001a60; +rom_force_txon = 0x40001a64; +rom_fe_txrx_reset = 0x40001a68; +rom_set_rx_comp = 0x40001a6c; +/* rom_set_pbus_reg = 0x40001a70; */ +rom_write_chan_freq = 0x40001a74; +/* rom_phy_xpd_rf = 0x40001a78; */ +rom_set_xpd_sar = 0x40001a7c; +rom_write_dac_gain2 = 0x40001a80; +rom_rtc_sar2_init = 0x40001a84; +rom_get_target_power_offset = 0x40001a88; +/* rom_write_txrate_power_offset = 0x40001a8c; */ +rom_get_rate_fcc_index = 0x40001a90; +rom_get_rate_target_power = 0x40001a94; +rom_write_wifi_dig_gain = 0x40001a98; +rom_bt_correct_rf_ana_gain = 0x40001a9c; +rom_pkdet_vol_start = 0x40001aa0; +rom_read_sar2_code = 0x40001aa4; +rom_get_sar2_vol = 0x40001aa8; +rom_get_pll_vol = 0x40001aac; +rom_get_phy_target_power = 0x40001ab0; +/* rom_temp_to_power = 0x40001ab4; */ +rom_phy_track_pll_cap = 0x40001ab8; +rom_phy_pwdet_always_en = 0x40001abc; +rom_phy_pwdet_onetime_en = 0x40001ac0; +rom_get_i2c_mst0_mask = 0x40001ac4; +rom_get_i2c_hostid = 0x40001ac8; +rom_enter_critical_phy = 0x40001acc; +rom_exit_critical_phy = 0x40001ad0; +rom_chip_i2c_readReg_org = 0x40001ad4; +rom_i2c_paral_set_mst0 = 0x40001ad8; +rom_i2c_paral_set_read = 0x40001adc; +rom_i2c_paral_read = 0x40001ae0; +rom_i2c_paral_write = 0x40001ae4; +rom_i2c_paral_write_num = 0x40001ae8; +rom_i2c_paral_write_mask = 0x40001aec; +rom_bb_bss_cbw40_ana = 0x40001af0; +rom_chan_to_freq = 0x40001af4; +/* rom_open_i2c_xpd = 0x40001af8; */ +rom_dac_rate_set = 0x40001afc; +/* rom_tsens_read_init = 0x40001b00; */ +/* rom_tsens_code_read = 0x40001b04; */ +rom_tsens_index_to_dac = 0x40001b08; +rom_tsens_index_to_offset = 0x40001b0c; +/* rom_tsens_dac_cal = 0x40001b10; */ +rom_code_to_temp = 0x40001b14; +rom_write_pll_cap_mem = 0x40001b18; +rom_pll_correct_dcap = 0x40001b1c; +rom_phy_en_hw_set_freq = 0x40001b20; +rom_phy_dis_hw_set_freq = 0x40001b24; +/* rom_pll_vol_cal = 0x40001b28; */ diff --git a/esp-hal/ld/esp32c3/rom/esp32c3.rom.libgcc.ld b/esp-hal/ld/esp32c3/rom/esp32c3.rom.libgcc.ld new file mode 100644 index 000000000..bda6a3805 --- /dev/null +++ b/esp-hal/ld/esp32c3/rom/esp32c3.rom.libgcc.ld @@ -0,0 +1,105 @@ +/* ROM function interface esp32c3.rom.libgcc.ld for esp32c3 + * + * + * Generated from ./interface-esp32c3.yml md5sum 93b28a9e1fe42d212018eb4336849208 + * + * Compatible with ROM where ECO version equal or greater to 0. + * + * THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT. + */ + +/*************************************** + Group libgcc + ***************************************/ + +/* Functions */ +__absvdi2 = 0x40000764; +__absvsi2 = 0x40000768; +__adddf3 = 0x4000076c; +__addsf3 = 0x40000770; +__addvdi3 = 0x40000774; +__addvsi3 = 0x40000778; +__ashldi3 = 0x4000077c; +__ashrdi3 = 0x40000780; +__bswapdi2 = 0x40000784; +__bswapsi2 = 0x40000788; +__clear_cache = 0x4000078c; +__clrsbdi2 = 0x40000790; +__clrsbsi2 = 0x40000794; +__clzdi2 = 0x40000798; +__clzsi2 = 0x4000079c; +__cmpdi2 = 0x400007a0; +__ctzdi2 = 0x400007a4; +__ctzsi2 = 0x400007a8; +__divdc3 = 0x400007ac; +__divdf3 = 0x400007b0; +__divdi3 = 0x400007b4; +__divsc3 = 0x400007b8; +__divsf3 = 0x400007bc; +__divsi3 = 0x400007c0; +__eqdf2 = 0x400007c4; +__eqsf2 = 0x400007c8; +__extendsfdf2 = 0x400007cc; +__ffsdi2 = 0x400007d0; +__ffssi2 = 0x400007d4; +__fixdfdi = 0x400007d8; +__fixdfsi = 0x400007dc; +__fixsfdi = 0x400007e0; +__fixsfsi = 0x400007e4; +__fixunsdfsi = 0x400007e8; +__fixunssfdi = 0x400007ec; +__fixunssfsi = 0x400007f0; +__floatdidf = 0x400007f4; +__floatdisf = 0x400007f8; +__floatsidf = 0x400007fc; +__floatsisf = 0x40000800; +__floatundidf = 0x40000804; +__floatundisf = 0x40000808; +__floatunsidf = 0x4000080c; +__floatunsisf = 0x40000810; +__gcc_bcmp = 0x40000814; +__gedf2 = 0x40000818; +__gesf2 = 0x4000081c; +__gtdf2 = 0x40000820; +__gtsf2 = 0x40000824; +__ledf2 = 0x40000828; +__lesf2 = 0x4000082c; +__lshrdi3 = 0x40000830; +__ltdf2 = 0x40000834; +__ltsf2 = 0x40000838; +__moddi3 = 0x4000083c; +__modsi3 = 0x40000840; +__muldc3 = 0x40000844; +__muldf3 = 0x40000848; +__muldi3 = 0x4000084c; +__mulsc3 = 0x40000850; +__mulsf3 = 0x40000854; +__mulsi3 = 0x40000858; +__mulvdi3 = 0x4000085c; +__mulvsi3 = 0x40000860; +__nedf2 = 0x40000864; +__negdf2 = 0x40000868; +__negdi2 = 0x4000086c; +__negsf2 = 0x40000870; +__negvdi2 = 0x40000874; +__negvsi2 = 0x40000878; +__nesf2 = 0x4000087c; +__paritysi2 = 0x40000880; +__popcountdi2 = 0x40000884; +__popcountsi2 = 0x40000888; +__powidf2 = 0x4000088c; +__powisf2 = 0x40000890; +__subdf3 = 0x40000894; +__subsf3 = 0x40000898; +__subvdi3 = 0x4000089c; +__subvsi3 = 0x400008a0; +__truncdfsf2 = 0x400008a4; +__ucmpdi2 = 0x400008a8; +__udivdi3 = 0x400008ac; +__udivmoddi4 = 0x400008b0; +__udivsi3 = 0x400008b4; +__udiv_w_sdiv = 0x400008b8; +__umoddi3 = 0x400008bc; +__umodsi3 = 0x400008c0; +__unorddf2 = 0x400008c4; +__unordsf2 = 0x400008c8; diff --git a/esp-hal/ld/esp32c3/rom/esp32c3.rom.version.ld b/esp-hal/ld/esp32c3/rom/esp32c3.rom.version.ld new file mode 100644 index 000000000..723afa016 --- /dev/null +++ b/esp-hal/ld/esp32c3/rom/esp32c3.rom.version.ld @@ -0,0 +1,8 @@ +/* ROM version variables for esp32c3 + * + * These addresses should be compatible with any ROM version for this chip. + * + * THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT. + */ +_rom_chip_id = 0x40000010; +_rom_eco_version = 0x40000014; diff --git a/esp-hal/ld/esp32c6/rom-functions.x b/esp-hal/ld/esp32c6/rom-functions.x index 9a4f53603..04fc835f9 100644 --- a/esp-hal/ld/esp32c6/rom-functions.x +++ b/esp-hal/ld/esp32c6/rom-functions.x @@ -1,27 +1,13 @@ -ets_printf = 0x40000028; -PROVIDE(esp_rom_printf = ets_printf); -PROVIDE(cache_invalidate_icache_all = 0x4000064c); -PROVIDE(cache_suspend_icache = 0x40000698); -PROVIDE(cache_resume_icache = 0x4000069c); -PROVIDE(ets_delay_us = 0x40000040); -PROVIDE(ets_update_cpu_frequency_rom = 0x40000048); -PROVIDE(rtc_get_reset_reason = 0x40000018); -ets_update_cpu_frequency = 0x40000048; -PROVIDE(software_reset = 0x40000090); -PROVIDE(software_reset_cpu = 0x40000094); +INCLUDE "rom/esp32c6.rom.api.ld" +INCLUDE "rom/esp32c6.rom.coexist.ld" +INCLUDE "rom/esp32c6.rom.heap.ld" +INCLUDE "rom/esp32c6.rom.ld" +INCLUDE "rom/esp32c6.rom.libgcc.ld" +INCLUDE "rom/esp32c6.rom.net80211.ld" +INCLUDE "rom/esp32c6.rom.phy.ld" +INCLUDE "rom/esp32c6.rom.pp.ld" +INCLUDE "rom/esp32c6.rom.rvfp.ld" +INCLUDE "rom/esp32c6.rom.spiflash.ld" +INCLUDE "rom/esp32c6.rom.version.ld" -PROVIDE(esp_rom_crc32_be = 0x40000764); -PROVIDE(esp_rom_crc16_be = 0x40000768); -PROVIDE(esp_rom_crc8_be = 0x4000076c); -PROVIDE(esp_rom_crc32_le = 0x40000758); -PROVIDE(esp_rom_crc16_le = 0x4000075c); -PROVIDE(esp_rom_crc8_le = 0x40000760); - -PROVIDE(esp_rom_md5_init = 0x4000074c); -PROVIDE(esp_rom_md5_update = 0x40000750); -PROVIDE(esp_rom_md5_final = 0x40000754); - -memset = 0x400004a8; -memcpy = 0x400004ac; -memmove = 0x400004b0; -memcmp = 0x400004b4; +INCLUDE "rom/additional.ld" diff --git a/esp-hal/ld/esp32c6/rom/additional.ld b/esp-hal/ld/esp32c6/rom/additional.ld new file mode 100644 index 000000000..315c01f76 --- /dev/null +++ b/esp-hal/ld/esp32c6/rom/additional.ld @@ -0,0 +1,10 @@ +memset = 0x400004a8; +memcpy = 0x400004ac; +memmove = 0x400004b0; +memcmp = 0x400004b4; + +strncmp = 0x400004c4; +strncpy = 0x400004bc; +strcpy = 0x400004b8; + +abs = 0x40000578; diff --git a/esp-hal/ld/esp32c6/rom/esp32c6.rom.api.ld b/esp-hal/ld/esp32c6/rom/esp32c6.rom.api.ld new file mode 100644 index 000000000..421134e7c --- /dev/null +++ b/esp-hal/ld/esp32c6/rom/esp32c6.rom.api.ld @@ -0,0 +1,65 @@ +/* + * SPDX-FileCopyrightText: 2022-2024 Espressif Systems (Shanghai) CO LTD + * + * SPDX-License-Identifier: Apache-2.0 + */ +/** ROM APIs + */ + +PROVIDE ( esp_rom_crc32_le = crc32_le ); +PROVIDE ( esp_rom_crc16_le = crc16_le ); +PROVIDE ( esp_rom_crc8_le = crc8_le ); +PROVIDE ( esp_rom_crc32_be = crc32_be ); +PROVIDE ( esp_rom_crc16_be = crc16_be ); +PROVIDE ( esp_rom_crc8_be = crc8_be ); + +PROVIDE ( esp_rom_gpio_pad_select_gpio = gpio_pad_select_gpio ); +PROVIDE ( esp_rom_gpio_pad_pullup_only = gpio_pad_pullup ); +PROVIDE ( esp_rom_gpio_pad_set_drv = gpio_pad_set_drv ); +PROVIDE ( esp_rom_gpio_pad_unhold = gpio_pad_unhold ); +PROVIDE ( esp_rom_gpio_connect_in_signal = gpio_matrix_in ); +PROVIDE ( esp_rom_gpio_connect_out_signal = gpio_matrix_out ); + +PROVIDE ( esp_rom_efuse_mac_address_crc8 = esp_crc8 ); +PROVIDE ( esp_rom_efuse_is_secure_boot_enabled = ets_efuse_secure_boot_enabled ); + +PROVIDE ( esp_rom_uart_flush_tx = uart_tx_flush ); +PROVIDE ( esp_rom_uart_tx_one_char = uart_tx_one_char2 ); +PROVIDE ( esp_rom_uart_tx_wait_idle = uart_tx_wait_idle ); +PROVIDE ( esp_rom_uart_rx_one_char = uart_rx_one_char ); +PROVIDE ( esp_rom_uart_rx_string = UartRxString ); +PROVIDE ( esp_rom_uart_set_as_console = uart_tx_switch ); +PROVIDE ( esp_rom_uart_putc = ets_write_char_uart ); + +PROVIDE ( esp_rom_output_flush_tx = uart_tx_flush ); +PROVIDE ( esp_rom_output_tx_one_char = uart_tx_one_char ); +PROVIDE ( esp_rom_output_tx_wait_idle = uart_tx_wait_idle ); +PROVIDE ( esp_rom_output_rx_one_char = uart_rx_one_char ); +PROVIDE ( esp_rom_output_rx_string = UartRxString ); +PROVIDE ( esp_rom_output_set_as_console = uart_tx_switch ); +PROVIDE ( esp_rom_output_putc = ets_write_char_uart ); + +PROVIDE ( esp_rom_md5_init = MD5Init ); +PROVIDE ( esp_rom_md5_update = MD5Update ); +PROVIDE ( esp_rom_md5_final = MD5Final ); + +PROVIDE ( esp_rom_software_reset_system = software_reset ); +PROVIDE ( esp_rom_software_reset_cpu = software_reset_cpu ); + +PROVIDE ( esp_rom_printf = ets_printf ); +PROVIDE ( esp_rom_install_uart_printf = ets_install_uart_printf ); +PROVIDE ( esp_rom_delay_us = ets_delay_us ); +PROVIDE ( esp_rom_get_reset_reason = rtc_get_reset_reason ); +PROVIDE ( esp_rom_route_intr_matrix = intr_matrix_set ); +PROVIDE ( esp_rom_get_cpu_ticks_per_us = ets_get_cpu_frequency ); +PROVIDE ( esp_rom_set_cpu_ticks_per_us = ets_update_cpu_frequency ); + +PROVIDE ( esp_rom_spiflash_attach = spi_flash_attach ); +PROVIDE ( esp_rom_spiflash_clear_bp = esp_rom_spiflash_unlock ); +PROVIDE ( esp_rom_spiflash_write_enable = SPI_write_enable ); +PROVIDE ( esp_rom_spiflash_erase_area = SPIEraseArea ); + +PROVIDE ( esp_rom_spiflash_fix_dummylen = spi_dummy_len_fix ); +PROVIDE ( esp_rom_spiflash_set_drvs = SetSpiDrvs); +PROVIDE ( esp_rom_spiflash_select_padsfunc = SelectSpiFunction ); +PROVIDE ( esp_rom_spiflash_common_cmd = SPI_Common_Command ); diff --git a/esp-hal/ld/esp32c6/rom/esp32c6.rom.coexist.ld b/esp-hal/ld/esp32c6/rom/esp32c6.rom.coexist.ld new file mode 100644 index 000000000..5ff011973 --- /dev/null +++ b/esp-hal/ld/esp32c6/rom/esp32c6.rom.coexist.ld @@ -0,0 +1,47 @@ +/* + * SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD + * + * SPDX-License-Identifier: Apache-2.0 + */ +/* ROM function interface esp32c6.rom.coexist.ld for esp32c6 + * + * + * Generated from ./target/esp32c6/interface-esp32c6.yml md5sum 06c13e133e0743d09b87aba30d3e213b + * + * Compatible with ROM where ECO version equal or greater to 0. + * + * THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT. + */ + +/*************************************** + Group rom_coexist + ***************************************/ + +/* Functions */ +esp_coex_rom_version_get = 0x40000afc; +coex_bt_release = 0x40000b00; +coex_bt_request = 0x40000b04; +coex_core_ble_conn_dyn_prio_get = 0x40000b08; +/*coex_core_event_duration_get = 0x40000b0c;*/ +coex_core_pti_get = 0x40000b10; +coex_core_release = 0x40000b14; +coex_core_request = 0x40000b18; +coex_core_status_get = 0x40000b1c; +/*coex_core_timer_idx_get = 0x40000b20;*/ +coex_event_duration_get = 0x40000b24; +coex_hw_timer_disable = 0x40000b28; +coex_hw_timer_enable = 0x40000b2c; +coex_hw_timer_set = 0x40000b30; +coex_schm_interval_set = 0x40000b34; +coex_schm_lock = 0x40000b38; +coex_schm_unlock = 0x40000b3c; +coex_status_get = 0x40000b40; +coex_wifi_release = 0x40000b44; +esp_coex_ble_conn_dynamic_prio_get = 0x40000b48; +/* Data (.data, .bss, .rodata) */ +coex_env_ptr = 0x4087ffc4; +coex_pti_tab_ptr = 0x4087ffc0; +coex_schm_env_ptr = 0x4087ffbc; +coexist_funcs = 0x4087ffb8; +g_coa_funcs_p = 0x4087ffb4; +g_coex_param_ptr = 0x4087ffb0; diff --git a/esp-hal/ld/esp32c6/rom/esp32c6.rom.heap.ld b/esp-hal/ld/esp32c6/rom/esp32c6.rom.heap.ld new file mode 100644 index 000000000..f09bb74f0 --- /dev/null +++ b/esp-hal/ld/esp32c6/rom/esp32c6.rom.heap.ld @@ -0,0 +1,80 @@ +/* + * SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD + * + * SPDX-License-Identifier: Apache-2.0 + */ +/* ROM function interface esp32c6.rom.heap.ld for esp32c6 + * + * + * Generated from ./target/esp32c6/interface-esp32c6.yml md5sum 06c13e133e0743d09b87aba30d3e213b + * + * Compatible with ROM where ECO version equal or greater to 0. + * + * THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT. + */ + +/*************************************** + Group heap + ***************************************/ + +/* Functions */ +tlsf_create = 0x400003fc; +tlsf_create_with_pool = 0x40000400; +tlsf_get_pool = 0x40000404; +tlsf_add_pool = 0x40000408; +tlsf_remove_pool = 0x4000040c; +tlsf_malloc = 0x40000410; +tlsf_memalign = 0x40000414; +tlsf_memalign_offs = 0x40000418; +tlsf_realloc = 0x4000041c; +tlsf_free = 0x40000420; +tlsf_block_size = 0x40000424; +tlsf_size = 0x40000428; +tlsf_align_size = 0x4000042c; +tlsf_block_size_min = 0x40000430; +tlsf_block_size_max = 0x40000434; +tlsf_pool_overhead = 0x40000438; +tlsf_alloc_overhead = 0x4000043c; +tlsf_walk_pool = 0x40000440; +tlsf_check = 0x40000444; +tlsf_poison_fill_pfunc_set = 0x4000044c; +tlsf_poison_check_pfunc_set = 0x40000450; +multi_heap_get_block_address_impl = 0x40000454; +multi_heap_get_allocated_size_impl = 0x40000458; +multi_heap_register_impl = 0x4000045c; +multi_heap_set_lock = 0x40000460; +multi_heap_mutex_init = 0x40000464; +multi_heap_internal_lock = 0x40000468; +multi_heap_internal_unlock = 0x4000046c; +multi_heap_get_first_block = 0x40000470; +multi_heap_get_next_block = 0x40000474; +multi_heap_is_free = 0x40000478; +multi_heap_malloc_impl = 0x4000047c; +multi_heap_free_impl = 0x40000480; +multi_heap_realloc_impl = 0x40000484; +multi_heap_aligned_alloc_impl_offs = 0x40000488; +multi_heap_aligned_alloc_impl = 0x4000048c; +multi_heap_check = 0x40000490; +multi_heap_dump = 0x40000494; +multi_heap_free_size_impl = 0x40000498; +multi_heap_minimum_free_size_impl = 0x4000049c; +multi_heap_get_info_impl = 0x400004a0; +/* Data (.data, .bss, .rodata) */ +heap_tlsf_table_ptr = 0x4087ffd8; + +PROVIDE (multi_heap_malloc = multi_heap_malloc_impl); +PROVIDE (multi_heap_free = multi_heap_free_impl); +PROVIDE (multi_heap_realloc = multi_heap_realloc_impl); +PROVIDE (multi_heap_get_allocated_size = multi_heap_get_allocated_size_impl); +PROVIDE (multi_heap_register = multi_heap_register_impl); +PROVIDE (multi_heap_get_info = multi_heap_get_info_impl); +PROVIDE (multi_heap_free_size = multi_heap_free_size_impl); +PROVIDE (multi_heap_minimum_free_size = multi_heap_minimum_free_size_impl); +PROVIDE (multi_heap_get_block_address = multi_heap_get_block_address_impl); +PROVIDE (multi_heap_aligned_alloc = multi_heap_aligned_alloc_impl); +PROVIDE (multi_heap_aligned_free = multi_heap_aligned_free_impl); +PROVIDE (multi_heap_check = multi_heap_check); +PROVIDE (multi_heap_set_lock = multi_heap_set_lock); +PROVIDE (multi_heap_os_funcs_init = multi_heap_mutex_init); +PROVIDE (multi_heap_internal_lock = multi_heap_internal_lock); +PROVIDE (multi_heap_internal_unlock = multi_heap_internal_unlock); diff --git a/esp-hal/ld/esp32c6/rom/esp32c6.rom.ld b/esp-hal/ld/esp32c6/rom/esp32c6.rom.ld new file mode 100644 index 000000000..f8ea9d4d3 --- /dev/null +++ b/esp-hal/ld/esp32c6/rom/esp32c6.rom.ld @@ -0,0 +1,439 @@ +/* + * SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD + * + * SPDX-License-Identifier: Apache-2.0 + */ +/* ROM function interface esp32c6.rom.ld for esp32c6 + * + * + * Generated from ./target/esp32c6/interface-esp32c6.yml md5sum 06c13e133e0743d09b87aba30d3e213b + * + * Compatible with ROM where ECO version equal or greater to 0. + * + * THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT. + */ + +/*************************************** + Group common + ***************************************/ + +/* Functions */ +rtc_get_reset_reason = 0x40000018; +analog_super_wdt_reset_happened = 0x4000001c; +rtc_get_wakeup_cause = 0x40000020; +rtc_unhold_all_pads = 0x40000024; +ets_printf = 0x40000028; +ets_install_putc1 = 0x4000002c; +ets_install_putc2 = 0x40000030; +ets_install_uart_printf = 0x40000034; +ets_install_usb_printf = 0x40000038; +ets_get_printf_channel = 0x4000003c; +ets_delay_us = 0x40000040; +ets_get_cpu_frequency = 0x40000044; +ets_update_cpu_frequency = 0x40000048; +ets_install_lock = 0x4000004c; +UartRxString = 0x40000050; +UartGetCmdLn = 0x40000054; +uart_tx_one_char = 0x40000058; +uart_tx_one_char2 = 0x4000005c; +uart_rx_one_char = 0x40000060; +uart_rx_one_char_block = 0x40000064; +uart_rx_intr_handler = 0x40000068; +uart_rx_readbuff = 0x4000006c; +uartAttach = 0x40000070; +uart_tx_flush = 0x40000074; +uart_tx_wait_idle = 0x40000078; +uart_div_modify = 0x4000007c; +ets_write_char_uart = 0x40000080; +uart_tx_switch = 0x40000084; +roundup2 = 0x40000088; +multofup = 0x4000008c; +software_reset = 0x40000090; +software_reset_cpu = 0x40000094; +ets_clk_assist_debug_clock_enable = 0x40000098; +clear_super_wdt_reset_flag = 0x4000009c; +disable_default_watchdog = 0x400000a0; +esp_rom_set_rtc_wake_addr = 0x400000a4; +esp_rom_get_rtc_wake_addr = 0x400000a8; +send_packet = 0x400000ac; +recv_packet = 0x400000b0; +GetUartDevice = 0x400000b4; +UartDwnLdProc = 0x400000b8; +GetSecurityInfoProc = 0x400000bc; +Uart_Init = 0x400000c0; +ets_set_user_start = 0x400000c4; +/* Data (.data, .bss, .rodata) */ +ets_rom_layout_p = 0x4004fffc; +ets_ops_table_ptr = 0x4087fff8; +g_saved_pc = 0x4087fffc; + + +/*************************************** + Group miniz + ***************************************/ + +/* Functions */ +mz_adler32 = 0x400000c8; +mz_free = 0x400000cc; +tdefl_compress = 0x400000d0; +tdefl_compress_buffer = 0x400000d4; +tdefl_compress_mem_to_heap = 0x400000d8; +tdefl_compress_mem_to_mem = 0x400000dc; +tdefl_compress_mem_to_output = 0x400000e0; +tdefl_get_adler32 = 0x400000e4; +tdefl_get_prev_return_status = 0x400000e8; +tdefl_init = 0x400000ec; +tdefl_write_image_to_png_file_in_memory = 0x400000f0; +tdefl_write_image_to_png_file_in_memory_ex = 0x400000f4; +tinfl_decompress = 0x400000f8; +tinfl_decompress_mem_to_callback = 0x400000fc; +tinfl_decompress_mem_to_heap = 0x40000100; +tinfl_decompress_mem_to_mem = 0x40000104; + + +/*************************************** + Group tjpgd + ***************************************/ + +/* Functions */ +jd_prepare = 0x40000108; +jd_decomp = 0x4000010c; + + +/*************************************** + Group spiflash_legacy + ***************************************/ + +/* Functions */ +esp_rom_spiflash_wait_idle = 0x40000110; +esp_rom_spiflash_write_encrypted = 0x40000114; +esp_rom_spiflash_write_encrypted_dest = 0x40000118; +esp_rom_spiflash_write_encrypted_enable = 0x4000011c; +esp_rom_spiflash_write_encrypted_disable = 0x40000120; +esp_rom_spiflash_erase_chip = 0x40000124; +_esp_rom_spiflash_erase_sector = 0x40000128; +_esp_rom_spiflash_erase_block = 0x4000012c; +_esp_rom_spiflash_write = 0x40000130; +_esp_rom_spiflash_read = 0x40000134; +_esp_rom_spiflash_unlock = 0x40000138; +_SPIEraseArea = 0x4000013c; +_SPI_write_enable = 0x40000140; +esp_rom_spiflash_erase_sector = 0x40000144; +esp_rom_spiflash_erase_block = 0x40000148; +esp_rom_spiflash_write = 0x4000014c; +esp_rom_spiflash_read = 0x40000150; +esp_rom_spiflash_unlock = 0x40000154; +SPIEraseArea = 0x40000158; +SPI_write_enable = 0x4000015c; +esp_rom_spiflash_config_param = 0x40000160; +esp_rom_spiflash_read_user_cmd = 0x40000164; +esp_rom_spiflash_select_qio_pins = 0x40000168; +esp_rom_spi_flash_auto_sus_res = 0x4000016c; +esp_rom_spi_flash_send_resume = 0x40000170; +esp_rom_spi_flash_update_id = 0x40000174; +esp_rom_spiflash_config_clk = 0x40000178; +esp_rom_spiflash_config_readmode = 0x4000017c; +esp_rom_spiflash_read_status = 0x40000180; +esp_rom_spiflash_read_statushigh = 0x40000184; +esp_rom_spiflash_write_status = 0x40000188; +spi_cache_mode_switch = 0x4000018c; +spi_common_set_dummy_output = 0x40000190; +spi_common_set_flash_cs_timing = 0x40000194; +esp_rom_spi_set_address_bit_len = 0x40000198; +SPILock = 0x4000019c; +SPIMasterReadModeCnfig = 0x400001a0; +SPI_Common_Command = 0x400001a4; +SPI_WakeUp = 0x400001a8; +SPI_block_erase = 0x400001ac; +SPI_chip_erase = 0x400001b0; +SPI_init = 0x400001b4; +SPI_page_program = 0x400001b8; +SPI_read_data = 0x400001bc; +SPI_sector_erase = 0x400001c0; +SelectSpiFunction = 0x400001c4; +SetSpiDrvs = 0x400001c8; +Wait_SPI_Idle = 0x400001cc; +spi_dummy_len_fix = 0x400001d0; +Disable_QMode = 0x400001d4; +Enable_QMode = 0x400001d8; +spi_flash_attach = 0x400001dc; +spi_flash_get_chip_size = 0x400001e0; +spi_flash_guard_set = 0x400001e4; +spi_flash_guard_get = 0x400001e8; +spi_flash_read_encrypted = 0x400001ec; +/* Data (.data, .bss, .rodata) */ +rom_spiflash_legacy_funcs = 0x4087fff0; +rom_spiflash_legacy_data = 0x4087ffec; +g_flash_guard_ops = 0x4087fff4; + +/* Note: esp_rom_spiflash_write_disable was moved from esp32c6.rom.spiflash.ld */ +esp_rom_spiflash_write_disable = 0x40000278; + + +/*************************************** + Group cache + ***************************************/ + +/* Functions */ +Cache_Get_ICache_Line_Size = 0x40000628; +Cache_Get_Mode = 0x4000062c; +Cache_Address_Through_Cache = 0x40000630; +ROM_Boot_Cache_Init = 0x40000634; +MMU_Set_Page_Mode = 0x40000638; +MMU_Get_Page_Mode = 0x4000063c; +Cache_Invalidate_ICache_Items = 0x40000640; +Cache_Op_Addr = 0x40000644; +Cache_Invalidate_Addr = 0x40000648; +Cache_Invalidate_ICache_All = 0x4000064c; +Cache_Mask_All = 0x40000650; +Cache_UnMask_Dram0 = 0x40000654; +Cache_Suspend_ICache_Autoload = 0x40000658; +Cache_Resume_ICache_Autoload = 0x4000065c; +Cache_Start_ICache_Preload = 0x40000660; +Cache_ICache_Preload_Done = 0x40000664; +Cache_End_ICache_Preload = 0x40000668; +Cache_Config_ICache_Autoload = 0x4000066c; +Cache_Enable_ICache_Autoload = 0x40000670; +Cache_Disable_ICache_Autoload = 0x40000674; +Cache_Enable_ICache_PreLock = 0x40000678; +Cache_Disable_ICache_PreLock = 0x4000067c; +Cache_Lock_ICache_Items = 0x40000680; +Cache_Unlock_ICache_Items = 0x40000684; +Cache_Lock_Addr = 0x40000688; +Cache_Unlock_Addr = 0x4000068c; +Cache_Disable_ICache = 0x40000690; +Cache_Enable_ICache = 0x40000694; +Cache_Suspend_ICache = 0x40000698; +Cache_Resume_ICache = 0x4000069c; +Cache_Freeze_ICache_Enable = 0x400006a0; +Cache_Freeze_ICache_Disable = 0x400006a4; +Cache_Set_IDROM_MMU_Size = 0x400006a8; +Cache_Get_IROM_MMU_End = 0x400006ac; +Cache_Get_DROM_MMU_End = 0x400006b0; +Cache_MMU_Init = 0x400006b4; +Cache_MSPI_MMU_Set = 0x400006b8; +Cache_Travel_Tag_Memory = 0x400006bc; +Cache_Get_Virtual_Addr = 0x400006c0; +/* Data (.data, .bss, .rodata) */ +rom_cache_op_cb = 0x4087ffcc; +rom_cache_internal_table_ptr = 0x4087ffc8; + + +/*************************************** + Group clock + ***************************************/ + +/* Functions */ +ets_clk_get_xtal_freq = 0x400006c4; +ets_clk_get_cpu_freq = 0x400006c8; +ets_clk_apb_wait_ready = 0x400006cc; +ets_clk_mspi_apb_wait_ready = 0x400006d0; + + +/*************************************** + Group gpio + ***************************************/ + +/* Functions */ +gpio_input_get = 0x400006d4; +gpio_matrix_in = 0x400006d8; +gpio_matrix_out = 0x400006dc; +gpio_output_disable = 0x400006e0; +gpio_output_enable = 0x400006e4; +gpio_output_set = 0x400006e8; +gpio_pad_hold = 0x400006ec; +gpio_pad_input_disable = 0x400006f0; +gpio_pad_input_enable = 0x400006f4; +gpio_pad_pulldown = 0x400006f8; +gpio_pad_pullup = 0x400006fc; +gpio_pad_select_gpio = 0x40000700; +gpio_pad_set_drv = 0x40000704; +gpio_pad_unhold = 0x40000708; +gpio_pin_wakeup_disable = 0x4000070c; +gpio_pin_wakeup_enable = 0x40000710; +gpio_bypass_matrix_in = 0x40000714; + + +/*************************************** + Group interrupts + ***************************************/ + +/* Functions */ +esprv_intc_int_set_priority = 0x40000718; +esprv_intc_int_set_threshold = 0x4000071c; +esprv_intc_int_enable = 0x40000720; +esprv_intc_int_disable = 0x40000724; +esprv_intc_int_set_type = 0x40000728; +PROVIDE( intr_handler_set = 0x4000072c ); +intr_matrix_set = 0x40000730; +ets_intr_lock = 0x40000734; +ets_intr_unlock = 0x40000738; +ets_isr_attach = 0x4000073c; +ets_isr_mask = 0x40000740; +ets_isr_unmask = 0x40000744; + + +/*************************************** + Group crypto + ***************************************/ + +/* Functions */ +md5_vector = 0x40000748; +MD5Init = 0x4000074c; +MD5Update = 0x40000750; +MD5Final = 0x40000754; +crc32_le = 0x40000758; +crc16_le = 0x4000075c; +crc8_le = 0x40000760; +crc32_be = 0x40000764; +crc16_be = 0x40000768; +crc8_be = 0x4000076c; +esp_crc8 = 0x40000770; +ets_sha_enable = 0x40000774; +ets_sha_disable = 0x40000778; +ets_sha_get_state = 0x4000077c; +ets_sha_init = 0x40000780; +ets_sha_process = 0x40000784; +ets_sha_starts = 0x40000788; +ets_sha_update = 0x4000078c; +ets_sha_finish = 0x40000790; +ets_sha_clone = 0x40000794; +ets_hmac_enable = 0x40000798; +ets_hmac_disable = 0x4000079c; +ets_hmac_calculate_message = 0x400007a0; +ets_hmac_calculate_downstream = 0x400007a4; +ets_hmac_invalidate_downstream = 0x400007a8; +ets_jtag_enable_temporarily = 0x400007ac; +ets_aes_enable = 0x400007b0; +ets_aes_disable = 0x400007b4; +ets_aes_setkey = 0x400007b8; +ets_aes_block = 0x400007bc; +ets_aes_setkey_dec = 0x400007c0; +ets_aes_setkey_enc = 0x400007c4; +ets_bigint_enable = 0x400007c8; +ets_bigint_disable = 0x400007cc; +ets_bigint_multiply = 0x400007d0; +ets_bigint_modmult = 0x400007d4; +ets_bigint_modexp = 0x400007d8; +ets_bigint_wait_finish = 0x400007dc; +ets_bigint_getz = 0x400007e0; +ets_ds_enable = 0x400007e4; +ets_ds_disable = 0x400007e8; +ets_ds_start_sign = 0x400007ec; +ets_ds_is_busy = 0x400007f0; +ets_ds_finish_sign = 0x400007f4; +ets_ds_encrypt_params = 0x400007f8; +ets_mgf1_sha256 = 0x400007fc; +/* Data (.data, .bss, .rodata) */ +crc32_le_table_ptr = 0x4004fff8; +crc16_le_table_ptr = 0x4004fff4; +crc8_le_table_ptr = 0x4004fff0; +crc32_be_table_ptr = 0x4004ffec; +crc16_be_table_ptr = 0x4004ffe8; +crc8_be_table_ptr = 0x4004ffe4; + + +/*************************************** + Group efuse + ***************************************/ + +/* Functions */ +ets_efuse_read = 0x40000800; +ets_efuse_program = 0x40000804; +ets_efuse_clear_program_registers = 0x40000808; +ets_efuse_write_key = 0x4000080c; +ets_efuse_get_read_register_address = 0x40000810; +ets_efuse_get_key_purpose = 0x40000814; +ets_efuse_key_block_unused = 0x40000818; +ets_efuse_find_unused_key_block = 0x4000081c; +ets_efuse_rs_calculate = 0x40000820; +ets_efuse_count_unused_key_blocks = 0x40000824; +ets_efuse_secure_boot_enabled = 0x40000828; +ets_efuse_secure_boot_aggressive_revoke_enabled = 0x4000082c; +ets_efuse_cache_encryption_enabled = 0x40000830; +ets_efuse_download_modes_disabled = 0x40000834; +ets_efuse_find_purpose = 0x40000838; +ets_efuse_force_send_resume = 0x4000083c; +ets_efuse_get_flash_delay_us = 0x40000840; +ets_efuse_get_mac = 0x40000844; +ets_efuse_get_uart_print_control = 0x40000848; +ets_efuse_direct_boot_mode_disabled = 0x4000084c; +ets_efuse_security_download_modes_enabled = 0x40000850; +ets_efuse_set_timing = 0x40000854; +ets_efuse_jtag_disabled = 0x40000858; +ets_efuse_usb_print_is_disabled = 0x4000085c; +ets_efuse_usb_download_mode_disabled = 0x40000860; +ets_efuse_usb_device_disabled = 0x40000864; +ets_efuse_secure_boot_fast_wake_enabled = 0x40000868; + + +/*************************************** + Group secureboot + ***************************************/ + +/* Functions */ +ets_emsa_pss_verify = 0x4000086c; +ets_rsa_pss_verify = 0x40000870; +ets_secure_boot_verify_bootloader_with_keys = 0x40000874; +ets_secure_boot_verify_signature = 0x40000878; +ets_secure_boot_read_key_digests = 0x4000087c; +ets_secure_boot_revoke_public_key_digest = 0x40000880; + + +/*************************************** + Group usb_device_uart + ***************************************/ + +/* Functions */ +usb_serial_device_rx_one_char = 0x40000a80; +usb_serial_device_rx_one_char_block = 0x40000a84; +usb_serial_device_tx_flush = 0x40000a88; +usb_serial_device_tx_one_char = 0x40000a8c; + + +/*************************************** + Group lldesc + ***************************************/ + +/* Functions */ +lldesc_build_chain = 0x40000a90; + + +/*************************************** + Group sip + ***************************************/ + +/* Functions */ +sip_after_tx_complete = 0x40000a94; +sip_alloc_to_host_evt = 0x40000a98; +sip_download_begin = 0x40000a9c; +sip_get_ptr = 0x40000aa0; +sip_get_state = 0x40000aa4; +sip_init_attach = 0x40000aa8; +sip_install_rx_ctrl_cb = 0x40000aac; +sip_install_rx_data_cb = 0x40000ab0; +sip_is_active = 0x40000ab4; +sip_post_init = 0x40000ab8; +sip_reclaim_from_host_cmd = 0x40000abc; +sip_reclaim_tx_data_pkt = 0x40000ac0; +sip_send = 0x40000ac4; +sip_to_host_chain_append = 0x40000ac8; +sip_to_host_evt_send_done = 0x40000acc; + + +/*************************************** + Group slc + ***************************************/ + +/* Functions */ +slc_add_credits = 0x40000ad0; +slc_enable = 0x40000ad4; +slc_from_host_chain_fetch = 0x40000ad8; +slc_from_host_chain_recycle = 0x40000adc; +slc_has_pkt_to_host = 0x40000ae0; +slc_init_attach = 0x40000ae4; +slc_init_credit = 0x40000ae8; +slc_reattach = 0x40000aec; +slc_send_to_host_chain = 0x40000af0; +slc_set_host_io_max_window = 0x40000af4; +slc_to_host_chain_recycle = 0x40000af8; diff --git a/esp-hal/ld/esp32c6/rom/esp32c6.rom.libgcc.ld b/esp-hal/ld/esp32c6/rom/esp32c6.rom.libgcc.ld new file mode 100644 index 000000000..b43497040 --- /dev/null +++ b/esp-hal/ld/esp32c6/rom/esp32c6.rom.libgcc.ld @@ -0,0 +1,112 @@ +/* + * SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD + * + * SPDX-License-Identifier: Apache-2.0 + */ +/* ROM function interface esp32c6.rom.libgcc.ld for esp32c6 + * + * + * Generated from ./target/esp32c6/interface-esp32c6.yml md5sum 06c13e133e0743d09b87aba30d3e213b + * + * Compatible with ROM where ECO version equal or greater to 0. + * + * THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT. + */ + +/*************************************** + Group libgcc + ***************************************/ + +/* Functions */ +__absvdi2 = 0x40000884; +__absvsi2 = 0x40000888; +__adddf3 = 0x4000088c; +__addsf3 = 0x40000890; +__addvdi3 = 0x40000894; +__addvsi3 = 0x40000898; +__ashldi3 = 0x4000089c; +__ashrdi3 = 0x400008a0; +__bswapdi2 = 0x400008a4; +__bswapsi2 = 0x400008a8; +__clear_cache = 0x400008ac; +__clrsbdi2 = 0x400008b0; +__clrsbsi2 = 0x400008b4; +__clzdi2 = 0x400008b8; +__clzsi2 = 0x400008bc; +__cmpdi2 = 0x400008c0; +__ctzdi2 = 0x400008c4; +__ctzsi2 = 0x400008c8; +__divdc3 = 0x400008cc; +__divdf3 = 0x400008d0; +__divdi3 = 0x400008d4; +__divsc3 = 0x400008d8; +__divsf3 = 0x400008dc; +__divsi3 = 0x400008e0; +__eqdf2 = 0x400008e4; +__eqsf2 = 0x400008e8; +__extendsfdf2 = 0x400008ec; +__ffsdi2 = 0x400008f0; +__ffssi2 = 0x400008f4; +__fixdfdi = 0x400008f8; +__fixdfsi = 0x400008fc; +__fixsfdi = 0x40000900; +__fixsfsi = 0x40000904; +__fixunsdfsi = 0x40000908; +__fixunssfdi = 0x4000090c; +__fixunssfsi = 0x40000910; +__floatdidf = 0x40000914; +__floatdisf = 0x40000918; +__floatsidf = 0x4000091c; +__floatsisf = 0x40000920; +__floatundidf = 0x40000924; +__floatundisf = 0x40000928; +__floatunsidf = 0x4000092c; +__floatunsisf = 0x40000930; +__gcc_bcmp = 0x40000934; +__gedf2 = 0x40000938; +__gesf2 = 0x4000093c; +__gtdf2 = 0x40000940; +__gtsf2 = 0x40000944; +__ledf2 = 0x40000948; +__lesf2 = 0x4000094c; +__lshrdi3 = 0x40000950; +__ltdf2 = 0x40000954; +__ltsf2 = 0x40000958; +__moddi3 = 0x4000095c; +__modsi3 = 0x40000960; +__muldc3 = 0x40000964; +__muldf3 = 0x40000968; +__muldi3 = 0x4000096c; +__mulsc3 = 0x40000970; +__mulsf3 = 0x40000974; +__mulsi3 = 0x40000978; +__mulvdi3 = 0x4000097c; +__mulvsi3 = 0x40000980; +__nedf2 = 0x40000984; +__negdf2 = 0x40000988; +__negdi2 = 0x4000098c; +__negsf2 = 0x40000990; +__negvdi2 = 0x40000994; +__negvsi2 = 0x40000998; +__nesf2 = 0x4000099c; +__paritysi2 = 0x400009a0; +__popcountdi2 = 0x400009a4; +__popcountsi2 = 0x400009a8; +__powidf2 = 0x400009ac; +__powisf2 = 0x400009b0; +__subdf3 = 0x400009b4; +__subsf3 = 0x400009b8; +__subvdi3 = 0x400009bc; +__subvsi3 = 0x400009c0; +__truncdfsf2 = 0x400009c4; +__ucmpdi2 = 0x400009c8; +__udivdi3 = 0x400009cc; +__udivmoddi4 = 0x400009d0; +__udivsi3 = 0x400009d4; +__udiv_w_sdiv = 0x400009d8; +__umoddi3 = 0x400009dc; +__umodsi3 = 0x400009e0; +__unorddf2 = 0x400009e4; +__unordsf2 = 0x400009e8; +__extenddftf2 = 0x400009ec; +__trunctfdf2 = 0x400009f0; diff --git a/esp-hal/ld/esp32c6/rom/esp32c6.rom.net80211.ld b/esp-hal/ld/esp32c6/rom/esp32c6.rom.net80211.ld new file mode 100644 index 000000000..56761322b --- /dev/null +++ b/esp-hal/ld/esp32c6/rom/esp32c6.rom.net80211.ld @@ -0,0 +1,67 @@ +/* + * SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD + * + * SPDX-License-Identifier: Apache-2.0 + */ +/* ROM function interface esp32c6.rom.net80211.ld for esp32c6 + * + * + * Generated from ./target/esp32c6/interface-esp32c6.yml md5sum 06c13e133e0743d09b87aba30d3e213b + * + * Compatible with ROM where ECO version equal or greater to 0. + * + * THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT. + */ + +/*************************************** + Group rom_net80211 + ***************************************/ + +/* Functions */ +esp_net80211_rom_version_get = 0x40000b4c; +ampdu_dispatch = 0x40000b50; +ampdu_dispatch_all = 0x40000b54; +ampdu_dispatch_as_many_as_possible = 0x40000b58; +ampdu_dispatch_movement = 0x40000b5c; +ampdu_dispatch_upto = 0x40000b60; +chm_is_at_home_channel = 0x40000b64; +cnx_node_is_existing = 0x40000b68; +cnx_node_search = 0x40000b6c; +ic_ebuf_recycle_rx = 0x40000b70; +ic_ebuf_recycle_tx = 0x40000b74; +ic_reset_rx_ba = 0x40000b78; +ieee80211_align_eb = 0x40000b7c; +/*ieee80211_ampdu_reorder = 0x40000b80;*/ +ieee80211_ampdu_start_age_timer = 0x40000b84; +/*ieee80211_encap_esfbuf = 0x40000b88;*/ +ieee80211_is_tx_allowed = 0x40000b8c; +ieee80211_output_pending_eb = 0x40000b90; +/*ieee80211_output_process = 0x40000b94;*/ +//ieee80211_set_tx_desc = 0x40000b98; +//sta_input = 0x40000b9c; +wifi_get_macaddr = 0x40000ba0; +wifi_rf_phy_disable = 0x40000ba4; +wifi_rf_phy_enable = 0x40000ba8; +ic_ebuf_alloc = 0x40000bac; +/*ieee80211_classify = 0x40000bb0;*/ +ieee80211_copy_eb_header = 0x40000bb4; +ieee80211_recycle_cache_eb = 0x40000bb8; +ieee80211_search_node = 0x40000bbc; +ieee80211_crypto_encap = 0x40000bc0; +/* ieee80211_crypto_decap = 0x40000bc4; */ +ieee80211_decap = 0x40000bc8; +wifi_is_started = 0x40000bcc; +ieee80211_gettid = 0x40000bd0; +//ieee80211_encap_esfbuf_htc = 0x40000bd4; +/* Data (.data, .bss, .rodata) */ +net80211_funcs = 0x4087ffac; +g_scan = 0x4087ffa8; +g_chm = 0x4087ffa4; +g_ic_ptr = 0x4087ffa0; +g_hmac_cnt_ptr = 0x4087ff9c; +g_tx_cacheq_ptr = 0x4087ff98; +s_netstack_free = 0x4087ff94; +mesh_rxcb = 0x4087ff90; +sta_rxcb = 0x4087ff8c; +g_itwt_fid = 0x4087ff88; +esp_test_tx_addba_request = 0x4087ff84; diff --git a/esp-hal/ld/esp32c6/rom/esp32c6.rom.phy.ld b/esp-hal/ld/esp32c6/rom/esp32c6.rom.phy.ld new file mode 100644 index 000000000..94abe7c75 --- /dev/null +++ b/esp-hal/ld/esp32c6/rom/esp32c6.rom.phy.ld @@ -0,0 +1,245 @@ +/* + * SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD + * + * SPDX-License-Identifier: Apache-2.0 + */ +/* ROM function interface esp32c6.rom.phy.ld for esp32c6 + * + * + * Generated from ./target/esp32c6/interface-esp32c6.yml md5sum 06c13e133e0743d09b87aba30d3e213b + * + * Compatible with ROM where ECO version equal or greater to 0. + * + * THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT. + */ + +/*************************************** + Group rom_phy + ***************************************/ + +/* Functions */ +phy_param_addr = 0x40001104; +phy_get_romfuncs = 0x40001108; +chip761_phyrom_version = 0x4000110c; +chip761_phyrom_version_num = 0x40001110; +get_rc_dout = 0x40001114; +rc_cal = 0x40001118; +rom_enter_critical_phy = 0x4000111c; +rom_exit_critical_phy = 0x40001120; +rom_set_chan_cal_interp = 0x40001124; +rom_loopback_mode_en = 0x40001128; +rom_bb_bss_cbw40 = 0x4000112c; +abs_temp = 0x40001130; +get_data_sat = 0x40001134; +phy_byte_to_word = 0x40001138; +set_chan_reg = 0x4000113c; +i2c_master_reset = 0x40001140; +rom_set_chan_freq_sw_start = 0x40001144; +freq_module_resetn = 0x40001148; +freq_chan_en_sw = 0x4000114c; +write_chan_freq = 0x40001150; +get_freq_mem_param = 0x40001154; +get_freq_mem_addr = 0x40001158; +bt_txpwr_freq = 0x4000115c; +wr_rf_freq_mem = 0x40001160; +read_rf_freq_mem = 0x40001164; +freq_i2c_mem_write = 0x40001168; +freq_num_get_data = 0x4000116c; +freq_i2c_num_addr = 0x40001170; +freq_i2c_write_set = 0x40001174; +pll_dac_mem_update = 0x40001178; +pll_cap_mem_update = 0x4000117c; +get_rf_freq_cap = 0x40001180; +get_rf_freq_init = 0x40001184; +phy_en_hw_set_freq = 0x40001188; +phy_dis_hw_set_freq = 0x4000118c; +rom_pwdet_sar2_init = 0x40001190; +rom_en_pwdet = 0x40001194; +rom_get_sar_sig_ref = 0x40001198; +rom_pwdet_tone_start = 0x4000119c; +rom_pwdet_wait_idle = 0x400011a0; +rom_read_sar_dout = 0x400011a4; +get_tone_sar_dout = 0x400011a8; +get_fm_sar_dout = 0x400011ac; +txtone_linear_pwr = 0x400011b0; +linear_to_db = 0x400011b4; +get_power_db = 0x400011b8; +meas_tone_pwr_db = 0x400011bc; +pkdet_vol_start = 0x400011c0; +read_sar2_code = 0x400011c4; +get_sar2_vol = 0x400011c8; +get_pll_vol = 0x400011cc; +tx_pwctrl_bg_init = 0x400011d0; +phy_pwdet_always_en = 0x400011d4; +phy_pwdet_onetime_en = 0x400011d8; +esp_tx_state_out_rom = 0x400011dc; +ant_dft_cfg_rom = 0x400011e0; +ant_wifitx_cfg_rom = 0x400011e4; +ant_wifirx_cfg_rom = 0x400011e8; +ant_bttx_cfg_rom = 0x400011ec; +ant_btrx_cfg_rom = 0x400011f0; +phy_chan_dump_cfg_rom = 0x400011f4; +phy_enable_low_rate = 0x400011f8; +phy_disable_low_rate = 0x400011fc; +phy_is_low_rate_enabled = 0x40001200; +phy_dig_reg_backup_rom = 0x40001204; +phy_chan_filt_set_rom = 0x40001208; +phy_rx11blr_cfg = 0x4000120c; +set_cca_rom = 0x40001210; +set_rx_sense_rom = 0x40001214; +rx_gain_force_rom = 0x40001218; +rom_rfpll_set_freq = 0x4000121c; +mhz2ieee = 0x40001220; +chan_to_freq = 0x40001224; +restart_cal = 0x40001228; +write_rfpll_sdm = 0x4000122c; +wait_rfpll_cal_end = 0x40001230; +set_rf_freq_offset = 0x40001234; +set_rfpll_freq = 0x40001238; +set_channel_rfpll_freq = 0x4000123c; +rfpll_cap_correct = 0x40001240; +rfpll_cap_init_cal = 0x40001244; +write_pll_cap = 0x40001248; +read_pll_cap = 0x4000124c; +chip_v7_set_chan_ana = 0x40001250; +freq_set_reg = 0x40001254; +gen_rx_gain_table = 0x40001258; +bt_txdc_cal = 0x4000125c; +bt_txiq_cal = 0x40001260; +txiq_cal_init = 0x40001264; +txdc_cal_init = 0x40001268; +txdc_cal = 0x4000126c; +txiq_get_mis_pwr = 0x40001270; +txiq_cover = 0x40001274; +rfcal_txiq = 0x40001278; +get_power_atten = 0x4000127c; +pwdet_ref_code = 0x40001280; +pwdet_code_cal = 0x40001284; +rfcal_txcap = 0x40001288; +tx_cap_init = 0x4000128c; +rfcal_pwrctrl = 0x40001290; +tx_pwctrl_init_cal = 0x40001294; +tx_pwctrl_init = 0x40001298; +bt_tx_pwctrl_init = 0x4000129c; +rom_i2c_enter_critical = 0x400012a0; +rom_i2c_exit_critical = 0x400012a4; +rom_get_i2c_read_mask = 0x400012a8; +rom_get_i2c_mst0_mask = 0x400012ac; +rom_get_i2c_hostid = 0x400012b0; +rom_chip_i2c_readReg_org = 0x400012b4; +rom_chip_i2c_readReg = 0x400012b8; +rom_chip_i2c_writeReg = 0x400012c0; +rom_set_txcap_reg = 0x400012d0; +i2c_paral_set_mst0 = 0x400012d4; +i2c_paral_set_read = 0x400012d8; +i2c_paral_read = 0x400012dc; +i2c_paral_write = 0x400012e0; +i2c_paral_write_num = 0x400012e4; +i2c_paral_write_mask = 0x400012e8; +i2c_sar2_init_code = 0x400012ec; +rom_pbus_force_mode = 0x400012f0; +rom_pbus_rd_addr = 0x400012f4; +rom_pbus_rd_shift = 0x400012f8; +rom_pbus_force_test = 0x400012fc; +rom_pbus_rd = 0x40001300; +rom_pbus_set_rxgain = 0x40001304; +rom_pbus_xpd_rx_off = 0x40001308; +rom_pbus_xpd_rx_on = 0x4000130c; +rom_pbus_xpd_tx_off = 0x40001310; +rom_pbus_xpd_tx_on = 0x40001314; +rom_set_loopback_gain = 0x40001318; +rom_txcal_debuge_mode = 0x4000131c; +pbus_debugmode = 0x40001320; +pbus_workmode = 0x40001324; +pbus_set_dco = 0x40001328; +txcal_work_mode = 0x4000132c; +rom_start_tx_tone_step = 0x40001330; +rom_stop_tx_tone = 0x40001334; +disable_agc = 0x40001338; +enable_agc = 0x4000133c; +phy_disable_cca = 0x40001340; +phy_enable_cca = 0x40001344; +write_gain_mem = 0x40001348; +bb_bss_cbw40_dig = 0x4000134c; +cbw2040_cfg = 0x40001350; +mac_tx_chan_offset = 0x40001354; +tx_paon_set = 0x40001358; +pwdet_reg_init = 0x4000135c; +i2cmst_reg_init = 0x40001360; +bt_gain_offset = 0x40001364; +fe_reg_init = 0x40001368; +mac_enable_bb = 0x4000136c; +bb_wdg_cfg = 0x40001370; +fe_txrx_reset = 0x40001374; +set_rx_comp = 0x40001378; +agc_reg_init = 0x4000137c; +bb_reg_init = 0x40001380; +open_i2c_xpd = 0x40001384; +txiq_set_reg = 0x40001388; +rxiq_set_reg = 0x4000138c; +set_txclk_en = 0x40001390; +set_rxclk_en = 0x40001394; +bb_wdg_test_en = 0x40001398; +noise_floor_auto_set = 0x4000139c; +read_hw_noisefloor = 0x400013a0; +iq_corr_enable = 0x400013a4; +wifi_agc_sat_gain = 0x400013a8; +phy_bbpll_cal = 0x400013ac; +phy_ant_init = 0x400013b0; +phy_set_bbfreq_init = 0x400013b4; +wifi_fbw_sel = 0x400013b8; +bt_filter_reg = 0x400013bc; +phy_rx_sense_set = 0x400013c0; +tx_state_set = 0x400013c4; +phy_close_pa = 0x400013c8; +phy_freq_correct = 0x400013cc; +set_pbus_reg = 0x400013d0; +wifi_rifs_mode_en = 0x400013d4; +nrx_freq_set = 0x400013d8; +fe_adc_on = 0x400013dc; +phy_force_pwr_index = 0x400013e0; +rom_iq_est_enable = 0x400013e4; +rom_iq_est_disable = 0x400013e8; +rom_bb_gain_index = 0x400013ec; +rom_rfrx_gain_index = 0x400013f0; +dc_iq_est = 0x400013f4; +set_cal_rxdc = 0x400013f8; +rxiq_get_mis = 0x400013fc; +rxiq_cover_mg_mp = 0x40001400; +rfcal_rxiq = 0x40001404; +get_rfcal_rxiq_data = 0x40001408; +get_dco_comp = 0x4000140c; +pbus_rx_dco_cal = 0x40001410; +rxdc_est_min = 0x40001414; +pbus_rx_dco_cal_1step = 0x40001418; +set_lb_txiq = 0x4000141c; +set_rx_gain_cal_iq = 0x40001420; +set_rx_gain_cal_dc = 0x40001424; +spur_reg_write_one_tone = 0x40001428; +spur_cal = 0x4000142c; +spur_coef_cfg = 0x40001430; +tsens_power_up = 0x40001434; +tsens_read_init = 0x40001438; +code_to_temp = 0x4000143c; +tsens_index_to_dac = 0x40001440; +tsens_index_to_offset = 0x40001444; +tsens_dac_cal = 0x40001448; +tsens_code_read = 0x4000144c; +tsens_temp_read = 0x40001450; +temp_to_power = 0x40001454; +get_temp_init = 0x40001458; +txbbgain_to_index = 0x4000145c; +index_to_txbbgain = 0x40001460; +bt_index_to_bb = 0x40001464; +bt_bb_to_index = 0x40001468; +bt_get_tx_gain = 0x4000146c; +dig_gain_check = 0x40001470; +wifi_get_tx_gain = 0x40001474; +wifi_11g_rate_chg = 0x40001478; +bt_chan_pwr_interp = 0x4000147c; +get_rate_fcc_index = 0x40001480; +get_chan_target_power = 0x40001484; +get_tx_gain_value = 0x40001488; +wifi_get_target_power = 0x4000148c; +/* Data (.data, .bss, .rodata) */ +phy_param_rom = 0x4087fce8; diff --git a/esp-hal/ld/esp32c6/rom/esp32c6.rom.pp.ld b/esp-hal/ld/esp32c6/rom/esp32c6.rom.pp.ld new file mode 100644 index 000000000..24ae23143 --- /dev/null +++ b/esp-hal/ld/esp32c6/rom/esp32c6.rom.pp.ld @@ -0,0 +1,459 @@ +/* + * SPDX-FileCopyrightText: 2022-2024 Espressif Systems (Shanghai) CO LTD + * + * SPDX-License-Identifier: Apache-2.0 + */ +/* ROM function interface esp32c6.rom.pp.ld for esp32c6 + * + * + * Generated from ./target/esp32c6/interface-esp32c6.yml md5sum 06c13e133e0743d09b87aba30d3e213b + * + * Compatible with ROM where ECO version equal or greater to 0. + * + * THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT. + */ + +/*************************************** + Group rom_pp + ***************************************/ + +/* Functions */ +esp_pp_rom_version_get = 0x40000bd8; +ppCalTxopRTSThreshold = 0x40000bdc; +RC_GetBlockAckTime = 0x40000be0; +ebuf_list_remove = 0x40000be4; +//esf_buf_alloc = 0x40000be8; +//esf_buf_alloc_dynamic = 0x40000bec; +//esf_buf_recycle = 0x40000bf0; +GetAccess = 0x40000bf4; +hal_mac_is_low_rate_enabled = 0x40000bf8; +hal_mac_tx_get_blockack = 0x40000bfc; +//hal_mac_tx_set_ppdu = 0x40000c00; +ic_get_trc = 0x40000c04; +//ic_mac_deinit = 0x40000c08; +ic_mac_init = 0x40000c0c; +ic_interface_enabled = 0x40000c10; +is_lmac_idle = 0x40000c14; +/*lmacAdjustTimestamp = 0x40000c18;*/ +lmacDiscardAgedMSDU = 0x40000c1c; +/*lmacDiscardMSDU = 0x40000c20;*/ +/*lmacEndFrameExchangeSequence = 0x40000c24;*/ +lmacIsIdle = 0x40000c28; +lmacIsLongFrame = 0x40000c2c; +/*lmacMSDUAged = 0x40000c30;*/ +lmacPostTxComplete = 0x40000c34; +lmacProcessAllTxTimeout = 0x40000c38; +lmacProcessCollisions = 0x40000c3c; +//lmacProcessRxSucData = 0x40000c40; +lmacReachLongLimit = 0x40000c44; +lmacReachShortLimit = 0x40000c48; +lmacRecycleMPDU = 0x40000c4c; +lmacRxDone = 0x40000c50; +//lmacSetTxFrame = 0x40000c54; +//lmacTxDone = 0x40000c58; +//lmacTxFrame = 0x40000c5c; +mac_tx_set_duration = 0x40000c60; +//mac_tx_set_plcp0 = 0x40000c64; +//mac_tx_set_plcp1 = 0x40000c68; +mac_tx_set_plcp2 = 0x40000c6c; +/* pm_check_state = 0x40000c70; */ +/* pm_disable_dream_timer = 0x40000c74; */ +pm_disable_sleep_delay_timer = 0x40000c78; +/*pm_dream = 0x40000c7c;*/ +pm_mac_wakeup = 0x40000c80; +pm_mac_sleep = 0x40000c84; +//pm_enable_active_timer = 0x40000c88; +pm_enable_sleep_delay_timer = 0x40000c8c; +pm_local_tsf_process = 0x40000c90; +//pm_set_beacon_filter = 0x40000c94; +pm_is_in_wifi_slice_threshold = 0x40000c98; +pm_is_waked = 0x40000c9c; +//pm_keep_alive = 0x40000ca0; +/* pm_on_beacon_rx = 0x40000ca4; */ +pm_on_data_rx = 0x40000ca8; +//pm_on_tbtt = 0x40000cac; +/* pm_parse_beacon = 0x40000cb0; */ +//pm_process_tim = 0x40000cb4; +//pm_rx_beacon_process = 0x40000cb8; +/* pm_rx_data_process = 0x40000cbc; */ +//pm_sleep = 0x40000cc0; +pm_sleep_for = 0x40000cc4; +//pm_tbtt_process = 0x40000cc8; +ppAMPDU2Normal = 0x40000ccc; +/* ppAssembleAMPDU = 0x40000cd0; */ +ppCalFrameTimes = 0x40000cd4; +ppCalSubFrameLength = 0x40000cd8; +//ppCalTxAMPDULength = 0x40000cdc; +ppCheckTxAMPDUlength = 0x40000ce0; +ppDequeueRxq_Locked = 0x40000ce4; +ppDequeueTxQ = 0x40000ce8; +ppEmptyDelimiterLength = 0x40000cec; +ppEnqueueRxq = 0x40000cf0; +ppEnqueueTxDone = 0x40000cf4; +ppGetTxframe = 0x40000cf8; +//ppMapTxQueue = 0x40000cfc; +//ppProcTxSecFrame = 0x40000d00; +ppProcessRxPktHdr = 0x40000d04; +//ppProcessTxQ = 0x40000d08; +ppRecordBarRRC = 0x40000d0c; +ppRecycleAmpdu = 0x40000d10; +ppRecycleRxPkt = 0x40000d14; +//ppResortTxAMPDU = 0x40000d18; +ppResumeTxAMPDU = 0x40000d1c; +/*ppRxFragmentProc = 0x40000d20;*/ +//ppRxPkt = 0x40000d24; +ppRxProtoProc = 0x40000d28; +ppSearchTxQueue = 0x40000d2c; +ppSearchTxframe = 0x40000d30; +ppSelectNextQueue = 0x40000d34; +ppSubFromAMPDU = 0x40000d38; +//ppTask = 0x40000d3c; +//ppTxPkt = 0x40000d40; +ppTxProtoProc = 0x40000d44; +ppTxqUpdateBitmap = 0x40000d48; +/*pp_coex_tx_request = 0x40000d4c;*/ +pp_hdrsize = 0x40000d50; +pp_post = 0x40000d54; +pp_process_hmac_waiting_txq = 0x40000d58; +rcGetAmpduSched = 0x40000d5c; +rcUpdateRxDone = 0x40000d60; +rc_get_trc = 0x40000d64; +rc_get_trc_by_index = 0x40000d68; +rcAmpduLowerRate = 0x40000d6c; +rcampduuprate = 0x40000d70; +rcClearCurAMPDUSched = 0x40000d74; +rcClearCurSched = 0x40000d78; +rcClearCurStat = 0x40000d7c; +/*rcGetSched = 0x40000d80;*/ +rcLowerSched = 0x40000d84; +rcSetTxAmpduLimit = 0x40000d88; +rcTxUpdatePer = 0x40000d8c; +rcUpdateAckSnr = 0x40000d90; +/*rcUpdateRate = 0x40000d94;*/ +rcUpdateTxDone = 0x40000d98; +rcUpdateTxDoneAmpdu2 = 0x40000d9c; +rcUpSched = 0x40000da0; +rssi_margin = 0x40000da4; +rx11NRate2AMPDULimit = 0x40000da8; +TRC_AMPDU_PER_DOWN_THRESHOLD = 0x40000dac; +TRC_AMPDU_PER_UP_THRESHOLD = 0x40000db0; +trc_calc_duration = 0x40000db4; +trc_isTxAmpduOperational = 0x40000db8; +trc_onAmpduOp = 0x40000dbc; +TRC_PER_IS_GOOD = 0x40000dc0; +trc_SetTxAmpduState = 0x40000dc4; +trc_tid_isTxAmpduOperational = 0x40000dc8; +trcAmpduSetState = 0x40000dcc; +//wDevCheckBlockError = 0x40000dd0; +/*wDev_AppendRxBlocks = 0x40000dd4;*/ +wDev_DiscardFrame = 0x40000dd8; +wDev_GetNoiseFloor = 0x40000ddc; +wDev_IndicateAmpdu = 0x40000de0; +//wDev_IndicateFrame = 0x40000de4; +wdev_mac_reg_load = 0x40000de8; +wdev_mac_reg_store = 0x40000dec; +wdev_mac_special_reg_load = 0x40000df0; +wdev_mac_special_reg_store = 0x40000df4; +wdev_mac_wakeup = 0x40000df8; +wdev_mac_sleep = 0x40000dfc; +hal_mac_is_dma_enable = 0x40000e00; +//wDev_ProcessFiq = 0x40000e04; +//wDev_ProcessRxSucData = 0x40000e08; +//wdevProcessRxSucDataAll = 0x40000e0c; +wdev_csi_len_align = 0x40000e10; +ppDequeueTxDone_Locked = 0x40000e14; +//ppProcTxDone = 0x40000e18; +//pm_tx_data_done_process = 0x40000e1c; +config_is_cache_tx_buf_enabled = 0x40000e20; +//ppMapWaitTxq = 0x40000e24; +ppProcessWaitingQueue = 0x40000e28; +ppDisableQueue = 0x40000e2c; +pm_allow_tx = 0x40000e30; +//wdev_is_data_in_rxlist = 0x40000e34; +ppProcTxCallback = 0x40000e38; +//mac_tx_set_hesig = 0x40000e3c; +ppCalPreFecPaddingFactor = 0x40000e40; +//mac_tx_set_tb = 0x40000e44; +//mac_tx_set_mplen = 0x40000e48; +hal_get_tsf_timer = 0x40000e4c; +ppTxPktForceWaked = 0x40000e50; +lmacProcessLongFrameSuccess = 0x40000e54; +lmacProcessShortFrameSuccess = 0x40000e58; +//lmacDiscardFrameExchangeSequence = 0x40000e5c; +lmacProcessTBSuccess = 0x40000e60; +/*lmacProcessTxSuccess = 0x40000e64;*/ +lmacProcessAckTimeout = 0x40000e68; +//lmacProcessTxComplete = 0x40000e6c; +//ppRemoveHTC = 0x40000e70; +get_estimated_batime = 0x40000e74; +is_use_muedca = 0x40000e78; +//hal_mac_tx_clr_mplen = 0x40000e7c; +//hal_mac_get_txq_state = 0x40000e80; +hal_mac_clr_txq_state = 0x40000e84; +hal_mac_get_txq_complete = 0x40000e88; +ht_get_min_subframe_len = 0x40000e8c; +rx11ACRate2AMPDULimit = 0x40000e90; +pwr_hal_clear_intr_status = 0x40000e94; +pwr_hal_clear_mac_modem_beacon_miss_intr_filter = 0x40000e98; +pwr_hal_clear_mac_modem_rx_beacon_info = 0x40000e9c; +pwr_hal_clear_mac_modem_rx_beacon_miss_counter = 0x40000ea0; +pwr_hal_clear_mac_modem_rx_beacon_sleep_counter = 0x40000ea4; +pwr_hal_clear_mac_modem_state_wakeup_protect_signal = 0x40000ea8; +pwr_hal_get_intr_raw_signal = 0x40000eac; +pwr_hal_get_intr_status = 0x40000eb0; +pwr_hal_get_mac_modem_beacon_miss_limit_exceeded_status = 0x40000eb4; +pwr_hal_get_mac_modem_rx_beacon_location_state = 0x40000eb8; +pwr_hal_get_mac_modem_rx_beacon_valid_state = 0x40000ebc; +pwr_hal_get_mac_modem_state_sleep_limit_exceeded_status = 0x40000ec0; +pwr_hal_set_beacon_filter_abort_disable = 0x40000ec4; +pwr_hal_set_beacon_filter_abort_enable = 0x40000ec8; +pwr_hal_set_beacon_filter_abort_length = 0x40000ecc; +//pwr_hal_set_beacon_filter_broadcast_wakeup_disable = 0x40000ed0; +//pwr_hal_set_beacon_filter_broadcast_wakeup_enable = 0x40000ed4; +pwr_hal_set_beacon_filter_disable = 0x40000ed8; +pwr_hal_set_beacon_filter_enable = 0x40000edc; +pwr_hal_set_beacon_filter_force_dump_disable = 0x40000ee0; +pwr_hal_set_beacon_filter_force_dump_enable = 0x40000ee4; +pwr_hal_set_beacon_filter_force_dump_limit = 0x40000ee8; +pwr_hal_set_beacon_filter_force_sync_disable = 0x40000eec; +pwr_hal_set_beacon_filter_force_sync_enable = 0x40000ef0; +pwr_hal_set_beacon_filter_force_sync_limit = 0x40000ef4; +pwr_hal_set_beacon_filter_frame_crc_state = 0x40000ef8; +pwr_hal_set_beacon_filter_soc_wakeup_and_intr_disable = 0x40000efc; +pwr_hal_set_beacon_filter_soc_wakeup_and_intr_enable = 0x40000f00; +pwr_hal_set_beacon_filter_unicast_wakeup_disable = 0x40000f04; +pwr_hal_set_beacon_filter_unicast_wakeup_enable = 0x40000f08; +pwr_hal_set_lpclk_cycle_time = 0x40000f0c; +pwr_hal_set_lpclk_sync_disable = 0x40000f10; +pwr_hal_set_lpclk_sync_enable = 0x40000f14; +pwr_hal_set_mac_modem_beacon_miss_intr_disable = 0x40000f18; +pwr_hal_set_mac_modem_beacon_miss_intr_enable = 0x40000f1c; +pwr_hal_set_mac_modem_beacon_miss_limit = 0x40000f20; +pwr_hal_set_mac_modem_beacon_miss_limit_exceeded_wakeup_disable = 0x40000f24; +pwr_hal_set_mac_modem_beacon_miss_limit_exceeded_wakeup_enable = 0x40000f28; +pwr_hal_set_mac_modem_beacon_miss_timeout = 0x40000f2c; +pwr_hal_set_mac_modem_state_sleep_limit = 0x40000f30; +pwr_hal_set_mac_modem_state_sleep_limit_exceeded_wakeup_disable = 0x40000f34; +pwr_hal_set_mac_modem_state_sleep_limit_exceeded_wakeup_enable = 0x40000f38; +pwr_hal_set_mac_modem_state_wakeup_protect_disable = 0x40000f3c; +pwr_hal_set_mac_modem_state_wakeup_protect_early_time = 0x40000f40; +pwr_hal_set_mac_modem_state_wakeup_protect_enable = 0x40000f44; +pwr_hal_set_mac_modem_tbtt_auto_period_disable = 0x40000f48; +pwr_hal_set_mac_modem_tbtt_auto_period_enable = 0x40000f4c; +pwr_hal_set_mac_modem_tbtt_auto_period_interval = 0x40000f50; +pwr_hal_set_modem_state_interface = 0x40000f54; +hal_tsf_clear_soc_wakeup_request = 0x40000f58; +tsf_hal_clear_mac_modem_rf_power_state = 0x40000f5c; +tsf_hal_clear_soc_wakeup_request = 0x40000f60; +tsf_hal_get_counter_value = 0x40000f64; +tsf_hal_get_mac_modem_rf_power_state = 0x40000f68; +tsf_hal_get_tbtt_interval = 0x40000f6c; +tsf_hal_get_time = 0x40000f70; +tsf_hal_get_timer_target = 0x40000f74; +tsf_hal_is_tsf_enabled = 0x40000f78; +tsf_hal_map_tbtt_target_to_rx_frame = 0x40000f7c; +tsf_hal_map_tsf_to_bssid = 0x40000f80; +tsf_hal_set_counter_value = 0x40000f84; +tsf_hal_set_modem_wakeup_early_time = 0x40000f88; +tsf_hal_set_rx_beacon_abort_tsf_time_deviation_sync_disable = 0x40000f8c; +tsf_hal_set_rx_beacon_abort_tsf_time_deviation_sync_enable = 0x40000f90; +tsf_hal_set_rx_beacon_fail_tsf_time_deviation_sync_disable = 0x40000f94; +tsf_hal_set_rx_beacon_fail_tsf_time_deviation_sync_enable = 0x40000f98; +tsf_hal_set_rx_beacon_success_tsf_time_deviation_sync_disable = 0x40000f9c; +tsf_hal_set_rx_beacon_success_tsf_time_deviation_sync_enable = 0x40000fa0; +tsf_hal_set_tbtt_disable = 0x40000fa4; +tsf_hal_set_tbtt_early_time = 0x40000fa8; +tsf_hal_set_tbtt_enable = 0x40000fac; +tsf_hal_set_tbtt_interval = 0x40000fb0; +tsf_hal_set_tbtt_intr_disable = 0x40000fb4; +tsf_hal_set_tbtt_intr_enable = 0x40000fb8; +tsf_hal_set_tbtt_modem_wakeup_disable = 0x40000fbc; +tsf_hal_set_tbtt_modem_wakeup_enable = 0x40000fc0; +tsf_hal_set_tbtt_rf_ctrl_disable = 0x40000fc4; +tsf_hal_set_tbtt_rf_ctrl_enable = 0x40000fc8; +tsf_hal_set_tbtt_rf_ctrl_wait_cycles = 0x40000fcc; +tsf_hal_set_tbtt_soc_wakeup_disable = 0x40000fd0; +tsf_hal_set_tbtt_soc_wakeup_enable = 0x40000fd4; +/*tsf_hal_set_tbtt_start_time = 0x40000fd8;*/ +tsf_hal_set_time = 0x40000fdc; +tsf_hal_set_timer_disable = 0x40000fe0; +tsf_hal_set_timer_enable = 0x40000fe4; +tsf_hal_set_timer_intr_disable = 0x40000fe8; +tsf_hal_set_timer_intr_enable = 0x40000fec; +tsf_hal_set_timer_modem_wakeup_disable = 0x40000ff0; +tsf_hal_set_timer_modem_wakeup_enable = 0x40000ff4; +tsf_hal_set_timer_rf_ctrl_disable = 0x40000ff8; +tsf_hal_set_timer_rf_ctrl_enable = 0x40000ffc; +tsf_hal_set_timer_rf_ctrl_wait_cycles = 0x40001000; +tsf_hal_set_timer_soc_wakeup_disable = 0x40001004; +tsf_hal_set_timer_soc_wakeup_enable = 0x40001008; +tsf_hal_set_timer_target = 0x4000100c; +tsf_hal_set_tsf_disable = 0x40001010; +tsf_hal_set_tsf_enable = 0x40001014; +tsf_hal_set_tsf_time_deviation = 0x40001018; +tsf_hal_set_tsf_time_deviation_sync_disable = 0x4000101c; +tsf_hal_set_tsf_time_deviation_sync_enable = 0x40001020; +tsf_hal_unmap_tbtt_target_to_rx_frame = 0x40001024; +//ppSelectTxFormat = 0x40001028; +//ppCertSetRate = 0x4000102c; +//ppHEAMPDU2Normal = 0x40001030; +//ppCalTxHEAMPDULength = 0x40001034; +//ppCalTxHESMPDULength = 0x40001038; +rcGetRate = 0x4000103c; +rcGetDCMMaxRate = 0x40001040; +//rcGetSMPDURate = 0x40001044; +ppDirectRecycleAmpdu = 0x40001048; +//ppCheckTxHEAMPDUlength = 0x4000104c; +//rx11AXRate2AMPDULimit = 0x40001050; +//ppRegressAmpdu = 0x40001054; +//ppCalDeliNum = 0x40001058; +ppAdd2AMPDUTail = 0x4000105c; +esp_test_disable_tx_statistics = 0x40001060; +esp_test_enable_tx_statistics = 0x40001064; +esp_test_clr_tx_statistics = 0x40001068; +esp_test_get_tx_statistics = 0x4000106c; +esp_test_clr_tx_tb_statistics = 0x40001070; +esp_test_get_tx_tb_statistics = 0x40001074; +test_tx_fail_statistics = 0x40001078; +//test_tx_succ_statistics = 0x4000107c; +//esp_test_tx_process_complete = 0x40001080; +//esp_test_tx_process_txq_state = 0x40001084; +esp_test_tx_enab_statistics = 0x40001088; +esp_test_tx_tb_complete = 0x4000108c; +esp_test_tx_count_retry = 0x40001090; +esp_test_tx_count_collision = 0x40001094; +esp_test_tx_count_timeout = 0x40001098; +hal_enable_tx_statistics = 0x4000109c; +test_rx_process_complete_noeb = 0x400010a0; +test_rx_process_complete_retry = 0x400010a4; +esp_test_rx_process_complete = 0x400010a8; +esp_test_clr_rx_statistics = 0x400010ac; +esp_test_get_rx_statistics = 0x400010b0; +test_free_rx_statistics = 0x400010b4; +esp_test_set_rx_error_occurs = 0x400010b8; +esp_test_get_rx_error_occurs = 0x400010bc; +esp_test_clr_rx_error_occurs = 0x400010c0; +esp_test_disable_rx_statistics = 0x400010c4; +esp_test_enable_rx_statistics = 0x400010c8; +hal_enable_rx_statistics = 0x400010cc; +get_user_num = 0x400010d0; +mumimo_spatial_cfg_get_nsts = 0x400010d4; +mumimo_spatial_cfg_get_nsts_tot = 0x400010d8; +test_mumimo_get_heltf_num = 0x400010dc; +test_mimo_update_user_info = 0x400010e0; +test_parse_rx_mu_mimo = 0x400010e4; +test_nonmimo_update_user_info = 0x400010e8; +test_parse_rx_mu_nonmimo = 0x400010ec; +esp_test_rx_parse_mu = 0x400010f0; +esp_test_get_rx_mu_statistics = 0x400010f4; +esp_test_clr_rx_mu_statistics = 0x400010f8; +esp_test_enable_rx_mu_statistics = 0x400010fc; +esp_test_disable_rx_mu_statistics = 0x40001100; +/* Data (.data, .bss, .rodata) */ +our_instances_ptr = 0x4004ffe0; +pTxRx = 0x4087ff80; +lmacConfMib_ptr = 0x4087ff7c; +our_wait_eb = 0x4087ff78; +our_tx_eb = 0x4087ff74; +pp_wdev_funcs = 0x4087ff70; +g_osi_funcs_p = 0x4087ff6c; +wDevCtrl_ptr = 0x4087ff68; +g_wdev_last_desc_reset_ptr = 0x4004ffdc; +wDevMacSleep_ptr = 0x4087ff64; +g_lmac_cnt_ptr = 0x4087ff60; +our_controls_ptr = 0x4004ffd8; +pp_sig_cnt_ptr = 0x4087ff5c; +g_eb_list_desc_ptr = 0x4087ff58; +s_fragment_ptr = 0x4087ff54; +if_ctrl_ptr = 0x4087ff50; +g_intr_lock_mux = 0x4087ff4c; +g_wifi_global_lock = 0x4087ff48; +s_wifi_queue = 0x4087ff44; +pp_task_hdl = 0x4087ff40; +s_pp_task_create_sem = 0x4087ff3c; +s_pp_task_del_sem = 0x4087ff38; +g_wifi_menuconfig_ptr = 0x4087ff34; +xphyQueue = 0x4087ff30; +ap_no_lr_ptr = 0x4087ff2c; +rc11BSchedTbl_ptr = 0x4087ff28; +rc11NSchedTbl_ptr = 0x4087ff24; +rcLoRaSchedTbl_ptr = 0x4087ff20; +BasicOFDMSched_ptr = 0x4087ff1c; +trc_ctl_ptr = 0x4087ff18; +g_pm_cnt_ptr = 0x4087ff14; +g_pm_ptr = 0x4087ff10; +g_pm_cfg_ptr = 0x4087ff0c; +g_esp_mesh_quick_funcs_ptr = 0x4087ff08; +g_txop_queue_status_ptr = 0x4087ff04; +g_mac_sleep_en_ptr = 0x4087ff00; +g_mesh_is_root_ptr = 0x4087fefc; +g_mesh_topology_ptr = 0x4087fef8; +g_mesh_init_ps_type_ptr = 0x4087fef4; +g_mesh_is_started_ptr = 0x4087fef0; +g_config_func = 0x4087feec; +g_net80211_tx_func = 0x4087fee8; +g_timer_func = 0x4087fee4; +s_michael_mic_failure_cb = 0x4087fee0; +wifi_sta_rx_probe_req = 0x4087fedc; +g_tx_done_cb_func = 0x4087fed8; +g_per_conn_trc = 0x4087fe8c; +s_encap_amsdu_func = 0x4087fe88; +rx_beacon_count = 0x4087fe84; +rx_beacon_sw_parse = 0x4087fe80; +rx_beacon_hw_parse = 0x4087fe7c; +rx_beacon_tim_count = 0x4087fe78; +rx_beacon_tim_udata = 0x4087fe74; +rx_beacon_tim_udata_bitmap = 0x4087fe70; +rx_beacon_tim_bdata = 0x4087fe6c; +rx_beacon_tim_bdata_bitmapctl = 0x4087fe68; +rx_beacon_tim_bdata_bitmap_trans = 0x4087fe64; +rx_beacon_tim_bdata_bitmap_mbssid_self = 0x4087fe60; +rx_beacon_tim_bdata_bitmap_mbssid_other = 0x4087fe5c; +rx_beacon_dtim_tim = 0x4087fe58; +rx_beacon_dtim_tim_mcast = 0x4087fe54; +amdpu_delay_time_ms = 0x4087fd08; +ampdu_delay_packet = 0x4087fd04; +ampdu_delay = 0x4087fe51; +first_ampdu = 0x4087fe50; +s_ht_ampdu_density_us = 0x4087fd02; +s_ht_ampdu_density = 0x4087fd01; +s_running_phy_type = 0x4087fd00; +complete_ena_tb_seqno = 0x4087fe4c; +complete_ena_tb_final = 0x4087fe48; +complete_ena_tb_count = 0x4087fe44; +s_itwt_state = 0x4087fe40; +g_dbg_interp_tsf = 0x4087fe3c; +g_dbg_interp_tsf_end = 0x4087fe38; +g_dbg_closrf_tsf = 0x4087fe34; +g_dbg_closrf_idx = 0x4087fe30; +g_dbg_closrf_blk = 0x4087fe2c; +s_he_min_len_bytes = 0x4087fdf0; +s_he_dcm_min_len_bytes = 0x4087fdd0; +s_mplen_low_bitmap = 0x4087fdc0; +s_mplen_high_bitmap = 0x4087fdb0; +s_mplen_vi_bitmap = 0x4087fdac; +s_mplen_bk_bitmap = 0x4087fda8; +esp_wifi_cert_tx_mcs = 0x4087fcfc; +esp_wifi_cert_tx_bcc = 0x4087fcf8; +//esp_wifi_cert_tx_ltf = 0x4087fcf4; +//esp_wifi_cert_tx_gi = 0x4087fcf0; +esp_wifi_cert_tx_nss = 0x4087fcec; +esp_test_tx_statistics_aci_bitmap = 0x4087fda4; +esp_test_tx_statistics = 0x4087fd94; +esp_test_tx_tb_statistics = 0x4087fd84; +esp_test_tx_fail_statistics = 0x4087fd24; +esp_test_rx_statistics = 0x4087fd1c; +esp_test_rx_mu_statistics = 0x4087fd18; +esp_test_mu_print_ru_allocation = 0x4087fd14; +sigb_ru_allocation_user_num = 0x4004ffc8; +sigb_common_ru_allocation = 0x4004ff38; +mu_mimo_special_cfg_user_num_2 = 0x4004fee8; +mu_mimo_special_cfg_user_num_3 = 0x4004fe80; +mu_mimo_special_cfg_user_num_4 = 0x4004fe28; +mu_mimo_special_cfg_user_num_5 = 0x4004fdf0; +mu_mimo_special_cfg_user_num_6 = 0x4004fdd0; +mu_mimo_special_cfg_user_num_7 = 0x4004fdc0; +mu_mimo_special_cfg_user_num_8 = 0x4004fdb8; +esp_test_rx_error_occurs = 0x4087fd10; +g_pp_tx_pkt_num = 0x4087fd0c; +he_max_apep_length = 0x4004fd40; diff --git a/esp-hal/ld/esp32c6/rom/esp32c6.rom.rvfp.ld b/esp-hal/ld/esp32c6/rom/esp32c6.rom.rvfp.ld new file mode 100644 index 000000000..26a82ad1c --- /dev/null +++ b/esp-hal/ld/esp32c6/rom/esp32c6.rom.rvfp.ld @@ -0,0 +1,118 @@ +/* + * SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD + * + * SPDX-License-Identifier: Apache-2.0 + */ +/* ROM function interface esp32c6.rom.rvfp.ld for esp32c6 + * + * + * Generated from ./target/esp32c6/interface-esp32c6.yml md5sum 06c13e133e0743d09b87aba30d3e213b + * + * Compatible with ROM where ECO version equal or greater to 0. + * + * THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT. + */ + +/*************************************** + Group rvfplib + ***************************************/ + +/* Functions */ +__adddf3 = 0x400009f4; +__addsf3 = 0x400009f8; +__eqdf2 = 0x400009fc; +__eqsf2 = 0x40000a00; +__extendsfdf2 = 0x40000a04; +__fixdfdi = 0x40000a08; +__fixdfsi = 0x40000a0c; +__fixsfdi = 0x40000a10; +__fixsfsi = 0x40000a14; +__fixunsdfsi = 0x40000a18; +__fixunssfdi = 0x40000a1c; +__fixunssfsi = 0x40000a20; +__floatdidf = 0x40000a24; +__floatdisf = 0x40000a28; +__floatsidf = 0x40000a2c; +__floatsisf = 0x40000a30; +__floatundidf = 0x40000a34; +__floatundisf = 0x40000a38; +__floatunsidf = 0x40000a3c; +__floatunsisf = 0x40000a40; +__gedf2 = 0x40000a44; +__gesf2 = 0x40000a48; +__gtdf2 = 0x40000a4c; +__gtsf2 = 0x40000a50; +__ledf2 = 0x40000a54; +__lesf2 = 0x40000a58; +__ltdf2 = 0x40000a5c; +__ltsf2 = 0x40000a60; +__muldf3 = 0x40000a64; +__mulsf3 = 0x40000a68; +__nedf2 = 0x40000a6c; +__nesf2 = 0x40000a70; +__subdf3 = 0x40000a74; +__subsf3 = 0x40000a78; +__truncdfsf2 = 0x40000a7c; + +/*************************************** + Group libgcc +***************************************/ + +/* Functions */ +__absvdi2 = 0x40000884; +__absvsi2 = 0x40000888; +__addvdi3 = 0x40000894; +__addvsi3 = 0x40000898; +__ashldi3 = 0x4000089c; +__ashrdi3 = 0x400008a0; +__bswapdi2 = 0x400008a4; +__bswapsi2 = 0x400008a8; +__clear_cache = 0x400008ac; +__clrsbdi2 = 0x400008b0; +__clrsbsi2 = 0x400008b4; +__clzdi2 = 0x400008b8; +__clzsi2 = 0x400008bc; +__cmpdi2 = 0x400008c0; +__ctzdi2 = 0x400008c4; +__ctzsi2 = 0x400008c8; +__divdc3 = 0x400008cc; +__divdf3 = 0x400008d0; +__divdi3 = 0x400008d4; +__divsc3 = 0x400008d8; +__divsf3 = 0x400008dc; +__divsi3 = 0x400008e0; +__ffsdi2 = 0x400008f0; +__ffssi2 = 0x400008f4; +__gcc_bcmp = 0x40000934; +__lshrdi3 = 0x40000950; +__moddi3 = 0x4000095c; +__modsi3 = 0x40000960; +__muldc3 = 0x40000964; +__muldi3 = 0x4000096c; +__mulsc3 = 0x40000970; +__mulsi3 = 0x40000978; +__mulvdi3 = 0x4000097c; +__mulvsi3 = 0x40000980; +__negdf2 = 0x40000988; +__negdi2 = 0x4000098c; +__negsf2 = 0x40000990; +__negvdi2 = 0x40000994; +__negvsi2 = 0x40000998; +__paritysi2 = 0x400009a0; +__popcountdi2 = 0x400009a4; +__popcountsi2 = 0x400009a8; +__powidf2 = 0x400009ac; +__powisf2 = 0x400009b0; +__subvdi3 = 0x400009bc; +__subvsi3 = 0x400009c0; +__ucmpdi2 = 0x400009c8; +__udivdi3 = 0x400009cc; +__udivmoddi4 = 0x400009d0; +__udivsi3 = 0x400009d4; +__udiv_w_sdiv = 0x400009d8; +__umoddi3 = 0x400009dc; +__umodsi3 = 0x400009e0; +__unorddf2 = 0x400009e4; +__unordsf2 = 0x400009e8; +__extenddftf2 = 0x400009ec; +__trunctfdf2 = 0x400009f0; diff --git a/esp-hal/ld/esp32c6/rom/esp32c6.rom.spiflash.ld b/esp-hal/ld/esp32c6/rom/esp32c6.rom.spiflash.ld new file mode 100644 index 000000000..1ff2f5846 --- /dev/null +++ b/esp-hal/ld/esp32c6/rom/esp32c6.rom.spiflash.ld @@ -0,0 +1,165 @@ +/* + * SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD + * + * SPDX-License-Identifier: Apache-2.0 + */ +/* ROM function interface esp32c6.rom.spiflash.ld for esp32c6 + * + * + * Generated from ./target/esp32c6/interface-esp32c6.yml md5sum 06c13e133e0743d09b87aba30d3e213b + * + * Compatible with ROM where ECO version equal or greater to 0. + * + * THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT. + */ + +/*************************************** + Group spi_flash_cache + ***************************************/ + +/* Functions */ +spi_flash_disable_cache = 0x400001f0; +spi_flash_restore_cache = 0x400001f4; +spi_flash_cache_enabled = 0x400001f8; +esp_enable_cache_flash_wrap = 0x40000200; + + +/*************************************** + Group spi_flash_mmap + ***************************************/ + +/* Functions */ +spi_flash_mmap_os_func_set = 0x40000204; +spi_flash_mmap_page_num_init = 0x40000208; +spi_flash_mmap = 0x4000020c; +spi_flash_mmap_pages = 0x40000210; +spi_flash_munmap = 0x40000214; +spi_flash_mmap_dump = 0x40000218; +spi_flash_check_and_flush_cache = 0x4000021c; +spi_flash_mmap_get_free_pages = 0x40000220; +spi_flash_cache2phys = 0x40000224; +spi_flash_phys2cache = 0x40000228; + + +/*************************************** + Group esp_flash + ***************************************/ + +/* Functions */ +esp_flash_chip_driver_initialized = 0x4000022c; +esp_flash_read_id = 0x40000230; +esp_flash_get_size = 0x40000234; +esp_flash_erase_chip = 0x40000238; +esp_flash_erase_region = 0x4000023c; +esp_flash_get_chip_write_protect = 0x40000240; +esp_flash_set_chip_write_protect = 0x40000244; +esp_flash_get_protectable_regions = 0x40000248; +esp_flash_get_protected_region = 0x4000024c; +esp_flash_set_protected_region = 0x40000250; +esp_flash_read = 0x40000254; +esp_flash_write = 0x40000258; +esp_flash_write_encrypted = 0x4000025c; +esp_flash_read_encrypted = 0x40000260; +esp_flash_get_io_mode = 0x40000264; +esp_flash_set_io_mode = 0x40000268; +spi_flash_boot_attach = 0x4000026c; +esp_flash_read_chip_id = 0x40000270; +detect_spi_flash_chip = 0x40000274; +/* esp_rom_spiflash_write_disable = 0x40000278; */ +esp_flash_suspend_cmd_init = 0x4000027c; +/* Data (.data, .bss, .rodata) */ +esp_flash_default_chip = 0x4087ffe8; +esp_flash_api_funcs = 0x4087ffe4; + + +/*************************************** + Group spi_flash_chips + ***************************************/ + +/* Functions */ +spi_flash_chip_generic_probe = 0x40000280; +spi_flash_chip_generic_detect_size = 0x40000284; +spi_flash_chip_generic_write = 0x40000288; +spi_flash_chip_generic_write_encrypted = 0x4000028c; +spi_flash_chip_generic_set_write_protect = 0x40000290; +spi_flash_common_write_status_16b_wrsr = 0x40000294; +spi_flash_chip_generic_reset = 0x40000298; +spi_flash_chip_generic_erase_chip = 0x4000029c; +spi_flash_chip_generic_erase_sector = 0x400002a0; +spi_flash_chip_generic_erase_block = 0x400002a4; +spi_flash_chip_generic_page_program = 0x400002a8; +spi_flash_chip_generic_get_write_protect = 0x400002ac; +spi_flash_common_read_status_16b_rdsr_rdsr2 = 0x400002b0; +spi_flash_chip_generic_read_reg = 0x400002b4; +spi_flash_chip_generic_yield = 0x400002b8; +spi_flash_generic_wait_host_idle = 0x400002bc; +spi_flash_chip_generic_wait_idle = 0x400002c0; +spi_flash_chip_generic_config_host_io_mode = 0x400002c4; +spi_flash_chip_generic_read = 0x400002c8; +spi_flash_common_read_status_8b_rdsr2 = 0x400002cc; +spi_flash_chip_generic_get_io_mode = 0x400002d0; +spi_flash_common_read_status_8b_rdsr = 0x400002d4; +spi_flash_common_write_status_8b_wrsr = 0x400002d8; +spi_flash_common_write_status_8b_wrsr2 = 0x400002dc; +spi_flash_common_set_io_mode = 0x400002e0; +spi_flash_chip_generic_set_io_mode = 0x400002e4; +spi_flash_chip_generic_read_unique_id = 0x400002e8; +spi_flash_chip_generic_get_caps = 0x400002ec; +spi_flash_chip_generic_suspend_cmd_conf = 0x400002f0; +spi_flash_chip_gd_get_io_mode = 0x400002f4; +spi_flash_chip_gd_probe = 0x400002f8; +spi_flash_chip_gd_set_io_mode = 0x400002fc; +/* Data (.data, .bss, .rodata) */ +spi_flash_chip_generic_config_data = 0x4087ffe0; +spi_flash_encryption = 0x4087ffdc; + + +/*************************************** + Group memspi_host + ***************************************/ + +/* Functions */ +memspi_host_read_id_hs = 0x40000300; +memspi_host_read_status_hs = 0x40000304; +memspi_host_flush_cache = 0x40000308; +memspi_host_erase_chip = 0x4000030c; +memspi_host_erase_sector = 0x40000310; +memspi_host_erase_block = 0x40000314; +memspi_host_program_page = 0x40000318; +memspi_host_read = 0x4000031c; +memspi_host_set_write_protect = 0x40000320; +memspi_host_set_max_read_len = 0x40000324; +memspi_host_read_data_slicer = 0x40000328; +memspi_host_write_data_slicer = 0x4000032c; + + +/*************************************** + Group hal_spiflash + ***************************************/ + +/* Functions */ +spi_flash_hal_poll_cmd_done = 0x40000330; +spi_flash_hal_device_config = 0x40000334; +spi_flash_hal_configure_host_io_mode = 0x40000338; +spi_flash_hal_common_command = 0x4000033c; +spi_flash_hal_read = 0x40000340; +spi_flash_hal_erase_chip = 0x40000344; +spi_flash_hal_erase_sector = 0x40000348; +spi_flash_hal_erase_block = 0x4000034c; +spi_flash_hal_program_page = 0x40000350; +spi_flash_hal_set_write_protect = 0x40000354; +spi_flash_hal_host_idle = 0x40000358; +spi_flash_hal_check_status = 0x4000035c; +spi_flash_hal_setup_read_suspend = 0x40000360; +spi_flash_hal_setup_auto_suspend_mode = 0x40000364; +spi_flash_hal_setup_auto_resume_mode = 0x40000368; +spi_flash_hal_disable_auto_suspend_mode = 0x4000036c; +spi_flash_hal_disable_auto_resume_mode = 0x40000370; +spi_flash_hal_resume = 0x40000374; +spi_flash_hal_suspend = 0x40000378; +spi_flash_encryption_hal_enable = 0x4000037c; +spi_flash_encryption_hal_disable = 0x40000380; +spi_flash_encryption_hal_prepare = 0x40000384; +spi_flash_encryption_hal_done = 0x40000388; +spi_flash_encryption_hal_destroy = 0x4000038c; +spi_flash_encryption_hal_check = 0x40000390; diff --git a/esp-hal/ld/esp32c6/rom/esp32c6.rom.version.ld b/esp-hal/ld/esp32c6/rom/esp32c6.rom.version.ld new file mode 100644 index 000000000..ad4d15d00 --- /dev/null +++ b/esp-hal/ld/esp32c6/rom/esp32c6.rom.version.ld @@ -0,0 +1,13 @@ +/* + * SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD + * + * SPDX-License-Identifier: Apache-2.0 + */ +/* ROM version variables for esp32c6 + * + * These addresses should be compatible with any ROM version for this chip. + * + * THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT. + */ +_rom_chip_id = 0x40000010; +_rom_eco_version = 0x40000014; diff --git a/esp-hal/ld/esp32h2/rom-functions.x b/esp-hal/ld/esp32h2/rom-functions.x index da6efa41d..f6a9368db 100644 --- a/esp-hal/ld/esp32h2/rom-functions.x +++ b/esp-hal/ld/esp32h2/rom-functions.x @@ -1,27 +1,8 @@ -ets_printf = 0x40000028; -PROVIDE(esp_rom_printf = ets_printf); -PROVIDE(cache_invalidate_icache_all = 0x40000620); -PROVIDE(cache_suspend_icache = 0x4000066c); -PROVIDE(cache_resume_icache = 0x40000670); -PROVIDE(ets_delay_us = 0x40000040); -PROVIDE(ets_update_cpu_frequency_rom = 0x40000048); -PROVIDE(rtc_get_reset_reason = 0x40000018); -ets_update_cpu_frequency = 0x40000048; -PROVIDE(software_reset = 0x40000090); -PROVIDE(software_reset_cpu = 0x40000094); +INCLUDE "rom/esp32h2.rom.api.ld" +INCLUDE "rom/esp32h2.rom.heap.ld" +INCLUDE "rom/esp32h2.rom.ld" +INCLUDE "rom/esp32h2.rom.libgcc.ld" +INCLUDE "rom/esp32h2.rom.spiflash.ld" +INCLUDE "rom/esp32h2.rom.version.ld" -PROVIDE(esp_rom_crc32_be = 0x40000730); -PROVIDE(esp_rom_crc16_be = 0x40000734); -PROVIDE(esp_rom_crc8_be = 0x40000738); -PROVIDE(esp_rom_crc32_le = 0x40000724); -PROVIDE(esp_rom_crc16_le = 0x40000728); -PROVIDE(esp_rom_crc8_le = 0x4000072c); - -PROVIDE(esp_rom_md5_init = 0x40000718); -PROVIDE(esp_rom_md5_update = 0x4000071c); -PROVIDE(esp_rom_md5_final = 0x40000720); - -memset = 0x400004a0; -memcpy = 0x400004a4; -memmove = 0x400004a8; -memcmp = 0x400004ac; +INCLUDE "rom/additional.ld" diff --git a/esp-hal/ld/esp32h2/rom/additional.ld b/esp-hal/ld/esp32h2/rom/additional.ld new file mode 100644 index 000000000..ae1a956ca --- /dev/null +++ b/esp-hal/ld/esp32h2/rom/additional.ld @@ -0,0 +1,10 @@ +memset = 0x400004a0; +memcpy = 0x400004a4; +memmove = 0x400004a8; +memcmp = 0x400004ac; + +strncmp = 0x400004bc; +strncpy = 0x400004b4; +strcpy = 0x400004b0; + +abs = 0x40000570; diff --git a/esp-hal/ld/esp32h2/rom/esp32h2.rom.api.ld b/esp-hal/ld/esp32h2/rom/esp32h2.rom.api.ld new file mode 100644 index 000000000..41727f6a5 --- /dev/null +++ b/esp-hal/ld/esp32h2/rom/esp32h2.rom.api.ld @@ -0,0 +1,65 @@ +/* + * SPDX-FileCopyrightText: 2022-2024 Espressif Systems (Shanghai) CO LTD + * + * SPDX-License-Identifier: Apache-2.0 + */ +/** ROM APIs + */ + +PROVIDE ( esp_rom_crc32_le = crc32_le ); +PROVIDE ( esp_rom_crc16_le = crc16_le ); +PROVIDE ( esp_rom_crc8_le = crc8_le ); +PROVIDE ( esp_rom_crc32_be = crc32_be ); +PROVIDE ( esp_rom_crc16_be = crc16_be ); +PROVIDE ( esp_rom_crc8_be = crc8_be ); + +PROVIDE ( esp_rom_gpio_pad_select_gpio = gpio_pad_select_gpio ); +PROVIDE ( esp_rom_gpio_pad_pullup_only = gpio_pad_pullup ); +PROVIDE ( esp_rom_gpio_pad_set_drv = gpio_pad_set_drv ); +PROVIDE ( esp_rom_gpio_pad_unhold = gpio_pad_unhold ); +PROVIDE ( esp_rom_gpio_connect_in_signal = gpio_matrix_in ); +PROVIDE ( esp_rom_gpio_connect_out_signal = gpio_matrix_out ); + +PROVIDE ( esp_rom_efuse_mac_address_crc8 = esp_crc8 ); +PROVIDE ( esp_rom_efuse_is_secure_boot_enabled = ets_efuse_secure_boot_enabled ); + +PROVIDE ( esp_rom_uart_flush_tx = uart_tx_flush ); +PROVIDE ( esp_rom_uart_tx_one_char = uart_tx_one_char2 ); +PROVIDE ( esp_rom_uart_tx_wait_idle = uart_tx_wait_idle ); +PROVIDE ( esp_rom_uart_rx_one_char = uart_rx_one_char ); +PROVIDE ( esp_rom_uart_rx_string = UartRxString ); +PROVIDE ( esp_rom_uart_set_as_console = uart_tx_switch ); +PROVIDE ( esp_rom_uart_putc = ets_write_char_uart ); + +PROVIDE ( esp_rom_output_flush_tx = uart_tx_flush ); +PROVIDE ( esp_rom_output_tx_one_char = uart_tx_one_char ); +PROVIDE ( esp_rom_output_tx_wait_idle = uart_tx_wait_idle ); +PROVIDE ( esp_rom_output_rx_one_char = uart_rx_one_char ); +PROVIDE ( esp_rom_output_rx_string = UartRxString ); +PROVIDE ( esp_rom_output_set_as_console = uart_tx_switch ); +PROVIDE ( esp_rom_output_putc = ets_write_char_uart ); + +PROVIDE ( esp_rom_md5_init = MD5Init ); +PROVIDE ( esp_rom_md5_update = MD5Update ); +PROVIDE ( esp_rom_md5_final = MD5Final ); + +PROVIDE ( esp_rom_software_reset_system = software_reset ); +PROVIDE ( esp_rom_software_reset_cpu = software_reset_cpu ); + +PROVIDE ( esp_rom_printf = ets_printf ); +PROVIDE ( esp_rom_install_uart_printf = ets_install_uart_printf ); +PROVIDE ( esp_rom_delay_us = ets_delay_us ); +PROVIDE ( esp_rom_get_reset_reason = rtc_get_reset_reason ); +PROVIDE ( esp_rom_route_intr_matrix = intr_matrix_set ); +PROVIDE ( esp_rom_get_cpu_ticks_per_us = ets_get_cpu_frequency ); +PROVIDE ( esp_rom_set_cpu_ticks_per_us = ets_update_cpu_frequency ); + +PROVIDE ( esp_rom_spiflash_attach = spi_flash_attach ); +PROVIDE ( esp_rom_spiflash_clear_bp = esp_rom_spiflash_unlock ); +PROVIDE ( esp_rom_spiflash_write_enable = SPI_write_enable ); +PROVIDE ( esp_rom_spiflash_erase_area = SPIEraseArea ); + +PROVIDE ( esp_rom_spiflash_fix_dummylen = spi_dummy_len_fix ); +PROVIDE ( esp_rom_spiflash_set_drvs = SetSpiDrvs); +PROVIDE ( esp_rom_spiflash_select_padsfunc = SelectSpiFunction ); +PROVIDE ( esp_rom_spiflash_common_cmd = SPI_Common_Command ); diff --git a/esp-hal/ld/esp32h2/rom/esp32h2.rom.heap.ld b/esp-hal/ld/esp32h2/rom/esp32h2.rom.heap.ld new file mode 100644 index 000000000..0c176cbbb --- /dev/null +++ b/esp-hal/ld/esp32h2/rom/esp32h2.rom.heap.ld @@ -0,0 +1,80 @@ +/* + * SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD + * + * SPDX-License-Identifier: Apache-2.0 + */ +/* ROM function interface esp32h2.rom.heap.ld for esp32h2 + * + * + * Generated from ./target/esp32h2/interface-esp32h2.yml md5sum c0ad4e113e5b29bb9d799f10f03edbc1 + * + * Compatible with ROM where ECO version equal or greater to 0. + * + * THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT. + */ + +/*************************************** + Group heap + ***************************************/ + +/* Functions */ +tlsf_create = 0x400003f4; +tlsf_create_with_pool = 0x400003f8; +tlsf_get_pool = 0x400003fc; +tlsf_add_pool = 0x40000400; +tlsf_remove_pool = 0x40000404; +tlsf_malloc = 0x40000408; +tlsf_memalign = 0x4000040c; +tlsf_memalign_offs = 0x40000410; +tlsf_realloc = 0x40000414; +tlsf_free = 0x40000418; +tlsf_block_size = 0x4000041c; +tlsf_size = 0x40000420; +tlsf_align_size = 0x40000424; +tlsf_block_size_min = 0x40000428; +tlsf_block_size_max = 0x4000042c; +tlsf_pool_overhead = 0x40000430; +tlsf_alloc_overhead = 0x40000434; +tlsf_walk_pool = 0x40000438; +tlsf_check = 0x4000043c; +tlsf_poison_fill_pfunc_set = 0x40000444; +tlsf_poison_check_pfunc_set = 0x40000448; +multi_heap_get_block_address_impl = 0x4000044c; +multi_heap_get_allocated_size_impl = 0x40000450; +multi_heap_register_impl = 0x40000454; +multi_heap_set_lock = 0x40000458; +multi_heap_os_funcs_init = 0x4000045c; +multi_heap_internal_lock = 0x40000460; +multi_heap_internal_unlock = 0x40000464; +multi_heap_get_first_block = 0x40000468; +multi_heap_get_next_block = 0x4000046c; +multi_heap_is_free = 0x40000470; +multi_heap_malloc_impl = 0x40000474; +multi_heap_free_impl = 0x40000478; +multi_heap_realloc_impl = 0x4000047c; +multi_heap_aligned_alloc_impl_offs = 0x40000480; +multi_heap_aligned_alloc_impl = 0x40000484; +multi_heap_check = 0x40000488; +multi_heap_dump = 0x4000048c; +multi_heap_free_size_impl = 0x40000490; +multi_heap_minimum_free_size_impl = 0x40000494; +multi_heap_get_info_impl = 0x40000498; +/* Data (.data, .bss, .rodata) */ +heap_tlsf_table_ptr = 0x4084ffd8; + +PROVIDE (multi_heap_malloc = multi_heap_malloc_impl); +PROVIDE (multi_heap_free = multi_heap_free_impl); +PROVIDE (multi_heap_realloc = multi_heap_realloc_impl); +PROVIDE (multi_heap_get_allocated_size = multi_heap_get_allocated_size_impl); +PROVIDE (multi_heap_register = multi_heap_register_impl); +PROVIDE (multi_heap_get_info = multi_heap_get_info_impl); +PROVIDE (multi_heap_free_size = multi_heap_free_size_impl); +PROVIDE (multi_heap_minimum_free_size = multi_heap_minimum_free_size_impl); +PROVIDE (multi_heap_get_block_address = multi_heap_get_block_address_impl); +PROVIDE (multi_heap_aligned_alloc = multi_heap_aligned_alloc_impl); +PROVIDE (multi_heap_aligned_free = multi_heap_aligned_free_impl); +PROVIDE (multi_heap_check = multi_heap_check); +PROVIDE (multi_heap_set_lock = multi_heap_set_lock); +PROVIDE (multi_heap_os_funcs_init = multi_heap_mutex_init); +PROVIDE (multi_heap_internal_lock = multi_heap_internal_lock); +PROVIDE (multi_heap_internal_unlock = multi_heap_internal_unlock); diff --git a/esp-hal/ld/esp32h2/rom/esp32h2.rom.ld b/esp-hal/ld/esp32h2/rom/esp32h2.rom.ld new file mode 100644 index 000000000..8000e80f1 --- /dev/null +++ b/esp-hal/ld/esp32h2/rom/esp32h2.rom.ld @@ -0,0 +1,379 @@ +/* + * SPDX-FileCopyrightText: 2022-2024 Espressif Systems (Shanghai) CO LTD + * + * SPDX-License-Identifier: Apache-2.0 + */ +/* ROM function interface esp32h2.rom.ld for esp32h2 + * + * + * Generated from ./target/esp32h2/interface-esp32h2.yml md5sum c0ad4e113e5b29bb9d799f10f03edbc1 + * + * Compatible with ROM where ECO version equal or greater to 0. + * + * THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT. + */ + +/*************************************** + Group common + ***************************************/ + +/* Functions */ +rtc_get_reset_reason = 0x40000018; +analog_super_wdt_reset_happened = 0x4000001c; +rtc_get_wakeup_cause = 0x40000020; +rtc_unhold_all_pads = 0x40000024; +ets_printf = 0x40000028; +ets_install_putc1 = 0x4000002c; +ets_install_putc2 = 0x40000030; +ets_install_uart_printf = 0x40000034; +ets_install_usb_printf = 0x40000038; +ets_get_printf_channel = 0x4000003c; +ets_delay_us = 0x40000040; +ets_get_cpu_frequency = 0x40000044; +ets_update_cpu_frequency = 0x40000048; +ets_install_lock = 0x4000004c; +UartRxString = 0x40000050; +UartGetCmdLn = 0x40000054; +uart_tx_one_char = 0x40000058; +uart_tx_one_char2 = 0x4000005c; +uart_rx_one_char = 0x40000060; +uart_rx_one_char_block = 0x40000064; +uart_rx_intr_handler = 0x40000068; +uart_rx_readbuff = 0x4000006c; +uartAttach = 0x40000070; +uart_tx_flush = 0x40000074; +uart_tx_wait_idle = 0x40000078; +uart_div_modify = 0x4000007c; +ets_write_char_uart = 0x40000080; +uart_tx_switch = 0x40000084; +roundup2 = 0x40000088; +multofup = 0x4000008c; +software_reset = 0x40000090; +software_reset_cpu = 0x40000094; +ets_clk_assist_debug_clock_enable = 0x40000098; +clear_super_wdt_reset_flag = 0x4000009c; +disable_default_watchdog = 0x400000a0; +esp_rom_set_rtc_wake_addr = 0x400000a4; +esp_rom_get_rtc_wake_addr = 0x400000a8; +send_packet = 0x400000ac; +recv_packet = 0x400000b0; +GetUartDevice = 0x400000b4; +UartDwnLdProc = 0x400000b8; +GetSecurityInfoProc = 0x400000bc; +Uart_Init = 0x400000c0; +ets_set_user_start = 0x400000c4; +/* Data (.data, .bss, .rodata) */ +ets_rom_layout_p = 0x4001fffc; +ets_ops_table_ptr = 0x4084fff8; +g_saved_pc = 0x4084fffc; + + +/*************************************** + Group miniz + ***************************************/ + +/* Functions */ +mz_adler32 = 0x400000c8; +mz_free = 0x400000cc; +tdefl_compress = 0x400000d0; +tdefl_compress_buffer = 0x400000d4; +tdefl_compress_mem_to_heap = 0x400000d8; +tdefl_compress_mem_to_mem = 0x400000dc; +tdefl_compress_mem_to_output = 0x400000e0; +tdefl_get_adler32 = 0x400000e4; +tdefl_get_prev_return_status = 0x400000e8; +tdefl_init = 0x400000ec; +tdefl_write_image_to_png_file_in_memory = 0x400000f0; +tdefl_write_image_to_png_file_in_memory_ex = 0x400000f4; +tinfl_decompress = 0x400000f8; +tinfl_decompress_mem_to_callback = 0x400000fc; +tinfl_decompress_mem_to_heap = 0x40000100; +tinfl_decompress_mem_to_mem = 0x40000104; + + +/*************************************** + Group spiflash_legacy + ***************************************/ + +/* Functions */ +esp_rom_spiflash_wait_idle = 0x40000108; +esp_rom_spiflash_write_encrypted = 0x4000010c; +esp_rom_spiflash_write_encrypted_dest = 0x40000110; +esp_rom_spiflash_write_encrypted_enable = 0x40000114; +esp_rom_spiflash_write_encrypted_disable = 0x40000118; +esp_rom_spiflash_erase_chip = 0x4000011c; +_esp_rom_spiflash_erase_sector = 0x40000120; +_esp_rom_spiflash_erase_block = 0x40000124; +_esp_rom_spiflash_write = 0x40000128; +_esp_rom_spiflash_read = 0x4000012c; +_esp_rom_spiflash_unlock = 0x40000130; +_SPIEraseArea = 0x40000134; +_SPI_write_enable = 0x40000138; +esp_rom_spiflash_erase_sector = 0x4000013c; +esp_rom_spiflash_erase_block = 0x40000140; +esp_rom_spiflash_write = 0x40000144; +esp_rom_spiflash_read = 0x40000148; +esp_rom_spiflash_unlock = 0x4000014c; +SPIEraseArea = 0x40000150; +SPI_write_enable = 0x40000154; +esp_rom_spiflash_config_param = 0x40000158; +esp_rom_spiflash_read_user_cmd = 0x4000015c; +esp_rom_spiflash_select_qio_pins = 0x40000160; +esp_rom_spi_flash_auto_sus_res = 0x40000164; +esp_rom_spi_flash_send_resume = 0x40000168; +esp_rom_spi_flash_update_id = 0x4000016c; +esp_rom_spiflash_config_clk = 0x40000170; +esp_rom_spiflash_config_readmode = 0x40000174; +esp_rom_spiflash_read_status = 0x40000178; +esp_rom_spiflash_read_statushigh = 0x4000017c; +esp_rom_spiflash_write_status = 0x40000180; +spi_cache_mode_switch = 0x40000184; +spi_common_set_dummy_output = 0x40000188; +spi_common_set_flash_cs_timing = 0x4000018c; +esp_rom_spi_set_address_bit_len = 0x40000190; +SPILock = 0x40000194; +SPIMasterReadModeCnfig = 0x40000198; +SPI_Common_Command = 0x4000019c; +SPI_WakeUp = 0x400001a0; +SPI_block_erase = 0x400001a4; +SPI_chip_erase = 0x400001a8; +SPI_init = 0x400001ac; +SPI_page_program = 0x400001b0; +SPI_read_data = 0x400001b4; +SPI_sector_erase = 0x400001b8; +SelectSpiFunction = 0x400001bc; +SetSpiDrvs = 0x400001c0; +Wait_SPI_Idle = 0x400001c4; +spi_dummy_len_fix = 0x400001c8; +Disable_QMode = 0x400001cc; +Enable_QMode = 0x400001d0; +spi_flash_attach = 0x400001d4; +spi_flash_get_chip_size = 0x400001d8; +spi_flash_guard_set = 0x400001dc; +spi_flash_guard_get = 0x400001e0; +spi_flash_read_encrypted = 0x400001e4; +/* Data (.data, .bss, .rodata) */ +rom_spiflash_legacy_funcs = 0x4084fff0; +rom_spiflash_legacy_data = 0x4084ffec; +g_flash_guard_ops = 0x4084fff4; + +/* Note: esp_rom_spiflash_write_disable was moved from esp32c6.rom.spiflash.ld */ +esp_rom_spiflash_write_disable = 0x40000270; + +/*************************************** + Group cache + ***************************************/ + +/* Functions */ +Cache_Get_ICache_Line_Size = 0x400005fc; +Cache_Get_Mode = 0x40000600; +Cache_Address_Through_Cache = 0x40000604; +ROM_Boot_Cache_Init = 0x40000608; +MMU_Set_Page_Mode = 0x4000060c; +MMU_Get_Page_Mode = 0x40000610; +Cache_Invalidate_ICache_Items = 0x40000614; +Cache_Op_Addr = 0x40000618; +Cache_Invalidate_Addr = 0x4000061c; +Cache_Invalidate_ICache_All = 0x40000620; +Cache_Mask_All = 0x40000624; +Cache_UnMask_Dram0 = 0x40000628; +Cache_Suspend_ICache_Autoload = 0x4000062c; +Cache_Resume_ICache_Autoload = 0x40000630; +Cache_Start_ICache_Preload = 0x40000634; +Cache_ICache_Preload_Done = 0x40000638; +Cache_End_ICache_Preload = 0x4000063c; +Cache_Config_ICache_Autoload = 0x40000640; +Cache_Enable_ICache_Autoload = 0x40000644; +Cache_Disable_ICache_Autoload = 0x40000648; +Cache_Enable_ICache_PreLock = 0x4000064c; +Cache_Disable_ICache_PreLock = 0x40000650; +Cache_Lock_ICache_Items = 0x40000654; +Cache_Unlock_ICache_Items = 0x40000658; +Cache_Lock_Addr = 0x4000065c; +Cache_Unlock_Addr = 0x40000660; +Cache_Disable_ICache = 0x40000664; +Cache_Enable_ICache = 0x40000668; +Cache_Suspend_ICache = 0x4000066c; +Cache_Resume_ICache = 0x40000670; +Cache_Freeze_ICache_Enable = 0x40000674; +Cache_Freeze_ICache_Disable = 0x40000678; +Cache_Set_IDROM_MMU_Size = 0x4000067c; +Cache_Get_IROM_MMU_End = 0x40000680; +Cache_Get_DROM_MMU_End = 0x40000684; +Cache_MMU_Init = 0x40000688; +Cache_MSPI_MMU_Set = 0x4000068c; +Cache_Travel_Tag_Memory = 0x40000690; +Cache_Get_Virtual_Addr = 0x40000694; +/* Data (.data, .bss, .rodata) */ +rom_cache_op_cb = 0x4084ffcc; +rom_cache_internal_table_ptr = 0x4084ffc8; + + +/*************************************** + Group clock + ***************************************/ + +/* Functions */ +ets_clk_get_xtal_freq = 0x40000698; +ets_clk_get_cpu_freq = 0x4000069c; + + +/*************************************** + Group gpio + ***************************************/ + +/* Functions */ +gpio_input_get = 0x400006a0; +gpio_matrix_in = 0x400006a4; +gpio_matrix_out = 0x400006a8; +gpio_output_disable = 0x400006ac; +gpio_output_enable = 0x400006b0; +gpio_output_set = 0x400006b4; +gpio_pad_hold = 0x400006b8; +gpio_pad_input_disable = 0x400006bc; +gpio_pad_input_enable = 0x400006c0; +gpio_pad_pulldown = 0x400006c4; +gpio_pad_pullup = 0x400006c8; +gpio_pad_select_gpio = 0x400006cc; +gpio_pad_set_drv = 0x400006d0; +gpio_pad_unhold = 0x400006d4; +gpio_pin_wakeup_disable = 0x400006d8; +gpio_pin_wakeup_enable = 0x400006dc; +gpio_bypass_matrix_in = 0x400006e0; + + +/*************************************** + Group interrupts + ***************************************/ + +/* Functions */ +esprv_intc_int_set_priority = 0x400006e4; +esprv_intc_int_set_threshold = 0x400006e8; +esprv_intc_int_enable = 0x400006ec; +esprv_intc_int_disable = 0x400006f0; +esprv_intc_int_set_type = 0x400006f4; +PROVIDE( intr_handler_set = 0x400006f8 ); +intr_matrix_set = 0x400006fc; +ets_intr_lock = 0x40000700; +ets_intr_unlock = 0x40000704; +ets_isr_attach = 0x40000708; +ets_isr_mask = 0x4000070c; +ets_isr_unmask = 0x40000710; + + +/*************************************** + Group crypto + ***************************************/ + +/* Functions */ +md5_vector = 0x40000714; +MD5Init = 0x40000718; +MD5Update = 0x4000071c; +MD5Final = 0x40000720; +crc32_le = 0x40000724; +crc16_le = 0x40000728; +crc8_le = 0x4000072c; +crc32_be = 0x40000730; +crc16_be = 0x40000734; +crc8_be = 0x40000738; +esp_crc8 = 0x4000073c; +ets_sha_enable = 0x40000740; +ets_sha_disable = 0x40000744; +ets_sha_get_state = 0x40000748; +ets_sha_init = 0x4000074c; +ets_sha_process = 0x40000750; +ets_sha_starts = 0x40000754; +ets_sha_update = 0x40000758; +ets_sha_finish = 0x4000075c; +ets_sha_clone = 0x40000760; +ets_hmac_enable = 0x40000764; +ets_hmac_disable = 0x40000768; +ets_hmac_calculate_message = 0x4000076c; +ets_hmac_calculate_downstream = 0x40000770; +ets_hmac_invalidate_downstream = 0x40000774; +ets_jtag_enable_temporarily = 0x40000778; +ets_aes_enable = 0x4000077c; +ets_aes_disable = 0x40000780; +ets_aes_setkey = 0x40000784; +ets_aes_block = 0x40000788; +ets_aes_setkey_dec = 0x4000078c; +ets_aes_setkey_enc = 0x40000790; +ets_bigint_enable = 0x40000794; +ets_bigint_disable = 0x40000798; +ets_bigint_multiply = 0x4000079c; +ets_bigint_modmult = 0x400007a0; +ets_bigint_modexp = 0x400007a4; +ets_bigint_wait_finish = 0x400007a8; +ets_bigint_getz = 0x400007ac; +ets_ds_enable = 0x400007b0; +ets_ds_disable = 0x400007b4; +ets_ds_start_sign = 0x400007b8; +ets_ds_is_busy = 0x400007bc; +ets_ds_finish_sign = 0x400007c0; +ets_ds_encrypt_params = 0x400007c4; +ets_mgf1_sha256 = 0x400007c8; +/* Data (.data, .bss, .rodata) */ +crc32_le_table_ptr = 0x4001fff8; +crc16_le_table_ptr = 0x4001fff4; +crc8_le_table_ptr = 0x4001fff0; +crc32_be_table_ptr = 0x4001ffec; +crc16_be_table_ptr = 0x4001ffe8; +crc8_be_table_ptr = 0x4001ffe4; + + +/*************************************** + Group efuse + ***************************************/ + +/* Functions */ +ets_efuse_read = 0x400007cc; +ets_efuse_program = 0x400007d0; +ets_efuse_clear_program_registers = 0x400007d4; +ets_efuse_write_key = 0x400007d8; +ets_efuse_get_read_register_address = 0x400007dc; +ets_efuse_get_key_purpose = 0x400007e0; +ets_efuse_key_block_unused = 0x400007e4; +ets_efuse_find_unused_key_block = 0x400007e8; +ets_efuse_rs_calculate = 0x400007ec; +ets_efuse_count_unused_key_blocks = 0x400007f0; +ets_efuse_secure_boot_enabled = 0x400007f4; +ets_efuse_secure_boot_aggressive_revoke_enabled = 0x400007f8; +ets_efuse_cache_encryption_enabled = 0x400007fc; +ets_efuse_download_modes_disabled = 0x40000800; +ets_efuse_find_purpose = 0x40000804; +ets_efuse_force_send_resume = 0x40000808; +ets_efuse_get_flash_delay_us = 0x4000080c; +ets_efuse_get_mac = 0x40000810; +ets_efuse_get_uart_print_control = 0x40000814; +ets_efuse_direct_boot_mode_disabled = 0x40000818; +ets_efuse_security_download_modes_enabled = 0x4000081c; +ets_efuse_jtag_disabled = 0x40000820; +ets_efuse_usb_print_is_disabled = 0x40000824; +ets_efuse_usb_download_mode_disabled = 0x40000828; +ets_efuse_usb_device_disabled = 0x4000082c; +ets_efuse_secure_boot_fast_wake_enabled = 0x40000830; + + +/*************************************** + Group secureboot + ***************************************/ + +/* Functions */ +ets_emsa_pss_verify = 0x40000834; +ets_rsa_pss_verify = 0x40000838; +ets_ecdsa_verify = 0x4000083c; +ets_secure_boot_verify_bootloader_with_keys = 0x40000840; +ets_secure_boot_verify_signature = 0x40000844; +ets_secure_boot_read_key_digests = 0x40000848; +ets_secure_boot_revoke_public_key_digest = 0x4000084c; + + +/*************************************** + Group usb_device_uart + ***************************************/ + +/* Functions */ +usb_serial_device_rx_one_char = 0x400009c0; +usb_serial_device_rx_one_char_block = 0x400009c4; +usb_serial_device_tx_flush = 0x400009c8; +usb_serial_device_tx_one_char = 0x400009cc; diff --git a/esp-hal/ld/esp32h2/rom/esp32h2.rom.libgcc.ld b/esp-hal/ld/esp32h2/rom/esp32h2.rom.libgcc.ld new file mode 100644 index 000000000..d4287503e --- /dev/null +++ b/esp-hal/ld/esp32h2/rom/esp32h2.rom.libgcc.ld @@ -0,0 +1,112 @@ +/* + * SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD + * + * SPDX-License-Identifier: Apache-2.0 + */ +/* ROM function interface esp32h2.rom.libgcc.ld for esp32h2 + * + * + * Generated from ./target/esp32h2/interface-esp32h2.yml md5sum c0ad4e113e5b29bb9d799f10f03edbc1 + * + * Compatible with ROM where ECO version equal or greater to 0. + * + * THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT. + */ + +/*************************************** + Group libgcc + ***************************************/ + +/* Functions */ +__absvdi2 = 0x40000850; +__absvsi2 = 0x40000854; +__adddf3 = 0x40000858; +__addsf3 = 0x4000085c; +__addvdi3 = 0x40000860; +__addvsi3 = 0x40000864; +__ashldi3 = 0x40000868; +__ashrdi3 = 0x4000086c; +__bswapdi2 = 0x40000870; +__bswapsi2 = 0x40000874; +__clear_cache = 0x40000878; +__clrsbdi2 = 0x4000087c; +__clrsbsi2 = 0x40000880; +__clzdi2 = 0x40000884; +__clzsi2 = 0x40000888; +__cmpdi2 = 0x4000088c; +__ctzdi2 = 0x40000890; +__ctzsi2 = 0x40000894; +__divdc3 = 0x40000898; +__divdf3 = 0x4000089c; +__divdi3 = 0x400008a0; +__divsc3 = 0x400008a4; +__divsf3 = 0x400008a8; +__divsi3 = 0x400008ac; +__eqdf2 = 0x400008b0; +__eqsf2 = 0x400008b4; +__extendsfdf2 = 0x400008b8; +__ffsdi2 = 0x400008bc; +__ffssi2 = 0x400008c0; +__fixdfdi = 0x400008c4; +__fixdfsi = 0x400008c8; +__fixsfdi = 0x400008cc; +__fixsfsi = 0x400008d0; +__fixunsdfsi = 0x400008d4; +__fixunssfdi = 0x400008d8; +__fixunssfsi = 0x400008dc; +__floatdidf = 0x400008e0; +__floatdisf = 0x400008e4; +__floatsidf = 0x400008e8; +__floatsisf = 0x400008ec; +__floatundidf = 0x400008f0; +__floatundisf = 0x400008f4; +__floatunsidf = 0x400008f8; +__floatunsisf = 0x400008fc; +__gcc_bcmp = 0x40000900; +__gedf2 = 0x40000904; +__gesf2 = 0x40000908; +__gtdf2 = 0x4000090c; +__gtsf2 = 0x40000910; +__ledf2 = 0x40000914; +__lesf2 = 0x40000918; +__lshrdi3 = 0x4000091c; +__ltdf2 = 0x40000920; +__ltsf2 = 0x40000924; +__moddi3 = 0x40000928; +__modsi3 = 0x4000092c; +__muldc3 = 0x40000930; +__muldf3 = 0x40000934; +__muldi3 = 0x40000938; +__mulsc3 = 0x4000093c; +__mulsf3 = 0x40000940; +__mulsi3 = 0x40000944; +__mulvdi3 = 0x40000948; +__mulvsi3 = 0x4000094c; +__nedf2 = 0x40000950; +__negdf2 = 0x40000954; +__negdi2 = 0x40000958; +__negsf2 = 0x4000095c; +__negvdi2 = 0x40000960; +__negvsi2 = 0x40000964; +__nesf2 = 0x40000968; +__paritysi2 = 0x4000096c; +__popcountdi2 = 0x40000970; +__popcountsi2 = 0x40000974; +__powidf2 = 0x40000978; +__powisf2 = 0x4000097c; +__subdf3 = 0x40000980; +__subsf3 = 0x40000984; +__subvdi3 = 0x40000988; +__subvsi3 = 0x4000098c; +__truncdfsf2 = 0x40000990; +__ucmpdi2 = 0x40000994; +__udivdi3 = 0x40000998; +__udivmoddi4 = 0x4000099c; +__udivsi3 = 0x400009a0; +__udiv_w_sdiv = 0x400009a4; +__umoddi3 = 0x400009a8; +__umodsi3 = 0x400009ac; +__unorddf2 = 0x400009b0; +__unordsf2 = 0x400009b4; +__extenddftf2 = 0x400009b8; +__trunctfdf2 = 0x400009bc; diff --git a/esp-hal/ld/esp32h2/rom/esp32h2.rom.spiflash.ld b/esp-hal/ld/esp32h2/rom/esp32h2.rom.spiflash.ld new file mode 100644 index 000000000..834ef2afb --- /dev/null +++ b/esp-hal/ld/esp32h2/rom/esp32h2.rom.spiflash.ld @@ -0,0 +1,164 @@ +/* + * SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD + * + * SPDX-License-Identifier: Apache-2.0 + */ +/* ROM function interface esp32h2.rom.spiflash.ld for esp32h2 + * + * + * Generated from ./target/esp32h2/interface-esp32h2.yml md5sum c0ad4e113e5b29bb9d799f10f03edbc1 + * + * Compatible with ROM where ECO version equal or greater to 0. + * + * THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT. + */ + +/*************************************** + Group spi_flash_cache + ***************************************/ + +/* Functions */ +spi_flash_disable_cache = 0x400001e8; +spi_flash_restore_cache = 0x400001ec; +spi_flash_cache_enabled = 0x400001f0; +esp_enable_cache_flash_wrap = 0x400001f8; + + +/*************************************** + Group spi_flash_mmap + ***************************************/ + +/* Functions */ +spi_flash_mmap_os_func_set = 0x400001fc; +spi_flash_mmap_page_num_init = 0x40000200; +spi_flash_mmap = 0x40000204; +spi_flash_mmap_pages = 0x40000208; +spi_flash_munmap = 0x4000020c; +spi_flash_mmap_dump = 0x40000210; +spi_flash_check_and_flush_cache = 0x40000214; +spi_flash_mmap_get_free_pages = 0x40000218; +spi_flash_cache2phys = 0x4000021c; +spi_flash_phys2cache = 0x40000220; + + +/*************************************** + Group esp_flash + ***************************************/ + +/* Functions */ +esp_flash_chip_driver_initialized = 0x40000224; +esp_flash_read_id = 0x40000228; +esp_flash_get_size = 0x4000022c; +esp_flash_erase_chip = 0x40000230; +esp_flash_erase_region = 0x40000234; +esp_flash_get_chip_write_protect = 0x40000238; +esp_flash_set_chip_write_protect = 0x4000023c; +esp_flash_get_protectable_regions = 0x40000240; +esp_flash_get_protected_region = 0x40000244; +esp_flash_set_protected_region = 0x40000248; +esp_flash_read = 0x4000024c; +esp_flash_write = 0x40000250; +esp_flash_write_encrypted = 0x40000254; +esp_flash_read_encrypted = 0x40000258; +esp_flash_get_io_mode = 0x4000025c; +esp_flash_set_io_mode = 0x40000260; +spi_flash_boot_attach = 0x40000264; +esp_flash_read_chip_id = 0x40000268; +detect_spi_flash_chip = 0x4000026c; +esp_flash_suspend_cmd_init = 0x40000274; +/* Data (.data, .bss, .rodata) */ +esp_flash_default_chip = 0x4084ffe8; +esp_flash_api_funcs = 0x4084ffe4; + + +/*************************************** + Group spi_flash_chips + ***************************************/ + +/* Functions */ +spi_flash_chip_generic_probe = 0x40000278; +spi_flash_chip_generic_detect_size = 0x4000027c; +spi_flash_chip_generic_write = 0x40000280; +spi_flash_chip_generic_write_encrypted = 0x40000284; +spi_flash_chip_generic_set_write_protect = 0x40000288; +spi_flash_common_write_status_16b_wrsr = 0x4000028c; +spi_flash_chip_generic_reset = 0x40000290; +spi_flash_chip_generic_erase_chip = 0x40000294; +spi_flash_chip_generic_erase_sector = 0x40000298; +spi_flash_chip_generic_erase_block = 0x4000029c; +spi_flash_chip_generic_page_program = 0x400002a0; +spi_flash_chip_generic_get_write_protect = 0x400002a4; +spi_flash_common_read_status_16b_rdsr_rdsr2 = 0x400002a8; +spi_flash_chip_generic_read_reg = 0x400002ac; +spi_flash_chip_generic_yield = 0x400002b0; +spi_flash_generic_wait_host_idle = 0x400002b4; +spi_flash_chip_generic_wait_idle = 0x400002b8; +spi_flash_chip_generic_config_host_io_mode = 0x400002bc; +spi_flash_chip_generic_read = 0x400002c0; +spi_flash_common_read_status_8b_rdsr2 = 0x400002c4; +spi_flash_chip_generic_get_io_mode = 0x400002c8; +spi_flash_common_read_status_8b_rdsr = 0x400002cc; +spi_flash_common_write_status_8b_wrsr = 0x400002d0; +spi_flash_common_write_status_8b_wrsr2 = 0x400002d4; +spi_flash_common_set_io_mode = 0x400002d8; +spi_flash_chip_generic_set_io_mode = 0x400002dc; +spi_flash_chip_generic_read_unique_id = 0x400002e0; +spi_flash_chip_generic_get_caps = 0x400002e4; +spi_flash_chip_generic_suspend_cmd_conf = 0x400002e8; +spi_flash_chip_gd_get_io_mode = 0x400002ec; +spi_flash_chip_gd_probe = 0x400002f0; +spi_flash_chip_gd_set_io_mode = 0x400002f4; +/* Data (.data, .bss, .rodata) */ +spi_flash_chip_generic_config_data = 0x4084ffe0; +spi_flash_encryption = 0x4084ffdc; + + +/*************************************** + Group memspi_host + ***************************************/ + +/* Functions */ +memspi_host_read_id_hs = 0x400002f8; +memspi_host_read_status_hs = 0x400002fc; +memspi_host_flush_cache = 0x40000300; +memspi_host_erase_chip = 0x40000304; +memspi_host_erase_sector = 0x40000308; +memspi_host_erase_block = 0x4000030c; +memspi_host_program_page = 0x40000310; +memspi_host_read = 0x40000314; +memspi_host_set_write_protect = 0x40000318; +memspi_host_set_max_read_len = 0x4000031c; +memspi_host_read_data_slicer = 0x40000320; +memspi_host_write_data_slicer = 0x40000324; + + +/*************************************** + Group hal_spiflash + ***************************************/ + +/* Functions */ +spi_flash_hal_poll_cmd_done = 0x40000328; +spi_flash_hal_device_config = 0x4000032c; +spi_flash_hal_configure_host_io_mode = 0x40000330; +spi_flash_hal_common_command = 0x40000334; +spi_flash_hal_read = 0x40000338; +spi_flash_hal_erase_chip = 0x4000033c; +spi_flash_hal_erase_sector = 0x40000340; +spi_flash_hal_erase_block = 0x40000344; +spi_flash_hal_program_page = 0x40000348; +spi_flash_hal_set_write_protect = 0x4000034c; +spi_flash_hal_host_idle = 0x40000350; +spi_flash_hal_check_status = 0x40000354; +spi_flash_hal_setup_read_suspend = 0x40000358; +spi_flash_hal_setup_auto_suspend_mode = 0x4000035c; +spi_flash_hal_setup_auto_resume_mode = 0x40000360; +spi_flash_hal_disable_auto_suspend_mode = 0x40000364; +spi_flash_hal_disable_auto_resume_mode = 0x40000368; +spi_flash_hal_resume = 0x4000036c; +spi_flash_hal_suspend = 0x40000370; +spi_flash_encryption_hal_enable = 0x40000374; +spi_flash_encryption_hal_disable = 0x40000378; +spi_flash_encryption_hal_prepare = 0x4000037c; +spi_flash_encryption_hal_done = 0x40000380; +spi_flash_encryption_hal_destroy = 0x40000384; +spi_flash_encryption_hal_check = 0x40000388; diff --git a/esp-hal/ld/esp32h2/rom/esp32h2.rom.version.ld b/esp-hal/ld/esp32h2/rom/esp32h2.rom.version.ld new file mode 100644 index 000000000..c7330d8d1 --- /dev/null +++ b/esp-hal/ld/esp32h2/rom/esp32h2.rom.version.ld @@ -0,0 +1,13 @@ +/* + * SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD + * + * SPDX-License-Identifier: Apache-2.0 + */ +/* ROM version variables for esp32h2 + * + * These addresses should be compatible with any ROM version for this chip. + * + * THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT. + */ +_rom_chip_id = 0x40000010; +_rom_eco_version = 0x40000014; diff --git a/esp-hal/ld/esp32s2/rom-functions.x b/esp-hal/ld/esp32s2/rom-functions.x index f7f4e7fa0..37eb6ceb4 100644 --- a/esp-hal/ld/esp32s2/rom-functions.x +++ b/esp-hal/ld/esp32s2/rom-functions.x @@ -1,34 +1,6 @@ -PROVIDE(ets_delay_us = 0x4000d888); -PROVIDE(ets_update_cpu_frequency_rom = 0x4000d8a4); -PROVIDE(rom_i2c_writeReg = 0x4000a9a8); -PROVIDE(rom_i2c_writeReg_Mask = 0x4000aa00); -PROVIDE(rtc_get_reset_reason = 0x4000ff58); -PROVIDE(software_reset = 0x40010068); -PROVIDE(software_reset_cpu = 0x40010080); +INCLUDE "rom/esp32s2.rom.api.ld" +INCLUDE "rom/esp32s2.rom.ld" +INCLUDE "rom/esp32s2.rom.libgcc.ld" +INCLUDE "rom/esp32s2.rom.spiflash_legacy.ld" -PROVIDE ( cache_dbus_mmu_set = 0x40018eb0 ); -PROVIDE ( Cache_Allocate_SRAM = 0x40018d6c ); -PROVIDE ( Cache_Invalidate_DCache_All = 0x4001842c ); -PROVIDE ( Cache_Set_DCache_Mode = 0x40018074 ); -PROVIDE ( ets_efuse_get_spiconfig = 0x4000e4a0 ); -PROVIDE ( esp_rom_efuse_get_flash_gpio_info = ets_efuse_get_spiconfig ); -PROVIDE ( esp_rom_efuse_get_flash_wp_gpio = ets_efuse_get_wp_pad ); -PROVIDE ( ets_efuse_get_wp_pad = 0x4000e444 ); -PROVIDE ( esp_rom_spiflash_select_qio_pins = SelectSpiQIO ); -PROVIDE ( SelectSpiQIO = 0x40015b88 ); -PROVIDE ( esp_rom_spi_set_op_mode = 0x400179e8 ); -PROVIDE ( esp_rom_spi_cmd_start = 0x40017ba8 ); -PROVIDE ( esp_rom_spi_cmd_config = 0x40017c58 ); - -PROVIDE(esp_rom_crc32_le = 0x400119dc); -PROVIDE(esp_rom_crc16_le = 0x40011a10); -PROVIDE(esp_rom_crc8_le = 0x40011a4c); - -PROVIDE(esp_rom_md5_final = 0x4000530c); -PROVIDE(esp_rom_md5_init = 0x4000526c); -PROVIDE(esp_rom_md5_update = 0x4000528c); - -memcmp = 0x4001ab40; -memcpy = 0x4001aba8; -memmove = 0x4001acb0; -memset = 0x4001ad3c; \ No newline at end of file +INCLUDE "rom/additional.ld" diff --git a/esp-hal/ld/esp32s2/rom/additional.ld b/esp-hal/ld/esp32s2/rom/additional.ld new file mode 100644 index 000000000..41f18abbe --- /dev/null +++ b/esp-hal/ld/esp32s2/rom/additional.ld @@ -0,0 +1,12 @@ +memcmp = 0x4001ab40; +memcpy = 0x4001aba8; +memmove = 0x4001acb0; +memset = 0x4001ad3c; + +strcpy = 0x40007cfc; +strncpy = 0x40007f20; +strncmp = 0x4001ae64; + +bzero = 0x400078c8; + +PROVIDE ( cache_dbus_mmu_set = 0x40018eb0 ); diff --git a/esp-hal/ld/esp32s2/rom/esp32s2.rom.api.ld b/esp-hal/ld/esp32s2/rom/esp32s2.rom.api.ld new file mode 100644 index 000000000..a67e67e83 --- /dev/null +++ b/esp-hal/ld/esp32s2/rom/esp32s2.rom.api.ld @@ -0,0 +1,65 @@ +/** + * ROM APIs + */ + +PROVIDE ( esp_rom_crc32_le = crc32_le ); +PROVIDE ( esp_rom_crc16_le = crc16_le ); +PROVIDE ( esp_rom_crc8_le = crc8_le ); + +PROVIDE ( esp_rom_gpio_pad_select_gpio = gpio_pad_select_gpio ); +PROVIDE ( esp_rom_gpio_pad_pullup_only = gpio_pad_pullup ); +PROVIDE ( esp_rom_gpio_pad_set_drv = gpio_pad_set_drv ); +PROVIDE ( esp_rom_gpio_pad_unhold = gpio_pad_unhold ); +PROVIDE ( esp_rom_gpio_connect_in_signal = gpio_matrix_in ); +PROVIDE ( esp_rom_gpio_connect_out_signal = gpio_matrix_out ); + +PROVIDE ( esp_rom_efuse_mac_address_crc8 = esp_crc8 ); +PROVIDE ( esp_rom_efuse_get_flash_gpio_info = ets_efuse_get_spiconfig ); +PROVIDE ( esp_rom_efuse_get_flash_wp_gpio = ets_efuse_get_wp_pad ); +PROVIDE ( esp_rom_efuse_get_opiconfig = ets_efuse_get_opiconfig ); +PROVIDE ( esp_rom_efuse_is_secure_boot_enabled = ets_efuse_secure_boot_enabled ); + +PROVIDE ( esp_rom_uart_flush_tx = uart_tx_flush ); +PROVIDE ( esp_rom_uart_tx_one_char = uart_tx_one_char ); +PROVIDE ( esp_rom_uart_tx_wait_idle = uart_tx_wait_idle ); +PROVIDE ( esp_rom_uart_rx_one_char = uart_rx_one_char ); +PROVIDE ( esp_rom_uart_rx_string = UartRxString ); +PROVIDE ( esp_rom_uart_set_as_console = uart_tx_switch ); +PROVIDE ( esp_rom_uart_usb_acm_init = Uart_Init_USB ); +PROVIDE ( esp_rom_uart_putc = ets_write_char_uart ); +PROVIDE ( esp_rom_uart_switch_buffer = uart_buff_switch ); + +PROVIDE ( esp_rom_output_flush_tx = uart_tx_flush ); +PROVIDE ( esp_rom_output_tx_one_char = uart_tx_one_char ); +PROVIDE ( esp_rom_output_tx_wait_idle = uart_tx_wait_idle ); +PROVIDE ( esp_rom_output_rx_one_char = uart_rx_one_char ); +PROVIDE ( esp_rom_output_rx_string = UartRxString ); +PROVIDE ( esp_rom_output_set_as_console = uart_tx_switch ); +PROVIDE ( esp_rom_output_usb_acm_init = Uart_Init_USB ); +PROVIDE ( esp_rom_output_putc = ets_write_char_uart ); +PROVIDE ( esp_rom_output_switch_buffer = uart_buff_switch ); + +/* wpa_supplicant re-implements the MD5 functions: MD5Init, MD5Update, MD5Final */ +/* so here we directly assign the symbols with the ROM API address */ +PROVIDE ( esp_rom_md5_init = 0x4000526c ); +PROVIDE ( esp_rom_md5_update = 0x4000528c ); +PROVIDE ( esp_rom_md5_final = 0x4000530c ); + +PROVIDE ( esp_rom_software_reset_system = software_reset ); +PROVIDE ( esp_rom_software_reset_cpu = software_reset_cpu ); + +PROVIDE ( esp_rom_printf = ets_printf ); +PROVIDE ( esp_rom_delay_us = ets_delay_us ); +PROVIDE ( esp_rom_install_uart_printf = ets_install_uart_printf ); +PROVIDE ( esp_rom_get_reset_reason = rtc_get_reset_reason ); +PROVIDE ( esp_rom_route_intr_matrix = intr_matrix_set ); +PROVIDE ( esp_rom_get_cpu_ticks_per_us = ets_get_cpu_frequency ); +PROVIDE ( esp_rom_set_cpu_ticks_per_us = ets_update_cpu_frequency ); + +PROVIDE ( esp_rom_spiflash_clear_bp = esp_rom_spiflash_unlock ); +PROVIDE ( esp_rom_spiflash_write_enable = SPI_write_enable); + +PROVIDE ( esp_rom_spiflash_fix_dummylen = spi_dummy_len_fix ); +PROVIDE ( esp_rom_spiflash_set_drvs = SetSpiDrvs); +PROVIDE ( esp_rom_spiflash_select_padsfunc = SelectSpiFunction ); +PROVIDE ( esp_rom_spiflash_common_cmd = SPI_Common_Command ); diff --git a/esp-hal/ld/esp32s2/rom/esp32s2.rom.ld b/esp-hal/ld/esp32s2/rom/esp32s2.rom.ld new file mode 100644 index 000000000..2256bc2b3 --- /dev/null +++ b/esp-hal/ld/esp32s2/rom/esp32s2.rom.ld @@ -0,0 +1,804 @@ +/** + * ESP32-S2 ROM address table (except symbols from libgcc and libc) + * Generated for ROM with MD5sum: 0a2c7ec5109c17884606d23b47045796 + * + * These are all weak symbols that could be overwritten in ESP-IDF. + */ + +PROVIDE ( abort = 0x40019fb4 ); +PROVIDE ( acm_config_descr = 0x3ffaef0f ); +PROVIDE ( acm_usb_descriptors = 0x3ffaee68 ); +PROVIDE ( boot_prepare = 0x4000f348 ); +PROVIDE ( Cache_Address_Through_DCache = 0x400180f0 ); +PROVIDE ( Cache_Address_Through_ICache = 0x400180bc ); +PROVIDE ( Cache_Allocate_SRAM = 0x40018d6c ); +PROVIDE ( Cache_Clean_Addr = 0x40018370 ); +PROVIDE ( Cache_Clean_All = 0x40018438 ); +PROVIDE ( Cache_Clean_Items = 0x40018250 ); +PROVIDE ( Cache_Config_DCache_Autoload = 0x40018794 ); +PROVIDE ( Cache_Config_ICache_Autoload = 0x40018664 ); +PROVIDE ( rom_Cache_Count_Flash_Pages = 0x40018f70 ); +PROVIDE ( Cache_Dbus_MMU_Set = 0x40018eb0 ); +PROVIDE ( Cache_DCache_Preload_Done = 0x40018630 ); +PROVIDE ( Cache_Disable_DCache = 0x40018c68 ); +PROVIDE ( Cache_Disable_DCache_Autoload = 0x4001888c ); +PROVIDE ( Cache_Disable_DCache_PreLock = 0x40018a5c ); +PROVIDE ( Cache_Disable_ICache = 0x40018c2c ); +PROVIDE ( Cache_Disable_ICache_Autoload = 0x4001875c ); +PROVIDE ( Cache_Disable_ICache_PreLock = 0x4001892c ); +PROVIDE ( Cache_Enable_DCache = 0x40018d58 ); +PROVIDE ( Cache_Enable_DCache_Autoload = 0x40018874 ); +PROVIDE ( Cache_Enable_DCache_PreLock = 0x400189f0 ); +PROVIDE ( Cache_Enable_Defalut_DCache_Mode = 0x40018170 ); +PROVIDE ( Cache_Enable_ICache = 0x40018cf8 ); +PROVIDE ( Cache_Enable_ICache_Autoload = 0x40018744 ); +PROVIDE ( Cache_Enable_ICache_PreLock = 0x400188c0 ); +PROVIDE ( Cache_End_DCache_Preload = 0x40018644 ); +PROVIDE ( Cache_End_ICache_Preload = 0x400185b0 ); +PROVIDE ( Cache_Flash_To_SPIRAM_Copy = 0x40018fc4 ); +PROVIDE ( Cache_Get_DCache_Line_Size = 0x40017fd8 ); +PROVIDE ( Cache_Get_ICache_Line_Size = 0x40017fbc ); +PROVIDE ( Cache_Get_Memory_Addr = 0x4001929c ); +PROVIDE ( Cache_Get_Memory_BaseAddr = 0x40019244 ); +PROVIDE ( Cache_Get_Memory_value = 0x400192d8 ); +PROVIDE ( Cache_Get_Mode = 0x40017ff0 ); +PROVIDE ( Cache_Get_Virtual_Addr = 0x40019210 ); +PROVIDE ( Cache_Ibus_MMU_Set = 0x40018df4 ); +PROVIDE ( Cache_ICache_Preload_Done = 0x4001859c ); +PROVIDE ( Cache_Invalidate_Addr = 0x400182e4 ); +PROVIDE ( Cache_Invalidate_DCache_All = 0x4001842c ); +PROVIDE ( Cache_Invalidate_DCache_Items = 0x40018208 ); +PROVIDE ( Cache_Invalidate_ICache_All = 0x40018420 ); +PROVIDE ( Cache_Invalidate_ICache_Items = 0x400181b8 ); +PROVIDE ( Cache_Lock_Addr = 0x40018b10 ); +PROVIDE ( Cache_Lock_DCache_Items = 0x40018a80 ); +PROVIDE ( Cache_Lock_ICache_Items = 0x40018950 ); +PROVIDE ( Cache_Mask_All = 0x40018458 ); +PROVIDE ( cache_memory_baseaddrs = 0x3ffaf020 ); +PROVIDE ( Cache_MMU_Init = 0x40018dd8 ); +PROVIDE ( Cache_Resume_DCache = 0x40018d3c ); +PROVIDE ( Cache_Resume_DCache_Autoload = 0x4001850c ); +PROVIDE ( Cache_Resume_ICache = 0x40018cdc ); +PROVIDE ( Cache_Resume_ICache_Autoload = 0x400184c4 ); +PROVIDE ( Cache_Set_DCache_Mode = 0x40018074 ); +PROVIDE ( Cache_Set_Default_Mode = 0x4001810c ); +PROVIDE ( Cache_Set_ICache_Mode = 0x4001803c ); +PROVIDE ( Cache_Start_DCache_Preload = 0x400185c4 ); +PROVIDE ( Cache_Start_ICache_Preload = 0x40018530 ); +PROVIDE ( Cache_Suspend_DCache = 0x40018d04 ); +PROVIDE ( Cache_Suspend_DCache_Autoload = 0x400184e0 ); +PROVIDE ( Cache_Suspend_ICache = 0x40018ca4 ); +PROVIDE ( Cache_Suspend_ICache_Autoload = 0x40018498 ); +PROVIDE ( Cache_Travel_Tag_Memory = 0x4001908c ); +PROVIDE ( Cache_Unlock_Addr = 0x40018b9c ); +PROVIDE ( Cache_Unlock_DCache_Items = 0x40018ac8 ); +PROVIDE ( Cache_Unlock_ICache_Items = 0x40018998 ); +PROVIDE ( Cache_UnMask_Drom0 = 0x40018480 ); +PROVIDE ( Cache_WriteBack_Addr = 0x400183c8 ); +PROVIDE ( Cache_WriteBack_All = 0x40018444 ); +PROVIDE ( Cache_WriteBack_Items = 0x40018298 ); +PROVIDE ( cacl_rtc_memory_crc = 0x4000ffa0 ); +PROVIDE ( cdc_acm_class_handle_req = 0x40013050 ); +PROVIDE ( cdc_acm_config = 0x3ffffa10 ); +PROVIDE ( cdc_acm_dev = 0x3ffffce8 ); +PROVIDE ( cdc_acm_fifo_fill = 0x4001318c ); +PROVIDE ( cdc_acm_fifo_read = 0x40013200 ); +PROVIDE ( cdc_acm_init = 0x40013144 ); +PROVIDE ( cdc_acm_irq_callback_set = 0x400132d4 ); +PROVIDE ( cdc_acm_irq_is_pending = 0x400132b0 ); +PROVIDE ( cdc_acm_irq_rx_disable = 0x40013290 ); +PROVIDE ( cdc_acm_irq_rx_enable = 0x40013284 ); +PROVIDE ( cdc_acm_irq_rx_ready = 0x4001329c ); +PROVIDE ( cdc_acm_irq_state_disable = 0x40013264 ); +PROVIDE ( cdc_acm_irq_state_enable = 0x40013258 ); +PROVIDE ( cdc_acm_irq_tx_disable = 0x4001324c ); +PROVIDE ( cdc_acm_irq_tx_enable = 0x40013240 ); +PROVIDE ( cdc_acm_irq_tx_ready = 0x40013270 ); +PROVIDE ( cdc_acm_line_ctrl_get = 0x40013330 ); +PROVIDE ( cdc_acm_line_ctrl_set = 0x400132dc ); +PROVIDE ( cdc_acm_poll_out = 0x40013360 ); +PROVIDE ( cdc_acm_rx_fifo_cnt = 0x400131ec ); +PROVIDE ( chip723_phyrom_version = 0x4000a8a8 ); +PROVIDE ( chip_usb_detach = 0x40013508 ); +PROVIDE ( chip_usb_dw_did_persist = 0x4001337c ); +PROVIDE ( chip_usb_dw_init = 0x400133bc ); +PROVIDE ( chip_usb_dw_prepare_persist = 0x40013588 ); +PROVIDE ( chip_usb_get_persist_flags = 0x400135d8 ); +PROVIDE ( chip_usb_set_persist_flags = 0x400135e8 ); +PROVIDE ( context = 0x3fffeb34 ); +PROVIDE ( cpio_destroy = 0x4001599c ); +PROVIDE ( cpio_done = 0x40015968 ); +PROVIDE ( cpio_feed = 0x40015668 ); +PROVIDE ( cpio_start = 0x4001561c ); +PROVIDE ( crc16_le = 0x40011a10 ); +PROVIDE ( crc32_le = 0x400119dc ); +PROVIDE ( crc8_le = 0x40011a4c ); +PROVIDE ( _cvt = 0x4000f9b8 ); +PROVIDE ( _data_end_all_pro = 0x3fffff98 ); +PROVIDE ( _data_end_c = 0x3ffffd80 ); +PROVIDE ( _data_end_ets = 0x3fffe710 ); +PROVIDE ( _data_end_ets_delay = 0x3ffffd74 ); +PROVIDE ( _data_end_ets_printf = 0x3ffffd5c ); +PROVIDE ( _data_end_newlib = 0x3ffffd74 ); +PROVIDE ( _data_end_phyrom = 0x3fffff98 ); +PROVIDE ( _data_end_sip = 0x3fffeb70 ); +PROVIDE ( _data_end_slc = 0x3fffeb70 ); +PROVIDE ( _data_end_spi_flash = 0x3ffffd54 ); +PROVIDE ( _data_end_spi_slave = 0x3fffeb30 ); +PROVIDE ( _data_end_uart = 0x3ffffcf4 ); +PROVIDE ( _data_end_usbdev = 0x3ffffa6c ); +PROVIDE ( _data_end_xtos = 0x3fffef88 ); +PROVIDE ( _data_start_all_pro = 0x3fffff98 ); +PROVIDE ( _data_start_c = 0x3ffffd7c ); +PROVIDE ( _data_start_ets = 0x3fffe710 ); +PROVIDE ( _data_start_ets_delay = 0x3ffffd70 ); +PROVIDE ( _data_start_ets_printf = 0x3ffffd5c ); +PROVIDE ( _data_start_newlib = 0x3ffffd74 ); +PROVIDE ( _data_start_phyrom = 0x3ffffd90 ); +PROVIDE ( _data_start_sip = 0x3fffeb70 ); +PROVIDE ( _data_start_slc = 0x3fffeb70 ); +PROVIDE ( _data_start_spi_flash = 0x3ffffd38 ); +PROVIDE ( _data_start_spi_slave = 0x3fffeb30 ); +PROVIDE ( _data_start_uart = 0x3ffffcf4 ); +PROVIDE ( _data_start_usbdev = 0x3ffffa10 ); +PROVIDE ( _data_start_xtos = 0x3fffeb70 ); +PROVIDE ( dbus_baseaddrs = 0x3ffaf030 ); +PROVIDE ( _DebugExceptionVector = 0x40000280 ); +PROVIDE ( _DebugExceptionVector_text_end = 0x4000028b ); +PROVIDE ( _DebugExceptionVector_text_start = 0x40000280 ); +PROVIDE ( __default_global_locale = 0x3ffac600 ); +PROVIDE ( dfu_class_handle_req = 0x400152f0 ); +PROVIDE ( dfu_config_descr = 0x3ffaeeb2 ); +PROVIDE ( dfu_cpio_callback = 0x4001360c ); +PROVIDE ( dfu_custom_handle_req = 0x40015568 ); +PROVIDE ( dfu_flash_attach = 0x40015a34 ); +PROVIDE ( dfu_flash_deinit = 0x400159b4 ); +PROVIDE ( dfu_flash_erase = 0x400159bc ); +PROVIDE ( dfu_flash_init = 0x400159a4 ); +PROVIDE ( dfu_flash_program = 0x400159d0 ); +PROVIDE ( dfu_flash_read = 0x40015a24 ); +PROVIDE ( dfu_status_cb = 0x40015514 ); +PROVIDE ( dfu_updater_begin = 0x40013858 ); +PROVIDE ( dfu_updater_clear_err = 0x40013810 ); +PROVIDE ( dfu_updater_enable = 0x40013828 ); +PROVIDE ( dfu_updater_end = 0x40013900 ); +PROVIDE ( dfu_updater_feed = 0x400138b4 ); +PROVIDE ( dfu_updater_flash_read = 0x400139e8 ); +PROVIDE ( dfu_updater_get_err = 0x400137fc ); +PROVIDE ( dfu_updater_set_raw_addr = 0x400139d4 ); +PROVIDE ( dfu_usb_descriptors = 0x3ffaee4c ); +PROVIDE ( dh_group14_generator = 0x3ffadfec ); +PROVIDE ( dh_group14_prime = 0x3ffadeec ); +PROVIDE ( dh_group15_generator = 0x3ffadeeb ); +PROVIDE ( dh_group15_prime = 0x3ffadd6b ); +PROVIDE ( dh_group16_generator = 0x3ffadd6a ); +PROVIDE ( dh_group16_prime = 0x3ffadb6a ); +PROVIDE ( dh_group17_generator = 0x3ffadb69 ); +PROVIDE ( dh_group17_prime = 0x3ffad869 ); +PROVIDE ( dh_group18_generator = 0x3ffad868 ); +PROVIDE ( dh_group18_prime = 0x3ffad468 ); +PROVIDE ( dh_group1_generator = 0x3ffae18f ); +PROVIDE ( dh_group1_prime = 0x3ffae12f ); +PROVIDE ( dh_group2_generator = 0x3ffae12e ); +PROVIDE ( dh_group2_prime = 0x3ffae0ae ); +PROVIDE ( dh_group5_generator = 0x3ffae0ad ); +PROVIDE ( dh_group5_prime = 0x3ffadfed ); +PROVIDE ( disable_default_watchdog = 0x4000f270 ); +PROVIDE ( Disable_QMode = 0x400166e0 ); +PROVIDE ( dmadesc_rx = 0x3fffeb4c ); +PROVIDE ( dmadesc_tx = 0x3fffeb40 ); +PROVIDE ( _DoubleExceptionVector = 0x400003c0 ); +PROVIDE ( _DoubleExceptionVector_text_end = 0x400003c6 ); +PROVIDE ( _DoubleExceptionVector_text_start = 0x400003c0 ); +PROVIDE ( _dram0_0_start = 0x3ffeab00 ); +PROVIDE ( _dram0_rtos_reserved_start = 0x3ffffa10 ); +PROVIDE ( dummy_len_plus = 0x3ffffd54 ); +PROVIDE ( Enable_QMode = 0x40016690 ); +PROVIDE ( esp_crc8 = 0x40011a78 ); +PROVIDE ( esp_rom_config_pad_power_select = 0x40016e58 ); +PROVIDE ( esp_rom_opiflash_cache_mode_config = 0x40016754 ); +PROVIDE ( esp_rom_opiflash_exec_cmd = 0x40017e30 ); +PROVIDE ( esp_rom_opiflash_exit_continuous_read_mode = 0x40017ee8 ); +PROVIDE ( esp_rom_opiflash_mode_reset = 0x40017f90 ); +PROVIDE ( esp_rom_opiflash_pin_config = 0x400177f8 ); +PROVIDE ( esp_rom_opiflash_soft_reset = 0x40017f24 ); +PROVIDE ( esp_rom_spi_cmd_config = 0x40017c58 ); +PROVIDE ( esp_rom_spi_cmd_start = 0x40017ba8 ); +PROVIDE ( esp_rom_spi_flash_auto_sus_res = 0x400175e0 ); +PROVIDE ( esp_rom_spi_flash_auto_wait_idle = 0x4001751c ); +PROVIDE ( esp_rom_spi_flash_send_resume = 0x40017570 ); +PROVIDE ( esp_rom_spi_flash_update_id = 0x40016e44 ); +PROVIDE ( esp_rom_spi_reset_rw_mode = 0x40017984 ); +PROVIDE ( esp_rom_spi_set_dtr_swap_mode = 0x40017b60 ); +PROVIDE ( esp_rom_spi_set_op_mode = 0x400179e8 ); +PROVIDE ( _etext = 0x4001bed0 ); +PROVIDE ( ets_aes_block = 0x4000d610 ); +PROVIDE ( ets_aes_disable = 0x4000d4f8 ); +PROVIDE ( ets_aes_enable = 0x4000d4cc ); +PROVIDE ( ets_aes_set_endian = 0x4000d528 ); +PROVIDE ( ets_aes_setkey = 0x4000d594 ); +PROVIDE ( ets_aes_setkey_dec = 0x4000d5f0 ); +PROVIDE ( ets_aes_setkey_enc = 0x4000d5e0 ); +PROVIDE ( ets_bigint_disable = 0x4000d750 ); +PROVIDE ( ets_bigint_enable = 0x4000d708 ); +PROVIDE ( ets_bigint_getz = 0x4000d858 ); +PROVIDE ( ets_bigint_modexp = 0x4000d818 ); +PROVIDE ( ets_bigint_modmult = 0x4000d7f4 ); +PROVIDE ( ets_bigint_multiply = 0x4000d790 ); +PROVIDE ( ets_bigint_wait_finish = 0x4000d840 ); +PROVIDE ( ets_config_flash_by_image_hdr = 0x40010e40 ); +PROVIDE ( ets_delay_us = 0x4000d888 ); +PROVIDE ( ets_ds_disable = 0x4000d910 ); +PROVIDE ( ets_ds_enable = 0x4000d8e4 ); +PROVIDE ( ets_ds_encrypt_params = 0x4000da90 ); +PROVIDE ( ets_ds_finish_sign = 0x4000d9f8 ); +PROVIDE ( ets_ds_is_busy = 0x4000d93c ); +PROVIDE ( ets_ds_start_sign = 0x4000d96c ); +PROVIDE ( ets_efuse_cache_encryption_enabled = 0x4000e690 ); +PROVIDE ( ets_efuse_clear_program_registers = 0x4000e100 ); +PROVIDE ( ets_efuse_count_unused_key_blocks = 0x4000e2c4 ); +PROVIDE ( ets_efuse_download_modes_disabled = 0x4000e594 ); +PROVIDE ( ets_efuse_find_purpose = 0x4000e224 ); +PROVIDE ( ets_efuse_find_unused_key_block = 0x4000e2ac ); +PROVIDE ( ets_efuse_flash_opi_5pads_power_sel_vddspi = 0x4000e640 ); +PROVIDE ( ets_efuse_flash_opi_mode = 0x4000e650 ); +PROVIDE ( ets_efuse_force_send_resume = 0x4000e660 ); +PROVIDE ( ets_efuse_get_flash_delay_us = 0x4000e6d4 ); +PROVIDE ( ets_efuse_get_key_purpose = 0x4000e1b0 ); +PROVIDE ( ets_efuse_get_opiconfig = 0x4000e4fc ); +PROVIDE ( ets_efuse_get_read_register_address = 0x4000e18c ); +PROVIDE ( ets_efuse_get_spiconfig = 0x4000e4a0 ); +PROVIDE ( ets_efuse_get_uart_print_channel = 0x4000e5b4 ); +PROVIDE ( ets_efuse_get_uart_print_control = 0x4000e5a4 ); +PROVIDE ( ets_efuse_get_wp_pad = 0x4000e444 ); +PROVIDE ( ets_efuse_key_block_unused = 0x4000e250 ); +PROVIDE ( ets_efuse_legacy_spi_boot_mode_disabled = 0x4000e6b0 ); +PROVIDE ( ets_efuse_program = 0x4000e134 ); +PROVIDE ( ets_efuse_read = 0x4000e0c0 ); +PROVIDE ( ets_efuse_rs_calculate = 0x4000e6f8 ); +PROVIDE ( ets_efuse_secure_boot_aggressive_revoke_enabled = 0x4000e680 ); +PROVIDE ( ets_efuse_secure_boot_enabled = 0x4000e670 ); +PROVIDE ( ets_efuse_security_download_modes_enabled = 0x4000e5d4 ); +PROVIDE ( ets_efuse_set_timing = 0x4000df3c ); +PROVIDE ( ets_efuse_start = 0x4000e084 ); +PROVIDE ( ets_efuse_usb_download_mode_disabled = 0x4000e5f4 ); +PROVIDE ( ets_efuse_usb_force_nopersist = 0x4000e630 ); +PROVIDE ( ets_efuse_usb_module_disabled = 0x4000e5c4 ); +PROVIDE ( ets_efuse_usb_use_ext_phy = 0x4000e620 ); +PROVIDE ( ets_efuse_write_key = 0x4000e2f4 ); +PROVIDE ( ets_emsa_pss_verify = 0x40011818 ); +PROVIDE ( ets_get_apb_freq = 0x40010c58 ); +PROVIDE ( ets_get_cpu_frequency = 0x4000d8b0 ); +PROVIDE ( ets_get_printf_channel = 0x4000ff48 ); +PROVIDE ( ets_get_xtal_div = 0x40010bfc ); +PROVIDE ( ets_get_xtal_freq = 0x40010c38 ); +PROVIDE ( ets_hmac_calculate_downstream = 0x4000f120 ); +PROVIDE ( ets_hmac_calculate_message = 0x4000f020 ); +PROVIDE ( ets_hmac_disable = 0x4000eff4 ); +PROVIDE ( ets_hmac_enable = 0x4000efd8 ); +PROVIDE ( ets_hmac_invalidate_downstream = 0x4000f140 ); +PROVIDE ( ets_install_lock = 0x4000fea0 ); +PROVIDE ( ets_install_putc1 = 0x4000feb0 ); +PROVIDE ( ets_install_putc2 = 0x4000fed0 ); +PROVIDE ( ets_install_uart_printf = 0x4000fec0 ); +PROVIDE ( ets_intr_count = 0x3fffe710 ); +PROVIDE ( ets_intr_lock = 0x4000f168 ); +PROVIDE ( ets_intr_unlock = 0x4000f17c ); +PROVIDE ( ets_is_print_boot = 0x4000f2a0 ); +PROVIDE ( ets_isr_attach = 0x4000f1a4 ); +PROVIDE ( ets_isr_mask = 0x4000f1b4 ); +PROVIDE ( ets_isr_unmask = 0x4000f1c0 ); +PROVIDE ( ets_jtag_enable_temporarily = 0x4000e548 ); +PROVIDE ( ets_loader_map_range = 0x40010d4c ); +PROVIDE ( ets_mgf1_sha256 = 0x400117b0 ); +PROVIDE ( ets_printf = 0x4000fee0 ); +PROVIDE ( ets_printf_lock = 0x3ffffd64 ); +PROVIDE ( ets_printf_uart = 0x3ffffd5c ); +PROVIDE ( ets_printf_unlock = 0x3ffffd60 ); +PROVIDE ( ets_rsa_pss_verify = 0x4001191c ); +PROVIDE ( ets_run_flash_bootloader = 0x40010f58 ); +PROVIDE ( ets_secure_boot_read_key_digests = 0x400101ac ); +PROVIDE ( ets_secure_boot_revoke_public_key_digest = 0x4001025c ); +PROVIDE ( ets_secure_boot_verify_bootloader_with_keys = 0x40010444 ); +PROVIDE ( ets_secure_boot_verify_signature = 0x400102cc ); +PROVIDE ( ets_secure_boot_verify_stage_bootloader = 0x40010720 ); +PROVIDE ( ets_set_printf_channel = 0x4000ff3c ); +PROVIDE ( ets_set_user_start = 0x4000f25c ); +PROVIDE ( ets_set_xtal_div = 0x40010c18 ); +PROVIDE ( ets_sha_clone = 0x4001095c ); +PROVIDE ( ets_sha_disable = 0x400107b4 ); +PROVIDE ( ets_sha_enable = 0x40010788 ); +PROVIDE ( ets_sha_finish = 0x40010ab8 ); +PROVIDE ( ets_sha_get_state = 0x40010934 ); +PROVIDE ( ets_sha_init = 0x400107e0 ); +PROVIDE ( ets_sha_process = 0x40010988 ); +PROVIDE ( ets_sha_starts = 0x40010828 ); +PROVIDE ( ets_sha_update = 0x400109f8 ); +PROVIDE ( ets_startup_callback = 0x3fffe718 ); +PROVIDE ( ets_unpack_flash_code_legacy = 0x40011430 ); +PROVIDE ( ets_update_cpu_frequency = 0x4000d8a4 ); +PROVIDE ( ets_vprintf = 0x4000fa3c ); +PROVIDE ( ets_waiti0 = 0x4000f190 ); +PROVIDE ( ets_wdt_reset_cpu = 0x4001a82c ); +PROVIDE ( ets_write_char = 0x4000f974 ); +PROVIDE ( ets_write_char_uart = 0x4000f998 ); +PROVIDE ( exc_cause_table = 0x3ffacbe8 ); +PROVIDE ( FilePacketSendDeflatedReqMsgProc = 0x40011ed8 ); +PROVIDE ( FilePacketSendReqMsgProc = 0x40011bd8 ); +PROVIDE ( flashchip = 0x3ffffd38 ); +PROVIDE ( FlashDwnLdDeflatedStartMsgProc = 0x40011e80 ); +PROVIDE ( FlashDwnLdParamCfgMsgProc = 0x40011cc0 ); +PROVIDE ( FlashDwnLdStartMsgProc = 0x40011b74 ); +PROVIDE ( FlashDwnLdStopDeflatedReqMsgProc = 0x40011fd8 ); +PROVIDE ( FlashDwnLdStopReqMsgProc = 0x40011c90 ); +PROVIDE ( general_device_descr = 0x3ffffa58 ); +PROVIDE ( _GeneralException = 0x400073cf ); +PROVIDE ( get_id = 0x4001610c ); +PROVIDE ( GetSecurityInfoProc = 0x40012098 ); +PROVIDE ( GetUartDevice = 0x40012f60 ); +PROVIDE ( __global_locale_ptr = 0x3ffffd7c ); +PROVIDE ( g_phyFuns = 0x3ffffd90 ); +PROVIDE ( g_phyFuns_instance = 0x3ffffd94 ); +PROVIDE ( gpio_input_get = 0x400193a0 ); +PROVIDE ( gpio_input_get_high = 0x400193b4 ); +PROVIDE ( gpio_matrix_in = 0x40019430 ); +PROVIDE ( gpio_matrix_out = 0x40019460 ); +PROVIDE ( gpio_output_disable = 0x400194dc ); +PROVIDE ( gpio_output_enable = 0x400194b0 ); +PROVIDE ( gpio_output_set = 0x4001933c ); +PROVIDE ( gpio_output_set_high = 0x40019374 ); +PROVIDE ( gpio_pad_hold = 0x40019654 ); +PROVIDE ( gpio_pad_input_disable = 0x400195f0 ); +PROVIDE ( gpio_pad_input_enable = 0x400195cc ); +PROVIDE ( gpio_pad_pulldown = 0x40019598 ); +PROVIDE ( gpio_pad_pullup = 0x40019564 ); +PROVIDE ( gpio_pad_select_gpio = 0x40019510 ); +PROVIDE ( gpio_pad_set_drv = 0x40019538 ); +PROVIDE ( gpio_pad_unhold = 0x4001961c ); +PROVIDE ( gpio_pin_wakeup_disable = 0x40019404 ); +PROVIDE ( gpio_pin_wakeup_enable = 0x400193c8 ); +PROVIDE ( g_shared_buffers = 0x3ffeab04 ); +PROVIDE ( g_ticks_per_us = 0x3ffffd70 ); +PROVIDE ( hmac_md5 = 0x40005490 ); +PROVIDE ( hmac_md5_vector = 0x400053a0 ); +PROVIDE ( ibus_baseaddrs = 0x3ffaf03c ); +PROVIDE ( intr_matrix_set = 0x4000f1d0 ); +PROVIDE ( _iram0_text_end = 0x40000540 ); +PROVIDE ( _iram0_text_start = 0x40000540 ); +PROVIDE ( _iram1_text_end = 0x60021100 ); +PROVIDE ( _iram1_text_start = 0x60021100 ); +PROVIDE ( _KernelExceptionVector = 0x40000300 ); +PROVIDE ( _KernelExceptionVector_text_end = 0x40000306 ); +PROVIDE ( _KernelExceptionVector_text_start = 0x40000300 ); +PROVIDE ( _Level2FromVector = 0x400074f8 ); +PROVIDE ( _Level2HandlerLabel = 0x00000000 ); +PROVIDE ( _Level2InterruptVector_text_end = 0x40000186 ); +PROVIDE ( _Level2InterruptVector_text_start = 0x40000180 ); +PROVIDE ( _Level2Vector = 0x40000180 ); +PROVIDE ( _Level3FromVector = 0x40007594 ); +PROVIDE ( _Level3HandlerLabel = 0x00000000 ); +PROVIDE ( _Level3InterruptVector_text_end = 0x400001c6 ); +PROVIDE ( _Level3InterruptVector_text_start = 0x400001c0 ); +PROVIDE ( _Level3Vector = 0x400001c0 ); +PROVIDE ( _Level4FromVector = 0x4000762c ); +PROVIDE ( _Level4HandlerLabel = 0x00000000 ); +PROVIDE ( _Level4InterruptVector_text_end = 0x40000206 ); +PROVIDE ( _Level4InterruptVector_text_start = 0x40000200 ); +PROVIDE ( _Level4Vector = 0x40000200 ); +PROVIDE ( _Level5FromVector = 0x4000775c ); +PROVIDE ( _Level5HandlerLabel = 0x00000000 ); +PROVIDE ( _Level5InterruptVector_text_end = 0x40000246 ); +PROVIDE ( _Level5InterruptVector_text_start = 0x40000240 ); +PROVIDE ( _Level5Vector = 0x40000240 ); +PROVIDE ( _LevelOneInterrupt = 0x4000740a ); +PROVIDE ( _lit4_end = 0x40000540 ); +PROVIDE ( _lit4_start = 0x40000540 ); +PROVIDE ( lldesc_build_chain = 0x4000907c ); +PROVIDE ( lldesc_num2link = 0x4000916c ); +PROVIDE ( lldesc_set_owner = 0x40009198 ); +PROVIDE ( lldesc_setup = 0x40019ed8 ); +PROVIDE ( main = 0x4000f6c4 ); +PROVIDE ( MD5Final = 0x4000530c ); +PROVIDE ( MD5Init = 0x4000526c ); +PROVIDE ( MD5Update = 0x4000528c ); +PROVIDE ( md5_vector = 0x40005374 ); +PROVIDE ( MemDwnLdStartMsgProc = 0x40011cec ); +PROVIDE ( MemDwnLdStopReqMsgProc = 0x40011d80 ); +PROVIDE ( _memmap_cacheattr_bp_allvalid = 0x22222222 ); +PROVIDE ( _memmap_cacheattr_bp_base = 0x00000220 ); +PROVIDE ( _memmap_cacheattr_bp_strict = 0xfffff22f ); +PROVIDE ( _memmap_cacheattr_bp_trapnull = 0x2222222f ); +PROVIDE ( _memmap_cacheattr_reset = 0x2222211f ); +PROVIDE ( _memmap_cacheattr_unused_mask = 0xfffff00f ); +PROVIDE ( _memmap_cacheattr_wb_allvalid = 0x22222112 ); +PROVIDE ( _memmap_cacheattr_wba_trapnull = 0x2222211f ); +PROVIDE ( _memmap_cacheattr_wb_base = 0x00000110 ); +PROVIDE ( _memmap_cacheattr_wbna_trapnull = 0x2222211f ); +PROVIDE ( _memmap_cacheattr_wb_strict = 0xfffff11f ); +PROVIDE ( _memmap_cacheattr_wb_trapnull = 0x2222211f ); +PROVIDE ( _memmap_cacheattr_wt_allvalid = 0x22222112 ); +PROVIDE ( _memmap_cacheattr_wt_base = 0x00000110 ); +PROVIDE ( _memmap_cacheattr_wt_strict = 0xfffff11f ); +PROVIDE ( _memmap_cacheattr_wt_trapnull = 0x2222211f ); +PROVIDE ( _memmap_vecbase_reset = 0x40000000 ); +PROVIDE ( MemPacketSendReqMsgProc = 0x40011d1c ); +PROVIDE ( multofup = 0x4001bce0 ); +PROVIDE ( must_reset = 0x3ffffcf4 ); +PROVIDE ( mz_adler32 = 0x40002e90 ); +PROVIDE ( mz_crc32 = 0x40002f58 ); +PROVIDE ( mz_free = 0x40002fa4 ); +PROVIDE ( _NMIExceptionVector = 0x400002c0 ); +PROVIDE ( _NMIExceptionVector_text_end = 0x400002c3 ); +PROVIDE ( _NMIExceptionVector_text_start = 0x400002c0 ); +PROVIDE ( __packed = 0x3ffffcec ); +PROVIDE ( phy_get_romfuncs = 0x4000a88c ); +PROVIDE ( _Pri_4_HandlerAddress = 0x3fffed78 ); +PROVIDE ( _Pri_5_HandlerAddress = 0x3fffed7c ); +PROVIDE ( pthread_setcancelstate = 0x40019fa8 ); +PROVIDE ( _putc1 = 0x3ffffd6c ); +PROVIDE ( _putc2 = 0x3ffffd68 ); +PROVIDE ( RcvMsg = 0x40012f10 ); +PROVIDE ( recv_packet = 0x40012de8 ); +PROVIDE ( _ResetHandler = 0x4000044c ); +PROVIDE ( _ResetVector = 0x40000400 ); +PROVIDE ( _ResetVector_literal_end = 0x40000540 ); +PROVIDE ( _ResetVector_literal_start = 0x40000540 ); +PROVIDE ( _ResetVector_text_end = 0x4000053d ); +PROVIDE ( _ResetVector_text_start = 0x40000400 ); +PROVIDE ( _rodata_end = 0x3ffaff2c ); +PROVIDE ( _rodata_start = 0x3ffac600 ); +PROVIDE ( rom_abs_temp = 0x4000c330 ); +PROVIDE ( rom_ant_btrx_cfg = 0x4000a0fc ); +PROVIDE ( rom_ant_bttx_cfg = 0x4000a0c0 ); +PROVIDE ( rom_ant_dft_cfg = 0x40009fc8 ); +PROVIDE ( rom_ant_wifirx_cfg = 0x4000a03c ); +PROVIDE ( rom_ant_wifitx_cfg = 0x40009ff8 ); +PROVIDE ( rom_bb_bss_cbw40_dig = 0x40009a84 ); +PROVIDE ( rom_bb_wdg_cfg = 0x40009eb8 ); +PROVIDE ( rom_bb_wdg_test_en = 0x40009a48 ); +PROVIDE ( rom_bb_wdt_get_status = 0x40009d18 ); +PROVIDE ( rom_bb_wdt_int_enable = 0x40009cd4 ); +PROVIDE ( rom_bb_wdt_rst_enable = 0x40009cb4 ); +PROVIDE ( rom_bb_wdt_timeout_clear = 0x40009cfc ); +PROVIDE ( rom_cbw2040_cfg = 0x4000a550 ); +PROVIDE ( rom_check_noise_floor = 0x40009b4c ); +PROVIDE ( rom_chip_i2c_readReg = 0x4000a8e4 ); +PROVIDE ( rom_chip_i2c_writeReg = 0x4000a960 ); +PROVIDE ( rom_correct_rf_ana_gain = 0x4000d2b4 ); +PROVIDE ( rom_dc_iq_est = 0x4000c414 ); +PROVIDE ( rom_disable_agc = 0x400091cc ); +PROVIDE ( rom_enable_agc = 0x400091e4 ); +PROVIDE ( rom_freq_get_i2c_data = 0x4000bb84 ); +PROVIDE ( rom_freq_i2c_set_wifi_data = 0x4000b948 ); +PROVIDE ( rom_freq_i2c_write_set = 0x4000b3bc ); +PROVIDE ( rom_gen_rx_gain_table = 0x4000a300 ); +PROVIDE ( rom_get_bbgain_db = 0x400094ec ); +PROVIDE ( rom_get_data_sat = 0x40009338 ); +PROVIDE ( rom_get_fm_sar_dout = 0x4000c024 ); +PROVIDE ( rom_get_i2c_read_mask = 0x4000a8c0 ); +PROVIDE ( rom_get_power_db = 0x4000ce28 ); +PROVIDE ( rom_get_pwctrl_correct = 0x4000d470 ); +PROVIDE ( rom_get_rfcal_rxiq_data = 0x4000cab0 ); +PROVIDE ( rom_get_rf_gain_qdb = 0x4000d29c ); +PROVIDE ( rom_get_sar_dout = 0x4000d400 ); +PROVIDE ( rom_i2c_clk_sel = 0x4000a788 ); +PROVIDE ( rom_i2c_readReg = 0x4000a940 ); +PROVIDE ( rom_i2c_readReg_Mask = 0x4000a9c4 ); +PROVIDE ( rom_i2c_writeReg = 0x4000a9a8 ); +PROVIDE ( rom_i2c_writeReg_Mask = 0x4000aa00 ); +PROVIDE ( rom_index_to_txbbgain = 0x4000bd10 ); +PROVIDE ( rom_iq_est_disable = 0x4000c3d8 ); +PROVIDE ( rom_iq_est_enable = 0x4000c358 ); +PROVIDE ( rom_linear_to_db = 0x4000cdbc ); +PROVIDE ( rom_loopback_mode_en = 0x40009304 ); +PROVIDE ( rom_mac_enable_bb = 0x40009e48 ); +PROVIDE ( rom_meas_tone_pwr_db = 0x4000ce64 ); +PROVIDE ( rom_mhz2ieee = 0x4000a4e8 ); +PROVIDE ( rom_noise_floor_auto_set = 0x40009ab4 ); +PROVIDE ( rom_pbus_debugmode = 0x4000ac70 ); +PROVIDE ( rom_pbus_force_mode = 0x4000aa6c ); +PROVIDE ( rom_pbus_force_test = 0x4000abd0 ); +PROVIDE ( rom_pbus_rd = 0x4000ac2c ); +PROVIDE ( rom_pbus_rd_addr = 0x4000ab34 ); +PROVIDE ( rom_pbus_rd_shift = 0x4000ab80 ); +PROVIDE ( rom_pbus_rx_dco_cal = 0x4000c49c ); +PROVIDE ( rom_pbus_set_dco = 0x4000ae2c ); +PROVIDE ( rom_pbus_set_rxgain = 0x4000ac98 ); +PROVIDE ( rom_pbus_workmode = 0x4000ac84 ); +PROVIDE ( rom_pbus_xpd_rx_off = 0x4000acfc ); +PROVIDE ( rom_pbus_xpd_rx_on = 0x4000ad30 ); +PROVIDE ( rom_pbus_xpd_tx_off = 0x4000ad84 ); +PROVIDE ( rom_pbus_xpd_tx_on = 0x4000add4 ); +PROVIDE ( rom_phy_ant_init = 0x40009f48 ); +PROVIDE ( rom_phy_byte_to_word = 0x40009d60 ); +PROVIDE ( rom_phy_chan_dump_cfg = 0x4000a180 ); +PROVIDE ( rom_phy_chan_filt_set = 0x4000a614 ); +PROVIDE ( rom_phy_close_pa = 0x4000a810 ); +PROVIDE ( rom_phy_disable_cca = 0x40009208 ); +PROVIDE ( rom_phy_disable_low_rate = 0x4000a2b8 ); +PROVIDE ( rom_phy_enable_cca = 0x40009234 ); +PROVIDE ( rom_phy_enable_low_rate = 0x4000a280 ); +PROVIDE ( rom_phy_freq_correct = 0x4000b0b4 ); +PROVIDE ( rom_phy_get_noisefloor = 0x40009b04 ); +PROVIDE ( rom_phy_get_rx_freq = 0x4000a6ac ); +PROVIDE ( rom_phy_get_tx_rate = 0x40009d50 ); +PROVIDE ( rom_phy_rx11blr_cfg = 0x40009c5c ); +PROVIDE ( rom_phy_rx_sense_set = 0x4000a704 ); +PROVIDE ( rom_phy_set_bbfreq_init = 0x4000d3d0 ); +PROVIDE ( rom_pll_correct_dcap = 0x4000bad4 ); +PROVIDE ( rom_pow_usr = 0x4000924c ); +PROVIDE ( rom_read_hw_noisefloor = 0x40009c38 ); +PROVIDE ( rom_read_sar_dout = 0x4000bfd4 ); +PROVIDE ( rom_restart_cal = 0x4000ae74 ); +PROVIDE ( rom_rfcal_pwrctrl = 0x4000d098 ); +PROVIDE ( rom_rfcal_rxiq = 0x4000ca3c ); +PROVIDE ( rom_rfcal_txcap = 0x4000ccac ); +PROVIDE ( rom_rfpll_set_freq = 0x4000afa4 ); +PROVIDE ( rom_rftx_init = 0x4000b24c ); +PROVIDE ( rom_rx_gain_force = 0x40009558 ); +PROVIDE ( rom_rxiq_cover_mg_mp = 0x4000c954 ); +PROVIDE ( rom_rxiq_get_mis = 0x4000c7d8 ); +PROVIDE ( rom_rxiq_set_reg = 0x4000c8ec ); +PROVIDE ( rom_set_cal_rxdc = 0x400092c4 ); +PROVIDE ( rom_set_cca = 0x4000a59c ); +PROVIDE ( rom_set_chan_cal_interp = 0x4000cba4 ); +PROVIDE ( rom_set_channel_freq = 0x4000b00c ); +PROVIDE ( rom_set_loopback_gain = 0x40009268 ); +PROVIDE ( rom_set_noise_floor = 0x40009bf4 ); +PROVIDE ( rom_set_pbus_mem = 0x40009380 ); +PROVIDE ( rom_set_rf_freq_offset = 0x4000b214 ); +PROVIDE ( rom_set_rxclk_en = 0x400095cc ); +PROVIDE ( rom_set_txcap_reg = 0x4000cc34 ); +PROVIDE ( rom_set_txclk_en = 0x4000959c ); +PROVIDE ( rom_set_tx_dig_gain = 0x40009514 ); +PROVIDE ( rom_set_xpd_sar = 0x40009f08 ); +PROVIDE ( rom_spur_cal = 0x4000a47c ); +PROVIDE ( rom_spur_reg_write_one_tone = 0x400097c4 ); +PROVIDE ( rom_start_tx_tone = 0x400096f0 ); +PROVIDE ( rom_start_tx_tone_step = 0x40009608 ); +PROVIDE ( rom_stop_tx_tone = 0x4000a428 ); +PROVIDE ( _rom_store = 0x4001bed0 ); +PROVIDE ( _rom_store_table = 0x4001bd64 ); +PROVIDE ( rom_target_power_add_backoff = 0x4000d278 ); +PROVIDE ( rom_txbbgain_to_index = 0x4000bce0 ); +PROVIDE ( rom_txcal_work_mode = 0x4000bf30 ); +PROVIDE ( rom_txdc_cal_init = 0x4000bd2c ); +PROVIDE ( rom_txdc_cal_v70 = 0x4000bdc0 ); +PROVIDE ( rom_txiq_cover = 0x4000c1ac ); +PROVIDE ( rom_txiq_get_mis_pwr = 0x4000c0f8 ); +PROVIDE ( rom_txiq_set_reg = 0x4000bf64 ); +PROVIDE ( rom_tx_paon_set = 0x40009db8 ); +PROVIDE ( rom_tx_pwr_backoff = 0x4000ceb8 ); +PROVIDE ( rom_txtone_linear_pwr = 0x4000c0b0 ); +PROVIDE ( rom_usb_dev = 0x3ffffb9c ); /* static "usb_dev" */ +PROVIDE ( rom_usb_dev_end = 0x3ffffc78 ); /* end of "usb_dev" */ +PROVIDE ( rom_usb_dw_ctrl = 0x3ffffa74 ); /* static "usb_dw_ctrl" */ +PROVIDE ( rom_usb_dw_ctrl_end = 0x3ffffb9c ); /* end of "usb_dw_ctrl" */ +PROVIDE ( rom_usb_curr_desc = 0x3ffffa54 ); /* static "s_curr_descr" */ +PROVIDE ( rom_wait_rfpll_cal_end = 0x4000af3c ); +PROVIDE ( rom_wifi_11g_rate_chg = 0x4000d260 ); +PROVIDE ( rom_wifi_rifs_mode_en = 0x40009d2c ); +PROVIDE ( rom_write_dac_gain2 = 0x4000a210 ); +PROVIDE ( rom_write_gain_mem = 0x400094bc ); +PROVIDE ( rom_write_pll_cap_mem = 0x4000ba58 ); +PROVIDE ( rom_write_rfpll_sdm = 0x4000aed4 ); +PROVIDE ( rom_wr_rf_freq_mem = 0x4000b2f0 ); +PROVIDE ( roundup2 = 0x4001bcd0 ); +PROVIDE ( rtc_boot_control = 0x4001002c ); +PROVIDE ( rtc_get_reset_reason = 0x4000ff58 ); +PROVIDE ( rtc_get_wakeup_cause = 0x4000ff7c ); +PROVIDE ( rtc_select_apb_bridge = 0x400100a0 ); +PROVIDE ( s_cdcacm_old_rts = 0x3ffffd34 ); +PROVIDE ( SelectSpiFunction = 0x40015d08 ); +PROVIDE ( SelectSpiQIO = 0x40015b88 ); +PROVIDE ( SendMsg = 0x40012d0c ); +PROVIDE ( send_packet = 0x40012cc8 ); +PROVIDE ( set_rtc_memory_crc = 0x40010010 ); +PROVIDE ( SetSpiDrvs = 0x40015c18 ); +PROVIDE ( sig_matrix = 0x3ffffd57 ); +PROVIDE ( software_reset = 0x40010068 ); +PROVIDE ( software_reset_cpu = 0x40010080 ); +PROVIDE ( SPI_block_erase = 0x4001623c ); +PROVIDE ( spi_cache_mode_switch = 0x40016a00 ); +PROVIDE ( SPI_chip_erase = 0x400161b8 ); +PROVIDE ( SPIClkConfig = 0x400170a0 ); +PROVIDE ( SPI_Common_Command = 0x400162e8 ); +PROVIDE ( spi_common_set_flash_cs_timing = 0x40016c0c ); +PROVIDE ( spi_dummy_len_fix = 0x40015b50 ); +PROVIDE ( SPI_Encrypt_Write = 0x400177e0 ); +PROVIDE ( SPI_Encrypt_Write_Dest = 0x400176cc ); +PROVIDE ( SPIEraseArea = 0x40017470 ); +PROVIDE ( SPIEraseBlock = 0x4001710c ); +PROVIDE ( SPIEraseChip = 0x400170ec ); +PROVIDE ( SPIEraseSector = 0x4001716c ); +PROVIDE ( esp_rom_spiflash_attach = 0x40017004 ); +PROVIDE ( spi_flash_boot_attach = 0x40016fc0 ); +PROVIDE ( spi_flash_check_suspend_cb = 0x3ffffd58 ); +PROVIDE ( SPI_flashchip_data = 0x3ffffd3c ); +PROVIDE ( spi_flash_set_check_suspend_cb = 0x40015b3c ); +PROVIDE ( SPI_init = 0x40016ce8 ); +PROVIDE ( SPILock = 0x40016ed4 ); +PROVIDE ( SPIMasterReadModeCnfig = 0x40017014 ); +PROVIDE ( SPI_page_program = 0x400165a8 ); +PROVIDE ( SPIParamCfg = 0x40017500 ); +PROVIDE ( SPIRead = 0x4001728c ); +PROVIDE ( SPI_read_data = 0x40015ed8 ); +PROVIDE ( SPIReadModeCnfig = 0x40016f1c ); +PROVIDE ( SPI_read_status = 0x40016084 ); +PROVIDE ( SPI_read_status_high = 0x40016284 ); +PROVIDE ( SPI_sector_erase = 0x400161ec ); +PROVIDE ( spi_slave_download = 0x4001998c ); +PROVIDE ( spi_slave_rom_check_conn = 0x40019724 ); +PROVIDE ( spi_slave_rom_init = 0x40019774 ); +PROVIDE ( spi_slave_rom_init_hw = 0x40019b5c ); +PROVIDE ( spi_slave_rom_intr_enable = 0x40019b3c ); +PROVIDE ( spi_slave_rom_rxdma_load = 0x40019da8 ); +PROVIDE ( spi_slave_rom_txdma_load = 0x40019e3c ); +PROVIDE ( SPIUnlock = 0x40016e88 ); +PROVIDE ( SPI_user_command_read = 0x40015fc8 ); +PROVIDE ( SPI_Wait_Idle = 0x40016680 ); +PROVIDE ( SPI_WakeUp = 0x400160f4 ); +PROVIDE ( SPIWrite = 0x400171cc ); +PROVIDE ( SPI_write_enable = 0x4001655c ); +PROVIDE ( SPI_Write_Encrypt_Disable = 0x40017694 ); +PROVIDE ( SPI_Write_Encrypt_Enable = 0x40017678 ); +PROVIDE ( SPI_write_status = 0x400162a4 ); +PROVIDE ( __stack = 0x3fffe710 ); +PROVIDE ( _stack_sentry = 0x3fffc410 ); +PROVIDE ( _start = 0x4000726c ); +PROVIDE ( _stext = 0x40007118 ); +PROVIDE ( string0_descr = 0x3ffaeeae ); +PROVIDE ( str_manu_descr = 0x3ffaee9a ); +PROVIDE ( str_prod_descr = 0x3ffaee88 ); +PROVIDE ( str_serial_descr = 0x3ffaee84 ); +PROVIDE ( rom_usb_osglue = 0x3ffffcdc ); +PROVIDE ( _SyscallException = 0x4000732a ); +PROVIDE ( syscall_table_ptr_pro = 0x3ffffd78 ); +PROVIDE ( tdefl_compress = 0x400041dc ); +PROVIDE ( tdefl_compress_buffer = 0x40004938 ); +PROVIDE ( tdefl_compress_mem_to_mem = 0x40004a50 ); +PROVIDE ( tdefl_compress_mem_to_output = 0x40004a30 ); +PROVIDE ( tdefl_get_adler32 = 0x40004a28 ); +PROVIDE ( tdefl_get_prev_return_status = 0x40004a20 ); +PROVIDE ( tdefl_init = 0x40004954 ); +PROVIDE ( tdefl_write_image_to_png_file_in_memory = 0x40004a64 ); +PROVIDE ( tdefl_write_image_to_png_file_in_memory_ex = 0x40004a58 ); +PROVIDE ( _text_end = 0x4001bed0 ); +PROVIDE ( _text_start = 0x40007118 ); +PROVIDE ( tinfl_decompress = 0x40003000 ); +PROVIDE ( tinfl_decompress_mem_to_callback = 0x400041a8 ); +PROVIDE ( tinfl_decompress_mem_to_mem = 0x40004168 ); +PROVIDE ( uart_acm_dev = 0x3ffffcf8 ); +PROVIDE ( uartAttach = 0x40012890 ); +PROVIDE ( uart_baudrate_detect = 0x400128f0 ); +PROVIDE ( uart_buff_switch = 0x40012d64 ); +PROVIDE ( UartConnCheck = 0x40011ab4 ); +PROVIDE ( UartConnectProc = 0x40011da8 ); +PROVIDE ( UartDev = 0x3ffffcfc ); +PROVIDE ( uart_div_modify = 0x40012984 ); +PROVIDE ( uart_div_reinit = 0x400129d0 ); +PROVIDE ( UartDwnLdProc = 0x400121ac ); +PROVIDE ( UartGetCmdLn = 0x40012f28 ); +PROVIDE ( Uart_Init = 0x40012a04 ); +PROVIDE ( Uart_Init_USB = 0x40012818 ); +PROVIDE ( UartRegReadProc = 0x40011df8 ); +PROVIDE ( UartRegWriteProc = 0x40011db8 ); +PROVIDE ( uart_rx_intr_handler = 0x40012690 ); +PROVIDE ( uart_rx_one_char = 0x40012bf0 ); +PROVIDE ( uart_rx_one_char_block = 0x40012b9c ); +PROVIDE ( uart_rx_readbuff = 0x40012d1c ); +PROVIDE ( UartRxString = 0x40012c84 ); +PROVIDE ( UartSecureDwnLdProc = 0x40012464 ); +PROVIDE ( UartSetBaudProc = 0x40011e54 ); +PROVIDE ( UartSpiAttachProc = 0x40011e0c ); +PROVIDE ( UartSpiReadProc = 0x40011e28 ); +PROVIDE ( uart_tx_flush = 0x40012b40 ); +PROVIDE ( uart_tx_one_char = 0x40012b10 ); +PROVIDE ( uart_tx_one_char2 = 0x40012b28 ); +PROVIDE ( uart_tx_switch = 0x400128e4 ); +PROVIDE ( uart_tx_wait_idle = 0x40012b6c ); +PROVIDE ( uart_usb_enable_reset_on_rts = 0x40012858 ); +PROVIDE ( Uart_USB_Send_Testament = 0x400127d8 ); +PROVIDE ( usb_cancel_transfer = 0x40015200 ); +PROVIDE ( usb_data_stuff = 0x3ffacc88 ); +PROVIDE ( usb_dc_attach = 0x40013ecc ); +PROVIDE ( usb_dc_check_poll_for_interrupts = 0x40014980 ); +PROVIDE ( usb_dc_detach = 0x40014010 ); +PROVIDE ( usb_dc_ep_check_cap = 0x40014094 ); +PROVIDE ( usb_dc_ep_clear_stall = 0x400142f0 ); +PROVIDE ( usb_dc_ep_configure = 0x400140d8 ); +PROVIDE ( usb_dc_ep_disable = 0x400144ec ); +PROVIDE ( usb_dc_ep_enable = 0x4001442c ); +PROVIDE ( usb_dc_ep_flush = 0x400145b8 ); +PROVIDE ( usb_dc_ep_halt = 0x4001435c ); +PROVIDE ( usb_dc_ep_is_stalled = 0x400143bc ); +PROVIDE ( usb_dc_ep_mps = 0x40014958 ); +PROVIDE ( usb_dc_ep_read = 0x400148d8 ); +PROVIDE ( usb_dc_ep_read_continue = 0x40014898 ); +PROVIDE ( usb_dc_ep_read_wait = 0x400147bc ); +PROVIDE ( usb_dc_ep_set_callback = 0x40014910 ); +PROVIDE ( usb_dc_ep_set_stall = 0x40014290 ); +PROVIDE ( usb_dc_ep_write = 0x40014684 ); +PROVIDE ( usb_dc_ep_write_would_block = 0x40014624 ); +PROVIDE ( usb_dc_prepare_persist = 0x40013bec ); +PROVIDE ( usb_dc_reset = 0x40014044 ); +PROVIDE ( usb_dc_set_address = 0x4001405c ); +PROVIDE ( usb_dc_set_status_callback = 0x4001494c ); +PROVIDE ( usb_deconfig = 0x40014fa8 ); +PROVIDE ( usb_dev_get_configuration = 0x40014f4c ); +PROVIDE ( usb_dev_resume = 0x40014f38 ); +PROVIDE ( usb_dfu_force_detach = 0x400155b0 ); +PROVIDE ( usb_dfu_init = 0x40015598 ); +PROVIDE ( usb_dfu_set_detach_cb = 0x400152dc ); +PROVIDE ( usb_disable = 0x40015058 ); +PROVIDE ( usb_dw_isr_handler = 0x40013c48 ); +PROVIDE ( usb_enable = 0x40014fc8 ); +PROVIDE ( usb_ep_clear_stall = 0x400150c8 ); +PROVIDE ( usb_ep_read_continue = 0x400150f0 ); +PROVIDE ( usb_ep_read_wait = 0x400150d8 ); +PROVIDE ( usb_ep_set_stall = 0x400150b8 ); +PROVIDE ( usb_get_descriptor = 0x400149c0 ); +PROVIDE ( usb_read = 0x400150a0 ); +PROVIDE ( usb_set_config = 0x40014f64 ); +PROVIDE ( usb_set_current_descriptor = 0x400149a8 ); +PROVIDE ( usb_transfer = 0x40015150 ); +PROVIDE ( usb_transfer_ep_callback = 0x40015100 ); +PROVIDE ( usb_transfer_sync = 0x40015250 ); +PROVIDE ( usb_write = 0x40015088 ); +PROVIDE ( usb_write_would_block = 0x40015078 ); +PROVIDE ( user_code_start = 0x3fffe714 ); +PROVIDE ( _UserExceptionVector = 0x40000340 ); +PROVIDE ( _UserExceptionVector_text_end = 0x40000357 ); +PROVIDE ( _UserExceptionVector_text_start = 0x40000340 ); +PROVIDE ( VerifyFlashMd5Proc = 0x40012004 ); +PROVIDE ( Wait_SPI_Idle = 0x40016188 ); +PROVIDE ( _WindowOverflow12 = 0x40000100 ); +PROVIDE ( _WindowOverflow4 = 0x40000000 ); +PROVIDE ( _WindowOverflow8 = 0x40000080 ); +PROVIDE ( _WindowUnderflow12 = 0x40000140 ); +PROVIDE ( _WindowUnderflow4 = 0x40000040 ); +PROVIDE ( _WindowUnderflow8 = 0x400000c0 ); +PROVIDE ( _WindowVectors_text_end = 0x40000170 ); +PROVIDE ( _WindowVectors_text_start = 0x40000000 ); +PROVIDE ( __XT_EXCEPTION_DESCS__ = 0x3ffaff2c ); +PROVIDE ( __XT_EXCEPTION_DESCS_END__ = 0x3ffaff2c ); +PROVIDE ( __XT_EXCEPTION_TABLE__ = 0x3ffafe3a ); +PROVIDE ( xthal_bcopy = 0x4001a918 ); +PROVIDE ( xthal_copy123 = 0x4001a9ac ); +PROVIDE ( xthal_get_ccompare = 0x4001aabc ); +PROVIDE ( xthal_get_ccount = 0x4001aa90 ); +PROVIDE ( xthal_get_interrupt = 0x4001aadc ); +PROVIDE ( Xthal_intlevel = 0x3ffaf06c ); +PROVIDE ( xthal_memcpy = 0x4001a93c ); +PROVIDE ( xthal_set_ccompare = 0x4001aa98 ); +PROVIDE ( xthal_set_intclear = 0x4001aae4 ); +PROVIDE ( xthals_hw_configid0 = 0xc2ecfafe ); +PROVIDE ( xthals_hw_configid1 = 0x224787b1 ); +PROVIDE ( xthals_release_major = 0x00002ee0 ); +PROVIDE ( xthals_release_minor = 0x00000009 ); +PROVIDE ( _xtos_alloca_handler = 0x40000010 ); +PROVIDE ( xtos_cause3_handler = 0x40007370 ); +PROVIDE ( xtos_c_handler_table = 0x3fffec78 ); +PROVIDE ( xtos_c_wrapper_handler = 0x40007380 ); +PROVIDE ( _xtos_enabled = 0x3fffed80 ); +PROVIDE ( xtos_exc_handler_table = 0x3fffeb78 ); +PROVIDE ( xtos_interrupt_mask_table = 0x3fffee88 ); +PROVIDE ( xtos_interrupt_table = 0x3fffed88 ); +PROVIDE ( _xtos_ints_off = 0x4001a3e0 ); +PROVIDE ( _xtos_ints_on = 0x4001a3bc ); +PROVIDE ( _xtos_intstruct = 0x3fffed80 ); +PROVIDE ( _xtos_l1int_handler = 0x400073ec ); +PROVIDE ( xtos_p_none = 0x4001a8a0 ); +PROVIDE ( _xtos_restore_intlevel = 0x400074cc ); +PROVIDE ( _xtos_return_from_exc = 0x4001a8a8 ); +PROVIDE ( _xtos_set_exception_handler = 0x400072b4 ); +PROVIDE ( _xtos_set_interrupt_handler = 0x4001a380 ); +PROVIDE ( _xtos_set_interrupt_handler_arg = 0x4001a344 ); +PROVIDE ( _xtos_set_intlevel = 0x4001a8c0 ); +PROVIDE ( _xtos_set_min_intlevel = 0x4001a8dc ); +PROVIDE ( _xtos_set_vpri = 0x400074d8 ); +PROVIDE ( _xtos_syscall_handler = 0x400072fc ); +PROVIDE ( xtos_unhandled_exception = 0x4001a900 ); +PROVIDE ( xtos_unhandled_interrupt = 0x4001a910 ); +PROVIDE ( _xtos_vectors_ref_ = 0x00000000 ); +PROVIDE ( _xtos_vpri_enabled = 0x3fffed84 ); diff --git a/esp-hal/ld/esp32s2/rom/esp32s2.rom.libgcc.ld b/esp-hal/ld/esp32s2/rom/esp32s2.rom.libgcc.ld new file mode 100644 index 000000000..d48c02c95 --- /dev/null +++ b/esp-hal/ld/esp32s2/rom/esp32s2.rom.libgcc.ld @@ -0,0 +1,99 @@ +/** + * Unlike other ROM functions which are exported using PROVIDE, which declares weak symbols, + * these libgcc functions are exported using assignment, which declare strong symbols. + * This is done so that ROM functions are always used instead of the ones provided by libgcc.a. + */ + +__absvdi2 = 0x40005ad8; +__absvsi2 = 0x40005ac4; +__adddf3 = 0x40008660; +__addsf3 = 0x400081b8; +__addvdi3 = 0x40008d90; +__addvsi3 = 0x40008d6c; +__ashldi3 = 0x4001b000; +__ashrdi3 = 0x4001b018; +__bswapdi2 = 0x40006d34; +__bswapsi2 = 0x40006d0c; +__clear_cache = 0x40005abc; +__clrsbdi2 = 0x40006da8; +__clrsbsi2 = 0x40006d90; +__clzdi2 = 0x4001b238; +__clzsi2 = 0x4001afd0; +__cmpdi2 = 0x40005a7c; +__ctzdi2 = 0x4001b24c; +__ctzsi2 = 0x4001afd8; +__divdc3 = 0x40006854; +__divdf3 = 0x40008a24; +__divdi3 = 0x4001b26c; +__divsc3 = 0x40006544; +__divsf3 = 0x4000841c; +__divsi3 = 0x4001afa0; +__eqdf2 = 0x40005904; +__eqsf2 = 0x400055d0; +__extendsfdf2 = 0x40008d08; +__ffsdi2 = 0x4001b214; +__ffssi2 = 0x4001afec; +__fixdfdi = 0x40008b98; +__fixdfsi = 0x40008b4c; +__fixsfdi = 0x4000851c; +__fixsfsi = 0x400084dc; +__fixunsdfsi = 0x40008c04; +__fixunssfdi = 0x400085d4; +__fixunssfsi = 0x4000857c; +__floatdidf = 0x4001b170; +__floatdisf = 0x4001b0a8; +__floatsidf = 0x4001b12c; +__floatsisf = 0x4001b058; +__floatundidf = 0x4001b160; +__floatundisf = 0x4001b098; +__floatunsidf = 0x4001b120; +__floatunsisf = 0x4001b04c; +__gcc_bcmp = 0x40006de0; +__gedf2 = 0x400059c4; +__gesf2 = 0x40005668; +__gtdf2 = 0x40005938; +__gtsf2 = 0x400055fc; +__ledf2 = 0x40005960; +__lesf2 = 0x4000561c; +__lshrdi3 = 0x4001b034; +__ltdf2 = 0x400059ec; +__ltsf2 = 0x40005688; +__moddi3 = 0x4001b534; +__modsi3 = 0x4001afa8; +__muldc3 = 0x40005f0c; +__muldf3 = 0x400057e8; +__muldi3 = 0x4001b1e4; +__mulsc3 = 0x40005ba4; +__mulsf3 = 0x40005524; +__mulsi3 = 0x4001af98; +__mulvdi3 = 0x40008e50; +__mulvsi3 = 0x40008e38; +__nedf2 = 0x40005904; +__negdf2 = 0x400056fc; +__negdi2 = 0x4001b1fc; +__negsf2 = 0x40008190; +__negvdi2 = 0x40008f6c; +__negvsi2 = 0x40008f4c; +__nesf2 = 0x400055d0; +__nsau_data = 0x3ffac870; +__paritysi2 = 0x40009038; +__popcountdi2 = 0x40008fe0; +__popcountsi2 = 0x40008fa8; +__popcount_tab = 0x3ffac870; +__powidf2 = 0x40005b40; +__powisf2 = 0x40005af8; +__subdf3 = 0x400087b4; +__subsf3 = 0x400082a0; +__subvdi3 = 0x40008df4; +__subvsi3 = 0x40008dd0; +__truncdfsf2 = 0x40008c64; +__ucmpdi2 = 0x40005a9c; +__udivdi3 = 0x4001b7dc; +__udivmoddi4 = 0x40006e20; +__udivsi3 = 0x4001afb0; +__udiv_w_sdiv = 0x40006e18; +__umoddi3 = 0x4001ba60; +__umodsi3 = 0x4001afb8; +__umulsidi3 = 0x4001afc0; +__unorddf2 = 0x40005a50; +__unordsf2 = 0x400056d4; diff --git a/esp-hal/ld/esp32s2/rom/esp32s2.rom.spiflash_legacy.ld b/esp-hal/ld/esp32s2/rom/esp32s2.rom.spiflash_legacy.ld new file mode 100644 index 000000000..bfbb63f75 --- /dev/null +++ b/esp-hal/ld/esp32s2/rom/esp32s2.rom.spiflash_legacy.ld @@ -0,0 +1,31 @@ +/* + * SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD + * + * SPDX-License-Identifier: Apache-2.0 + */ +/** + * SPI flash driver function, compatibility names. + */ + +PROVIDE ( g_rom_spiflash_dummy_len_plus = dummy_len_plus); +PROVIDE ( g_ticks_per_us_pro = g_ticks_per_us ); +PROVIDE ( g_rom_flashchip = SPI_flashchip_data ); +PROVIDE ( g_rom_spiflash_chip = SPI_flashchip_data ); +PROVIDE ( esp_rom_spiflash_config_param = SPIParamCfg ); +PROVIDE ( esp_rom_spiflash_read = SPIRead ); +PROVIDE ( esp_rom_spiflash_read_status = SPI_read_status ); +PROVIDE ( esp_rom_spiflash_read_statushigh = SPI_read_status_high ); +PROVIDE ( esp_rom_spiflash_read_user_cmd = SPI_user_command_read ); +PROVIDE ( esp_rom_spiflash_write = SPIWrite ); +PROVIDE ( esp_rom_spiflash_write_encrypted_disable = SPI_Write_Encrypt_Disable ); +PROVIDE ( esp_rom_spiflash_write_encrypted_enable = SPI_Write_Encrypt_Enable ); +PROVIDE ( esp_rom_spiflash_config_clk = SPIClkConfig ); +PROVIDE ( esp_rom_spiflash_select_qio_pins = SelectSpiQIO ); +PROVIDE ( esp_rom_spiflash_unlock = SPIUnlock ); +PROVIDE ( esp_rom_spiflash_erase_sector = SPIEraseSector ); +PROVIDE ( esp_rom_spiflash_erase_block = SPIEraseBlock ); +PROVIDE ( esp_rom_spiflash_wait_idle = SPI_Wait_Idle ); +PROVIDE ( esp_rom_spiflash_config_readmode = SPIReadModeCnfig ); +PROVIDE ( esp_rom_spiflash_erase_block = SPIEraseBlock ); +PROVIDE ( esp_rom_spiflash_write_encrypted = SPI_Encrypt_Write ); +PROVIDE ( esp_rom_spiflash_erase_area = SPIEraseArea ); diff --git a/esp-hal/ld/esp32s3/rom-functions.x b/esp-hal/ld/esp32s3/rom-functions.x index e1e4a893b..3bf8f52d5 100644 --- a/esp-hal/ld/esp32s3/rom-functions.x +++ b/esp-hal/ld/esp32s3/rom-functions.x @@ -1,47 +1,6 @@ -PROVIDE(ets_delay_us = 0x40000600); -PROVIDE(ets_update_cpu_frequency_rom = 0x40001a4c); -PROVIDE(rom_i2c_writeReg = 0x40005d60); -PROVIDE(rom_i2c_writeReg_Mask = 0x40005d6c); -PROVIDE(rtc_get_reset_reason = 0x4000057c); -PROVIDE(rom_config_instruction_cache_mode = 0x40001a1c); -PROVIDE(software_reset = 0x400006d8); -PROVIDE(software_reset_cpu = 0x400006e4); -PROVIDE(cache_dbus_mmu_set = 0x400019b0); -PROVIDE(ets_efuse_get_spiconfig = 0x40001f74); -PROVIDE(esp_rom_efuse_get_flash_gpio_info = ets_efuse_get_spiconfig); -PROVIDE(esp_rom_efuse_get_flash_wp_gpio = ets_efuse_get_wp_pad); -PROVIDE(esp_rom_spiflash_select_qio_pins = 0x40000a68 ); -PROVIDE(esp_rom_spi_set_op_mode = 0x400008a0 ); -PROVIDE(esp_rom_spi_cmd_start = 0x40000888); -PROVIDE(esp_rom_spi_cmd_config = 0x4000087c); -PROVIDE(Cache_Get_DCache_Line_Size = 0x40001608 ); -PROVIDE(Cache_Invalidate_Addr = 0x400016b0 ); -PROVIDE(Cache_Suspend_DCache = 0x400018b4 ); -PROVIDE(Cache_Resume_DCache = 0x400018c0 ); -PROVIDE(Cache_Suspend_DCache_Autoload = 0x40001734 ); -PROVIDE(Cache_Resume_DCache_Autoload = 0x40001740 ); -PROVIDE(Cache_WriteBack_Addr = 0x400016c8 ); -PROVIDE(rom_config_data_cache_mode = 0x40001a28 ); -PROVIDE(rom_config_instruction_cache_mode = 0x40001a1c ); -PROVIDE(ets_efuse_get_wp_pad = 0x40001fa4); -PROVIDE(ets_set_appcpu_boot_addr = 0x40000720); +INCLUDE "rom/esp32s3.rom.api.ld" +INCLUDE "rom/esp32s3.rom.ld" +INCLUDE "rom/esp32s3.rom.libgcc.ld" +INCLUDE "rom/esp32s3.rom.version.ld" -PROVIDE(esp_rom_crc32_be = 0x40001ca4); -PROVIDE(esp_rom_crc16_be = 0x40001cbc); -PROVIDE(esp_rom_crc8_be = 0x40001cd4); -PROVIDE(esp_rom_crc32_le = 0x40001c98); -PROVIDE(esp_rom_crc16_le = 0x40001cb0); -PROVIDE(esp_rom_crc8_le = 0x40001cc8); - -PROVIDE(esp_rom_md5_init = 0x40001c5c); -PROVIDE(esp_rom_md5_update = 0x40001c68); -PROVIDE(esp_rom_md5_final = 0x40001c74); - -PROVIDE (esp_rom_opiflash_exec_cmd = 0x400008b8); -PROVIDE( esp_rom_spi_set_dtr_swap_mode = 0x4000093c ); -PROVIDE( esp_rom_opiflash_pin_config = 0x40000894 ); - -memset = 0x400011e8; -memcpy = 0x400011f4; -memmove = 0x40001200; -memcmp = 0x4000120c; +INCLUDE "rom/additional.ld" diff --git a/esp-hal/ld/esp32s3/rom/additional.ld b/esp-hal/ld/esp32s3/rom/additional.ld new file mode 100644 index 000000000..4d8c27b59 --- /dev/null +++ b/esp-hal/ld/esp32s3/rom/additional.ld @@ -0,0 +1,14 @@ +memset = 0x400011e8; +memcpy = 0x400011f4; +memmove = 0x40001200; +memcmp = 0x4000120c; + +strcpy = 0x40001218; +strncpy = 0x40001224; +strncmp = 0x4000123c; + +bzero = 0x40001260; + +PROVIDE(cache_dbus_mmu_set = 0x400019b0); +PROVIDE( Cache_Suspend_DCache_Autoload = 0x40001734 ); +PROVIDE( Cache_Suspend_DCache = 0x400018b4 ); diff --git a/esp-hal/ld/esp32s3/rom/esp32s3.rom.api.ld b/esp-hal/ld/esp32s3/rom/esp32s3.rom.api.ld new file mode 100644 index 000000000..8d2f2500f --- /dev/null +++ b/esp-hal/ld/esp32s3/rom/esp32s3.rom.api.ld @@ -0,0 +1,69 @@ +/** + * ROM APIs + */ +PROVIDE ( esp_rom_crc32_le = crc32_le ); +PROVIDE ( esp_rom_crc16_le = crc16_le ); +PROVIDE ( esp_rom_crc8_le = crc8_le ); +PROVIDE ( esp_rom_crc32_be = crc32_be ); +PROVIDE ( esp_rom_crc16_be = crc16_be ); +PROVIDE ( esp_rom_crc8_be = crc8_be ); + +PROVIDE ( esp_rom_gpio_pad_select_gpio = gpio_pad_select_gpio ); +PROVIDE ( esp_rom_gpio_pad_pullup_only = gpio_pad_pullup ); +PROVIDE ( esp_rom_gpio_pad_set_drv = gpio_pad_set_drv ); +PROVIDE ( esp_rom_gpio_pad_unhold = gpio_pad_unhold ); +PROVIDE ( esp_rom_gpio_connect_in_signal = gpio_matrix_in ); +PROVIDE ( esp_rom_gpio_connect_out_signal = gpio_matrix_out ); + +PROVIDE ( esp_rom_efuse_mac_address_crc8 = esp_crc8 ); +PROVIDE ( esp_rom_efuse_get_flash_gpio_info = ets_efuse_get_spiconfig ); +PROVIDE ( esp_rom_efuse_get_flash_wp_gpio = ets_efuse_get_wp_pad ); +PROVIDE ( esp_rom_efuse_is_secure_boot_enabled = ets_efuse_secure_boot_enabled ); + +PROVIDE ( esp_rom_uart_flush_tx = uart_tx_flush ); +PROVIDE ( esp_rom_uart_tx_one_char = uart_tx_one_char ); +PROVIDE ( esp_rom_uart_tx_wait_idle = uart_tx_wait_idle ); +PROVIDE ( esp_rom_uart_rx_one_char = uart_rx_one_char ); +PROVIDE ( esp_rom_uart_rx_string = UartRxString ); +PROVIDE ( esp_rom_uart_set_as_console = uart_tx_switch ); +PROVIDE ( esp_rom_uart_usb_acm_init = Uart_Init_USB ); +PROVIDE ( esp_rom_uart_putc = ets_write_char_uart ); + +PROVIDE ( esp_rom_output_flush_tx = uart_tx_flush ); +PROVIDE ( esp_rom_output_tx_one_char = uart_tx_one_char ); +PROVIDE ( esp_rom_output_tx_wait_idle = uart_tx_wait_idle ); +PROVIDE ( esp_rom_output_rx_one_char = uart_rx_one_char ); +PROVIDE ( esp_rom_output_rx_string = UartRxString ); +PROVIDE ( esp_rom_output_set_as_console = uart_tx_switch ); +PROVIDE ( esp_rom_output_usb_acm_init = Uart_Init_USB ); +PROVIDE ( esp_rom_output_putc = ets_write_char_uart ); + +PROVIDE ( esp_rom_md5_init = MD5Init ); +PROVIDE ( esp_rom_md5_update = MD5Update ); +PROVIDE ( esp_rom_md5_final = MD5Final ); + +PROVIDE ( esp_rom_software_reset_system = software_reset ); +PROVIDE ( esp_rom_software_reset_cpu = software_reset_cpu ); + +PROVIDE ( esp_rom_printf = ets_printf ); +PROVIDE ( esp_rom_delay_us = ets_delay_us ); +PROVIDE ( esp_rom_install_uart_printf = ets_install_uart_printf ); +PROVIDE ( esp_rom_get_reset_reason = rtc_get_reset_reason ); +PROVIDE ( esp_rom_route_intr_matrix = intr_matrix_set ); +PROVIDE ( esp_rom_get_cpu_ticks_per_us = ets_get_cpu_frequency ); +PROVIDE ( esp_rom_set_cpu_ticks_per_us = ets_update_cpu_frequency ); + +PROVIDE ( esp_rom_spiflash_attach = spi_flash_attach ); +PROVIDE ( esp_rom_spiflash_clear_bp = esp_rom_spiflash_unlock ); +PROVIDE ( esp_rom_spiflash_write_enable = SPI_write_enable); +PROVIDE ( esp_rom_spiflash_erase_area = SPIEraseArea ); + +PROVIDE ( esp_rom_spiflash_fix_dummylen = spi_dummy_len_fix ); +PROVIDE ( esp_rom_spiflash_set_drvs = SetSpiDrvs); +PROVIDE ( esp_rom_spiflash_select_padsfunc = SelectSpiFunction ); +PROVIDE ( esp_rom_spiflash_common_cmd = SPI_Common_Command ); + +PROVIDE ( esp_rom_regi2c_read = rom_i2c_readReg ); +PROVIDE ( esp_rom_regi2c_read_mask = rom_i2c_readReg_Mask ); +PROVIDE ( esp_rom_regi2c_write = rom_i2c_writeReg ); +PROVIDE ( esp_rom_regi2c_write_mask = rom_i2c_writeReg_Mask ); diff --git a/esp-hal/ld/esp32s3/rom/esp32s3.rom.ld b/esp-hal/ld/esp32s3/rom/esp32s3.rom.ld new file mode 100644 index 000000000..ccc4a539f --- /dev/null +++ b/esp-hal/ld/esp32s3/rom/esp32s3.rom.ld @@ -0,0 +1,2247 @@ +/* ROM function interface esp32s3.rom.ld for esp32s3 + * + * + * Generated from ./interface-esp32s3.yml md5sum 39c4ce259b11323b9404c192b01b712b + * + * Compatible with ROM where ECO version equal or greater to 0. + * + * THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT. + */ + +/*************************************** + Group common + ***************************************/ + +/* Functions */ +rtc_get_reset_reason = 0x4000057c; +analog_super_wdt_reset_happened = 0x40000588; +jtag_cpu_reset_happened = 0x40000594; +rtc_get_wakeup_cause = 0x400005a0; +rtc_select_apb_bridge = 0x400005ac; +rtc_unhold_all_pads = 0x400005b8; +ets_is_print_boot = 0x400005c4; +ets_printf = 0x400005d0; +ets_install_putc1 = 0x400005dc; +ets_install_uart_printf = 0x400005e8; +ets_install_putc2 = 0x400005f4; +PROVIDE( ets_delay_us = 0x40000600 ); +ets_get_stack_info = 0x4000060c; +ets_install_lock = 0x40000618; +ets_backup_dma_copy = 0x40000624; +ets_apb_backup_init_lock_func = 0x40000630; +UartRxString = 0x4000063c; +uart_tx_one_char = 0x40000648; +uart_tx_one_char2 = 0x40000654; +uart_rx_one_char = 0x40000660; +uart_rx_one_char_block = 0x4000066c; +uart_rx_readbuff = 0x40000678; +uartAttach = 0x40000684; +uart_tx_flush = 0x40000690; +uart_tx_wait_idle = 0x4000069c; +uart_div_modify = 0x400006a8; +ets_write_char_uart = 0x400006b4; +uart_tx_switch = 0x400006c0; +multofup = 0x400006cc; +software_reset = 0x400006d8; +software_reset_cpu = 0x400006e4; +assist_debug_clock_enable = 0x400006f0; +assist_debug_record_enable = 0x400006fc; +clear_super_wdt_reset_flag = 0x40000708; +disable_default_watchdog = 0x40000714; +ets_set_appcpu_boot_addr = 0x40000720; +esp_rom_set_rtc_wake_addr = 0x4000072c; +esp_rom_get_rtc_wake_addr = 0x40000738; +send_packet = 0x40000744; +recv_packet = 0x40000750; +GetUartDevice = 0x4000075c; +UartDwnLdProc = 0x40000768; +Uart_Init = 0x40000774; +ets_set_user_start = 0x40000780; +/* Data (.data, .bss, .rodata) */ +ets_rom_layout_p = 0x3ff1fffc; +ets_ops_table_ptr = 0x3fcefffc; + + +/*************************************** + Group miniz + ***************************************/ + +/* Functions */ +mz_adler32 = 0x4000078c; +mz_crc32 = 0x40000798; +mz_free = 0x400007a4; +tdefl_compress = 0x400007b0; +tdefl_compress_buffer = 0x400007bc; +tdefl_compress_mem_to_heap = 0x400007c8; +tdefl_compress_mem_to_mem = 0x400007d4; +tdefl_compress_mem_to_output = 0x400007e0; +tdefl_get_adler32 = 0x400007ec; +tdefl_get_prev_return_status = 0x400007f8; +tdefl_init = 0x40000804; +tdefl_write_image_to_png_file_in_memory = 0x40000810; +tdefl_write_image_to_png_file_in_memory_ex = 0x4000081c; +tinfl_decompress = 0x40000828; +tinfl_decompress_mem_to_callback = 0x40000834; +tinfl_decompress_mem_to_heap = 0x40000840; +tinfl_decompress_mem_to_mem = 0x4000084c; + + +/*************************************** + Group tjpgd + ***************************************/ + +/* Functions */ +PROVIDE( jd_prepare = 0x40000858 ); +PROVIDE (jd_decomp = 0x40000864 ); + + +/*************************************** + Group esp-dsp + ***************************************/ + +/* Data (.data, .bss, .rodata) */ +dsps_fft2r_w_table_fc32_1024 = 0x3fcefff8; + + +/*************************************** + Group opi_flash + ***************************************/ + +/* Functions */ +PROVIDE( opi_flash_set_lock_func = 0x40000870 ); +PROVIDE( esp_rom_spi_cmd_config = 0x4000087c ); +PROVIDE( esp_rom_spi_cmd_start = 0x40000888 ); +PROVIDE( esp_rom_opiflash_pin_config = 0x40000894 ); +PROVIDE( esp_rom_spi_set_op_mode = 0x400008a0 ); +PROVIDE( esp_rom_opiflash_mode_reset = 0x400008ac ); +PROVIDE( esp_rom_opiflash_exec_cmd = 0x400008b8 ); +PROVIDE( esp_rom_opiflash_soft_reset = 0x400008c4 ); +PROVIDE( esp_rom_opiflash_read_id = 0x400008d0 ); +PROVIDE( esp_rom_opiflash_rdsr = 0x400008dc ); +PROVIDE( esp_rom_opiflash_wait_idle = 0x400008e8 ); +PROVIDE( esp_rom_opiflash_wren = 0x400008f4 ); +PROVIDE( esp_rom_opiflash_erase_sector = 0x40000900 ); +PROVIDE( esp_rom_opiflash_erase_block_64k = 0x4000090c ); +PROVIDE( esp_rom_opiflash_erase_area = 0x40000918 ); +PROVIDE( esp_rom_opiflash_read = 0x40000924 ); +PROVIDE( esp_rom_opiflash_write = 0x40000930 ); +PROVIDE( esp_rom_spi_set_dtr_swap_mode = 0x4000093c ); +PROVIDE( esp_rom_opiflash_exit_continuous_read_mode = 0x40000948 ); +PROVIDE( esp_rom_opiflash_legacy_driver_init = 0x40000954 ); +PROVIDE( esp_rom_opiflash_read_raw = 0x4004d9d4); +/* Data (.data, .bss, .rodata) */ +PROVIDE( rom_opiflash_cmd_def = 0x3fcefff4 ); +PROVIDE( rom_spi_usr_cmd_legacy_funcs = 0x3fcefff0 ); + + +/*************************************** + Group spiflash_legacy + ***************************************/ + +/* Functions */ +PROVIDE( esp_rom_spiflash_wait_idle = 0x40000960 ); +PROVIDE( esp_rom_spiflash_write_encrypted = 0x4000096c ); +PROVIDE( esp_rom_spiflash_write_encrypted_dest = 0x40000978 ); +PROVIDE( esp_rom_spiflash_write_encrypted_enable = 0x40000984 ); +PROVIDE( esp_rom_spiflash_write_encrypted_disable = 0x40000990 ); +PROVIDE( esp_rom_spiflash_erase_chip = 0x4000099c ); +PROVIDE( _esp_rom_spiflash_erase_sector = 0x400009a8 ); +PROVIDE( _esp_rom_spiflash_erase_block = 0x400009b4 ); +PROVIDE( _esp_rom_spiflash_write = 0x400009c0 ); +PROVIDE( _esp_rom_spiflash_read = 0x400009cc ); +PROVIDE( _esp_rom_spiflash_unlock = 0x400009d8 ); +PROVIDE( _SPIEraseArea = 0x400009e4 ); +PROVIDE( _SPI_write_enable = 0x400009f0 ); +PROVIDE( esp_rom_spiflash_erase_sector = 0x400009fc ); +PROVIDE( esp_rom_spiflash_erase_block = 0x40000a08 ); +PROVIDE( esp_rom_spiflash_write = 0x40000a14 ); +PROVIDE( esp_rom_spiflash_read = 0x40000a20 ); +PROVIDE( esp_rom_spiflash_unlock = 0x40000a2c ); +PROVIDE( SPIEraseArea = 0x40000a38 ); +PROVIDE( SPI_write_enable = 0x40000a44 ); +PROVIDE( esp_rom_spiflash_config_param = 0x40000a50 ); +PROVIDE( esp_rom_spiflash_read_user_cmd = 0x40000a5c ); +PROVIDE( esp_rom_spiflash_select_qio_pins = 0x40000a68 ); +PROVIDE( esp_rom_spi_flash_auto_sus_res = 0x40000a74 ); +PROVIDE( esp_rom_spi_flash_send_resume = 0x40000a80 ); +PROVIDE( esp_rom_spi_flash_update_id = 0x40000a8c ); +PROVIDE( esp_rom_spiflash_config_clk = 0x40000a98 ); +PROVIDE( esp_rom_spiflash_config_readmode = 0x40000aa4 ); +PROVIDE( esp_rom_spiflash_read_status = 0x40000ab0 ); +PROVIDE( esp_rom_spiflash_read_statushigh = 0x40000abc ); +PROVIDE( esp_rom_spiflash_write_status = 0x40000ac8 ); +PROVIDE( esp_rom_opiflash_cache_mode_config = 0x40000ad4 ); +PROVIDE( esp_rom_spiflash_auto_wait_idle = 0x40000ae0 ); +PROVIDE( spi_flash_attach = 0x40000aec ); +PROVIDE( spi_flash_get_chip_size = 0x40000af8 ); +PROVIDE( spi_flash_guard_set = 0x40000b04 ); +PROVIDE( spi_flash_guard_get = 0x40000b10 ); +PROVIDE( spi_flash_write_config_set = 0x40000b1c ); +PROVIDE( spi_flash_write_config_get = 0x40000b28 ); +PROVIDE( spi_flash_safe_write_address_func_set = 0x40000b34 ); +PROVIDE( spi_flash_unlock = 0x40000b40 ); +PROVIDE( spi_flash_erase_range = 0x40000b4c ); +PROVIDE( spi_flash_erase_sector = 0x40000b58 ); +PROVIDE( spi_flash_write = 0x40000b64 ); +PROVIDE( spi_flash_read = 0x40000b70 ); +PROVIDE( spi_flash_write_encrypted = 0x40000b7c ); +PROVIDE( spi_flash_read_encrypted = 0x40000b88 ); +PROVIDE( spi_flash_mmap_os_func_set = 0x40000b94 ); +PROVIDE( spi_flash_mmap_page_num_init = 0x40000ba0 ); +PROVIDE( spi_flash_mmap = 0x40000bac ); +PROVIDE( spi_flash_mmap_pages = 0x40000bb8 ); +PROVIDE( spi_flash_munmap = 0x40000bc4 ); +PROVIDE( spi_flash_mmap_dump = 0x40000bd0 ); +PROVIDE( spi_flash_check_and_flush_cache = 0x40000bdc ); +PROVIDE( spi_flash_mmap_get_free_pages = 0x40000be8 ); +PROVIDE( spi_flash_cache2phys = 0x40000bf4 ); +PROVIDE( spi_flash_phys2cache = 0x40000c00 ); +PROVIDE( spi_flash_disable_cache = 0x40000c0c ); +PROVIDE( spi_flash_restore_cache = 0x40000c18 ); +PROVIDE( spi_flash_cache_enabled = 0x40000c24 ); +PROVIDE( spi_flash_enable_cache = 0x40000c30 ); +PROVIDE( spi_cache_mode_switch = 0x40000c3c ); +PROVIDE( spi_common_set_dummy_output = 0x40000c48 ); +PROVIDE( spi_common_set_flash_cs_timing = 0x40000c54 ); +PROVIDE( esp_rom_spi_set_address_bit_len = 0x40000c60 ); +PROVIDE( esp_enable_cache_flash_wrap = 0x40000c6c ); +PROVIDE( SPILock = 0x40000c78 ); +PROVIDE( SPIMasterReadModeCnfig = 0x40000c84 ); +PROVIDE( SPI_Common_Command = 0x40000c90 ); +PROVIDE( SPI_WakeUp = 0x40000c9c ); +PROVIDE( SPI_block_erase = 0x40000ca8 ); +PROVIDE( SPI_chip_erase = 0x40000cb4 ); +PROVIDE( SPI_init = 0x40000cc0 ); +PROVIDE( SPI_page_program = 0x40000ccc ); +PROVIDE( SPI_read_data = 0x40000cd8 ); +PROVIDE( SPI_sector_erase = 0x40000ce4 ); +PROVIDE( SelectSpiFunction = 0x40000cf0 ); +PROVIDE( SetSpiDrvs = 0x40000cfc ); +PROVIDE( Wait_SPI_Idle = 0x40000d08 ); +PROVIDE( spi_dummy_len_fix = 0x40000d14 ); +PROVIDE( Disable_QMode = 0x40000d20 ); +PROVIDE( Enable_QMode = 0x40000d2c ); +/* Data (.data, .bss, .rodata) */ +PROVIDE( rom_spiflash_legacy_funcs = 0x3fceffe8 ); +PROVIDE( rom_spiflash_legacy_data = 0x3fceffe4 ); +PROVIDE( g_flash_guard_ops = 0x3fceffec ); + + +/*************************************** + Group hal_soc + ***************************************/ + +/* Functions */ +PROVIDE( spi_flash_hal_poll_cmd_done = 0x40000d38 ); +PROVIDE( spi_flash_hal_device_config = 0x40000d44 ); +PROVIDE( spi_flash_hal_configure_host_io_mode = 0x40000d50 ); +PROVIDE( spi_flash_hal_common_command = 0x40000d5c ); +PROVIDE( spi_flash_hal_read = 0x40000d68 ); +PROVIDE( spi_flash_hal_erase_chip = 0x40000d74 ); +PROVIDE( spi_flash_hal_erase_sector = 0x40000d80 ); +PROVIDE( spi_flash_hal_erase_block = 0x40000d8c ); +PROVIDE( spi_flash_hal_program_page = 0x40000d98 ); +PROVIDE( spi_flash_hal_set_write_protect = 0x40000da4 ); +PROVIDE( spi_flash_hal_host_idle = 0x40000db0 ); + + +/*************************************** + Group spi_flash_chips + ***************************************/ + +/* Functions */ +PROVIDE( spi_flash_chip_generic_probe = 0x40000ed0 ); +PROVIDE( spi_flash_chip_generic_detect_size = 0x40000edc ); +PROVIDE( spi_flash_chip_generic_write = 0x40000ee8 ); +PROVIDE( spi_flash_chip_generic_write_encrypted = 0x40000ef4 ); +PROVIDE( spi_flash_chip_generic_set_write_protect = 0x40000f00 ); +PROVIDE( spi_flash_common_write_status_16b_wrsr = 0x40000f0c ); +PROVIDE( spi_flash_chip_generic_reset = 0x40000f18 ); +PROVIDE( spi_flash_chip_generic_erase_chip = 0x40000f24 ); +PROVIDE( spi_flash_chip_generic_erase_sector = 0x40000f30 ); +PROVIDE( spi_flash_chip_generic_erase_block = 0x40000f3c ); +PROVIDE( spi_flash_chip_generic_page_program = 0x40000f48 ); +PROVIDE( spi_flash_chip_generic_get_write_protect = 0x40000f54 ); +PROVIDE( spi_flash_common_read_status_16b_rdsr_rdsr2 = 0x40000f60 ); +PROVIDE( spi_flash_chip_generic_read_reg = 0x40000f6c ); +PROVIDE( spi_flash_chip_generic_yield = 0x40000f78 ); +PROVIDE( spi_flash_generic_wait_host_idle = 0x40000f84 ); +PROVIDE( spi_flash_chip_generic_wait_idle = 0x40000f90 ); +PROVIDE( spi_flash_chip_generic_config_host_io_mode = 0x40000f9c ); +PROVIDE( spi_flash_chip_generic_read = 0x40000fa8 ); +PROVIDE( spi_flash_common_read_status_8b_rdsr2 = 0x40000fb4 ); +PROVIDE( spi_flash_chip_generic_get_io_mode = 0x40000fc0 ); +PROVIDE( spi_flash_common_read_status_8b_rdsr = 0x40000fcc ); +PROVIDE( spi_flash_common_write_status_8b_wrsr = 0x40000fd8 ); +PROVIDE( spi_flash_common_write_status_8b_wrsr2 = 0x40000fe4 ); +PROVIDE( spi_flash_common_set_io_mode = 0x40000ff0 ); +PROVIDE( spi_flash_chip_generic_set_io_mode = 0x40000ffc ); +PROVIDE( spi_flash_chip_gd_get_io_mode = 0x40001008 ); +PROVIDE( spi_flash_chip_gd_probe = 0x40001014 ); +PROVIDE( spi_flash_chip_gd_set_io_mode = 0x40001020 ); +/* Data (.data, .bss, .rodata) */ +PROVIDE( spi_flash_chip_generic_config_data = 0x3fceffe0 ); + + +/*************************************** + Group memspi_host + ***************************************/ + +/* Functions */ +PROVIDE( memspi_host_read_id_hs = 0x4000102c ); +PROVIDE( memspi_host_read_status_hs = 0x40001038 ); +PROVIDE( memspi_host_flush_cache = 0x40001044 ); +PROVIDE( memspi_host_erase_chip = 0x40001050 ); +PROVIDE( memspi_host_erase_sector = 0x4000105c ); +PROVIDE( memspi_host_erase_block = 0x40001068 ); +PROVIDE( memspi_host_program_page = 0x40001074 ); +PROVIDE( memspi_host_read = 0x40001080 ); +PROVIDE( memspi_host_set_write_protect = 0x4000108c ); +PROVIDE( memspi_host_set_max_read_len = 0x40001098 ); +PROVIDE( memspi_host_read_data_slicer = 0x400010a4 ); +PROVIDE( memspi_host_write_data_slicer = 0x400010b0 ); + + +/*************************************** + Group esp_flash + ***************************************/ + +/* Functions */ +PROVIDE( esp_flash_chip_driver_initialized = 0x400010bc ); +PROVIDE( esp_flash_read_id = 0x400010c8 ); +PROVIDE( esp_flash_get_size = 0x400010d4 ); +PROVIDE( esp_flash_erase_chip = 0x400010e0 ); +PROVIDE( rom_esp_flash_erase_region = 0x400010ec ); +PROVIDE( esp_flash_get_chip_write_protect = 0x400010f8 ); +PROVIDE( esp_flash_set_chip_write_protect = 0x40001104 ); +PROVIDE( esp_flash_get_protectable_regions = 0x40001110 ); +PROVIDE( esp_flash_get_protected_region = 0x4000111c ); +PROVIDE( esp_flash_set_protected_region = 0x40001128 ); +PROVIDE( esp_flash_read = 0x40001134 ); +PROVIDE( esp_flash_write = 0x40001140 ); +PROVIDE( esp_flash_write_encrypted = 0x4000114c ); +PROVIDE( esp_flash_read_encrypted = 0x40001158 ); +PROVIDE( esp_flash_get_io_mode = 0x40001164 ); +PROVIDE( esp_flash_set_io_mode = 0x40001170 ); +PROVIDE( spi_flash_boot_attach = 0x4000117c ); +PROVIDE( spi_flash_dump_counters = 0x40001188 ); +PROVIDE( spi_flash_get_counters = 0x40001194 ); +PROVIDE( spi_flash_op_counters_config = 0x400011a0 ); +PROVIDE( spi_flash_reset_counters = 0x400011ac ); +PROVIDE( esp_flash_read_chip_id = 0x400011b8 ); +PROVIDE( detect_spi_flash_chip = 0x400011c4 ); +PROVIDE( esp_rom_spiflash_write_disable = 0x400011d0 ); +/* Data (.data, .bss, .rodata) */ +PROVIDE( esp_flash_default_chip = 0x3fceffdc ); +PROVIDE( esp_flash_api_funcs = 0x3fceffd8 ); + + +/*************************************** + Group cache + ***************************************/ + +/* Functions */ +PROVIDE( Cache_Get_ICache_Line_Size = 0x400015fc ); +PROVIDE( Cache_Get_DCache_Line_Size = 0x40001608 ); +PROVIDE( Cache_Get_Mode = 0x40001614 ); +PROVIDE( Cache_Set_ICache_Mode = 0x40001620 ); +PROVIDE( Cache_Set_DCache_Mode = 0x4000162c ); +PROVIDE( Cache_Address_Through_ICache = 0x40001638 ); +PROVIDE( Cache_Address_Through_DCache = 0x40001644 ); +PROVIDE( Cache_Set_Default_Mode = 0x40001650 ); +PROVIDE( Cache_Enable_Defalut_ICache_Mode = 0x4000165c ); +PROVIDE( ROM_Boot_Cache_Init = 0x40001668 ); +PROVIDE( Cache_Invalidate_ICache_Items = 0x40001674 ); +PROVIDE( Cache_Invalidate_DCache_Items = 0x40001680 ); +PROVIDE( Cache_Clean_Items = 0x4000168c ); +PROVIDE( Cache_WriteBack_Items = 0x40001698 ); +PROVIDE( Cache_Op_Addr = 0x400016a4 ); +PROVIDE( Cache_Invalidate_Addr = 0x400016b0 ); +PROVIDE( Cache_Clean_Addr = 0x400016bc ); +PROVIDE( rom_Cache_WriteBack_Addr = 0x400016c8 ); +PROVIDE( Cache_Invalidate_ICache_All = 0x400016d4 ); +PROVIDE( Cache_Invalidate_DCache_All = 0x400016e0 ); +PROVIDE( Cache_Clean_All = 0x400016ec ); +PROVIDE( Cache_WriteBack_All = 0x400016f8 ); +PROVIDE( Cache_Mask_All = 0x40001704 ); +PROVIDE( Cache_UnMask_Dram0 = 0x40001710 ); +PROVIDE( Cache_Suspend_ICache_Autoload = 0x4000171c ); +PROVIDE( Cache_Resume_ICache_Autoload = 0x40001728 ); +PROVIDE( Cache_Suspend_DCache_Autoload = 0x40001734 ); +PROVIDE( Cache_Resume_DCache_Autoload = 0x40001740 ); +PROVIDE( Cache_Start_ICache_Preload = 0x4000174c ); +PROVIDE( Cache_ICache_Preload_Done = 0x40001758 ); +PROVIDE( Cache_End_ICache_Preload = 0x40001764 ); +PROVIDE( Cache_Start_DCache_Preload = 0x40001770 ); +PROVIDE( Cache_DCache_Preload_Done = 0x4000177c ); +PROVIDE( Cache_End_DCache_Preload = 0x40001788 ); +PROVIDE( Cache_Config_ICache_Autoload = 0x40001794 ); +PROVIDE( Cache_Config_ICache_Region_Autoload = 0x400017a0 ); +PROVIDE( Cache_Enable_ICache_Autoload = 0x400017ac ); +PROVIDE( Cache_Disable_ICache_Autoload = 0x400017b8 ); +PROVIDE( Cache_Config_DCache_Autoload = 0x400017c4 ); +PROVIDE( Cache_Config_DCache_Region_Autoload = 0x400017d0 ); +PROVIDE( Cache_Enable_DCache_Autoload = 0x400017dc ); +PROVIDE( Cache_Disable_DCache_Autoload = 0x400017e8 ); +PROVIDE( Cache_Enable_ICache_PreLock = 0x400017f4 ); +PROVIDE( Cache_Disable_ICache_PreLock = 0x40001800 ); +PROVIDE( Cache_Lock_ICache_Items = 0x4000180c ); +PROVIDE( Cache_Unlock_ICache_Items = 0x40001818 ); +PROVIDE( Cache_Enable_DCache_PreLock = 0x40001824 ); +PROVIDE( Cache_Disable_DCache_PreLock = 0x40001830 ); +PROVIDE( Cache_Lock_DCache_Items = 0x4000183c ); +PROVIDE( Cache_Unlock_DCache_Items = 0x40001848 ); +PROVIDE( Cache_Lock_Addr = 0x40001854 ); +PROVIDE( Cache_Unlock_Addr = 0x40001860 ); +PROVIDE( Cache_Disable_ICache = 0x4000186c ); +PROVIDE( Cache_Enable_ICache = 0x40001878 ); +PROVIDE( Cache_Disable_DCache = 0x40001884 ); +PROVIDE( Cache_Enable_DCache = 0x40001890 ); +PROVIDE( rom_Cache_Suspend_ICache = 0x4000189c ); +PROVIDE( Cache_Resume_ICache = 0x400018a8 ); +PROVIDE( rom_Cache_Suspend_DCache = 0x400018b4 ); +PROVIDE( Cache_Resume_DCache = 0x400018c0 ); +PROVIDE( Cache_Occupy_Items = 0x400018cc ); +PROVIDE( Cache_Occupy_Addr = 0x400018d8 ); +PROVIDE( rom_Cache_Freeze_ICache_Enable = 0x400018e4 ); +PROVIDE( Cache_Freeze_ICache_Disable = 0x400018f0 ); +PROVIDE( rom_Cache_Freeze_DCache_Enable = 0x400018fc ); +PROVIDE( Cache_Freeze_DCache_Disable = 0x40001908 ); +PROVIDE( Cache_Set_IDROM_MMU_Size = 0x40001914 ); +PROVIDE( flash2spiram_instruction_offset = 0x40001920 ); +PROVIDE( flash2spiram_rodata_offset = 0x4000192c ); +PROVIDE( flash_instr_rodata_start_page = 0x40001938 ); +PROVIDE( flash_instr_rodata_end_page = 0x40001944 ); +PROVIDE( Cache_Set_IDROM_MMU_Info = 0x40001950 ); +PROVIDE( Cache_Get_IROM_MMU_End = 0x4000195c ); +PROVIDE( Cache_Get_DROM_MMU_End = 0x40001968 ); +PROVIDE( Cache_Owner_Init = 0x40001974 ); +PROVIDE( Cache_Occupy_ICache_MEMORY = 0x40001980 ); +PROVIDE( Cache_Occupy_DCache_MEMORY = 0x4000198c ); +PROVIDE( Cache_MMU_Init = 0x40001998 ); +PROVIDE( Cache_Ibus_MMU_Set = 0x400019a4 ); +PROVIDE( Cache_Dbus_MMU_Set = 0x400019b0 ); +PROVIDE( rom_Cache_Count_Flash_Pages = 0x400019bc ); +PROVIDE( Cache_Flash_To_SPIRAM_Copy = 0x400019c8 ); +PROVIDE( Cache_Travel_Tag_Memory = 0x400019d4 ); +PROVIDE( Cache_Travel_Tag_Memory2 = 0x400019e0 ); +PROVIDE( Cache_Get_Virtual_Addr = 0x400019ec ); +PROVIDE( Cache_Get_Memory_BaseAddr = 0x400019f8 ); +PROVIDE( Cache_Get_Memory_Addr = 0x40001a04 ); +PROVIDE( Cache_Get_Memory_value = 0x40001a10 ); +PROVIDE( rom_config_instruction_cache_mode = 0x40001a1c ); +PROVIDE( rom_config_data_cache_mode = 0x40001a28 ); +/* Data (.data, .bss, .rodata) */ +PROVIDE( rom_cache_op_cb = 0x3fceffc8 ); +PROVIDE( rom_cache_internal_table_ptr = 0x3fceffc4 ); + + +/*************************************** + Group clock + ***************************************/ + +/* Functions */ +ets_get_apb_freq = 0x40001a34; +ets_get_cpu_frequency = 0x40001a40; +ets_update_cpu_frequency = 0x40001a4c; +ets_get_printf_channel = 0x40001a58; +ets_get_xtal_div = 0x40001a64; +ets_set_xtal_div = 0x40001a70; +ets_get_xtal_freq = 0x40001a7c; + + +/*************************************** + Group gpio + ***************************************/ + +/* Functions */ +gpio_input_get = 0x40001a88; +gpio_matrix_in = 0x40001a94; +gpio_matrix_out = 0x40001aa0; +gpio_output_disable = 0x40001aac; +gpio_output_enable = 0x40001ab8; +gpio_output_set = 0x40001ac4; +gpio_pad_hold = 0x40001ad0; +gpio_pad_input_disable = 0x40001adc; +gpio_pad_input_enable = 0x40001ae8; +gpio_pad_pulldown = 0x40001af4; +gpio_pad_pullup = 0x40001b00; +gpio_pad_select_gpio = 0x40001b0c; +gpio_pad_set_drv = 0x40001b18; +gpio_pad_unhold = 0x40001b24; +gpio_pin_wakeup_disable = 0x40001b30; +gpio_pin_wakeup_enable = 0x40001b3c; +gpio_bypass_matrix_in = 0x40001b48; + + +/*************************************** + Group interrupts + ***************************************/ + +/* Functions */ +intr_matrix_set = 0x40001b54; +ets_intr_lock = 0x40001b60; +ets_intr_unlock = 0x40001b6c; +ets_isr_attach = 0x40001b78; +ets_isr_mask = 0x40001b84; +ets_isr_unmask = 0x40001b90; + + +/*************************************** + Group xtos + ***************************************/ + +/* Functions */ +xthal_bcopy = 0x40001b9c; +xthal_memcpy = 0x40001ba8; +xthal_get_ccompare = 0x40001bb4; +xthal_set_ccompare = 0x40001bc0; +xthal_get_ccount = 0x40001bcc; +xthal_get_interrupt = 0x40001bd8; +xthal_set_intclear = 0x40001be4; +_xtos_ints_off = 0x40001bf0; +_xtos_ints_on = 0x40001bfc; +_xtos_restore_intlevel = 0x40001c08; +_xtos_set_exception_handler = 0x40001c14; +_xtos_set_interrupt_handler = 0x40001c20; +_xtos_set_interrupt_handler_arg = 0x40001c2c; +_xtos_set_intlevel = 0x40001c38; +_xtos_set_vpri = 0x40001c44; + + +/*************************************** + Group crypto + ***************************************/ + +/* Functions */ +md5_vector = 0x40001c50; +MD5Init = 0x40001c5c; +MD5Update = 0x40001c68; +MD5Final = 0x40001c74; +hmac_md5_vector = 0x40001c80; +hmac_md5 = 0x40001c8c; +crc32_le = 0x40001c98; +crc32_be = 0x40001ca4; +crc16_le = 0x40001cb0; +crc16_be = 0x40001cbc; +crc8_le = 0x40001cc8; +crc8_be = 0x40001cd4; +esp_crc8 = 0x40001ce0; +ets_sha_enable = 0x40001cec; +ets_sha_disable = 0x40001cf8; +ets_sha_get_state = 0x40001d04; +ets_sha_init = 0x40001d10; +ets_sha_process = 0x40001d1c; +ets_sha_starts = 0x40001d28; +ets_sha_update = 0x40001d34; +ets_sha_finish = 0x40001d40; +ets_sha_clone = 0x40001d4c; +ets_hmac_enable = 0x40001d58; +ets_hmac_disable = 0x40001d64; +ets_hmac_calculate_message = 0x40001d70; +ets_hmac_calculate_downstream = 0x40001d7c; +ets_hmac_invalidate_downstream = 0x40001d88; +ets_jtag_enable_temporarily = 0x40001d94; +ets_aes_enable = 0x40001da0; +ets_aes_disable = 0x40001dac; +ets_aes_setkey = 0x40001db8; +ets_aes_block = 0x40001dc4; +ets_bigint_enable = 0x40001dd0; +ets_bigint_disable = 0x40001ddc; +ets_bigint_multiply = 0x40001de8; +ets_bigint_modmult = 0x40001df4; +ets_bigint_modexp = 0x40001e00; +ets_bigint_wait_finish = 0x40001e0c; +ets_bigint_getz = 0x40001e18; +ets_ds_enable = 0x40001e24; +ets_ds_disable = 0x40001e30; +ets_ds_start_sign = 0x40001e3c; +ets_ds_is_busy = 0x40001e48; +ets_ds_finish_sign = 0x40001e54; +ets_ds_encrypt_params = 0x40001e60; +ets_aes_setkey_dec = 0x40001e6c; +ets_aes_setkey_enc = 0x40001e78; +ets_mgf1_sha256 = 0x40001e84; + + +/*************************************** + Group efuse + ***************************************/ + +/* Functions */ +ets_efuse_read = 0x40001e90; +ets_efuse_program = 0x40001e9c; +ets_efuse_clear_program_registers = 0x40001ea8; +ets_efuse_write_key = 0x40001eb4; +ets_efuse_get_read_register_address = 0x40001ec0; +ets_efuse_get_key_purpose = 0x40001ecc; +ets_efuse_key_block_unused = 0x40001ed8; +ets_efuse_find_unused_key_block = 0x40001ee4; +ets_efuse_rs_calculate = 0x40001ef0; +ets_efuse_count_unused_key_blocks = 0x40001efc; +ets_efuse_secure_boot_enabled = 0x40001f08; +ets_efuse_secure_boot_aggressive_revoke_enabled = 0x40001f14; +ets_efuse_cache_encryption_enabled = 0x40001f20; +ets_efuse_download_modes_disabled = 0x40001f2c; +ets_efuse_find_purpose = 0x40001f38; +ets_efuse_flash_opi_5pads_power_sel_vddspi = 0x40001f44; +ets_efuse_force_send_resume = 0x40001f50; +ets_efuse_get_flash_delay_us = 0x40001f5c; +ets_efuse_get_mac = 0x40001f68; +ets_efuse_get_spiconfig = 0x40001f74; +ets_efuse_usb_print_is_disabled = 0x40001f80; +/*ets_efuse_get_uart_print_channel = 0x40001f8c;*/ +ets_efuse_usb_serial_jtag_print_is_disabled = 0x40001f8c; +ets_efuse_get_uart_print_control = 0x40001f98; +ets_efuse_get_wp_pad = 0x40001fa4; +ets_efuse_legacy_spi_boot_mode_disabled = 0x40001fb0; +ets_efuse_security_download_modes_enabled = 0x40001fbc; +ets_efuse_set_timing = 0x40001fc8; +ets_efuse_jtag_disabled = 0x40001fd4; +ets_efuse_usb_download_mode_disabled = 0x40001fe0; +ets_efuse_usb_module_disabled = 0x40001fec; +ets_efuse_usb_device_disabled = 0x40001ff8; +ets_efuse_flash_octal_mode = 0x40002004; +ets_efuse_ecc_en = 0x40002010; +ets_efuse_ecc_flash_page_size = 0x4000201c; +ets_efuse_ecc_16to17_mode = 0x40002028; + + +/*************************************** + Group ecc + ***************************************/ + +/* Functions */ +ets_ecc_flash_enable = 0x40002034; +ets_ecc_flash_enable_all = 0x40002040; +ets_ecc_flash_disable = 0x4000204c; +ets_ecc_flash_disable_all = 0x40002058; +ets_ecc_get_flash_page_size = 0x40002064; +ets_ecc_set_flash_page_size = 0x40002070; +ets_ecc_set_flash_byte_mode = 0x4000207c; +ets_ecc_get_flash_byte_mode = 0x40002088; +ets_ecc_set_flash_range = 0x40002094; +ets_ecc_get_flash_range = 0x400020a0; +ets_ecc_sram_enable = 0x400020ac; +ets_ecc_sram_disable = 0x400020b8; +ets_ecc_sram_enable_all = 0x400020c4; +ets_ecc_sram_disable_all = 0x400020d0; +ets_ecc_get_sram_page_size = 0x400020dc; +ets_ecc_set_sram_page_size = 0x400020e8; +ets_ecc_get_sram_byte_mode = 0x400020f4; +ets_ecc_set_sram_byte_mode = 0x40002100; +ets_ecc_set_sram_range = 0x4000210c; +ets_ecc_get_sram_range = 0x40002118; +/* Data (.data, .bss, .rodata) */ +ets_ecc_table_ptr = 0x3fceffc0; + + +/*************************************** + Group secureboot + ***************************************/ + +/* Functions */ +ets_emsa_pss_verify = 0x40002124; +ets_rsa_pss_verify = 0x40002130; +ets_secure_boot_verify_bootloader_with_keys = 0x4000213c; +ets_secure_boot_verify_signature = 0x40002148; +ets_secure_boot_read_key_digests = 0x40002154; +ets_secure_boot_revoke_public_key_digest = 0x40002160; + + +/*************************************** + Group usb_uart + ***************************************/ + +/* Functions */ +PROVIDE( usb_uart_otg_rx_one_char = 0x400025a4 ); +PROVIDE( usb_uart_otg_rx_one_char_block = 0x400025b0 ); +PROVIDE( usb_uart_otg_tx_flush = 0x400025bc ); +PROVIDE( usb_uart_otg_tx_one_char = 0x400025c8 ); +PROVIDE( usb_uart_device_rx_one_char = 0x400025d4 ); +PROVIDE( usb_uart_device_rx_one_char_block = 0x400025e0 ); +PROVIDE( usb_uart_device_tx_flush = 0x400025ec ); +PROVIDE( usb_uart_device_tx_one_char = 0x400025f8 ); +PROVIDE( Uart_Init_USB = 0x40002604 ); +/* Data (.data, .bss, .rodata) */ +PROVIDE( uart_acm_dev = 0x3fceffbc ); +PROVIDE( g_uart_print = 0x3fceffb9 ); +PROVIDE( g_usb_print = 0x3fceffb8 ); + + +/*************************************** + Group usb_module + ***************************************/ + +/* Functions */ +cdc_acm_class_handle_req = 0x40002610; +cdc_acm_init = 0x4000261c; +cdc_acm_fifo_fill = 0x40002628; +cdc_acm_rx_fifo_cnt = 0x40002634; +cdc_acm_fifo_read = 0x40002640; +cdc_acm_irq_tx_enable = 0x4000264c; +cdc_acm_irq_tx_disable = 0x40002658; +cdc_acm_irq_state_enable = 0x40002664; +cdc_acm_irq_state_disable = 0x40002670; +cdc_acm_irq_tx_ready = 0x4000267c; +cdc_acm_irq_rx_enable = 0x40002688; +cdc_acm_irq_rx_disable = 0x40002694; +cdc_acm_irq_rx_ready = 0x400026a0; +cdc_acm_irq_is_pending = 0x400026ac; +cdc_acm_irq_callback_set = 0x400026b8; +cdc_acm_line_ctrl_set = 0x400026c4; +cdc_acm_line_ctrl_get = 0x400026d0; +cdc_acm_poll_out = 0x400026dc; +chip_usb_dw_did_persist = 0x400026e8; +chip_usb_dw_init = 0x400026f4; +chip_usb_detach = 0x40002700; +chip_usb_dw_prepare_persist = 0x4000270c; +chip_usb_get_persist_flags = 0x40002718; +chip_usb_set_persist_flags = 0x40002724; +cpio_start = 0x40002730; +cpio_feed = 0x4000273c; +cpio_done = 0x40002748; +cpio_destroy = 0x40002754; +dfu_flash_init = 0x40002760; +dfu_flash_erase = 0x4000276c; +dfu_flash_program = 0x40002778; +dfu_flash_read = 0x40002784; +dfu_flash_attach = 0x40002790; +dfu_cpio_callback = 0x4000279c; +dfu_updater_get_err = 0x400027a8; +dfu_updater_clear_err = 0x400027b4; +dfu_updater_enable = 0x400027c0; +dfu_updater_begin = 0x400027cc; +dfu_updater_feed = 0x400027d8; +dfu_updater_end = 0x400027e4; +dfu_updater_set_raw_addr = 0x400027f0; +dfu_updater_flash_read = 0x400027fc; +usb_dc_prepare_persist = 0x40002808; +usb_dw_isr_handler = 0x40002814; +usb_dc_attach = 0x40002820; +usb_dc_detach = 0x4000282c; +usb_dc_reset = 0x40002838; +usb_dc_set_address = 0x40002844; +usb_dc_ep_check_cap = 0x40002850; +usb_dc_ep_configure = 0x4000285c; +usb_dc_ep_set_stall = 0x40002868; +usb_dc_ep_clear_stall = 0x40002874; +usb_dc_ep_halt = 0x40002880; +usb_dc_ep_is_stalled = 0x4000288c; +usb_dc_ep_enable = 0x40002898; +usb_dc_ep_disable = 0x400028a4; +usb_dc_ep_flush = 0x400028b0; +usb_dc_ep_write_would_block = 0x400028bc; +usb_dc_ep_write = 0x400028c8; +usb_dc_ep_read_wait = 0x400028d4; +usb_dc_ep_read_continue = 0x400028e0; +usb_dc_ep_read = 0x400028ec; +usb_dc_ep_set_callback = 0x400028f8; +usb_dc_set_status_callback = 0x40002904; +usb_dc_ep_mps = 0x40002910; +usb_dc_check_poll_for_interrupts = 0x4000291c; +mac_addr_to_serial_str_desc = 0x40002928; +usb_set_current_descriptor = 0x40002934; +usb_get_descriptor = 0x40002940; +usb_dev_resume = 0x4000294c; +usb_dev_get_configuration = 0x40002958; +usb_set_config = 0x40002964; +usb_deconfig = 0x40002970; +usb_enable = 0x4000297c; +usb_disable = 0x40002988; +usb_write_would_block = 0x40002994; +usb_write = 0x400029a0; +usb_read = 0x400029ac; +usb_ep_set_stall = 0x400029b8; +usb_ep_clear_stall = 0x400029c4; +usb_ep_read_wait = 0x400029d0; +usb_ep_read_continue = 0x400029dc; +usb_transfer_ep_callback = 0x400029e8; +usb_transfer = 0x400029f4; +usb_cancel_transfer = 0x40002a00; +usb_transfer_sync = 0x40002a0c; +usb_dfu_set_detach_cb = 0x40002a18; +dfu_class_handle_req = 0x40002a24; +dfu_status_cb = 0x40002a30; +dfu_custom_handle_req = 0x40002a3c; +usb_dfu_init = 0x40002a48; +usb_dfu_force_detach = 0x40002a54; +usb_dev_deinit = 0x40002a60; +usb_dw_ctrl_deinit = 0x40002a6c; +/* Data (.data, .bss, .rodata) */ +rom_usb_osglue = 0x3fceffac; + + +/*************************************** + Group bluetooth + ***************************************/ + +/* Functions */ +bt_rf_coex_get_dft_cfg = 0x40002a78; +bt_rf_coex_hooks_p_set = 0x40002a84; +btdm_con_maxevtime_cal_impl = 0x40002a90; +btdm_controller_get_compile_version_impl = 0x40002a9c; +btdm_controller_rom_data_init = 0x40002aa8; +btdm_dis_privacy_err_report_impl = 0x40002ab4; +btdm_disable_adv_delay_impl = 0x40002ac0; +btdm_enable_scan_continue_impl = 0x40002acc; +btdm_enable_scan_forever_impl = 0x40002ad8; +btdm_get_power_state_impl = 0x40002ae4; +btdm_get_prevent_sleep_flag_impl = 0x40002af0; +btdm_power_state_active_impl = 0x40002afc; +btdm_switch_phy_coded_impl = 0x40002b08; +hci_acl_data_handler = 0x40002b14; +hci_disconnect_cmd_handler = 0x40002b20; +hci_le_con_upd_cmd_handler = 0x40002b2c; +hci_le_ltk_req_neg_reply_cmd_handler = 0x40002b38; +hci_le_ltk_req_reply_cmd_handler = 0x40002b44; +hci_le_rd_chnl_map_cmd_handler = 0x40002b50; +hci_le_rd_phy_cmd_handler = 0x40002b5c; +hci_le_rd_rem_feats_cmd_handler = 0x40002b68; +hci_le_rem_con_param_req_neg_reply_cmd_handler = 0x40002b74; +hci_le_rem_con_param_req_reply_cmd_handler = 0x40002b80; +hci_le_set_data_len_cmd_handler = 0x40002b8c; +hci_le_set_phy_cmd_handler = 0x40002b98; +hci_le_start_enc_cmd_handler = 0x40002ba4; +hci_rd_auth_payl_to_cmd_handler = 0x40002bb0; +hci_rd_rem_ver_info_cmd_handler = 0x40002bbc; +hci_rd_rssi_cmd_handler = 0x40002bc8; +hci_rd_tx_pwr_lvl_cmd_handler = 0x40002bd4; +hci_vs_set_pref_slave_evt_dur_cmd_handler = 0x40002be0; +hci_vs_set_pref_slave_latency_cmd_handler = 0x40002bec; +hci_wr_auth_payl_to_cmd_handler = 0x40002bf8; +ll_channel_map_ind_handler = 0x40002c04; +ll_connection_param_req_handler = 0x40002c10; +ll_connection_param_rsp_handler = 0x40002c1c; +ll_connection_update_ind_handler = 0x40002c28; +ll_enc_req_handler = 0x40002c34; +ll_enc_rsp_handler = 0x40002c40; +ll_feature_req_handler = 0x40002c4c; +ll_feature_rsp_handler = 0x40002c58; +ll_length_req_handler = 0x40002c64; +ll_length_rsp_handler = 0x40002c70; +ll_min_used_channels_ind_handler = 0x40002c7c; +ll_pause_enc_req_handler = 0x40002c88; +ll_pause_enc_rsp_handler = 0x40002c94; +ll_phy_req_handler = 0x40002ca0; +ll_phy_rsp_handler = 0x40002cac; +ll_phy_update_ind_handler = 0x40002cb8; +ll_ping_req_handler = 0x40002cc4; +ll_ping_rsp_handler = 0x40002cd0; +ll_slave_feature_req_handler = 0x40002cdc; +ll_start_enc_req_handler = 0x40002ce8; +ll_start_enc_rsp_handler = 0x40002cf4; +ll_terminate_ind_handler = 0x40002d00; +ll_version_ind_handler = 0x40002d0c; +llc_auth_payl_nearly_to_handler = 0x40002d18; +llc_auth_payl_real_to_handler = 0x40002d24; +llc_encrypt_ind_handler = 0x40002d30; +llc_hci_command_handler_wrapper = 0x40002d3c; +llc_ll_connection_param_req_pdu_send = 0x40002d48; +llc_ll_connection_param_rsp_pdu_send = 0x40002d54; +llc_ll_connection_update_ind_pdu_send = 0x40002d60; +llc_ll_enc_req_pdu_send = 0x40002d6c; +llc_ll_enc_rsp_pdu_send = 0x40002d78; +llc_ll_feature_req_pdu_send = 0x40002d84; +llc_ll_feature_rsp_pdu_send = 0x40002d90; +llc_ll_length_req_pdu_send = 0x40002d9c; +llc_ll_length_rsp_pdu_send = 0x40002da8; +llc_ll_pause_enc_req_pdu_send = 0x40002db4; +llc_ll_pause_enc_rsp_pdu_send = 0x40002dc0; +llc_ll_phy_req_pdu_send = 0x40002dcc; +llc_ll_phy_rsp_pdu_send = 0x40002dd8; +llc_ll_ping_req_pdu_send = 0x40002de4; +llc_ll_ping_rsp_pdu_send = 0x40002df0; +llc_ll_start_enc_req_pdu_send = 0x40002dfc; +llc_ll_start_enc_rsp_pdu_send = 0x40002e08; +llc_ll_terminate_ind_pdu_send = 0x40002e14; +llc_ll_unknown_rsp_pdu_send = 0x40002e20; +llc_llcp_ch_map_update_ind_pdu_send = 0x40002e2c; +llc_llcp_phy_upd_ind_pdu_send = 0x40002e38; +llc_llcp_version_ind_pdu_send = 0x40002e44; +llc_op_ch_map_upd_ind_handler = 0x40002e50; +llc_op_con_upd_ind_handler = 0x40002e5c; +llc_op_disconnect_ind_handler = 0x40002e68; +llc_op_dl_upd_ind_handler = 0x40002e74; +llc_op_encrypt_ind_handler = 0x40002e80; +llc_op_feats_exch_ind_handler = 0x40002e8c; +llc_op_le_ping_ind_handler = 0x40002e98; +llc_op_phy_upd_ind_handler = 0x40002ea4; +llc_op_ver_exch_ind_handler = 0x40002eb0; +llc_stopped_ind_handler = 0x40002ebc; +lld_acl_rx_ind_handler = 0x40002ec8; +lld_acl_tx_cfm_handler = 0x40002ed4; +lld_adv_end_ind_handler = 0x40002ee0; +lld_adv_rep_ind_handler = 0x40002eec; +lld_ch_map_upd_cfm_handler = 0x40002ef8; +lld_con_estab_ind_handler = 0x40002f04; +lld_con_evt_sd_evt_time_set = 0x40002f10; +lld_con_offset_upd_ind_handler = 0x40002f1c; +lld_con_param_upd_cfm_handler = 0x40002f28; +lld_disc_ind_handler = 0x40002f34; +lld_init_end_ind_handler = 0x40002f40; +lld_llcp_rx_ind_handler_wrapper = 0x40002f4c; +lld_llcp_tx_cfm_handler = 0x40002f58; +lld_per_adv_end_ind_handler = 0x40002f64; +lld_per_adv_rep_ind_handler = 0x40002f70; +lld_per_adv_rx_end_ind_handler = 0x40002f7c; +lld_phy_coded_500k_get = 0x40002f88; +lld_phy_upd_cfm_handler = 0x40002f94; +lld_scan_end_ind_handler = 0x40002fa0; +lld_scan_req_ind_handler = 0x40002fac; +lld_sync_start_req_handler = 0x40002fb8; +lld_test_end_ind_handler = 0x40002fc4; +lld_update_rxbuf_handler = 0x40002fd0; +llm_ch_map_update_ind_handler = 0x40002fdc; +llm_hci_command_handler_wrapper = 0x40002fe8; +llm_scan_period_to_handler = 0x40002ff4; +r_Add2SelfBigHex256 = 0x40003000; +r_AddBigHex256 = 0x4000300c; +r_AddBigHexModP256 = 0x40003018; +r_AddP256 = 0x40003024; +r_AddPdiv2_256 = 0x40003030; +r_GF_Jacobian_Point_Addition256 = 0x4000303c; +r_GF_Jacobian_Point_Double256 = 0x40003048; +r_GF_Point_Jacobian_To_Affine256 = 0x40003054; +r_MultiplyBigHexByUint32_256 = 0x40003060; +r_MultiplyBigHexModP256 = 0x4000306c; +r_MultiplyByU16ModP256 = 0x40003078; +r_SubtractBigHex256 = 0x40003084; +r_SubtractBigHexMod256 = 0x40003090; +r_SubtractBigHexUint32_256 = 0x4000309c; +r_SubtractFromSelfBigHex256 = 0x400030a8; +r_SubtractFromSelfBigHexSign256 = 0x400030b4; +r_aes_alloc = 0x400030c0; +r_aes_ccm_continue = 0x400030cc; +r_aes_ccm_process_e = 0x400030d8; +r_aes_ccm_xor_128_lsb = 0x400030e4; +r_aes_ccm_xor_128_msb = 0x400030f0; +r_aes_cmac_continue = 0x400030fc; +r_aes_cmac_start = 0x40003108; +r_aes_k1_continue = 0x40003114; +r_aes_k2_continue = 0x40003120; +r_aes_k3_continue = 0x4000312c; +r_aes_k4_continue = 0x40003138; +r_aes_shift_left_128 = 0x40003144; +r_aes_start = 0x40003150; +r_aes_xor_128 = 0x4000315c; +r_assert_err = 0x40003168; +r_assert_param = 0x40003174; +r_assert_warn = 0x40003180; +r_bigHexInversion256 = 0x4000318c; +r_ble_sw_cca_check_isr = 0x40003198; +r_ble_util_buf_acl_tx_alloc = 0x400031a4; +r_ble_util_buf_acl_tx_elt_get = 0x400031b0; +r_ble_util_buf_acl_tx_free = 0x400031bc; +r_ble_util_buf_acl_tx_free_in_isr = 0x400031c8; +r_ble_util_buf_adv_tx_alloc = 0x400031d4; +r_ble_util_buf_adv_tx_free = 0x400031e0; +r_ble_util_buf_adv_tx_free_in_isr = 0x400031ec; +r_ble_util_buf_env_deinit = 0x400031f8; +r_ble_util_buf_env_init = 0x40003204; +r_ble_util_buf_get_rx_buf_nb = 0x40003210; +r_ble_util_buf_get_rx_buf_size = 0x4000321c; +r_ble_util_buf_llcp_tx_alloc = 0x40003228; +r_ble_util_buf_llcp_tx_free = 0x40003234; +r_ble_util_buf_rx_alloc = 0x40003240; +r_ble_util_buf_rx_alloc_in_isr = 0x4000324c; +r_ble_util_buf_rx_free = 0x40003258; +r_ble_util_buf_rx_free_in_isr = 0x40003264; +r_ble_util_buf_set_rx_buf_nb = 0x40003270; +r_ble_util_buf_set_rx_buf_size = 0x4000327c; +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_rf_coex_cfg_set = 0x400032c4; +r_bt_rf_coex_conn_dynamic_pti_en_get = 0x400032d0; +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; +r_bt_rf_coex_per_adv_dynamic_pti_en_get = 0x4000330c; +r_bt_rf_coex_pti_table_get = 0x40003318; +r_bt_rf_coex_st_param_get = 0x40003324; +r_bt_rf_coex_st_param_set = 0x40003330; +r_bt_rf_coex_sync_scan_dynamic_pti_en_get = 0x4000333c; +r_bt_rma_apply_rule_cs_fmt = 0x40003348; +r_bt_rma_apply_rule_cs_idx = 0x40003354; +r_bt_rma_configure = 0x40003360; +r_bt_rma_deregister_rule_cs_fmt = 0x4000336c; +r_bt_rma_deregister_rule_cs_idx = 0x40003378; +r_bt_rma_get_ant_by_act = 0x40003384; +r_bt_rma_init = 0x40003390; +r_bt_rma_register_rule_cs_fmt = 0x4000339c; +r_bt_rma_register_rule_cs_idx = 0x400033a8; +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_init = 0x400033f0; +r_bt_rtp_register_rule_cs_fmt = 0x400033fc; +r_bt_rtp_register_rule_cs_idx = 0x40003408; +r_btdm_isr = 0x40003414; +r_cali_phase_match_p = 0x40003444; +r_cmp_abs_time = 0x40003450; +r_cmp_dest_id = 0x4000345c; +r_cmp_timer_id = 0x40003468; +r_co_bdaddr_compare = 0x40003474; +r_co_ble_pkt_dur_in_us = 0x40003480; +r_co_list_extract = 0x4000348c; +r_co_list_extract_after = 0x40003498; +r_co_list_extract_sublist = 0x400034a4; +r_co_list_find = 0x400034b0; +r_co_list_init = 0x400034bc; +r_co_list_insert_after = 0x400034c8; +r_co_list_insert_before = 0x400034d4; +r_co_list_merge = 0x400034e0; +r_co_list_pool_init = 0x400034ec; +r_co_list_pop_front = 0x400034f8; +r_co_list_push_back = 0x40003504; +r_co_list_push_back_sublist = 0x40003510; +r_co_list_push_front = 0x4000351c; +r_co_list_size = 0x40003528; +r_co_nb_good_le_channels = 0x40003534; +r_co_util_pack = 0x40003540; +r_co_util_read_array_size = 0x4000354c; +r_co_util_unpack = 0x40003558; +r_dbg_env_deinit = 0x40003564; +r_dbg_env_init = 0x40003570; +r_dbg_platform_reset_complete = 0x4000357c; +r_dl_upd_proc_start = 0x40003588; +r_dump_data = 0x40003594; +r_ecc_abort_key256_generation = 0x400035a0; +r_ecc_gen_new_public_key = 0x400035ac; +r_ecc_gen_new_secret_key = 0x400035b8; +r_ecc_generate_key256 = 0x400035c4; +r_ecc_get_debug_Keys = 0x400035d0; +r_ecc_init = 0x400035dc; +r_ecc_is_valid_point = 0x400035e8; +r_ecc_multiplication_event_handler = 0x400035f4; +r_ecc_point_multiplication_win_256 = 0x40003600; +r_emi_alloc_em_mapping_by_offset = 0x4000360c; +r_emi_base_reg_lut_show = 0x40003618; +r_emi_em_base_reg_show = 0x40003624; +r_emi_free_em_mapping_by_offset = 0x40003630; +r_emi_get_em_mapping_idx_by_offset = 0x4000363c; +r_emi_get_mem_addr_by_offset = 0x40003648; +r_emi_overwrite_em_mapping_by_offset = 0x40003654; +r_esp_vendor_hci_command_handler = 0x40003660; +r_get_stack_usage = 0x4000366c; +r_h4tl_acl_hdr_rx_evt_handler = 0x40003678; +r_h4tl_cmd_hdr_rx_evt_handler = 0x40003684; +r_h4tl_cmd_pld_rx_evt_handler = 0x40003690; +r_h4tl_eif_io_event_post = 0x4000369c; +r_h4tl_eif_register = 0x400036a8; +r_h4tl_init = 0x400036b4; +r_h4tl_out_of_sync = 0x400036c0; +r_h4tl_out_of_sync_check = 0x400036cc; +r_h4tl_read_hdr = 0x400036d8; +r_h4tl_read_next_out_of_sync = 0x400036e4; +r_h4tl_read_payl = 0x400036f0; +r_h4tl_read_start = 0x400036fc; +r_h4tl_rx_acl_hdr_extract = 0x40003708; +r_h4tl_rx_cmd_hdr_extract = 0x40003714; +r_h4tl_rx_done = 0x40003720; +r_h4tl_start = 0x4000372c; +r_h4tl_stop = 0x40003738; +r_h4tl_tx_done = 0x40003744; +r_h4tl_tx_evt_handler = 0x40003750; +r_h4tl_write = 0x4000375c; +r_hci_acl_tx_data_alloc = 0x40003768; +r_hci_acl_tx_data_received = 0x40003774; +r_hci_basic_cmd_send_2_controller = 0x40003780; +r_hci_ble_adv_report_filter_check = 0x4000378c; +r_hci_ble_adv_report_tx_check = 0x40003798; +r_hci_ble_conhdl_register = 0x400037a4; +r_hci_ble_conhdl_unregister = 0x400037b0; +r_hci_build_acl_data = 0x400037bc; +r_hci_build_cc_evt = 0x400037c8; +r_hci_build_cs_evt = 0x400037d4; +r_hci_build_evt = 0x400037e0; +r_hci_build_le_evt = 0x400037ec; +r_hci_cmd_get_max_param_size = 0x400037f8; +r_hci_cmd_received = 0x40003804; +r_hci_cmd_reject = 0x40003810; +r_hci_evt_mask_check = 0x4000381c; +r_hci_evt_mask_set = 0x40003828; +r_hci_fc_acl_buf_size_set = 0x40003834; +r_hci_fc_acl_en = 0x40003840; +r_hci_fc_acl_packet_sent = 0x4000384c; +r_hci_fc_check_host_available_nb_acl_packets = 0x40003858; +r_hci_fc_host_nb_acl_pkts_complete = 0x40003864; +r_hci_fc_init = 0x40003870; +r_hci_look_for_cmd_desc = 0x4000387c; +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_send_2_controller = 0x400038c4; +r_hci_send_2_host = 0x400038d0; +r_hci_tl_c2h_data_flow_on = 0x400038dc; +r_hci_tl_cmd_hdr_rx_evt_handler = 0x400038e8; +r_hci_tl_cmd_pld_rx_evt_handler = 0x400038f4; +r_hci_tl_get_pkt = 0x40003900; +r_hci_tl_hci_pkt_handler = 0x4000390c; +r_hci_tl_hci_tx_done_evt_handler = 0x40003918; +r_hci_tl_inc_nb_h2c_cmd_pkts = 0x40003924; +r_hci_tl_save_pkt = 0x40003930; +r_hci_tl_send = 0x4000393c; +r_hci_tx_done = 0x40003948; +r_hci_tx_start = 0x40003954; +r_hci_tx_trigger = 0x40003960; +r_isValidSecretKey_256 = 0x4000396c; +r_ke_check_malloc = 0x40003978; +r_ke_event_callback_set = 0x40003984; +r_ke_event_clear = 0x40003990; +r_ke_event_flush = 0x4000399c; +r_ke_event_get = 0x400039a8; +r_ke_event_get_all = 0x400039b4; +r_ke_event_init = 0x400039c0; +r_ke_event_schedule = 0x400039cc; +r_ke_event_set = 0x400039d8; +r_ke_flush = 0x400039e4; +r_ke_free = 0x400039f0; +r_ke_handler_search = 0x400039fc; +r_ke_init = 0x40003a08; +r_ke_is_free = 0x40003a14; +r_ke_malloc = 0x40003a20; +r_ke_mem_init = 0x40003a2c; +r_ke_mem_is_empty = 0x40003a38; +r_ke_mem_is_in_heap = 0x40003a44; +r_ke_msg_alloc = 0x40003a50; +r_ke_msg_dest_id_get = 0x40003a5c; +r_ke_msg_discard = 0x40003a68; +r_ke_msg_forward = 0x40003a74; +r_ke_msg_forward_new_id = 0x40003a80; +r_ke_msg_free = 0x40003a8c; +r_ke_msg_in_queue = 0x40003a98; +r_ke_msg_save = 0x40003aa4; +r_ke_msg_send = 0x40003ab0; +r_ke_msg_send_basic = 0x40003abc; +r_ke_msg_src_id_get = 0x40003ac8; +r_ke_queue_extract = 0x40003ad4; +r_ke_queue_insert = 0x40003ae0; +r_ke_sleep_check = 0x40003aec; +r_ke_state_get = 0x40003af8; +r_ke_state_set = 0x40003b04; +r_ke_task_check = 0x40003b10; +r_ke_task_create = 0x40003b1c; +r_ke_task_delete = 0x40003b28; +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_time = 0x40003b70; +r_ke_time_cmp = 0x40003b7c; +r_ke_time_past = 0x40003b88; +r_ke_timer_active = 0x40003b94; +r_ke_timer_adjust_all = 0x40003ba0; +r_ke_timer_clear = 0x40003bac; +r_ke_timer_init = 0x40003bb8; +r_ke_timer_schedule = 0x40003bc4; +r_ke_timer_set = 0x40003bd0; +r_led_init = 0x40003bdc; +r_led_set_all = 0x40003be8; +r_llc_aes_res_cb = 0x40003bf4; +r_llc_ch_map_up_proc_err_cb = 0x40003c00; +r_llc_cleanup = 0x40003c0c; +r_llc_cmd_cmp_send = 0x40003c18; +r_llc_cmd_stat_send = 0x40003c24; +r_llc_con_move_cbk = 0x40003c30; +r_llc_con_plan_set_update = 0x40003c3c; +r_llc_con_upd_param_in_range = 0x40003c48; +r_llc_disconnect = 0x40003c54; +r_llc_disconnect_end = 0x40003c60; +r_llc_disconnect_proc_continue = 0x40003c6c; +r_llc_disconnect_proc_err_cb = 0x40003c78; +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_con_param_req_evt_send = 0x40003cc0; +r_llc_hci_con_upd_info_send = 0x40003ccc; +r_llc_hci_disconnected_dis = 0x40003cd8; +r_llc_hci_dl_upd_info_send = 0x40003ce4; +r_llc_hci_enc_evt_send = 0x40003cf0; +r_llc_hci_feats_info_send = 0x40003cfc; +r_llc_hci_le_phy_upd_cmp_evt_send = 0x40003d08; +r_llc_hci_ltk_request_evt_send = 0x40003d14; +r_llc_hci_nb_cmp_pkts_evt_send = 0x40003d20; +r_llc_hci_version_info_send = 0x40003d2c; +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_set = 0x40003d74; +r_llc_ll_pause_enc_rsp_ack_handler = 0x40003d80; +r_llc_ll_reject_ind_ack_handler = 0x40003d8c; +r_llc_ll_reject_ind_pdu_send = 0x40003d98; +r_llc_ll_start_enc_rsp_ack_handler = 0x40003da4; +r_llc_ll_terminate_ind_ack = 0x40003db0; +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_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_err_cb = 0x40003e58; +r_llc_msg_handler_tab_p_get = 0x40003e64; +r_llc_pref_param_compute = 0x40003e70; +r_llc_proc_collision_check = 0x40003e7c; +r_llc_proc_err_ind = 0x40003e88; +r_llc_proc_get = 0x40003e94; +r_llc_proc_id_get = 0x40003ea0; +r_llc_proc_reg = 0x40003eac; +r_llc_proc_state_get = 0x40003eb8; +r_llc_proc_state_set = 0x40003ec4; +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_err_cb = 0x40003f0c; +r_llc_rem_dl_upd_proc = 0x40003f18; +r_llc_rem_encrypt_proc_continue = 0x40003f24; +r_llc_rem_encrypt_proc_err_cb = 0x40003f30; +r_llc_rem_phy_upd_proc_continue = 0x40003f3c; +r_llc_rem_phy_upd_proc_err_cb = 0x40003f48; +r_llc_role_get = 0x40003f54; +r_llc_sk_gen = 0x40003f60; +r_llc_start = 0x40003f6c; +r_llc_stop = 0x40003f78; +r_llc_ver_exch_loc_proc_continue = 0x40003f84; +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_aux_ch_idx_set = 0x40003fcc; +r_lld_adv_aux_evt_canceled_cbk = 0x40003fd8; +r_lld_adv_aux_evt_start_cbk = 0x40003fe4; +r_lld_adv_coex_check_ext_adv_synced = 0x40003ff0; +r_lld_adv_coex_env_reset = 0x40003ffc; +r_lld_adv_duration_update = 0x40004008; +r_lld_adv_dynamic_pti_process = 0x40004014; +r_lld_adv_end = 0x40004020; +r_lld_adv_evt_canceled_cbk = 0x4000402c; +r_lld_adv_evt_start_cbk = 0x40004038; +r_lld_adv_ext_chain_construct = 0x40004044; +r_lld_adv_ext_pkt_prepare = 0x40004050; +r_lld_adv_frm_cbk = 0x4000405c; +r_lld_adv_frm_isr = 0x40004068; +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_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_set_tx_power = 0x400040e0; +r_lld_adv_start = 0x400040ec; +r_lld_adv_stop = 0x400040f8; +r_lld_adv_sync_info_set = 0x40004104; +r_lld_adv_sync_info_update = 0x40004110; +r_lld_calc_aux_rx = 0x4000411c; +r_lld_cca_alloc = 0x40004128; +r_lld_cca_data_reset = 0x40004134; +r_lld_cca_free = 0x40004140; +r_lld_ch_assess_data_get = 0x4000414c; +r_lld_ch_idx_get = 0x40004158; +r_lld_ch_map_set = 0x40004164; +r_lld_channel_assess = 0x40004170; +r_lld_con_activity_act_offset_compute = 0x4000417c; +r_lld_con_activity_offset_compute = 0x40004188; +r_lld_con_ch_map_update = 0x40004194; +r_lld_con_cleanup = 0x400041a0; +r_lld_con_current_tx_power_get = 0x400041ac; +r_lld_con_data_flow_set = 0x400041b8; +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_duration_min_get = 0x40004200; +r_lld_con_evt_max_eff_time_cal = 0x4000420c; +r_lld_con_evt_sd_evt_time_get = 0x40004218; +r_lld_con_evt_start_cbk = 0x40004224; +r_lld_con_evt_time_update = 0x40004230; +r_lld_con_free_all_tx_buf = 0x4000423c; +r_lld_con_frm_cbk = 0x40004248; +r_lld_con_frm_isr = 0x40004254; +r_lld_con_frm_skip_isr = 0x40004260; +r_lld_con_init = 0x4000426c; +r_lld_con_llcp_tx = 0x40004278; +r_lld_con_max_lat_calc = 0x40004284; +r_lld_con_offset_get = 0x40004290; +r_lld_con_param_update = 0x4000429c; +r_lld_con_phys_update = 0x400042a8; +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_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_set_tx_power = 0x40004338; +r_lld_con_start = 0x40004344; +r_lld_con_tx = 0x4000435c; +r_lld_con_tx_enc = 0x40004368; +r_lld_con_tx_isr = 0x40004374; +r_lld_con_tx_len_update = 0x40004380; +r_lld_con_tx_len_update_for_intv = 0x4000438c; +r_lld_con_tx_len_update_for_rate = 0x40004398; +r_lld_con_tx_prog = 0x400043a4; +r_lld_conn_dynamic_pti_process = 0x400043b0; +r_lld_continue_scan_rx_isr_end_process = 0x400043bc; +r_lld_ext_scan_dynamic_pti_process = 0x400043c8; +r_lld_hw_cca_end_isr = 0x400043d4; +r_lld_hw_cca_evt_handler = 0x400043e0; +r_lld_hw_cca_isr = 0x400043ec; +r_lld_init_cal_anchor_point = 0x400043f8; +r_lld_init_compute_winoffset = 0x40004404; +r_lld_init_connect_req_pack = 0x40004410; +r_lld_init_end = 0x4000441c; +r_lld_init_evt_canceled_cbk = 0x40004428; +r_lld_init_evt_start_cbk = 0x40004434; +r_lld_init_frm_cbk = 0x40004440; +r_lld_init_frm_eof_isr = 0x4000444c; +r_lld_init_frm_skip_isr = 0x40004458; +r_lld_init_init = 0x40004464; +r_lld_init_process_pkt_rx = 0x40004470; +r_lld_init_process_pkt_rx_adv_ext_ind = 0x4000447c; +r_lld_init_process_pkt_rx_adv_ind_or_direct_ind = 0x40004488; +r_lld_init_process_pkt_rx_aux_connect_rsp = 0x40004494; +r_lld_init_process_pkt_tx = 0x400044a0; +r_lld_init_process_pkt_tx_cal_con_timestamp = 0x400044ac; +r_lld_init_sched = 0x400044b8; +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_per_adv_ch_map_update = 0x40004500; +r_lld_per_adv_chain_construct = 0x4000450c; +r_lld_per_adv_cleanup = 0x40004518; +r_lld_per_adv_coex_env_reset = 0x40004524; +r_lld_per_adv_data_set = 0x40004530; +r_lld_per_adv_data_update = 0x4000453c; +r_lld_per_adv_dynamic_pti_process = 0x40004548; +r_lld_per_adv_evt_canceled_cbk = 0x40004554; +r_lld_per_adv_evt_start_cbk = 0x40004560; +r_lld_per_adv_ext_pkt_prepare = 0x4000456c; +r_lld_per_adv_frm_cbk = 0x40004578; +r_lld_per_adv_frm_isr = 0x40004584; +r_lld_per_adv_frm_skip_isr = 0x40004590; +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_set_tx_power = 0x400045d8; +r_lld_per_adv_start = 0x400045e4; +r_lld_per_adv_stop = 0x400045f0; +r_lld_per_adv_sync_info_get = 0x400045fc; +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_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_reset_reg = 0x4000468c; +r_lld_rpa_renew = 0x40004698; +r_lld_rpa_renew_evt_canceled_cbk = 0x400046a4; +r_lld_rpa_renew_evt_start_cbk = 0x400046b0; +r_lld_rpa_renew_instant_cbk = 0x400046bc; +r_lld_rxdesc_check = 0x400046c8; +r_lld_rxdesc_free = 0x400046d4; +r_lld_scan_create_sync = 0x400046e0; +r_lld_scan_create_sync_cancel = 0x400046ec; +r_lld_scan_end = 0x400046f8; +r_lld_scan_evt_canceled_cbk = 0x40004704; +r_lld_scan_evt_start_cbk = 0x40004710; +r_lld_scan_frm_cbk = 0x4000471c; +r_lld_scan_frm_eof_isr = 0x40004728; +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_aux_adv_ind = 0x4000477c; +r_lld_scan_process_pkt_rx_aux_chain_ind = 0x40004788; +r_lld_scan_process_pkt_rx_aux_scan_rsp = 0x40004794; +r_lld_scan_process_pkt_rx_ext_adv = 0x400047a0; +r_lld_scan_process_pkt_rx_ext_adv_ind = 0x400047ac; +r_lld_scan_process_pkt_rx_legacy_adv = 0x400047b8; +r_lld_scan_restart = 0x400047c4; +r_lld_scan_sched = 0x400047d0; +r_lld_scan_set_tx_power = 0x400047dc; +r_lld_scan_start = 0x400047e8; +r_lld_scan_stop = 0x400047f4; +r_lld_scan_sync_accept = 0x40004800; +r_lld_scan_sync_info_unpack = 0x4000480c; +r_lld_scan_trunc_ind = 0x40004818; +r_lld_sw_cca_evt_handler = 0x40004824; +r_lld_sw_cca_isr = 0x40004830; +r_lld_sync_ch_map_update = 0x4000483c; +r_lld_sync_cleanup = 0x40004848; +r_lld_sync_evt_canceled_cbk = 0x40004854; +r_lld_sync_evt_start_cbk = 0x40004860; +r_lld_sync_frm_cbk = 0x4000486c; +r_lld_sync_frm_eof_isr = 0x40004878; +r_lld_sync_frm_rx_isr = 0x40004884; +r_lld_sync_frm_skip_isr = 0x40004890; +r_lld_sync_init = 0x4000489c; +r_lld_sync_process_pkt_rx = 0x400048a8; +r_lld_sync_process_pkt_rx_aux_sync_ind = 0x400048b4; +r_lld_sync_process_pkt_rx_pkt_check = 0x400048c0; +r_lld_sync_scan_dynamic_pti_process = 0x400048cc; +r_lld_sync_sched = 0x400048d8; +r_lld_sync_start = 0x400048e4; +r_lld_sync_stop = 0x400048f0; +r_lld_sync_trunc_ind = 0x400048fc; +r_lld_test_cleanup = 0x40004908; +r_lld_test_evt_canceled_cbk = 0x40004914; +r_lld_test_evt_start_cbk = 0x40004920; +r_lld_test_freq2chnl = 0x4000492c; +r_lld_test_frm_cbk = 0x40004938; +r_lld_test_frm_isr = 0x40004944; +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_update_rxbuf = 0x4000498c; +r_lld_update_rxbuf_isr = 0x40004998; +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; +r_llm_adv_con_len_check = 0x400049e0; +r_llm_adv_hdl_to_id = 0x400049ec; +r_llm_adv_rep_flow_control_check = 0x400049f8; +r_llm_adv_rep_flow_control_update = 0x40004a04; +r_llm_adv_reports_list_check = 0x40004a10; +r_llm_adv_set_all_release = 0x40004a1c; +r_llm_adv_set_dft_params = 0x40004a28; +r_llm_adv_set_release = 0x40004a34; +r_llm_aes_res_cb = 0x40004a40; +r_llm_ble_update_adv_flow_control = 0x40004a4c; +r_llm_ch_map_update = 0x40004a58; +r_llm_cmd_cmp_send = 0x40004a64; +r_llm_cmd_stat_send = 0x40004a70; +r_llm_dev_list_empty_entry = 0x40004a7c; +r_llm_dev_list_search = 0x40004a88; +r_llm_env_adv_dup_filt_deinit = 0x40004a94; +r_llm_env_adv_dup_filt_init = 0x40004aa0; +r_llm_init_ble_adv_report_flow_contol = 0x40004aac; +r_llm_is_dev_connected = 0x40004ab8; +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_link_disc = 0x40004b00; +r_llm_master_ch_map_get = 0x40004b0c; +r_llm_msg_handler_tab_p_get = 0x40004b18; +r_llm_no_activity = 0x40004b24; +r_llm_per_adv_slot_dur = 0x40004b30; +r_llm_plan_elt_get = 0x40004b3c; +r_llm_rx_path_comp_get = 0x40004b48; +r_llm_scan_start = 0x40004b54; +r_llm_scan_sync_acad_attach = 0x40004b60; +r_llm_scan_sync_acad_detach = 0x40004b6c; +r_llm_send_adv_lost_event_to_host = 0x40004b78; +r_llm_tx_path_comp_get = 0x40004b84; +r_misc_deinit = 0x40004b90; +r_misc_free_em_buf_in_isr = 0x40004b9c; +r_misc_init = 0x40004ba8; +r_misc_msg_handler_tab_p_get = 0x40004bb4; +r_notEqual256 = 0x40004bc0; +r_phy_upd_proc_start = 0x40004bcc; +r_platform_reset = 0x40004bd8; +r_rf_em_init = 0x40004bf0; +r_rf_force_agc_enable = 0x40004bfc; +r_rf_reg_rd = 0x40004c08; +r_rf_reg_wr = 0x40004c14; +r_rf_reset = 0x40004c20; +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_util_cs_fmt_convert = 0x40004c74; +r_rw_crypto_aes_ccm = 0x40004c80; +r_rw_crypto_aes_encrypt = 0x40004c8c; +r_rw_crypto_aes_init = 0x40004c98; +r_rw_crypto_aes_k1 = 0x40004ca4; +r_rw_crypto_aes_k2 = 0x40004cb0; +r_rw_crypto_aes_k3 = 0x40004cbc; +r_rw_crypto_aes_k4 = 0x40004cc8; +r_rw_crypto_aes_rand = 0x40004cd4; +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_sleep_enter = 0x40004d1c; +r_rwble_sleep_wakeup_end = 0x40004d28; +/* r_rwbtdm_isr_wrapper = 0x40004d34; */ +r_rwip_active_check = 0x40004d40; +r_rwip_aes_encrypt = 0x40004d4c; +/* r_rwip_assert = 0x40004d58; */ +r_rwip_crypt_evt_handler = 0x40004d64; +r_rwip_crypt_isr_handler = 0x40004d70; +r_rwip_eif_get = 0x40004d7c; +r_rwip_half_slot_2_lpcycles = 0x40004d88; +r_rwip_hus_2_lpcycles = 0x40004d94; +r_rwip_isr = 0x40004da0; +r_rwip_lpcycles_2_hus = 0x40004dac; +r_rwip_prevent_sleep_clear = 0x40004db8; +r_rwip_prevent_sleep_set = 0x40004dc4; +r_rwip_schedule = 0x40004dd0; +r_rwip_sleep = 0x40004ddc; +r_rwip_sw_int_handler = 0x40004de8; +r_rwip_sw_int_req = 0x40004df4; +r_rwip_time_get = 0x40004e00; +r_rwip_timer_10ms_handler = 0x40004e0c; +r_rwip_timer_10ms_set = 0x40004e18; +r_rwip_timer_hs_handler = 0x40004e24; +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_wlcoex_set = 0x40004e6c; +r_sch_alarm_clear = 0x40004e78; +r_sch_alarm_init = 0x40004e84; +r_sch_alarm_prog = 0x40004e90; +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_init = 0x40004ed8; +r_sch_arb_insert = 0x40004ee4; +r_sch_arb_prog_timer = 0x40004ef0; +r_sch_arb_remove = 0x40004efc; +r_sch_arb_sw_isr = 0x40004f08; +r_sch_plan_chk = 0x40004f14; +r_sch_plan_clock_wrap_offset_update = 0x40004f20; +r_sch_plan_init = 0x40004f2c; +r_sch_plan_interval_req = 0x40004f38; +r_sch_plan_offset_max_calc = 0x40004f44; +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_prog_init = 0x40004f98; +r_sch_prog_push = 0x40004fa4; +r_sch_prog_rx_isr = 0x40004fb0; +r_sch_prog_skip_isr = 0x40004fbc; +r_sch_prog_tx_isr = 0x40004fc8; +r_sch_slice_bg_add = 0x40004fd4; +r_sch_slice_bg_remove = 0x40004fe0; +r_sch_slice_compute = 0x40004fec; +r_sch_slice_fg_add = 0x40004ff8; +r_sch_slice_fg_remove = 0x40005004; +r_sch_slice_init = 0x40005010; +r_sch_slice_per_add = 0x4000501c; +r_sch_slice_per_remove = 0x40005028; +r_sdk_config_get_bt_sleep_enable = 0x40005034; +r_sdk_config_get_hl_derived_opts = 0x40005040; +r_sdk_config_get_opts = 0x4000504c; +r_sdk_config_get_priv_opts = 0x40005058; +r_sdk_config_set_bt_sleep_enable = 0x40005064; +r_sdk_config_set_hl_derived_opts = 0x40005070; +r_sdk_config_set_opts = 0x4000507c; +r_specialModP256 = 0x40005088; +r_unloaded_area_init = 0x40005094; +r_vhci_flow_off = 0x400050a0; +r_vhci_flow_on = 0x400050ac; +r_vhci_notify_host_send_available = 0x400050b8; +r_vhci_send_to_host = 0x400050c4; +r_vnd_hci_command_handler = 0x400050d0; +r_vshci_init = 0x400050dc; +vnd_hci_command_handler_wrapper = 0x400050e8; +r_lld_legacy_adv_dynamic_pti_get = 0x400050f4; +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_connectable_construct = 0x40005148; +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_schedule_asap = 0x40005190; +r_lld_con_tx_prog_new_packet_coex = 0x4000519c; +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_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; +r_lld_adv_direct_adv_use_rpa_addr_state_set = 0x40005220; +r_lld_adv_direct_adv_use_rpa_addr_state_get = 0x4000522c; +r_lld_init_evt_end_type_check_state_set = 0x40005238; +r_lld_init_evt_end_type_check_state_get = 0x40005244; +/* Data (.data, .bss, .rodata) */ +bt_rf_coex_cfg_p = 0x3fceffa8; +bt_rf_coex_hooks_p = 0x3fceffa4; +btdm_env_p = 0x3fceffa0; +g_rw_controller_task_handle = 0x3fceff9c; +g_rw_init_sem = 0x3fceff98; +g_rw_schd_queue = 0x3fceff94; +lld_init_env = 0x3fceff90; +lld_rpa_renew_env = 0x3fceff8c; +lld_scan_env = 0x3fceff88; +lld_scan_sync_env = 0x3fceff84; +lld_test_env = 0x3fceff80; +p_ble_util_buf_env = 0x3fceff7c; +p_lld_env = 0x3fceff78; +p_llm_env = 0x3fceff74; +r_h4tl_eif_p = 0x3fceff70; +r_hli_funcs_p = 0x3fceff6c; +r_ip_funcs_p = 0x3fceff68; +r_modules_funcs_p = 0x3fceff64; +r_osi_funcs_p = 0x3fceff60; +r_plf_funcs_p = 0x3fceff5c; +vhci_env_p = 0x3fceff58; +aa_gen = 0x3fceff54; +aes_env = 0x3fceff48; +bt_rf_coex_cfg_cb = 0x3fcefef8; +btdm_pwr_state = 0x3fcefef4; +btdm_slp_err = 0x3fcefef0; +ecc_env = 0x3fcefee8; +esp_handler = 0x3fcefee0; +esp_vendor_cmd = 0x3fcefed8; +g_adv_delay_dis = 0x3fcefed4; +g_conflict_elt = 0x3fcefed0; +g_eif_api = 0x3fcefec0; +g_event_empty = 0x3fcefeb4; +g_llc_state = 0x3fcefeaa; +g_llm_state = 0x3fcefea9; +g_max_evt_env = 0x3fcefea7; +g_misc_state = 0x3fcefea6; +g_rma_rule_db = 0x3fcefe8a; +g_rtp_rule_db = 0x3fcefe6e; +g_scan_forever = 0x3fcefe6d; +g_time_msb = 0x3fcefe6c; +h4tl_env = 0x3fcefe44; +hci_env = 0x3fcefe21; +hci_ext_host = 0x3fcefe20; +hci_fc_env = 0x3fcefe18; +hci_tl_env = 0x3fcefdec; +ke_env = 0x3fcefdbc; +ke_event_env = 0x3fcefd7c; +ke_task_env = 0x3fcefd00; +llc_env = 0x3fcefcd8; +lld_adv_env = 0x3fcefcb0; +lld_con_env = 0x3fcefc88; +lld_exp_sync_pos_tab = 0x3fcefc80; +lld_per_adv_env = 0x3fcefc58; +lld_sync_env = 0x3fcefc30; +llm_le_adv_flow_env = 0x3fcefc24; +rw_sleep_enable = 0x3fcefc20; +rwble_env = 0x3fcefc18; +rwip_env = 0x3fcefbfc; +rwip_param = 0x3fcefbf0; +rwip_prog_delay = 0x3fcefbec; +rwip_rf = 0x3fcefbb4; +sch_alarm_env = 0x3fcefbac; +sch_arb_env = 0x3fcefb98; +sch_plan_env = 0x3fcefb90; +sch_prog_env = 0x3fcefa8c; +sch_slice_env = 0x3fcefa2c; +sch_slice_params = 0x3fcefa24; +timer_env = 0x3fcefa1c; +unloaded_area = 0x3fcefa18; +vshci_state = 0x3fcefa14; +TASK_DESC_LLC = 0x3fcefa08; +TASK_DESC_LLM = 0x3fcef9fc; +TASK_DESC_VSHCI = 0x3fcef9f0; +co_default_bdaddr = 0x3fcef9e8; +dbg_assert_block = 0x3fcef9e4; +g_bt_plf_log_level = 0x3fcef9e0; +hci_cmd_desc_tab_vs_esp = 0x3fcef9bc; +hci_command_handler_tab_esp = 0x3fcef9a4; +privacy_en = 0x3fcef9a0; +sdk_cfg_priv_opts = 0x3fcef958; +BasePoint_x_256 = 0x3ff1ffdc; +BasePoint_y_256 = 0x3ff1ffbc; +DebugE256PublicKey_x = 0x3ff1ff9c; +DebugE256PublicKey_y = 0x3ff1ff7c; +DebugE256SecretKey = 0x3ff1ff5c; +ECC_4Win_Look_up_table = 0x3ff1f7a0; +LLM_AA_CT1 = 0x3ff1f79a; +LLM_AA_CT2 = 0x3ff1f798; +RF_TX_PW_CONV_TBL = 0x3ff1f790; +TASK_DESC_MISC = 0x3ff1f784; +adv_evt_prop2type = 0x3ff1f766; +adv_evt_type2prop = 0x3ff1f761; +aes_cmac_zero = 0x3ff1f751; +aes_k2_salt = 0x3ff1f741; +aes_k3_id64 = 0x3ff1f73c; +aes_k3_salt = 0x3ff1f72c; +aes_k4_id6 = 0x3ff1f728; +aes_k4_salt = 0x3ff1f718; +bigHexP256 = 0x3ff1f6ec; +byte_tx_time = 0x3ff1f6e2; +co_null_bdaddr = 0x3ff1f6dc; +co_phy_mask_to_rate = 0x3ff1f6d7; +co_phy_mask_to_value = 0x3ff1f6d2; +co_phy_to_rate = 0x3ff1f6ce; +co_phy_value_to_mask = 0x3ff1f6ca; +co_rate_to_byte_dur_us = 0x3ff1f6c5; +co_rate_to_phy = 0x3ff1f6c0; +co_rate_to_phy_mask = 0x3ff1f6bc; +co_sca2ppm = 0x3ff1f6ac; +coef_B = 0x3ff1f680; +connect_req_dur_tab = 0x3ff1f678; +ecc_Jacobian_InfinityPoint256 = 0x3ff1f5f4; +em_base_reg_lut = 0x3ff1f526; +fixed_tx_time = 0x3ff1f51e; +h4tl_msgtype2hdrlen = 0x3ff1f518; +hci_cmd_desc_root_tab = 0x3ff1f4e8; +hci_cmd_desc_tab_ctrl_bb = 0x3ff1f47c; +hci_cmd_desc_tab_info_par = 0x3ff1f44c; +hci_cmd_desc_tab_le = 0x3ff1f0b0; +hci_cmd_desc_tab_lk_ctrl = 0x3ff1f098; +hci_cmd_desc_tab_stat_par = 0x3ff1f08c; +hci_cmd_desc_tab_vs = 0x3ff1f050; +hci_evt_desc_tab = 0x3ff1f008; +hci_evt_le_desc_tab = 0x3ff1ef68; +hci_evt_le_desc_tab_esp = 0x3ff1ef60; +hci_rsvd_evt_msk = 0x3ff1ef57; +lld_aux_phy_to_rate = 0x3ff1ef54; +lld_init_max_aux_dur_tab = 0x3ff1ef4c; +lld_scan_map_legacy_pdu_to_evt_type = 0x3ff1ef44; +lld_scan_max_aux_dur_tab = 0x3ff1ef3c; +lld_sync_max_aux_dur_tab = 0x3ff1ef34; +llm_local_le_feats = 0x3ff1ef2c; +llm_local_le_states = 0x3ff1ef24; +llm_local_supp_cmds = 0x3ff1eefc; +maxSecretKey_256 = 0x3ff1eedc; +max_data_tx_time = 0x3ff1eed4; +one_bits = 0x3ff1eec3; +rwip_coex_cfg = 0x3ff1eebe; +rwip_priority = 0x3ff1eea8; +veryBigHexP256 = 0x3ff1ee5c; + +/* bluetooth hook funcs */ +r_llc_loc_encrypt_proc_continue_hook = 0x40001c60; +r_llc_loc_phy_upd_proc_continue_hook = 0x40001c64; +r_llc_rem_phy_upd_proc_continue_hook = 0x40001c68; +r_lld_scan_frm_eof_isr_hook = 0x40001c6c; +r_lld_scan_evt_start_cbk_hook = 0x40001c70; +r_lld_scan_process_pkt_rx_ext_adv_hook = 0x40001c78; +r_lld_scan_sched_hook = 0x40001c7c; +r_lld_adv_evt_start_cbk_hook = 0x40001c84; +r_lld_adv_aux_evt_start_cbk_hook = 0x40001c88; +r_lld_adv_frm_isr_hook = 0x40001c8c; +r_lld_adv_start_init_evt_param_hook = 0x40001c90; +r_lld_con_evt_canceled_cbk_hook = 0x40001c94; +r_lld_con_frm_isr_hook = 0x40001c98; +r_lld_con_tx_hook = 0x40001c9c; +r_lld_con_rx_hook = 0x40001ca0; +r_lld_con_evt_start_cbk_hook = 0x40001ca4; +r_lld_con_tx_prog_new_packet_hook = 0x40001cac; +r_lld_init_frm_eof_isr_hook = 0x40001cb0; +r_lld_init_evt_start_cbk_hook = 0x40001cb4; +r_lld_init_sched_hook = 0x40001cbc; +r_lld_init_process_pkt_tx_hook = 0x40001cc0; +r_lld_per_adv_evt_start_cbk_hook = 0x40001cc4; +r_lld_per_adv_frm_isr_hook = 0x40001cc8; +r_lld_per_adv_start_hook = 0x40001ccc; +r_lld_sync_frm_eof_isr_hook = 0x40001cd0; +r_lld_sync_evt_start_cbk_hook = 0x40001cd4; +r_lld_sync_start_hook = 0x40001cd8; +r_lld_sync_process_pkt_rx_pkt_check_hook = 0x40001cdc; +r_sch_arb_insert_hook = 0x40001ce0; +r_sch_plan_offset_req_hook = 0x40001ce4; + +/*************************************** + Group rom_pp + ***************************************/ + +/* Functions */ +esp_pp_rom_version_get = 0x40005250; +RC_GetBlockAckTime = 0x4000525c; +ebuf_list_remove = 0x40005268; +/*esf_buf_alloc = 0x40005274;*/ +/*esf_buf_alloc_dynamic = 0x40005280;*/ +/*esf_buf_recycle = 0x4000528c;*/ +GetAccess = 0x40005298; +hal_mac_is_low_rate_enabled = 0x400052a4; +hal_mac_tx_get_blockack = 0x400052b0; +/* hal_mac_tx_set_ppdu = 0x400052bc;*/ +ic_get_trc = 0x400052c8; +/* ic_mac_deinit = 0x400052d4; */ +ic_mac_init = 0x400052e0; +ic_interface_enabled = 0x400052ec; +is_lmac_idle = 0x400052f8; +/*lmacAdjustTimestamp = 0x40005304;*/ +lmacDiscardAgedMSDU = 0x40005310; +/*lmacDiscardMSDU = 0x4000531c;*/ +/*lmacEndFrameExchangeSequence = 0x40005328;*/ +lmacIsIdle = 0x40005334; +lmacIsLongFrame = 0x40005340; +/*lmacMSDUAged = 0x4000534c;*/ +lmacPostTxComplete = 0x40005358; +lmacProcessAllTxTimeout = 0x40005364; +lmacProcessCollisions = 0x40005370; +lmacProcessRxSucData = 0x4000537c; +lmacReachLongLimit = 0x40005388; +lmacReachShortLimit = 0x40005394; +lmacRecycleMPDU = 0x400053a0; +lmacRxDone = 0x400053ac; +/*lmacSetTxFrame = 0x400053b8;*/ +lmacTxDone = 0x400053c4; +/*lmacTxFrame = 0x400053d0;*/ +mac_tx_set_duration = 0x400053dc; +/* mac_tx_set_htsig = 0x400053e8;*/ +mac_tx_set_plcp0 = 0x400053f4; +/* mac_tx_set_plcp1 = 0x40005400;*/ +mac_tx_set_plcp2 = 0x4000540c; +/* pm_check_state = 0x40005418; */ +pm_disable_dream_timer = 0x40005424; +pm_disable_sleep_delay_timer = 0x40005430; +/*pm_dream = 0x4000543c;*/ +pm_mac_wakeup = 0x40005448; +pm_mac_sleep = 0x40005454; +pm_enable_active_timer = 0x40005460; +pm_enable_sleep_delay_timer = 0x4000546c; +pm_local_tsf_process = 0x40005478; +pm_set_beacon_filter = 0x40005484; +pm_is_in_wifi_slice_threshold = 0x40005490; +pm_is_waked = 0x4000549c; +pm_keep_alive = 0x400054a8; +/* pm_on_beacon_rx = 0x400054b4; */ +pm_on_data_rx = 0x400054c0; +pm_on_tbtt = 0x400054cc; +/* pm_parse_beacon = 0x400054d8;*/ +/* pm_process_tim = 0x400054e4; */ +/*pm_rx_beacon_process = 0x400054f0;*/ +/* pm_rx_data_process = 0x400054fc; */ +/*pm_sleep = 0x40005508;*/ +pm_sleep_for = 0x40005514; +/* pm_tbtt_process = 0x40005520; */ +ppAMPDU2Normal = 0x4000552c; +/*ppAssembleAMPDU = 0x40005538;*/ +ppCalFrameTimes = 0x40005544; +ppCalSubFrameLength = 0x40005550; +/*ppCalTxAMPDULength = 0x4000555c;*/ +ppCheckTxAMPDUlength = 0x40005568; +ppDequeueRxq_Locked = 0x40005574; +ppDequeueTxQ = 0x40005580; +ppEmptyDelimiterLength = 0x4000558c; +ppEnqueueRxq = 0x40005598; +ppEnqueueTxDone = 0x400055a4; +ppGetTxQFirstAvail_Locked = 0x400055b0; +ppGetTxframe = 0x400055bc; +/*ppMapTxQueue = 0x400055c8;*/ +ppProcessRxPktHdr = 0x400055e0; +ppProcessTxQ = 0x400055ec; +ppRecordBarRRC = 0x400055f8; +lmacRequestTxopQueue = 0x40005604; +lmacReleaseTxopQueue = 0x40005610; +ppRecycleAmpdu = 0x4000561c; +ppRecycleRxPkt = 0x40005628; +ppResortTxAMPDU = 0x40005634; +ppResumeTxAMPDU = 0x40005640; +/* ppRxFragmentProc = 0x4000564c; */ +/* ppRxPkt = 0x40005658; */ +ppRxProtoProc = 0x40005664; +ppSearchTxQueue = 0x40005670; +ppSearchTxframe = 0x4000567c; +ppSelectNextQueue = 0x40005688; +ppSubFromAMPDU = 0x40005694; +/* ppTask = 0x400056a0; */ +ppTxPkt = 0x400056ac; +ppTxProtoProc = 0x400056b8; +ppTxqUpdateBitmap = 0x400056c4; +/*pp_coex_tx_request = 0x400056d0;*/ +pp_hdrsize = 0x400056dc; +pp_post = 0x400056e8; +pp_process_hmac_waiting_txq = 0x400056f4; +rcGetAmpduSched = 0x40005700; +rcUpdateRxDone = 0x4000570c; +rc_get_trc = 0x40005718; +rc_get_trc_by_index = 0x40005724; +rcAmpduLowerRate = 0x40005730; +rcampduuprate = 0x4000573c; +rcClearCurAMPDUSched = 0x40005748; +rcClearCurSched = 0x40005754; +rcClearCurStat = 0x40005760; +/*rcGetSched = 0x4000576c;*/ +rcLowerSched = 0x40005778; +rcSetTxAmpduLimit = 0x40005784; +/* rcTxUpdatePer = 0x40005790;*/ +rcUpdateAckSnr = 0x4000579c; +/*rcUpdateRate = 0x400057a8;*/ +/* rcUpdateTxDone = 0x400057b4; */ +rcUpdateTxDoneAmpdu2 = 0x400057c0; +rcUpSched = 0x400057cc; +rssi_margin = 0x400057d8; +rx11NRate2AMPDULimit = 0x400057e4; +TRC_AMPDU_PER_DOWN_THRESHOLD = 0x400057f0; +TRC_AMPDU_PER_UP_THRESHOLD = 0x400057fc; +trc_calc_duration = 0x40005808; +trc_isTxAmpduOperational = 0x40005814; +trc_onAmpduOp = 0x40005820; +TRC_PER_IS_GOOD = 0x4000582c; +trc_SetTxAmpduState = 0x40005838; +trc_tid_isTxAmpduOperational = 0x40005844; +trcAmpduSetState = 0x40005850; +wDevCheckBlockError = 0x4000585c; +/*wDev_AppendRxBlocks = 0x40005868;*/ +wDev_DiscardFrame = 0x40005874; +wDev_GetNoiseFloor = 0x40005880; +wDev_IndicateAmpdu = 0x4000588c; +/*wDev_IndicateFrame = 0x40005898;*/ +wdev_bank_store = 0x400058a4; +wdev_bank_load = 0x400058b0; +wdev_mac_reg_load = 0x400058bc; +wdev_mac_reg_store = 0x400058c8; +wdev_mac_special_reg_load = 0x400058d4; +wdev_mac_special_reg_store = 0x400058e0; +wdev_mac_wakeup = 0x400058ec; +wdev_mac_sleep = 0x400058f8; +hal_mac_is_dma_enable = 0x40005904; +/* wDev_ProcessFiq = 0x40005910; */ +/*wDev_ProcessRxSucData = 0x4000591c;*/ +wdevProcessRxSucDataAll = 0x40005928; +wdev_csi_len_align = 0x40005934; +ppDequeueTxDone_Locked = 0x40005940; +/*ppProcTxDone = 0x4000594c;*/ +/*pm_tx_data_done_process = 0x40005958;*/ +config_is_cache_tx_buf_enabled = 0x40005964; +//ppMapWaitTxq = 0x40005970; +ppProcessWaitingQueue = 0x4000597c; +ppDisableQueue = 0x40005988; +pm_allow_tx = 0x40005994; +wdev_is_data_in_rxlist = 0x400059a0; +ppProcTxCallback = 0x400059ac; +/* Data (.data, .bss, .rodata) */ +our_instances_ptr = 0x3ff1ee58; +pTxRx = 0x3fcef954; +lmacConfMib_ptr = 0x3fcef950; +our_wait_eb = 0x3fcef94c; +our_tx_eb = 0x3fcef948; +pp_wdev_funcs = 0x3fcef944; +g_osi_funcs_p = 0x3fcef940; +wDevCtrl_ptr = 0x3fcef93c; +g_wdev_last_desc_reset_ptr = 0x3ff1ee54; +wDevMacSleep_ptr = 0x3fcef938; +g_lmac_cnt_ptr = 0x3fcef934; +our_controls_ptr = 0x3ff1ee50; +pp_sig_cnt_ptr = 0x3fcef930; +g_eb_list_desc_ptr = 0x3fcef92c; +s_fragment_ptr = 0x3fcef928; +if_ctrl_ptr = 0x3fcef924; +g_intr_lock_mux = 0x3fcef920; +g_wifi_global_lock = 0x3fcef91c; +s_wifi_queue = 0x3fcef918; +pp_task_hdl = 0x3fcef914; +s_pp_task_create_sem = 0x3fcef910; +s_pp_task_del_sem = 0x3fcef90c; +g_wifi_menuconfig_ptr = 0x3fcef908; +xphyQueue = 0x3fcef904; +ap_no_lr_ptr = 0x3fcef900; +rc11BSchedTbl_ptr = 0x3fcef8fc; +rc11NSchedTbl_ptr = 0x3fcef8f8; +rcLoRaSchedTbl_ptr = 0x3fcef8f4; +BasicOFDMSched_ptr = 0x3fcef8f0; +trc_ctl_ptr = 0x3fcef8ec; +g_pm_cnt_ptr = 0x3fcef8e8; +g_pm_ptr = 0x3fcef8e4; +g_pm_cfg_ptr = 0x3fcef8e0; +g_esp_mesh_quick_funcs_ptr = 0x3fcef8dc; +g_txop_queue_status_ptr = 0x3fcef8d8; +g_mac_sleep_en_ptr = 0x3fcef8d4; +g_mesh_is_root_ptr = 0x3fcef8d0; +g_mesh_topology_ptr = 0x3fcef8cc; +g_mesh_init_ps_type_ptr = 0x3fcef8c8; +g_mesh_is_started_ptr = 0x3fcef8c4; +g_config_func = 0x3fcef8c0; +g_net80211_tx_func = 0x3fcef8bc; +g_timer_func = 0x3fcef8b8; +s_michael_mic_failure_cb = 0x3fcef8b4; +wifi_sta_rx_probe_req = 0x3fcef8b0; +g_tx_done_cb_func = 0x3fcef8ac; +g_per_conn_trc = 0x3fcef860; +s_encap_amsdu_func = 0x3fcef85c; + + +/*************************************** + Group rom_net80211 + ***************************************/ + +/* Functions */ +esp_net80211_rom_version_get = 0x400059b8; +ampdu_dispatch = 0x400059c4; +ampdu_dispatch_all = 0x400059d0; +ampdu_dispatch_as_many_as_possible = 0x400059dc; +ampdu_dispatch_movement = 0x400059e8; +ampdu_dispatch_upto = 0x400059f4; +chm_is_at_home_channel = 0x40005a00; +cnx_node_is_existing = 0x40005a0c; +cnx_node_search = 0x40005a18; +ic_ebuf_recycle_rx = 0x40005a24; +ic_ebuf_recycle_tx = 0x40005a30; +ic_reset_rx_ba = 0x40005a3c; +ieee80211_align_eb = 0x40005a48; +/* ieee80211_ampdu_reorder = 0x40005a54; */ +ieee80211_ampdu_start_age_timer = 0x40005a60; +/* ieee80211_encap_esfbuf = 0x40005a6c; */ +ieee80211_is_tx_allowed = 0x40005a78; +ieee80211_output_pending_eb = 0x40005a84; +/*ieee80211_output_process = 0x40005a90;*/ +ieee80211_set_tx_desc = 0x40005a9c; +/*sta_input = 0x40005aa8;*/ +wifi_get_macaddr = 0x40005ab4; +wifi_rf_phy_disable = 0x40005ac0; +wifi_rf_phy_enable = 0x40005acc; +ic_ebuf_alloc = 0x40005ad8; +/*ieee80211_classify = 0x40005ae4;*/ +ieee80211_copy_eb_header = 0x40005af0; +ieee80211_recycle_cache_eb = 0x40005afc; +ieee80211_search_node = 0x40005b08; +roundup2 = 0x40005b14; +ieee80211_crypto_encap = 0x40005b20; +/* ieee80211_crypto_decap = 0x40005b2c; */ +/* ieee80211_decap = 0x40005b38; */ +ieee80211_set_tx_pti = 0x40005b44; +wifi_is_started = 0x40005b50; +ieee80211_gettid = 0x40005b5c; +/* Data (.data, .bss, .rodata) */ +net80211_funcs = 0x3fcef858; +g_scan = 0x3fcef854; +g_chm = 0x3fcef850; +g_ic_ptr = 0x3fcef84c; +g_hmac_cnt_ptr = 0x3fcef848; +g_tx_cacheq_ptr = 0x3fcef844; +s_netstack_free = 0x3fcef840; +mesh_rxcb = 0x3fcef83c; +sta_rxcb = 0x3fcef838; + + +/*************************************** + Group rom_coexist + ***************************************/ + +/* Functions */ +esp_coex_rom_version_get = 0x40005b68; +coex_bt_release = 0x40005b74; +coex_bt_request = 0x40005b80; +coex_core_ble_conn_dyn_prio_get = 0x40005b8c; +/*coex_core_event_duration_get = 0x40005b98;*/ +coex_core_pti_get = 0x40005ba4; +coex_core_release = 0x40005bb0; +coex_core_request = 0x40005bbc; +coex_core_status_get = 0x40005bc8; +/*coex_core_timer_idx_get = 0x40005bd4;*/ +coex_event_duration_get = 0x40005be0; +coex_hw_timer_disable = 0x40005bec; +coex_hw_timer_enable = 0x40005bf8; +coex_hw_timer_set = 0x40005c04; +coex_schm_interval_set = 0x40005c10; +coex_schm_lock = 0x40005c1c; +coex_schm_unlock = 0x40005c28; +coex_status_get = 0x40005c34; +coex_wifi_release = 0x40005c40; +esp_coex_ble_conn_dynamic_prio_get = 0x40005c4c; +/* Data (.data, .bss, .rodata) */ +coex_env_ptr = 0x3fcef834; +coex_pti_tab_ptr = 0x3fcef830; +coex_schm_env_ptr = 0x3fcef82c; +coexist_funcs = 0x3fcef828; +g_coa_funcs_p = 0x3fcef824; +g_coex_param_ptr = 0x3fcef820; + + +/*************************************** + Group rom_phy + ***************************************/ + +/* Functions */ +phy_get_romfuncs = 0x40005c58; +rom_abs_temp = 0x40005c64; +rom_bb_bss_cbw40_dig = 0x40005c70; +rom_bb_wdg_test_en = 0x40005c7c; +rom_bb_wdt_get_status = 0x40005c88; +rom_bb_wdt_int_enable = 0x40005c94; +rom_bb_wdt_rst_enable = 0x40005ca0; +rom_bb_wdt_timeout_clear = 0x40005cac; +rom_cbw2040_cfg = 0x40005cb8; +rom_check_noise_floor = 0x40005cc4; +rom_chip_i2c_readReg = 0x40005cd0; +rom_chip_i2c_writeReg = 0x40005cdc; +rom_dc_iq_est = 0x40005ce8; +rom_disable_agc = 0x40005cf4; +rom_en_pwdet = 0x40005d00; +rom_enable_agc = 0x40005d0c; +rom_get_bbgain_db = 0x40005d18; +rom_get_data_sat = 0x40005d24; +rom_get_i2c_read_mask = 0x40005d30; +rom_get_pwctrl_correct = 0x40005d3c; +rom_i2c_readReg = 0x40005d48; +rom_i2c_readReg_Mask = 0x40005d54; +rom_i2c_writeReg = 0x40005d60; +rom_i2c_writeReg_Mask = 0x40005d6c; +rom_index_to_txbbgain = 0x40005d78; +rom_iq_est_disable = 0x40005d84; +rom_iq_est_enable = 0x40005d90; +rom_linear_to_db = 0x40005d9c; +rom_loopback_mode_en = 0x40005da8; +rom_mhz2ieee = 0x40005db4; +rom_noise_floor_auto_set = 0x40005dc0; +rom_pbus_debugmode = 0x40005dcc; +rom_pbus_force_mode = 0x40005dd8; +rom_pbus_force_test = 0x40005de4; +rom_pbus_rd = 0x40005df0; +rom_pbus_rd_addr = 0x40005dfc; +rom_pbus_rd_shift = 0x40005e08; +rom_pbus_set_dco = 0x40005e14; +rom_pbus_set_rxgain = 0x40005e20; +rom_pbus_workmode = 0x40005e2c; +rom_pbus_xpd_rx_off = 0x40005e38; +rom_pbus_xpd_rx_on = 0x40005e44; +rom_pbus_xpd_tx_off = 0x40005e50; +rom_pbus_xpd_tx_on = 0x40005e5c; +rom_phy_byte_to_word = 0x40005e68; +rom_phy_disable_cca = 0x40005e74; +rom_phy_enable_cca = 0x40005e80; +rom_phy_get_noisefloor = 0x40005e8c; +rom_phy_get_rx_freq = 0x40005e98; +rom_phy_set_bbfreq_init = 0x40005ea4; +rom_pow_usr = 0x40005eb0; +rom_pwdet_sar2_init = 0x40005ebc; +rom_read_hw_noisefloor = 0x40005ec8; +rom_read_sar_dout = 0x40005ed4; +rom_set_cal_rxdc = 0x40005ee0; +rom_set_chan_cal_interp = 0x40005eec; +rom_set_loopback_gain = 0x40005ef8; +rom_set_noise_floor = 0x40005f04; +rom_set_rxclk_en = 0x40005f10; +rom_set_tx_dig_gain = 0x40005f1c; +rom_set_txcap_reg = 0x40005f28; +rom_set_txclk_en = 0x40005f34; +rom_spur_cal = 0x40005f40; +rom_spur_reg_write_one_tone = 0x40005f4c; +rom_target_power_add_backoff = 0x40005f58; +rom_tx_pwctrl_bg_init = 0x40005f64; +rom_txbbgain_to_index = 0x40005f70; +rom_wifi_11g_rate_chg = 0x40005f7c; +rom_write_gain_mem = 0x40005f88; +chip728_phyrom_version = 0x40005f94; +rom_disable_wifi_agc = 0x40005fa0; +rom_enable_wifi_agc = 0x40005fac; +rom_bt_index_to_bb = 0x40005fb8; +rom_bt_bb_to_index = 0x40005fc4; +rom_spur_coef_cfg = 0x40005fd0; +rom_bb_bss_cbw40 = 0x40005fdc; +rom_set_cca = 0x40005fe8; +rom_tx_paon_set = 0x40005ff4; +rom_i2cmst_reg_init = 0x40006000; +rom_iq_corr_enable = 0x4000600c; +rom_fe_reg_init = 0x40006018; +rom_agc_reg_init = 0x40006024; +rom_bb_reg_init = 0x40006030; +rom_mac_enable_bb = 0x4000603c; +rom_bb_wdg_cfg = 0x40006048; +rom_force_txon = 0x40006054; +rom_fe_txrx_reset = 0x40006060; +rom_set_rx_comp = 0x4000606c; +rom_set_pbus_reg = 0x40006078; +rom_write_chan_freq = 0x40006084; +rom_phy_xpd_rf = 0x40006090; +rom_set_xpd_sar = 0x4000609c; +rom_get_target_power_offset = 0x400060a8; +rom_write_txrate_power_offset = 0x400060b4; +rom_get_rate_fcc_index = 0x400060c0; +rom_get_rate_target_power = 0x400060cc; +rom_pkdet_vol_start = 0x400060d8; +rom_read_sar2_code = 0x400060e4; +rom_get_sar2_vol = 0x400060f0; +rom_get_pll_vol = 0x400060fc; +rom_get_phy_target_power = 0x40006108; +rom_temp_to_power = 0x40006114; +rom_phy_track_pll_cap = 0x40006120; +rom_phy_pwdet_always_en = 0x4000612c; +rom_phy_pwdet_onetime_en = 0x40006138; +rom_get_i2c_mst0_mask = 0x40006144; +rom_get_i2c_hostid = 0x40006150; +rom_enter_critical_phy = 0x4000615c; +rom_exit_critical_phy = 0x40006168; +rom_chip_i2c_readReg_org = 0x40006174; +rom_i2c_paral_set_mst0 = 0x40006180; +rom_i2c_paral_set_read = 0x4000618c; +rom_i2c_paral_read = 0x40006198; +rom_i2c_paral_write = 0x400061a4; +rom_i2c_paral_write_num = 0x400061b0; +rom_i2c_paral_write_mask = 0x400061bc; +rom_bb_bss_cbw40_ana = 0x400061c8; +rom_chan_to_freq = 0x400061d4; +rom_open_i2c_xpd = 0x400061e0; +rom_dac_rate_set = 0x400061ec; +rom_tsens_read_init = 0x400061f8; +rom_tsens_code_read = 0x40006204; +rom_tsens_index_to_dac = 0x40006210; +rom_tsens_index_to_offset = 0x4000621c; +rom_tsens_dac_cal = 0x40006228; +rom_code_to_temp = 0x40006234; +rom_write_pll_cap_mem = 0x40006240; +rom_pll_correct_dcap = 0x4000624c; +rom_phy_en_hw_set_freq = 0x40006258; +rom_phy_dis_hw_set_freq = 0x40006264; +rom_pll_vol_cal = 0x40006270; +rom_wrtie_pll_cap = 0x4000627c; +rom_set_tx_gain_mem = 0x40006288; +rom_bt_tx_dig_gain = 0x40006294; +rom_bt_get_tx_gain = 0x400062a0; +rom_get_chan_target_power = 0x400062ac; +rom_get_tx_gain_value = 0x400062b8; +rom_wifi_tx_dig_gain = 0x400062c4; +rom_wifi_get_tx_gain = 0x400062d0; +rom_fe_i2c_reg_renew = 0x400062dc; +rom_wifi_agc_sat_gain = 0x400062e8; +rom_i2c_master_reset = 0x400062f4; +rom_bt_filter_reg = 0x40006300; +rom_phy_bbpll_cal = 0x4000630c; +rom_i2c_sar2_init_code = 0x40006318; +rom_phy_param_addr = 0x40006324; +rom_phy_reg_init = 0x40006330; +rom_set_chan_reg = 0x4000633c; +rom_phy_wakeup_init = 0x40006348; +rom_phy_i2c_init1 = 0x40006354; +rom_tsens_temp_read = 0x40006360; +rom_bt_track_pll_cap = 0x4000636c; +rom_wifi_track_pll_cap = 0x40006378; +rom_wifi_set_tx_gain = 0x40006384; +rom_txpwr_cal_track = 0x40006390; +rom_tx_pwctrl_background = 0x4000639c; +rom_bt_set_tx_gain = 0x400063a8; +rom_noise_check_loop = 0x400063b4; +rom_phy_close_rf = 0x400063c0; +rom_phy_xpd_tsens = 0x400063cc; +rom_phy_freq_mem_backup = 0x400063d8; +rom_phy_ant_init = 0x400063e4; +rom_bt_track_tx_power = 0x400063f0; +rom_wifi_track_tx_power = 0x400063fc; +rom_phy_dig_reg_backup = 0x40006408; +chip728_phyrom_version_num = 0x40006414; +rom_mac_tx_chan_offset = 0x40006420; +rom_rx_gain_force = 0x4000642c; +/* Data (.data, .bss, .rodata) */ +phy_param_rom = 0x3fcef81c; diff --git a/esp-hal/ld/esp32s3/rom/esp32s3.rom.libgcc.ld b/esp-hal/ld/esp32s3/rom/esp32s3.rom.libgcc.ld new file mode 100644 index 000000000..3571b0380 --- /dev/null +++ b/esp-hal/ld/esp32s3/rom/esp32s3.rom.libgcc.ld @@ -0,0 +1,105 @@ +/* ROM function interface esp32s3.rom.libgcc.ld for esp32s3 + * + * + * Generated from ./interface-esp32s3.yml md5sum 39c4ce259b11323b9404c192b01b712b + * + * Compatible with ROM where ECO version equal or greater to 0. + * + * THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT. + */ + +/*************************************** + Group libgcc + ***************************************/ + +/* Functions */ +__absvdi2 = 0x4000216c; +__absvsi2 = 0x40002178; +__adddf3 = 0x40002184; +__addsf3 = 0x40002190; +__addvdi3 = 0x4000219c; +__addvsi3 = 0x400021a8; +__ashldi3 = 0x400021b4; +__ashrdi3 = 0x400021c0; +__bswapdi2 = 0x400021cc; +__bswapsi2 = 0x400021d8; +__clear_cache = 0x400021e4; +__clrsbdi2 = 0x400021f0; +__clrsbsi2 = 0x400021fc; +__clzdi2 = 0x40002208; +__clzsi2 = 0x40002214; +__cmpdi2 = 0x40002220; +__ctzdi2 = 0x4000222c; +__ctzsi2 = 0x40002238; +__divdc3 = 0x40002244; +__divdf3 = 0x40002250; +__divdi3 = 0x4000225c; +__divsc3 = 0x40002268; +__divsf3 = 0x40002274; +__divsi3 = 0x40002280; +__eqdf2 = 0x4000228c; +__eqsf2 = 0x40002298; +__extendsfdf2 = 0x400022a4; +__ffsdi2 = 0x400022b0; +__ffssi2 = 0x400022bc; +__fixdfdi = 0x400022c8; +__fixdfsi = 0x400022d4; +__fixsfdi = 0x400022e0; +__fixsfsi = 0x400022ec; +__fixunsdfsi = 0x400022f8; +__fixunssfdi = 0x40002304; +__fixunssfsi = 0x40002310; +__floatdidf = 0x4000231c; +__floatdisf = 0x40002328; +__floatsidf = 0x40002334; +__floatsisf = 0x40002340; +__floatundidf = 0x4000234c; +__floatundisf = 0x40002358; +__floatunsidf = 0x40002364; +__floatunsisf = 0x40002370; +__gcc_bcmp = 0x4000237c; +__gedf2 = 0x40002388; +__gesf2 = 0x40002394; +__gtdf2 = 0x400023a0; +__gtsf2 = 0x400023ac; +__ledf2 = 0x400023b8; +__lesf2 = 0x400023c4; +__lshrdi3 = 0x400023d0; +__ltdf2 = 0x400023dc; +__ltsf2 = 0x400023e8; +__moddi3 = 0x400023f4; +__modsi3 = 0x40002400; +__muldc3 = 0x4000240c; +__muldf3 = 0x40002418; +__muldi3 = 0x40002424; +__mulsc3 = 0x40002430; +__mulsf3 = 0x4000243c; +__mulsi3 = 0x40002448; +__mulvdi3 = 0x40002454; +__mulvsi3 = 0x40002460; +__nedf2 = 0x4000246c; +__negdf2 = 0x40002478; +__negdi2 = 0x40002484; +__negsf2 = 0x40002490; +__negvdi2 = 0x4000249c; +__negvsi2 = 0x400024a8; +__nesf2 = 0x400024b4; +__paritysi2 = 0x400024c0; +__popcountdi2 = 0x400024cc; +__popcountsi2 = 0x400024d8; +__powidf2 = 0x400024e4; +__powisf2 = 0x400024f0; +__subdf3 = 0x400024fc; +__subsf3 = 0x40002508; +__subvdi3 = 0x40002514; +__subvsi3 = 0x40002520; +__truncdfsf2 = 0x4000252c; +__ucmpdi2 = 0x40002538; +__udivdi3 = 0x40002544; +__udivmoddi4 = 0x40002550; +__udivsi3 = 0x4000255c; +__udiv_w_sdiv = 0x40002568; +__umoddi3 = 0x40002574; +__umodsi3 = 0x40002580; +__unorddf2 = 0x4000258c; +__unordsf2 = 0x40002598; diff --git a/esp-hal/ld/esp32s3/rom/esp32s3.rom.version.ld b/esp-hal/ld/esp32s3/rom/esp32s3.rom.version.ld new file mode 100644 index 000000000..402022f94 --- /dev/null +++ b/esp-hal/ld/esp32s3/rom/esp32s3.rom.version.ld @@ -0,0 +1,8 @@ +/* ROM version variables for esp32s3 + * + * These addresses should be compatible with any ROM version for this chip. + * + * THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT. + */ +_rom_chip_id = 0x40000570; +_rom_eco_version = 0x40000574; diff --git a/esp-hal/src/rom/mod.rs b/esp-hal/src/rom/mod.rs index 5e4429f94..0dae41083 100644 --- a/esp-hal/src/rom/mod.rs +++ b/esp-hal/src/rom/mod.rs @@ -95,10 +95,10 @@ pub(crate) fn ets_delay_us(us: u32) { #[inline(always)] pub(crate) fn ets_update_cpu_frequency_rom(ticks_per_us: u32) { extern "C" { - fn ets_update_cpu_frequency_rom(ticks_per_us: u32); + fn ets_update_cpu_frequency(ticks_per_us: u32); } - unsafe { ets_update_cpu_frequency_rom(ticks_per_us) }; + unsafe { ets_update_cpu_frequency(ticks_per_us) }; } #[inline(always)] diff --git a/esp-hal/src/soc/esp32s3/mod.rs b/esp-hal/src/soc/esp32s3/mod.rs index 9d5fdf955..94b7d9f16 100644 --- a/esp-hal/src/soc/esp32s3/mod.rs +++ b/esp-hal/src/soc/esp32s3/mod.rs @@ -169,13 +169,13 @@ pub extern "Rust" fn __init_data() -> bool { #[link_section = ".rwtext"] pub unsafe fn cache_writeback_addr(addr: u32, size: u32) { extern "C" { - fn Cache_WriteBack_Addr(addr: u32, size: u32); + fn rom_Cache_WriteBack_Addr(addr: u32, size: u32); fn Cache_Suspend_DCache_Autoload() -> u32; fn Cache_Resume_DCache_Autoload(value: u32); } // suspend autoload, avoid load cachelines being written back let autoload = Cache_Suspend_DCache_Autoload(); - Cache_WriteBack_Addr(addr, size); + rom_Cache_WriteBack_Addr(addr, size); Cache_Resume_DCache_Autoload(autoload); } diff --git a/esp-wifi/CHANGELOG.md b/esp-wifi/CHANGELOG.md index 14df84dc4..0abc21be2 100644 --- a/esp-wifi/CHANGELOG.md +++ b/esp-wifi/CHANGELOG.md @@ -13,6 +13,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- No need to add `rom_functions.x` manually anymore (#2374) + ### Fixed ### Removed diff --git a/esp-wifi/MIGRATING-0.10.md b/esp-wifi/MIGRATING-0.10.md index 14fef730f..6bfc390fd 100644 --- a/esp-wifi/MIGRATING-0.10.md +++ b/esp-wifi/MIGRATING-0.10.md @@ -1 +1,12 @@ # Migration Guide from 0.10.x to v0.11.x + +## No need to include `rom_functions.x` manually + +Don't include `rom_functions.x` from esp-wifi + +```diff +rustflags = [ + "-C", "link-arg=-Tlinkall.x", +- "-C", "link-arg=-Trom_functions.x", +] +``` diff --git a/esp-wifi/src/lib.rs b/esp-wifi/src/lib.rs index bb438d9e8..55d60a9c3 100644 --- a/esp-wifi/src/lib.rs +++ b/esp-wifi/src/lib.rs @@ -25,22 +25,6 @@ //! features = ["esp32s3", "wifi", "esp-now"] //! ``` //! -//! ### Link configuration -//! -//! Make sure to include the rom functions for your target: -//! -//! ```toml -//! # .cargo/config.toml -//! rustflags = [ -//! "-C", "link-arg=-Tlinkall.x", -//! "-C", "link-arg=-Trom_functions.x", -//! ] -//! ``` -//! -//! At the time of writing, you will already have the `linkall` flag if you used -//! `cargo generate`. Generating from a template does not include the -//! `rom_functions` flag. -//! //! ### Optimization Level //! //! It is necessary to build with optimization level 2 or 3 since otherwise, it diff --git a/examples/build.rs b/examples/build.rs index 77d3bb7d7..848be4d26 100644 --- a/examples/build.rs +++ b/examples/build.rs @@ -1,14 +1,4 @@ fn main() { - if cfg!(feature = "esp32c6") || cfg!(feature = "esp32h2") { - println!("cargo::rustc-link-arg=-Trom_coexist.x"); - println!("cargo::rustc-link-arg=-Trom_functions.x"); - println!("cargo::rustc-link-arg=-Trom_phy.x"); - } - - if cfg!(feature = "esp-wifi") { - println!("cargo::rustc-link-arg=-Trom_functions.x"); - } - // Allow building examples in CI in debug mode println!("cargo:rustc-check-cfg=cfg(is_not_release)"); println!("cargo:rerun-if-env-changed=CI"); diff --git a/hil-test/build.rs b/hil-test/build.rs index 35fa4d3a6..1c7ecfc2f 100644 --- a/hil-test/build.rs +++ b/hil-test/build.rs @@ -37,9 +37,5 @@ fn main() -> Result<(), Box> { // Define all necessary configuration symbols for the configured device: config.define_symbols(); - if cfg!(feature = "esp-wifi") { - println!("cargo::rustc-link-arg=-Trom_functions.x"); - } - Ok(()) }