forked from espressif/esp-idf
Compare commits
79 Commits
fixes
...
v5.4-beta2
Author | SHA1 | Date | |
---|---|---|---|
df64e63bbd | |||
3b0cf1a2ea | |||
12c49601c3 | |||
36e78b3bd3 | |||
82802eb460 | |||
68d680bafd | |||
b79c8faba4 | |||
019afc0f80 | |||
0e43df1a47 | |||
2afa1cc04d | |||
91006fdee1 | |||
59230175df | |||
98fccdef20 | |||
d7dd068478 | |||
1d87c94ca3 | |||
c433d95441 | |||
30acf8b5d1 | |||
3d95fd17e3 | |||
504a248ba1 | |||
295f1576e1 | |||
e36118f4f0 | |||
49b8292f51 | |||
ea05f7f647 | |||
e2c732c906 | |||
1254494dd8 | |||
64b9d85a76 | |||
ec8de8a1f9 | |||
c366277e64 | |||
31befbfad3 | |||
dd8b4fa06e | |||
343bb81729 | |||
7946eb51e0 | |||
367059b93d | |||
b0a9704c3d | |||
bab289ca78 | |||
81020a3748 | |||
ab2e360266 | |||
500165ffb3 | |||
69d72ca243 | |||
2b12fb6daa | |||
7f42ed38fd | |||
b763700bc8 | |||
764f5414ff | |||
1e37c32fb6 | |||
ee5e2798ba | |||
eeb4baf17f | |||
ad910e3ce0 | |||
f5c71b8715 | |||
7c9bec2633 | |||
c17aa3e020 | |||
2980c7f5e5 | |||
9685b3b4ca | |||
8b8956f7ed | |||
1754c8f8e5 | |||
2770a95a5f | |||
f012157cf9 | |||
3e0611757b | |||
802e7b2192 | |||
a2ffd9e955 | |||
0505eb80c9 | |||
ae6f824fcf | |||
e0e285b841 | |||
2a05eb8fd3 | |||
651e5adbda | |||
2558760224 | |||
0e6c74e93d | |||
b21b7294c6 | |||
131609cf29 | |||
92cc8a5512 | |||
7c03514a28 | |||
5f62667aba | |||
c6810a102b | |||
9677b9bfaf | |||
6fe128ac6f | |||
33103306a6 | |||
851679e63a | |||
280f6cb4e9 | |||
cf5bdf5e9f | |||
661a487610 |
@ -1,4 +1,4 @@
|
||||
[codespell]
|
||||
skip = build,*.yuv,components/fatfs/src/*,alice.txt,*.rgb,components/wpa_supplicant/*,components/esp_wifi/*,*.pem
|
||||
ignore-words-list = ser,dout,rsource,fram,inout,shs,ans,aci,unstall,unstalling,hart,wheight,wel,ot,fane,assertIn,registr,oen
|
||||
ignore-words-list = ser,dout,rsource,fram,inout,shs,ans,aci,unstall,unstalling,hart,wheight,wel,ot,fane,assertIn,registr,oen,parms
|
||||
write-changes = true
|
||||
|
@ -2,248 +2,5 @@
|
||||
#
|
||||
# https://docs.gitlab.com/ee/user/project/code_owners.html#the-syntax-of-code-owners-files
|
||||
#
|
||||
# If more than one rule matches a given file, the latest rule is used.
|
||||
# The file should be generally kept sorted, except when it is necessary
|
||||
# to use a different order due to the fact above. In that case, use
|
||||
# '# sort-order-reset' comment line to reset the sort order.
|
||||
#
|
||||
# Recipes for a few common cases:
|
||||
#
|
||||
# 1. Specific directory with all its contents:
|
||||
#
|
||||
# /components/app_trace/
|
||||
#
|
||||
# Note the trailing slash!
|
||||
#
|
||||
# 2. File with certain extension in any subdirectory of a certain directory:
|
||||
#
|
||||
# /examples/**/*.py
|
||||
#
|
||||
# This includes an *.py files in /examples/ directory as well.
|
||||
#
|
||||
# 3. Contents of a directory with a certain name, anywhere in the tree:
|
||||
#
|
||||
# test_*_host/
|
||||
#
|
||||
# Will match everything under components/efuse/test_efuse_host/,
|
||||
# components/heap/test_multi_heap_host/, components/lwip/test_afl_host/, etc.
|
||||
#
|
||||
# 4. Same as above, except limited to a specific place in the tree:
|
||||
#
|
||||
# /components/esp32*/
|
||||
#
|
||||
# Matches everything under /components/esp32, /components/esp32s2, etc.
|
||||
# Doesn't match /tools/some-test/components/esp32s5.
|
||||
#
|
||||
# 5. Specific file:
|
||||
#
|
||||
# /tools/tools.json
|
||||
#
|
||||
# 6. File with a certain name anywhere in the tree
|
||||
#
|
||||
# .gitignore
|
||||
#
|
||||
|
||||
* @esp-idf-codeowners/other
|
||||
|
||||
/.* @esp-idf-codeowners/tools
|
||||
/.codespellrc @esp-idf-codeowners/ci
|
||||
/.github/workflows/ @esp-idf-codeowners/ci
|
||||
/.gitlab-ci.yml @esp-idf-codeowners/ci
|
||||
/.gitlab/ci/ @esp-idf-codeowners/ci
|
||||
/.pre-commit-config.yaml @esp-idf-codeowners/ci
|
||||
/.readthedocs.yml @esp-idf-codeowners/docs
|
||||
/.vale.ini @esp-idf-codeowners/docs
|
||||
/CMakeLists.txt @esp-idf-codeowners/build-config
|
||||
/COMPATIBILITY*.md @esp-idf-codeowners/peripherals
|
||||
/CONTRIBUTING.md @esp-idf-codeowners/docs
|
||||
/Kconfig @esp-idf-codeowners/build-config
|
||||
/README*.md @esp-idf-codeowners/docs
|
||||
/ROADMAP*.md @esp-idf-codeowners/docs
|
||||
/SUPPORT_POLICY*.md @esp-idf-codeowners/docs
|
||||
/add_path.sh @esp-idf-codeowners/tools
|
||||
/conftest.py @esp-idf-codeowners/ci
|
||||
/export.* @esp-idf-codeowners/tools
|
||||
/install.* @esp-idf-codeowners/tools
|
||||
/pytest.ini @esp-idf-codeowners/ci
|
||||
/sdkconfig.rename @esp-idf-codeowners/build-config
|
||||
/sonar-project.properties @esp-idf-codeowners/ci
|
||||
|
||||
# sort-order-reset
|
||||
|
||||
/components/app_trace/ @esp-idf-codeowners/debugging
|
||||
/components/app_update/ @esp-idf-codeowners/system @esp-idf-codeowners/app-utilities
|
||||
/components/bootloader*/ @esp-idf-codeowners/system @esp-idf-codeowners/security
|
||||
/components/bootloader_support/bootloader_flash/ @esp-idf-codeowners/peripherals
|
||||
/components/bt/ @esp-idf-codeowners/bluetooth
|
||||
/components/cmock/ @esp-idf-codeowners/system
|
||||
/components/console/ @esp-idf-codeowners/system @esp-idf-codeowners/app-utilities/console
|
||||
/components/cxx/ @esp-idf-codeowners/system
|
||||
/components/driver/ @esp-idf-codeowners/peripherals
|
||||
/components/efuse/ @esp-idf-codeowners/system
|
||||
/components/esp_adc/ @esp-idf-codeowners/peripherals
|
||||
/components/esp_app_format/ @esp-idf-codeowners/system @esp-idf-codeowners/app-utilities
|
||||
/components/esp_bootloader_format/ @esp-idf-codeowners/system @esp-idf-codeowners/app-utilities
|
||||
/components/esp_coex/ @esp-idf-codeowners/wifi @esp-idf-codeowners/bluetooth @esp-idf-codeowners/ieee802154
|
||||
/components/esp_common/ @esp-idf-codeowners/system
|
||||
/components/esp_driver_*/ @esp-idf-codeowners/peripherals
|
||||
/components/esp_driver_sdmmc/ @esp-idf-codeowners/peripherals @esp-idf-codeowners/storage
|
||||
/components/esp_eth/ @esp-idf-codeowners/network
|
||||
/components/esp_event/ @esp-idf-codeowners/system
|
||||
/components/esp_gdbstub/ @esp-idf-codeowners/debugging
|
||||
/components/esp_hid/ @esp-idf-codeowners/bluetooth
|
||||
/components/esp_http_client/ @esp-idf-codeowners/app-utilities
|
||||
/components/esp_http_server/ @esp-idf-codeowners/app-utilities
|
||||
/components/esp_https_ota/ @esp-idf-codeowners/app-utilities
|
||||
/components/esp_https_server/ @esp-idf-codeowners/app-utilities
|
||||
/components/esp_hw_support/ @esp-idf-codeowners/system @esp-idf-codeowners/peripherals
|
||||
/components/esp_hw_support/lowpower/ @esp-idf-codeowners/power-management
|
||||
/components/esp_lcd/ @esp-idf-codeowners/peripherals
|
||||
/components/esp_local_ctrl/ @esp-idf-codeowners/app-utilities
|
||||
/components/esp_mm/ @esp-idf-codeowners/peripherals
|
||||
/components/esp_netif/ @esp-idf-codeowners/network
|
||||
/components/esp_netif_stack/ @esp-idf-codeowners/network
|
||||
/components/esp_partition/ @esp-idf-codeowners/storage
|
||||
/components/esp_phy/ @esp-idf-codeowners/bluetooth @esp-idf-codeowners/wifi @esp-idf-codeowners/ieee802154
|
||||
/components/esp_pm/ @esp-idf-codeowners/power-management @esp-idf-codeowners/bluetooth @esp-idf-codeowners/wifi @esp-idf-codeowners/system
|
||||
/components/esp_psram/ @esp-idf-codeowners/peripherals @esp-idf-codeowners/system
|
||||
/components/esp_ringbuf/ @esp-idf-codeowners/system
|
||||
/components/esp_rom/ @esp-idf-codeowners/system @esp-idf-codeowners/bluetooth @esp-idf-codeowners/wifi
|
||||
/components/esp_security/ @esp-idf-codeowners/security
|
||||
/components/esp_system/ @esp-idf-codeowners/system
|
||||
/components/esp_timer/ @esp-idf-codeowners/system
|
||||
/components/esp-tls/ @esp-idf-codeowners/app-utilities
|
||||
/components/esp_vfs_*/ @esp-idf-codeowners/storage
|
||||
/components/esp_vfs_console/ @esp-idf-codeowners/storage @esp-idf-codeowners/system
|
||||
/components/esp_wifi/ @esp-idf-codeowners/wifi
|
||||
/components/espcoredump/ @esp-idf-codeowners/debugging
|
||||
/components/esptool_py/ @esp-idf-codeowners/tools
|
||||
/components/fatfs/ @esp-idf-codeowners/storage
|
||||
/components/freertos/ @esp-idf-codeowners/system
|
||||
/components/hal/ @esp-idf-codeowners/peripherals
|
||||
/components/hal/test_apps/crypto/ @esp-idf-codeowners/peripherals @esp-idf-codeowners/security
|
||||
/components/heap/ @esp-idf-codeowners/system
|
||||
/components/http_parser/ @esp-idf-codeowners/app-utilities
|
||||
/components/idf_test/ @esp-idf-codeowners/ci
|
||||
/components/ieee802154/ @esp-idf-codeowners/ieee802154
|
||||
/components/json/ @esp-idf-codeowners/app-utilities
|
||||
/components/linux/ @esp-idf-codeowners/system
|
||||
/components/log/ @esp-idf-codeowners/system
|
||||
/components/lwip/ @esp-idf-codeowners/lwip
|
||||
/components/mbedtls/ @esp-idf-codeowners/app-utilities/mbedtls @esp-idf-codeowners/security
|
||||
/components/mqtt/ @esp-idf-codeowners/network
|
||||
/components/newlib/ @esp-idf-codeowners/system @esp-idf-codeowners/toolchain
|
||||
/components/nvs_flash/ @esp-idf-codeowners/storage
|
||||
/components/nvs_sec_provider/ @esp-idf-codeowners/storage @esp-idf-codeowners/security
|
||||
/components/openthread/ @esp-idf-codeowners/ieee802154
|
||||
/components/partition_table/ @esp-idf-codeowners/system
|
||||
/components/perfmon/ @esp-idf-codeowners/debugging
|
||||
/components/protobuf-c/ @esp-idf-codeowners/app-utilities
|
||||
/components/protocomm/ @esp-idf-codeowners/app-utilities/provisioning
|
||||
/components/pthread/ @esp-idf-codeowners/system
|
||||
/components/riscv/ @esp-idf-codeowners/system
|
||||
/components/rt/ @esp-idf-codeowners/system
|
||||
/components/sdmmc/ @esp-idf-codeowners/storage
|
||||
/components/soc/ @esp-idf-codeowners/peripherals @esp-idf-codeowners/system
|
||||
/components/spi_flash/ @esp-idf-codeowners/peripherals
|
||||
/components/spiffs/ @esp-idf-codeowners/storage
|
||||
/components/tcp_transport/ @esp-idf-codeowners/network
|
||||
/components/touch_element/ @esp-idf-codeowners/peripherals
|
||||
/components/ulp/ @esp-idf-codeowners/system
|
||||
/components/unity/ @esp-idf-codeowners/ci
|
||||
/components/usb/ @esp-idf-codeowners/peripherals/usb
|
||||
/components/vfs/ @esp-idf-codeowners/storage
|
||||
/components/wear_levelling/ @esp-idf-codeowners/storage
|
||||
/components/wifi_provisioning/ @esp-idf-codeowners/app-utilities/provisioning
|
||||
/components/wpa_supplicant/ @esp-idf-codeowners/wifi @esp-idf-codeowners/app-utilities/mbedtls
|
||||
/components/xtensa/ @esp-idf-codeowners/system
|
||||
|
||||
/docs/ @esp-idf-codeowners/docs
|
||||
/docs/docs_not_updated/ @esp-idf-codeowners/all-maintainers
|
||||
/docs/**/api-guides/tools/ @esp-idf-codeowners/tools
|
||||
/docs/en/api-guides/core_dump.rst @esp-idf-codeowners/debugging
|
||||
/docs/**/api-guides/wifi* @esp-idf-codeowners/wifi
|
||||
/docs/**/api-guides/esp-wifi-mesh.rst @esp-idf-codeowners/wifi
|
||||
/docs/en/api-guides/jtag-debugging/ @esp-idf-codeowners/debugging
|
||||
/docs/**/api-reference/bluetooth/ @esp-idf-codeowners/bluetooth
|
||||
/docs/**/api-reference/network/ @esp-idf-codeowners/network @esp-idf-codeowners/wifi
|
||||
/docs/**/api-reference/peripherals/ @esp-idf-codeowners/peripherals
|
||||
/docs/**/api-reference/peripherals/usb* @esp-idf-codeowners/peripherals @esp-idf-codeowners/peripherals/usb
|
||||
/docs/**/api-reference/peripherals/usb*/ @esp-idf-codeowners/peripherals @esp-idf-codeowners/peripherals/usb
|
||||
/docs/**/api-reference/protocols/ @esp-idf-codeowners/network @esp-idf-codeowners/app-utilities
|
||||
/docs/**/api-reference/provisioning/ @esp-idf-codeowners/app-utilities/provisioning
|
||||
/docs/**/api-reference/storage/ @esp-idf-codeowners/storage
|
||||
/docs/**/api-reference/system/ @esp-idf-codeowners/system
|
||||
/docs/**/security/ @esp-idf-codeowners/security
|
||||
/docs/**/migration-guides/ @esp-idf-codeowners/docs @esp-idf-codeowners/all-maintainers
|
||||
/docs/**/contribute/install-pre-commit-hook.rst @esp-idf-codeowners/ci @esp-idf-codeowners/tools
|
||||
|
||||
/examples/README.md @esp-idf-codeowners/docs @esp-idf-codeowners/ci
|
||||
/examples/**/*.py @esp-idf-codeowners/ci @esp-idf-codeowners/tools
|
||||
/examples/bluetooth/ @esp-idf-codeowners/bluetooth
|
||||
/examples/build_system/ @esp-idf-codeowners/build-config
|
||||
/examples/common_components/ @esp-idf-codeowners/system @esp-idf-codeowners/wifi @esp-idf-codeowners/lwip @esp-idf-codeowners/network
|
||||
/examples/custom_bootloader/ @esp-idf-codeowners/system
|
||||
/examples/cxx/ @esp-idf-codeowners/system
|
||||
/examples/ethernet/ @esp-idf-codeowners/network
|
||||
/examples/get-started/ @esp-idf-codeowners/system
|
||||
/examples/ieee802154/ @esp-idf-codeowners/ieee802154
|
||||
/examples/mesh/ @esp-idf-codeowners/wifi
|
||||
/examples/network/ @esp-idf-codeowners/network @esp-idf-codeowners/wifi
|
||||
/examples/openthread/ @esp-idf-codeowners/ieee802154
|
||||
/examples/peripherals/ @esp-idf-codeowners/peripherals
|
||||
/examples/peripherals/usb/ @esp-idf-codeowners/peripherals @esp-idf-codeowners/peripherals/usb
|
||||
/examples/phy/ @esp-idf-codeowners/bluetooth @esp-idf-codeowners/wifi @esp-idf-codeowners/ieee802154
|
||||
/examples/protocols/ @esp-idf-codeowners/network @esp-idf-codeowners/app-utilities
|
||||
/examples/provisioning/ @esp-idf-codeowners/app-utilities/provisioning
|
||||
/examples/security/ @esp-idf-codeowners/security
|
||||
/examples/storage/ @esp-idf-codeowners/storage
|
||||
/examples/system/ @esp-idf-codeowners/system
|
||||
/examples/system/ota/ @esp-idf-codeowners/app-utilities
|
||||
/examples/wifi/ @esp-idf-codeowners/wifi
|
||||
/examples/zigbee/ @esp-idf-codeowners/ieee802154
|
||||
|
||||
/tools/ @esp-idf-codeowners/tools
|
||||
/tools/ble/ @esp-idf-codeowners/app-utilities
|
||||
/tools/catch/ @esp-idf-codeowners/ci
|
||||
/tools/ci/ @esp-idf-codeowners/ci
|
||||
/tools/cmake/ @esp-idf-codeowners/build-config
|
||||
/tools/cmake/toolchain-*.cmake @esp-idf-codeowners/toolchain
|
||||
/tools/esp_app_trace/ @esp-idf-codeowners/debugging
|
||||
/tools/esp_prov/ @esp-idf-codeowners/app-utilities
|
||||
/tools/gdb_panic_server.py @esp-idf-codeowners/debugging
|
||||
/tools/kconfig*/ @esp-idf-codeowners/build-config
|
||||
/tools/ldgen/ @esp-idf-codeowners/build-config
|
||||
/tools/mass_mfg/ @esp-idf-codeowners/app-utilities
|
||||
/tools/mocks/ @esp-idf-codeowners/system
|
||||
|
||||
/tools/test_apps/ @esp-idf-codeowners/ci
|
||||
/tools/test_apps/README.md @esp-idf-codeowners/docs @esp-idf-codeowners/ci
|
||||
|
||||
## Note: owners here should be the same as the owners for the same example subdir, above
|
||||
/tools/test_apps/build_system/ @esp-idf-codeowners/build-config
|
||||
/tools/test_apps/configs/ @esp-idf-codeowners/system
|
||||
/tools/test_apps/linux_compatible/ @esp-idf-codeowners/system
|
||||
/tools/test_apps/peripherals/ @esp-idf-codeowners/peripherals
|
||||
/tools/test_apps/phy/ @esp-idf-codeowners/bluetooth @esp-idf-codeowners/wifi @esp-idf-codeowners/ieee802154
|
||||
/tools/test_apps/protocols/ @esp-idf-codeowners/network @esp-idf-codeowners/app-utilities
|
||||
/tools/test_apps/security/ @esp-idf-codeowners/security
|
||||
/tools/test_apps/storage/ @esp-idf-codeowners/storage
|
||||
/tools/test_apps/system/ @esp-idf-codeowners/system
|
||||
|
||||
/tools/test_apps/**/*.py @esp-idf-codeowners/ci @esp-idf-codeowners/tools
|
||||
|
||||
/tools/test_build_system/ @esp-idf-codeowners/tools @esp-idf-codeowners/build-config
|
||||
|
||||
/tools/tools.json @esp-idf-codeowners/tools @esp-idf-codeowners/toolchain @esp-idf-codeowners/debugging
|
||||
|
||||
/tools/unit-test-app/ @esp-idf-codeowners/system @esp-idf-codeowners/tools
|
||||
|
||||
# sort-order-reset
|
||||
|
||||
/components/**/test_apps/**/*.py @esp-idf-codeowners/ci @esp-idf-codeowners/tools
|
||||
|
||||
# ignore lists
|
||||
/tools/ci/check_copyright_config.yaml @esp-idf-codeowners/all-maintainers
|
||||
/tools/ci/check_copyright_ignore.txt @esp-idf-codeowners/all-maintainers
|
||||
/tools/ci/mypy_ignore_list.txt @esp-idf-codeowners/tools
|
||||
* @esp-idf-codeowners/all-maintainers
|
||||
|
@ -1,7 +1,7 @@
|
||||
.build_template:
|
||||
stage: build
|
||||
extends:
|
||||
- .after_script:build:ccache:upload-when-fail
|
||||
- .after_script:build:ccache-show-stats:upload-failed-job-logs
|
||||
image: $ESP_ENV_IMAGE
|
||||
tags:
|
||||
- build
|
||||
@ -16,7 +16,7 @@
|
||||
extends:
|
||||
- .build_template
|
||||
- .before_script:build
|
||||
- .after_script:build:ccache
|
||||
- .after_script:build:ccache-show-stats
|
||||
dependencies: # set dependencies to null to avoid missing artifacts issue
|
||||
needs:
|
||||
- job: fast_template_app
|
||||
@ -246,15 +246,16 @@ pytest_build_system_macos:
|
||||
extends:
|
||||
- .test_build_system_template
|
||||
- .before_script:build:macos
|
||||
- .after_script:build:macos:upload-when-fail
|
||||
- .after_script:build:macos:upload-failed-job-logs:ccache-show-stats
|
||||
- .rules:build:macos
|
||||
tags:
|
||||
- macos_shell
|
||||
parallel: 3
|
||||
variables:
|
||||
PYENV_VERSION: "3.8"
|
||||
CI_CCACHE_DISABLE: "1" # ccache: error: Read-only file system
|
||||
|
||||
# CCACHE_DIR: "/cache/idf_ccache". On macOS, you cannot write to this folder due to insufficient permissions.
|
||||
CCACHE_DIR: "" # ccache will use "$HOME/Library/Caches/ccache".
|
||||
CCACHE_MAXSIZE: "5G" # To preserve the limited Macbook storage. CCACHE automatically prunes old caches to fit the set limit.
|
||||
build_docker:
|
||||
extends:
|
||||
- .before_script:minimal
|
||||
|
@ -40,7 +40,7 @@ variables:
|
||||
GIT_FETCH_EXTRA_FLAGS: "--no-recurse-submodules --prune --prune-tags"
|
||||
# we're using .cache folder for caches
|
||||
GIT_CLEAN_FLAGS: -ffdx -e .cache/
|
||||
LATEST_GIT_TAG: v5.4-dev
|
||||
LATEST_GIT_TAG: v5.4-beta1
|
||||
|
||||
SUBMODULE_FETCH_TOOL: "tools/ci/ci_fetch_submodule.py"
|
||||
# by default we will fetch all submodules
|
||||
@ -227,13 +227,14 @@ variables:
|
||||
- *setup_tools_and_idf_python_venv
|
||||
- fetch_submodules
|
||||
|
||||
.after_script:build:macos:upload-when-fail:
|
||||
.after_script:build:macos:upload-failed-job-logs:ccache-show-stats:
|
||||
after_script:
|
||||
# macos is running shell executor, which means it would use
|
||||
# the system installed /usr/local/bin/python3 by default.
|
||||
# Ensure pyenv and PYENV_VERSION installed
|
||||
- eval "$(pyenv init -)"
|
||||
- *upload_failed_job_log_artifacts
|
||||
- *show_ccache_statistics
|
||||
|
||||
.before_script:build:
|
||||
before_script:
|
||||
@ -244,11 +245,11 @@ variables:
|
||||
- export EXTRA_CFLAGS=${PEDANTIC_CFLAGS}
|
||||
- export EXTRA_CXXFLAGS=${PEDANTIC_CXXFLAGS}
|
||||
|
||||
.after_script:build:ccache:
|
||||
.after_script:build:ccache-show-stats:
|
||||
after_script:
|
||||
- *show_ccache_statistics
|
||||
|
||||
.after_script:build:ccache:upload-when-fail:
|
||||
.after_script:build:ccache-show-stats:upload-failed-job-logs:
|
||||
after_script:
|
||||
- *show_ccache_statistics
|
||||
- *upload_failed_job_log_artifacts
|
||||
|
@ -183,12 +183,24 @@ baseline_manifest_sha:
|
||||
tags: [fast_run, shiny]
|
||||
script:
|
||||
- |
|
||||
if [ -n "$CI_MERGE_REQUEST_DIFF_BASE_SHA" ]; then
|
||||
# merged results pipelines, by default
|
||||
# diff between target-branch-head and merged-result-head
|
||||
if [ -n "$CI_MERGE_REQUEST_TARGET_BRANCH_SHA" ]; then
|
||||
git fetch origin $CI_MERGE_REQUEST_TARGET_BRANCH_SHA --depth=1
|
||||
git checkout FETCH_HEAD
|
||||
idf-build-apps dump-manifest-sha \
|
||||
--manifest-files $(find . -name ".build-test-rules.yml" | xargs) \
|
||||
--output .manifest_sha
|
||||
# merge request pipelines, when the mr got conflicts
|
||||
# diff between diff-base-sha and merge-request-head
|
||||
elif [ -n "$CI_MERGE_REQUEST_DIFF_BASE_SHA" ]; then
|
||||
git fetch origin $CI_MERGE_REQUEST_DIFF_BASE_SHA --depth=1
|
||||
git checkout FETCH_HEAD
|
||||
idf-build-apps dump-manifest-sha \
|
||||
--manifest-files $(find . -name ".build-test-rules.yml" | xargs) \
|
||||
--output .manifest_sha
|
||||
# other pipelines, like the protected branches pipelines
|
||||
# not triggered in this job
|
||||
fi
|
||||
artifacts:
|
||||
paths:
|
||||
|
@ -3,7 +3,7 @@
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-1-Clause
|
||||
*
|
||||
* SPDX-FileContributor: 2017-2022 Espressif Systems (Shanghai) CO LTD
|
||||
* SPDX-FileContributor: 2017-2024 Espressif Systems (Shanghai) CO LTD
|
||||
*/
|
||||
/*********************************************************************
|
||||
* SEGGER Microcontroller GmbH *
|
||||
@ -58,6 +58,7 @@ File : SEGGER_SYSVIEW_Config_FreeRTOS.c
|
||||
Purpose : Sample setup configuration of SystemView with FreeRTOS.
|
||||
Revision: $Rev: 7745 $
|
||||
*/
|
||||
#include <string.h>
|
||||
#include "sdkconfig.h"
|
||||
#include "freertos/FreeRTOS.h"
|
||||
#include "SEGGER_SYSVIEW.h"
|
||||
@ -156,15 +157,16 @@ static esp_apptrace_lock_t s_sys_view_lock = {.mux = portMUX_INITIALIZER_UNLOCKE
|
||||
* Sends SystemView description strings.
|
||||
*/
|
||||
static void _cbSendSystemDesc(void) {
|
||||
char irq_str[32];
|
||||
char irq_str[32] = "I#";
|
||||
SEGGER_SYSVIEW_SendSysDesc("N="SYSVIEW_APP_NAME",D="SYSVIEW_DEVICE_NAME",C="SYSVIEW_CORE_NAME",O=FreeRTOS");
|
||||
snprintf(irq_str, sizeof(irq_str), "I#%d=SysTick", SYSTICK_INTR_ID);
|
||||
strcat(itoa(SYSTICK_INTR_ID, irq_str + 2, 10), "=SysTick");
|
||||
SEGGER_SYSVIEW_SendSysDesc(irq_str);
|
||||
size_t isr_count = sizeof(esp_isr_names)/sizeof(esp_isr_names[0]);
|
||||
for (size_t i = 0; i < isr_count; ++i) {
|
||||
if (esp_isr_names[i] == NULL || (ETS_INTERNAL_INTR_SOURCE_OFF + i) == SYSTICK_INTR_ID)
|
||||
continue;
|
||||
snprintf(irq_str, sizeof(irq_str), "I#%d=%s", ETS_INTERNAL_INTR_SOURCE_OFF + i, esp_isr_names[i]);
|
||||
strcat(itoa(ETS_INTERNAL_INTR_SOURCE_OFF + i, irq_str + 2, 10), "=");
|
||||
strncat(irq_str, esp_isr_names[i], sizeof(irq_str) - strlen(irq_str) - 1);
|
||||
SEGGER_SYSVIEW_SendSysDesc(irq_str);
|
||||
}
|
||||
}
|
||||
|
@ -865,11 +865,19 @@ if(CONFIG_BT_ENABLED)
|
||||
elseif(CONFIG_IDF_TARGET_ESP32C3)
|
||||
target_link_directories(${COMPONENT_LIB} INTERFACE
|
||||
"${CMAKE_CURRENT_LIST_DIR}/controller/lib_esp32c3_family/esp32c3")
|
||||
target_link_libraries(${COMPONENT_LIB} PUBLIC btdm_app)
|
||||
if(CONFIG_BT_CTRL_RUN_IN_FLASH_ONLY)
|
||||
target_link_libraries(${COMPONENT_LIB} PUBLIC btdm_app_flash)
|
||||
else()
|
||||
target_link_libraries(${COMPONENT_LIB} PUBLIC btdm_app)
|
||||
endif()
|
||||
elseif(CONFIG_IDF_TARGET_ESP32S3)
|
||||
target_link_directories(${COMPONENT_LIB} INTERFACE
|
||||
"${CMAKE_CURRENT_LIST_DIR}/controller/lib_esp32c3_family/esp32s3")
|
||||
target_link_libraries(${COMPONENT_LIB} PUBLIC btdm_app)
|
||||
if(CONFIG_BT_CTRL_RUN_IN_FLASH_ONLY)
|
||||
target_link_libraries(${COMPONENT_LIB} PUBLIC btdm_app_flash)
|
||||
else()
|
||||
target_link_libraries(${COMPONENT_LIB} PUBLIC btdm_app)
|
||||
endif()
|
||||
elseif(CONFIG_BT_CONTROLLER_ENABLED)
|
||||
if(CONFIG_IDF_TARGET_ESP32C6)
|
||||
add_prebuilt_library(libble_app
|
||||
|
@ -382,7 +382,7 @@ static void btc_deinit_mem(void) {
|
||||
btc_profile_cb_tab = NULL;
|
||||
}
|
||||
|
||||
#if (BLE_INCLUDED == TRUE)
|
||||
#if (BLE_42_FEATURE_SUPPORT == TRUE)
|
||||
if (gl_bta_adv_data_ptr) {
|
||||
osi_free(gl_bta_adv_data_ptr);
|
||||
gl_bta_adv_data_ptr = NULL;
|
||||
@ -392,7 +392,7 @@ static void btc_deinit_mem(void) {
|
||||
osi_free(gl_bta_scan_rsp_data_ptr);
|
||||
gl_bta_scan_rsp_data_ptr = NULL;
|
||||
}
|
||||
#endif ///BLE_INCLUDED == TRUE
|
||||
#endif // BLE_42_FEATURE_SUPPORT
|
||||
|
||||
#if GATTS_INCLUDED == TRUE && GATT_DYNAMIC_MEMORY == TRUE
|
||||
if (btc_creat_tab_env_ptr) {
|
||||
@ -444,7 +444,8 @@ static bt_status_t btc_init_mem(void) {
|
||||
}
|
||||
memset((void *)btc_profile_cb_tab, 0, sizeof(void *) * BTC_PID_NUM);
|
||||
|
||||
#if (BLE_INCLUDED == TRUE)
|
||||
#if BTC_DYNAMIC_MEMORY == TRUE
|
||||
#if (BLE_42_FEATURE_SUPPORT == TRUE)
|
||||
if ((gl_bta_adv_data_ptr = (tBTA_BLE_ADV_DATA *)osi_malloc(sizeof(tBTA_BLE_ADV_DATA))) == NULL) {
|
||||
goto error_exit;
|
||||
}
|
||||
@ -454,7 +455,8 @@ static bt_status_t btc_init_mem(void) {
|
||||
goto error_exit;
|
||||
}
|
||||
memset((void *)gl_bta_scan_rsp_data_ptr, 0, sizeof(tBTA_BLE_ADV_DATA));
|
||||
#endif ///BLE_INCLUDED == TRUE
|
||||
#endif // (BLE_42_FEATURE_SUPPORT == TRUE)
|
||||
#endif // BTC_DYNAMIC_MEMORY == TRUE
|
||||
|
||||
#if GATTS_INCLUDED == TRUE && GATT_DYNAMIC_MEMORY == TRUE
|
||||
if ((btc_creat_tab_env_ptr = (esp_btc_creat_tab_t *)osi_malloc(sizeof(esp_btc_creat_tab_t))) == NULL) {
|
||||
|
@ -241,5 +241,8 @@ void *osi_calloc_func(size_t size)
|
||||
|
||||
void osi_free_func(void *ptr)
|
||||
{
|
||||
#if HEAP_MEMORY_DEBUG
|
||||
osi_mem_dbg_clean(ptr, __func__, __LINE__);
|
||||
#endif
|
||||
free(ptr);
|
||||
}
|
||||
|
@ -29,6 +29,15 @@ void *osi_malloc_func(size_t size);
|
||||
void *osi_calloc_func(size_t size);
|
||||
void osi_free_func(void *ptr);
|
||||
|
||||
// Memory alloc function without print and assertion
|
||||
#if HEAP_ALLOCATION_FROM_SPIRAM_FIRST
|
||||
#define osi_malloc_base(size) heap_caps_malloc_prefer(size, 2, MALLOC_CAP_DEFAULT|MALLOC_CAP_SPIRAM, MALLOC_CAP_DEFAULT|MALLOC_CAP_INTERNAL)
|
||||
#define osi_calloc_base(size) heap_caps_calloc_prefer(1, size, 2, MALLOC_CAP_DEFAULT|MALLOC_CAP_SPIRAM, MALLOC_CAP_DEFAULT|MALLOC_CAP_INTERNAL)
|
||||
#else
|
||||
#define osi_malloc_base(size) malloc((size))
|
||||
#define osi_calloc_base(size) calloc(1, (size))
|
||||
#endif /* #if HEAP_ALLOCATION_FROM_SPIRAM_FIRST */
|
||||
|
||||
#if HEAP_MEMORY_DEBUG
|
||||
|
||||
void osi_mem_dbg_init(void);
|
||||
@ -41,13 +50,10 @@ void osi_men_dbg_set_section_start(uint8_t index);
|
||||
void osi_men_dbg_set_section_end(uint8_t index);
|
||||
uint32_t osi_mem_dbg_get_max_size_section(uint8_t index);
|
||||
|
||||
#if HEAP_ALLOCATION_FROM_SPIRAM_FIRST
|
||||
#define osi_malloc(size) \
|
||||
({ \
|
||||
void *p; \
|
||||
p = heap_caps_malloc_prefer(size, 2, \
|
||||
MALLOC_CAP_DEFAULT|MALLOC_CAP_SPIRAM, \
|
||||
MALLOC_CAP_DEFAULT|MALLOC_CAP_INTERNAL); \
|
||||
p = osi_malloc_base(size); \
|
||||
osi_mem_dbg_record(p, size, __func__, __LINE__); \
|
||||
(void *)p; \
|
||||
})
|
||||
@ -55,34 +61,11 @@ uint32_t osi_mem_dbg_get_max_size_section(uint8_t index);
|
||||
#define osi_calloc(size) \
|
||||
({ \
|
||||
void *p; \
|
||||
p = heap_caps_calloc_prefer(1, size, 2, \
|
||||
MALLOC_CAP_DEFAULT|MALLOC_CAP_SPIRAM, \
|
||||
MALLOC_CAP_DEFAULT|MALLOC_CAP_INTERNAL); \
|
||||
p = osi_calloc_base(size); \
|
||||
osi_mem_dbg_record(p, size, __func__, __LINE__); \
|
||||
(void *)p; \
|
||||
})
|
||||
|
||||
#else
|
||||
|
||||
#define osi_malloc(size) \
|
||||
({ \
|
||||
void *p; \
|
||||
p = malloc((size)); \
|
||||
osi_mem_dbg_record(p, size, __func__, __LINE__); \
|
||||
(void *)p; \
|
||||
})
|
||||
|
||||
#define osi_calloc(size) \
|
||||
({ \
|
||||
void *p; \
|
||||
p = calloc(1, (size)); \
|
||||
osi_mem_dbg_record(p, size, __func__, __LINE__); \
|
||||
(void *)p; \
|
||||
})
|
||||
|
||||
#endif /* #if HEAP_ALLOCATION_FROM_SPIRAM_FIRST */
|
||||
|
||||
|
||||
#if 0
|
||||
#define osi_malloc(size) \
|
||||
do { \
|
||||
@ -122,15 +105,6 @@ do { \
|
||||
|
||||
#else
|
||||
|
||||
// Memory alloc function without print and assertion
|
||||
#if HEAP_ALLOCATION_FROM_SPIRAM_FIRST
|
||||
#define osi_malloc_base(size) heap_caps_malloc_prefer(size, 2, MALLOC_CAP_DEFAULT|MALLOC_CAP_SPIRAM, MALLOC_CAP_DEFAULT|MALLOC_CAP_INTERNAL)
|
||||
#define osi_calloc_base(size) heap_caps_calloc_prefer(1, size, 2, MALLOC_CAP_DEFAULT|MALLOC_CAP_SPIRAM, MALLOC_CAP_DEFAULT|MALLOC_CAP_INTERNAL)
|
||||
#else
|
||||
#define osi_malloc_base(size) malloc((size))
|
||||
#define osi_calloc_base(size) calloc(1, (size))
|
||||
#endif /* #if HEAP_ALLOCATION_FROM_SPIRAM_FIRST */
|
||||
|
||||
// Memory alloc function with print and assertion when fails
|
||||
#define osi_malloc(size) osi_malloc_func((size))
|
||||
#define osi_calloc(size) osi_calloc_func((size))
|
||||
|
@ -226,6 +226,7 @@ config BT_CTRL_DFT_TX_POWER_LEVEL_EFF
|
||||
|
||||
config BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_SUPP
|
||||
bool "BLE adv report flow control supported"
|
||||
depends on (!BT_CTRL_RUN_IN_FLASH_ONLY) || (BT_CTRL_RUN_IN_FLASH_ONLY && BT_CTRL_BLE_SCAN)
|
||||
default y
|
||||
help
|
||||
The function is mainly used to enable flow control for advertising reports. When it is enabled,
|
||||
@ -512,3 +513,38 @@ menu "BLE disconnect when instant passed"
|
||||
If this option is enabled, Controller will terminate the connection
|
||||
when instant passed in PHY update procedure.
|
||||
endmenu
|
||||
config BT_CTRL_RUN_IN_FLASH_ONLY
|
||||
bool "Put all BLE Controller code in flash"
|
||||
default n
|
||||
help
|
||||
If this option is enabled, all code for the Bluetooth controller will be moved from ROM and IRAM
|
||||
to flash, saving over 20K bytes of memory. However, it will require more flash resources and the
|
||||
performance of Bluetooth will decrease If this option is enabled, Bluetooth may not work properly
|
||||
during erasing flash. It is recommended to turn on the auto suspend function of flash. After auto
|
||||
suspend is turned on, Bluetooth interrupts can be executed normally during erasing flash, with less
|
||||
impact on Bluetooth performance.
|
||||
|
||||
config BT_CTRL_DTM_ENABLE
|
||||
depends on BT_CTRL_RUN_IN_FLASH_ONLY
|
||||
bool "Enable direct test mode feature"
|
||||
default n
|
||||
|
||||
config BT_CTRL_BLE_MASTER
|
||||
depends on BT_CTRL_RUN_IN_FLASH_ONLY
|
||||
bool "Enable BLE master role feature"
|
||||
default y
|
||||
|
||||
config BT_CTRL_BLE_TEST
|
||||
depends on BT_CTRL_RUN_IN_FLASH_ONLY
|
||||
bool "Enable BLE QA test feature"
|
||||
default n
|
||||
|
||||
config BT_CTRL_BLE_SCAN
|
||||
depends on BT_CTRL_RUN_IN_FLASH_ONLY
|
||||
bool "Enable BLE scan feature"
|
||||
default y
|
||||
|
||||
config BT_CTRL_BLE_SECURITY_ENABLE
|
||||
depends on BT_CTRL_RUN_IN_FLASH_ONLY && BT_CONTROLLER_ONLY
|
||||
bool "Enable BLE security feature"
|
||||
default y
|
||||
|
@ -499,7 +499,11 @@ static int interrupt_alloc_wrapper(int cpu_id, int source, intr_handler_t handle
|
||||
{
|
||||
btdm_isr_alloc_t p;
|
||||
p.source = source;
|
||||
#if CONFIG_BT_CTRL_RUN_IN_FLASH_ONLY
|
||||
p.flags = ESP_INTR_FLAG_LEVEL3;
|
||||
#else
|
||||
p.flags = ESP_INTR_FLAG_LEVEL3 | ESP_INTR_FLAG_IRAM;
|
||||
#endif
|
||||
p.fn = handler;
|
||||
p.arg = arg;
|
||||
p.handle = (intr_handle_t *)ret_handle;
|
||||
@ -1426,6 +1430,10 @@ esp_err_t esp_bt_controller_init(esp_bt_controller_config_t *cfg)
|
||||
|
||||
ESP_LOGI(BT_LOG_TAG, "BT controller compile version [%s]", btdm_controller_get_compile_version());
|
||||
|
||||
#if (CONFIG_BT_CTRL_RUN_IN_FLASH_ONLY)
|
||||
ESP_LOGI(BT_LOG_TAG,"Put all controller code in flash");
|
||||
#endif
|
||||
|
||||
if ((err = btdm_low_power_mode_init(cfg)) != ESP_OK) {
|
||||
ESP_LOGE(BT_LOG_TAG, "Low power module initialization failed");
|
||||
goto error;
|
||||
|
Submodule components/bt/controller/lib_esp32c3_family updated: eeb2782618...6470c01165
Submodule components/bt/controller/lib_esp32c6/esp32c6-bt-lib updated: 69f16a7a63...b86a06d38c
Submodule components/bt/controller/lib_esp32h2/esp32h2-bt-lib updated: 50f567fff5...90f1ef76ab
@ -175,8 +175,7 @@ bool btc_avrc_ct_init_p(void)
|
||||
bool btc_avrc_tg_connected_p(void)
|
||||
{
|
||||
return (s_rc_tg_init == BTC_RC_TG_INIT_MAGIC) &&
|
||||
(btc_rc_cb.rc_connected == TRUE) &&
|
||||
(btc_rc_cb.rc_features & BTA_AV_FEAT_RCCT);
|
||||
(btc_rc_cb.rc_connected == TRUE);
|
||||
}
|
||||
|
||||
bool btc_avrc_ct_connected_p(void)
|
||||
@ -507,7 +506,7 @@ static void handle_rc_connect (tBTA_AV_RC_OPEN *p_rc_open)
|
||||
btc_avrc_ct_cb_to_app(ESP_AVRC_CT_CONNECTION_STATE_EVT, ¶m);
|
||||
}
|
||||
|
||||
if (p_rc_open->peer_features & BTA_AV_FEAT_RCCT) {
|
||||
if (btc_avrc_tg_init_p()) {
|
||||
esp_avrc_tg_cb_param_t param;
|
||||
memset(¶m, 0, sizeof(esp_avrc_tg_cb_param_t));
|
||||
param.conn_stat.connected = true;
|
||||
@ -580,7 +579,7 @@ static void handle_rc_disconnect (tBTA_AV_RC_CLOSE *p_rc_close)
|
||||
btc_avrc_ct_cb_to_app(ESP_AVRC_CT_CONNECTION_STATE_EVT, ¶m);
|
||||
}
|
||||
|
||||
if (rc_features & BTA_AV_FEAT_RCCT) {
|
||||
if (btc_avrc_tg_init_p()) {
|
||||
esp_avrc_tg_cb_param_t param;
|
||||
memset(¶m, 0, sizeof(esp_avrc_ct_cb_param_t));
|
||||
param.conn_stat.connected = false;
|
||||
@ -1006,14 +1005,10 @@ void btc_rc_handler(tBTA_AV_EVT event, tBTA_AV *p_data)
|
||||
memcpy(param.conn_stat.remote_bda, btc_rc_cb.rc_addr, sizeof(esp_bd_addr_t));
|
||||
btc_avrc_ct_cb_to_app(ESP_AVRC_CT_CONNECTION_STATE_EVT, ¶m);
|
||||
}
|
||||
if ((p_data->rc_feat.peer_features & BTA_AV_FEAT_RCCT) &&
|
||||
!(old_feats & BTA_AV_FEAT_RCCT)) {
|
||||
esp_avrc_tg_cb_param_t param;
|
||||
memset(¶m, 0, sizeof(esp_avrc_ct_cb_param_t));
|
||||
param.conn_stat.connected = true;
|
||||
memcpy(param.conn_stat.remote_bda, btc_rc_cb.rc_addr, sizeof(esp_bd_addr_t));
|
||||
btc_avrc_tg_cb_to_app(ESP_AVRC_TG_CONNECTION_STATE_EVT, ¶m);
|
||||
}
|
||||
/**
|
||||
* @note ESP_AVRC_TG_CONNECTION_STATE_EVT has been reported on rc connect/disconnect event,
|
||||
* it doesn't rely on the SDP results.
|
||||
*/
|
||||
} while (0);
|
||||
btc_rc_cb.rc_features = p_data->rc_feat.peer_features;
|
||||
btc_rc_cb.rc_ct_features = p_data->rc_feat.peer_ct_features;
|
||||
|
@ -11,11 +11,13 @@
|
||||
#include "esp_gap_ble_api.h"
|
||||
|
||||
#if BTC_DYNAMIC_MEMORY == TRUE
|
||||
#if (BLE_42_FEATURE_SUPPORT == TRUE)
|
||||
#include "bta/bta_api.h"
|
||||
extern tBTA_BLE_ADV_DATA *gl_bta_adv_data_ptr;
|
||||
extern tBTA_BLE_ADV_DATA *gl_bta_scan_rsp_data_ptr;
|
||||
#define gl_bta_adv_data (*gl_bta_adv_data_ptr)
|
||||
#define gl_bta_scan_rsp_data (*gl_bta_scan_rsp_data_ptr)
|
||||
#endif // BLE_42_FEATURE_SUPPORT
|
||||
#endif
|
||||
|
||||
#define BLE_ISVALID_PARAM(x, min, max) (((x) >= (min) && (x) <= (max)))
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2015-2023 Espressif Systems (Shanghai) CO LTD
|
||||
* SPDX-FileCopyrightText: 2015-2024 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
@ -281,7 +281,7 @@ static void close_timeout_handler(void *arg)
|
||||
status = btc_transfer_context(&msg, slot->alarm_arg, sizeof(tBTA_JV), NULL, NULL);
|
||||
|
||||
if (slot->alarm_arg) {
|
||||
free(slot->alarm_arg);
|
||||
osi_free(slot->alarm_arg);
|
||||
slot->alarm_arg = NULL;
|
||||
}
|
||||
|
||||
@ -832,7 +832,7 @@ void btc_l2cap_cb_handler(btc_msg_t *msg)
|
||||
// if rx still has data, delay free slot
|
||||
if (slot->close_alarm == NULL && slot->rx.queue && fixed_queue_length(slot->rx.queue) > 0) {
|
||||
tBTA_JV *p_arg = NULL;
|
||||
if ((p_arg = malloc(sizeof(tBTA_JV))) == NULL) {
|
||||
if ((p_arg = osi_malloc(sizeof(tBTA_JV))) == NULL) {
|
||||
param.close.status = ESP_BT_L2CAP_NO_RESOURCE;
|
||||
osi_mutex_unlock(&l2cap_local_param.l2cap_slot_mutex);
|
||||
BTC_TRACE_ERROR("%s unable to malloc slot close_alarm arg!", __func__);
|
||||
@ -842,7 +842,7 @@ void btc_l2cap_cb_handler(btc_msg_t *msg)
|
||||
slot->alarm_arg = (void *)p_arg;
|
||||
if ((slot->close_alarm =
|
||||
osi_alarm_new("slot", close_timeout_handler, (void *)slot, VFS_CLOSE_TIMEOUT)) == NULL) {
|
||||
free(p_arg);
|
||||
osi_free(p_arg);
|
||||
slot->alarm_arg = NULL;
|
||||
param.close.status = ESP_BT_L2CAP_NO_RESOURCE;
|
||||
osi_mutex_unlock(&l2cap_local_param.l2cap_slot_mutex);
|
||||
@ -850,7 +850,7 @@ void btc_l2cap_cb_handler(btc_msg_t *msg)
|
||||
break;
|
||||
}
|
||||
if (osi_alarm_set(slot->close_alarm, VFS_CLOSE_TIMEOUT) != OSI_ALARM_ERR_PASS) {
|
||||
free(p_arg);
|
||||
osi_free(p_arg);
|
||||
slot->alarm_arg = NULL;
|
||||
osi_alarm_free(slot->close_alarm);
|
||||
param.close.status = ESP_BT_L2CAP_BUSY;
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2015-2023 Espressif Systems (Shanghai) CO LTD
|
||||
* SPDX-FileCopyrightText: 2015-2024 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
@ -1199,7 +1199,7 @@ void btc_spp_cb_handler(btc_msg_t *msg)
|
||||
slot->alarm_arg = (void *)p_arg;
|
||||
if ((slot->close_alarm =
|
||||
osi_alarm_new("slot", close_timeout_handler, (void *)slot, VFS_CLOSE_TIMEOUT)) == NULL) {
|
||||
free(p_arg);
|
||||
osi_free(p_arg);
|
||||
slot->alarm_arg = NULL;
|
||||
param.close.status = ESP_SPP_NO_RESOURCE;
|
||||
osi_mutex_unlock(&spp_local_param.spp_slot_mutex);
|
||||
@ -1207,7 +1207,7 @@ void btc_spp_cb_handler(btc_msg_t *msg)
|
||||
break;
|
||||
}
|
||||
if (osi_alarm_set(slot->close_alarm, VFS_CLOSE_TIMEOUT) != OSI_ALARM_ERR_PASS) {
|
||||
free(p_arg);
|
||||
osi_free(p_arg);
|
||||
slot->alarm_arg = NULL;
|
||||
osi_alarm_free(slot->close_alarm);
|
||||
param.close.status = ESP_SPP_BUSY;
|
||||
@ -1488,7 +1488,7 @@ static ssize_t spp_vfs_write(int fd, const void * data, size_t size)
|
||||
BTC_TRACE_DEBUG("%s items_waiting:%d, fd:%d\n", __func__, items_waiting, fd);
|
||||
osi_mutex_unlock(&spp_local_param.spp_slot_mutex);
|
||||
|
||||
// block untill under water level, be closed or time out
|
||||
// block until under water level, be closed or time out
|
||||
tx_event_group_val =
|
||||
xEventGroupWaitBits(spp_local_param.tx_event_group, SLOT_WRITE_BIT(serial) | SLOT_CLOSE_BIT(serial), pdTRUE,
|
||||
pdFALSE, VFS_WRITE_TIMEOUT / portTICK_PERIOD_MS);
|
||||
|
@ -593,7 +593,11 @@ static int host_recv_pkt_cb(uint8_t *data, uint16_t len)
|
||||
}
|
||||
#endif
|
||||
pkt_size = BT_PKT_LINKED_HDR_SIZE + BT_HDR_SIZE + len;
|
||||
#if HEAP_MEMORY_DEBUG
|
||||
linked_pkt = (pkt_linked_item_t *) osi_calloc(pkt_size);
|
||||
#else
|
||||
linked_pkt = (pkt_linked_item_t *) osi_calloc_base(pkt_size);
|
||||
#endif
|
||||
if (!linked_pkt) {
|
||||
#if (BLE_ADV_REPORT_FLOW_CONTROL == TRUE)
|
||||
hci_adv_credits_consumed(1);
|
||||
|
@ -219,7 +219,6 @@ static void parse_ble_read_adv_max_len_response(
|
||||
// Size: 2 Octets ; Value: 0x001F – 0x0672 ; Maximum supported advertising data length
|
||||
STREAM_TO_UINT16(*adv_max_len_ptr, stream);
|
||||
}
|
||||
|
||||
osi_free(response);
|
||||
}
|
||||
#endif // #if (BLE_50_FEATURE_SUPPORT == TRUE)
|
||||
|
@ -110,6 +110,9 @@ void btm_free(void)
|
||||
fixed_queue_free(btm_cb.sec_pending_q, osi_free_func);
|
||||
btm_acl_free();
|
||||
btm_sec_dev_free();
|
||||
#if BTM_SCO_INCLUDED == TRUE
|
||||
btm_sco_free();
|
||||
#endif
|
||||
#if BTM_DYNAMIC_MEMORY
|
||||
FREE_AND_RESET(btm_cb_ptr);
|
||||
#endif
|
||||
|
@ -123,6 +123,22 @@ void btm_sco_init (void)
|
||||
btm_cb.sco_cb.desired_sco_mode = BTM_DEFAULT_SCO_MODE;
|
||||
}
|
||||
|
||||
/*******************************************************************************
|
||||
**
|
||||
** Function btm_sco_free
|
||||
**
|
||||
** Description Free sco specific fixed_queue from btm control block
|
||||
**
|
||||
*******************************************************************************/
|
||||
void btm_sco_free(void)
|
||||
{
|
||||
#if (BTM_SCO_HCI_INCLUDED == TRUE)
|
||||
for (int i = 0; i < BTM_MAX_SCO_LINKS; i++) {
|
||||
fixed_queue_free(btm_cb.sco_cb.sco_db[i].xmit_data_q, osi_free_func);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
/*******************************************************************************
|
||||
**
|
||||
** Function btm_esco_conn_rsp
|
||||
@ -233,7 +249,7 @@ void btm_sco_process_num_bufs (UINT16 num_lm_sco_bufs)
|
||||
** pointer is used, PCM parameter maintained in
|
||||
** the control block will be used; otherwise update
|
||||
** control block value.
|
||||
** err_data_rpt: Lisbon feature to enable the erronous data report
|
||||
** err_data_rpt: Lisbon feature to enable the erroneous data report
|
||||
** or not.
|
||||
**
|
||||
** Returns BTM_SUCCESS if the successful.
|
||||
@ -947,7 +963,7 @@ void btm_sco_conn_req (BD_ADDR bda, DEV_CLASS dev_class, UINT8 link_type)
|
||||
for (xx = 0; xx < BTM_MAX_SCO_LINKS; xx++, p++) {
|
||||
/*
|
||||
* If the sco state is in the SCO_ST_CONNECTING state, we still need
|
||||
* to return accept sco to avoid race conditon for sco creation
|
||||
* to return accept sco to avoid race condition for sco creation
|
||||
*/
|
||||
int rem_bd_matches = p->rem_bd_known &&
|
||||
!memcmp (p->esco.data.bd_addr, bda, BD_ADDR_LEN);
|
||||
|
@ -1119,6 +1119,7 @@ void btm_ble_periodic_adv_sync_trans_complete(UINT16 op_code, UINT8 hci_status,
|
||||
********************************************
|
||||
*/
|
||||
void btm_sco_init (void);
|
||||
void btm_sco_free(void);
|
||||
void btm_sco_connected (UINT8 hci_status, BD_ADDR bda, UINT16 hci_handle,
|
||||
tBTM_ESCO_DATA *p_esco_data);
|
||||
void btm_esco_proc_conn_chg (UINT8 status, UINT16 handle, UINT8 tx_interval,
|
||||
|
@ -19,7 +19,7 @@ extern "C" {
|
||||
#endif
|
||||
|
||||
#define ESP_BT_CTRL_CONFIG_MAGIC_VAL 0x5A5AA5A5
|
||||
#define ESP_BT_CTRL_CONFIG_VERSION 0x02409260
|
||||
#define ESP_BT_CTRL_CONFIG_VERSION 0x02410230
|
||||
|
||||
#define ESP_BT_HCI_TL_MAGIC_VALUE 0xfadebead
|
||||
#define ESP_BT_HCI_TL_VERSION 0x00010000
|
||||
@ -236,6 +236,60 @@ typedef void (* esp_bt_hci_tl_callback_t) (void *arg, uint8_t status);
|
||||
#endif
|
||||
|
||||
#define BT_CTRL_BLE_LLCP_DISC_FLAG (BT_CTRL_BLE_LLCP_CONN_UPDATE | BT_CTRL_BLE_LLCP_CHAN_MAP_UPDATE | BT_CTRL_BLE_LLCP_PHY_UPDATE)
|
||||
#if defined(CONFIG_BT_CTRL_RUN_IN_FLASH_ONLY)
|
||||
#define BT_CTRL_RUN_IN_FLASH_ONLY CONFIG_BT_CTRL_RUN_IN_FLASH_ONLY
|
||||
#else
|
||||
#define BT_CTRL_RUN_IN_FLASH_ONLY (0)
|
||||
#endif
|
||||
|
||||
#if (BT_CTRL_RUN_IN_FLASH_ONLY == 1)
|
||||
|
||||
#if defined(CONFIG_BT_CTRL_DTM_ENABLE)
|
||||
#define BT_CTRL_DTM_ENABLE CONFIG_BT_CTRL_DTM_ENABLE
|
||||
#else
|
||||
#define BT_CTRL_DTM_ENABLE (0)
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_BT_CTRL_BLE_MASTER)
|
||||
#define BT_CTRL_BLE_MASTER CONFIG_BT_CTRL_BLE_MASTER
|
||||
#else
|
||||
#define BT_CTRL_BLE_MASTER (0)
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_BT_CTRL_BLE_TEST)
|
||||
#define BT_CTRL_BLE_TEST CONFIG_BT_CTRL_BLE_TEST
|
||||
#else
|
||||
#define BT_CTRL_BLE_TEST (0)
|
||||
#endif
|
||||
|
||||
#if defined (CONFIG_BT_NIMBLE_SECURITY_ENABLE) || defined (CONFIG_BT_BLE_SMP_ENABLE)
|
||||
#ifdef CONFIG_BT_NIMBLE_SECURITY_ENABLE
|
||||
#define BLE_SECURITY_ENABLE (CONFIG_BT_NIMBLE_SECURITY_ENABLE)
|
||||
#endif //CONFIG_BT_NIMBLE_SECURITY_ENABLE
|
||||
#ifdef CONFIG_BT_BLE_SMP_ENABLE
|
||||
#define BLE_SECURITY_ENABLE (CONFIG_BT_BLE_SMP_ENABLE)
|
||||
#endif //CONFIG_BT_BLE_SMP_ENABLE
|
||||
#else
|
||||
#if defined (CONFIG_BT_CTRL_BLE_SECURITY_ENABLE)
|
||||
#define BLE_SECURITY_ENABLE (CONFIG_BT_CTRL_BLE_SECURITY_ENABLE)
|
||||
#else
|
||||
#define BLE_SECURITY_ENABLE (0)
|
||||
#endif
|
||||
#endif // (CONFIG_BT_NIMBLE_SECURITY_ENABLE) || (CONFIG_BT_BLE_SMP_ENABLE)
|
||||
|
||||
#if defined (CONFIG_BT_CTRL_BLE_SCAN)
|
||||
#define BT_CTRL_BLE_SCAN CONFIG_BT_CTRL_BLE_SCAN
|
||||
#else
|
||||
#define BT_CTRL_BLE_SCAN (0)
|
||||
#endif
|
||||
|
||||
#else
|
||||
#define BT_CTRL_BLE_MASTER (1)
|
||||
#define BT_CTRL_DTM_ENABLE (1)
|
||||
#define BT_CTRL_BLE_TEST (1)
|
||||
#define BLE_SECURITY_ENABLE (1)
|
||||
#define BT_CTRL_BLE_SCAN (1)
|
||||
#endif // (BT_CTRL_RUN_IN_FLASH_ONLY == 1)
|
||||
|
||||
#define BT_CONTROLLER_INIT_CONFIG_DEFAULT() { \
|
||||
.magic = ESP_BT_CTRL_CONFIG_MAGIC_VAL, \
|
||||
@ -276,6 +330,12 @@ typedef void (* esp_bt_hci_tl_callback_t) (void *arg, uint8_t status);
|
||||
.ble_chan_ass_en = BT_CTRL_CHAN_ASS_EN, \
|
||||
.ble_ping_en = BT_CTRL_LE_PING_EN, \
|
||||
.ble_llcp_disc_flag = BT_CTRL_BLE_LLCP_DISC_FLAG, \
|
||||
.run_in_flash = BT_CTRL_RUN_IN_FLASH_ONLY, \
|
||||
.dtm_en = BT_CTRL_DTM_ENABLE, \
|
||||
.enc_en = BLE_SECURITY_ENABLE, \
|
||||
.qa_test = BT_CTRL_BLE_TEST, \
|
||||
.master_en = BT_CTRL_BLE_MASTER, \
|
||||
.scan_en = BT_CTRL_BLE_SCAN, \
|
||||
}
|
||||
|
||||
#else
|
||||
@ -351,6 +411,12 @@ typedef struct {
|
||||
uint8_t ble_chan_ass_en; /*!< BLE channel assessment enable */
|
||||
uint8_t ble_ping_en; /*!< BLE ping procedure enable */
|
||||
uint8_t ble_llcp_disc_flag; /*!< BLE disconnect flag when instant passed */
|
||||
bool run_in_flash; /*!< Check if controller code is in flash */
|
||||
bool dtm_en; /*!< Controller DTM feature is enabled or not */
|
||||
bool enc_en; /*!< Controller encryption feature is enabled or not */
|
||||
bool qa_test; /*!< Controller QA test feature is enabled or not */
|
||||
bool master_en; /*!< Controller master feature is enabled or not */
|
||||
bool scan_en; /*!< Controller scan feature is enabled or not */
|
||||
} esp_bt_controller_config_t;
|
||||
|
||||
/**
|
||||
|
@ -1,8 +1,11 @@
|
||||
set(srcs "test_app_main.c"
|
||||
"test_ledc.c"
|
||||
"test_ledc_sleep.c"
|
||||
"test_ledc_utils.c")
|
||||
|
||||
if(CONFIG_SOC_LIGHT_SLEEP_SUPPORTED)
|
||||
list(APPEND srcs "test_ledc_sleep.c")
|
||||
endif()
|
||||
|
||||
# In order for the cases defined by `TEST_CASE` to be linked into the final elf,
|
||||
# the component can be registered as WHOLE_ARCHIVE
|
||||
idf_component_register(
|
||||
|
@ -0,0 +1,3 @@
|
||||
dependencies:
|
||||
test_utils:
|
||||
path: ${IDF_PATH}/tools/unit-test-app/components/test_utils
|
@ -5,6 +5,7 @@
|
||||
*/
|
||||
|
||||
#include "unity.h"
|
||||
#include "test_utils.h"
|
||||
#include "freertos/FreeRTOS.h"
|
||||
#include "freertos/task.h"
|
||||
#include "driver/ledc.h"
|
||||
@ -15,6 +16,7 @@
|
||||
#include "esp_private/esp_pmu.h"
|
||||
#include "soc/ledc_periph.h"
|
||||
#include "esp_private/sleep_retention.h"
|
||||
#include "esp_rom_uart.h"
|
||||
|
||||
// Note. Test cases in this file cannot run one after another without reset
|
||||
|
||||
@ -51,7 +53,7 @@ static void test_ledc_sleep_retention(bool allow_pd)
|
||||
#endif
|
||||
TEST_ESP_OK(esp_sleep_enable_timer_wakeup(2 * 1000 * 1000));
|
||||
|
||||
printf("go to light sleep for 2 seconds\n");
|
||||
printf("Go to light sleep for 2 seconds\n");
|
||||
TEST_ESP_OK(esp_light_sleep_start());
|
||||
printf("Waked up! Let's see if LEDC peripheral can still work...\n");
|
||||
|
||||
@ -59,7 +61,7 @@ static void test_ledc_sleep_retention(bool allow_pd)
|
||||
TEST_ESP_OK(sleep_cpu_configure(false));
|
||||
#endif
|
||||
|
||||
printf("check if the sleep happened as expected\r\n");
|
||||
printf("Check if the sleep happened as expected\r\n");
|
||||
TEST_ASSERT_EQUAL(0, sleep_ctx.sleep_request_result);
|
||||
#if SOC_PMU_SUPPORTED
|
||||
// check if the TOP power domain on/off as desired
|
||||
@ -97,3 +99,61 @@ TEST_CASE("ledc can output after light sleep (LEDC power domain pd)", "[ledc]")
|
||||
sleep_retention_module_deinit(module);
|
||||
}
|
||||
#endif
|
||||
|
||||
#if SOC_PCNT_SUPPORTED
|
||||
static const ledc_clk_src_t test_ledc_clk_in_slp[] = {
|
||||
LEDC_USE_RC_FAST_CLK,
|
||||
#if SOC_LEDC_SUPPORT_XTAL_CLOCK
|
||||
LEDC_USE_XTAL_CLK,
|
||||
#endif
|
||||
};
|
||||
|
||||
static const int test_clks_num = sizeof(test_ledc_clk_in_slp) / sizeof(test_ledc_clk_in_slp[0]);
|
||||
|
||||
static void ledc_output_monitor(void)
|
||||
{
|
||||
setup_testbench();
|
||||
|
||||
for (int i = 0; i < test_clks_num; i++) {
|
||||
unity_wait_for_signal("Go to light sleep for 3 seconds");
|
||||
vTaskDelay(500 / portTICK_PERIOD_MS);
|
||||
int pulse_count = wave_count(1000);
|
||||
uint32_t acceptable_delta = (test_ledc_clk_in_slp[i] == (ledc_clk_src_t)LEDC_USE_RC_FAST_CLK) ? 20 : 5; // RC_FAST as the clk src has a bigger error range is reasonable
|
||||
TEST_ASSERT_UINT32_WITHIN(acceptable_delta, TEST_PWM_LOW_FREQ, pulse_count);
|
||||
unity_wait_for_signal("Waked up!");
|
||||
}
|
||||
|
||||
tear_testbench();
|
||||
}
|
||||
|
||||
static void ledc_output_in_sleep(void)
|
||||
{
|
||||
TEST_ESP_OK(esp_sleep_enable_timer_wakeup(3 * 1000 * 1000));
|
||||
|
||||
ledc_channel_config_t ledc_ch_config = initialize_channel_config();
|
||||
ledc_ch_config.speed_mode = LEDC_LOW_SPEED_MODE;
|
||||
ledc_ch_config.sleep_mode = LEDC_SLEEP_MODE_KEEP_ALIVE;
|
||||
TEST_ESP_OK(ledc_channel_config(&ledc_ch_config));
|
||||
|
||||
for (int i = 0; i < test_clks_num; i++) {
|
||||
ledc_timer_config_t ledc_time_config = create_default_timer_config();
|
||||
ledc_time_config.speed_mode = LEDC_LOW_SPEED_MODE;
|
||||
ledc_time_config.clk_cfg = test_ledc_clk_in_slp[i];
|
||||
ledc_time_config.freq_hz = TEST_PWM_LOW_FREQ;
|
||||
TEST_ESP_OK(ledc_timer_config(&ledc_time_config));
|
||||
|
||||
TEST_ESP_OK(ledc_update_duty(ledc_ch_config.speed_mode, ledc_ch_config.channel));
|
||||
|
||||
unity_send_signal("Go to light sleep for 3 seconds");
|
||||
esp_rom_output_tx_wait_idle(CONFIG_ESP_CONSOLE_ROM_SERIAL_PORT_NUM); // wait until the signal sent
|
||||
TEST_ESP_OK(esp_light_sleep_start());
|
||||
unity_send_signal("Waked up!");
|
||||
|
||||
TEST_ESP_OK(ledc_timer_pause(ledc_time_config.speed_mode, ledc_time_config.timer_num));
|
||||
ledc_time_config.deconfigure = 1;
|
||||
TEST_ESP_OK(ledc_timer_config(&ledc_time_config));
|
||||
}
|
||||
}
|
||||
|
||||
TEST_CASE_MULTIPLE_DEVICES("ledc can output during light sleep", "[ledc][test_env=generic_multi_device]", ledc_output_in_sleep, ledc_output_monitor);
|
||||
#endif // SOC_PCNT_SUPPORTED
|
||||
|
@ -9,7 +9,8 @@
|
||||
|
||||
#define PULSE_IO 5
|
||||
|
||||
#define TEST_PWM_FREQ 2000
|
||||
#define TEST_PWM_FREQ 2000
|
||||
#define TEST_PWM_LOW_FREQ 200
|
||||
|
||||
#if SOC_LEDC_SUPPORT_HS_MODE
|
||||
#define TEST_SPEED_MODE LEDC_HIGH_SPEED_MODE
|
||||
|
@ -32,3 +32,19 @@ def test_ledc(dut: IdfDut) -> None:
|
||||
)
|
||||
def test_ledc_psram(dut: IdfDut) -> None:
|
||||
dut.run_all_single_board_cases(reset=True)
|
||||
|
||||
|
||||
@pytest.mark.supported_targets
|
||||
@pytest.mark.temp_skip_ci(targets=['esp32s3', 'esp32c61'],
|
||||
reason='s3 multi device runner has no psram, c61 lack of runner IDF-10949')
|
||||
@pytest.mark.generic_multi_device
|
||||
@pytest.mark.parametrize(
|
||||
'count, config',
|
||||
[
|
||||
(2, 'iram_safe',),
|
||||
(2, 'release',),
|
||||
],
|
||||
indirect=True
|
||||
)
|
||||
def test_ledc_multi_device(case_tester) -> None: # type: ignore
|
||||
case_tester.run_all_multi_dev_cases(reset=True)
|
||||
|
@ -405,6 +405,10 @@ esp_err_t mcpwm_generator_set_dead_time(mcpwm_gen_handle_t in_generator, mcpwm_g
|
||||
mcpwm_ll_deadtime_set_falling_delay(hal->dev, oper_id, config->negedge_delay_ticks);
|
||||
}
|
||||
|
||||
if (delay_on_both_edge && in_generator->gen_id == 0 && oper->generators[1]) {
|
||||
ESP_LOGW(TAG, "generator B will not function correctly. To set deadtime on both edges for one generator while bypassing the deadtime for the other, please set the deadtime for generator B only.");
|
||||
}
|
||||
|
||||
ESP_LOGD(TAG, "operator (%d,%d) dead time (R:%"PRIu32",F:%"PRIu32"), topology code:%"PRIx32, group->group_id, oper_id,
|
||||
config->posedge_delay_ticks, config->negedge_delay_ticks, mcpwm_ll_deadtime_get_switch_topology(hal->dev, oper_id));
|
||||
return ESP_OK;
|
||||
|
@ -28,6 +28,7 @@
|
||||
#include "hal/gpio_hal.h"
|
||||
#include "esp_private/esp_clk.h"
|
||||
#include "esp_private/periph_ctrl.h"
|
||||
#include "esp_private/sleep_retention.h"
|
||||
#include "driver/gpio.h"
|
||||
#include "esp_private/gpio.h"
|
||||
#include "hal/gpio_ll.h" // for io_loop_back flag only
|
||||
@ -65,6 +66,13 @@ typedef struct pcnt_group_t pcnt_group_t;
|
||||
typedef struct pcnt_unit_t pcnt_unit_t;
|
||||
typedef struct pcnt_chan_t pcnt_chan_t;
|
||||
|
||||
// Use retention link only when the target supports sleep retention
|
||||
#define PCNT_USE_RETENTION_LINK (SOC_PCNT_SUPPORT_SLEEP_RETENTION && CONFIG_PM_POWER_DOWN_PERIPHERAL_IN_LIGHT_SLEEP)
|
||||
|
||||
#if PCNT_USE_RETENTION_LINK
|
||||
static esp_err_t pcnt_create_sleep_retention_link_cb(void *arg);
|
||||
#endif
|
||||
|
||||
struct pcnt_platform_t {
|
||||
_lock_t mutex; // platform level mutex lock
|
||||
pcnt_group_t *groups[SOC_PCNT_GROUPS]; // pcnt group pool
|
||||
@ -864,6 +872,23 @@ static pcnt_group_t *pcnt_acquire_group_handle(int group_id)
|
||||
pcnt_ll_enable_bus_clock(group_id, true);
|
||||
pcnt_ll_reset_register(group_id);
|
||||
}
|
||||
#if PCNT_USE_RETENTION_LINK
|
||||
sleep_retention_module_t module_id = pcnt_reg_retention_info[group_id].retention_module;
|
||||
sleep_retention_module_init_param_t init_param = {
|
||||
.cbs = {
|
||||
.create = {
|
||||
.handle = pcnt_create_sleep_retention_link_cb,
|
||||
.arg = group,
|
||||
},
|
||||
},
|
||||
.depends = SLEEP_RETENTION_MODULE_BM_CLOCK_SYSTEM
|
||||
};
|
||||
// we only do retention init here. Allocate retention module in the unit initialization
|
||||
if (sleep_retention_module_init(module_id, &init_param) != ESP_OK) {
|
||||
// even though the sleep retention module init failed, PCNT driver should still work, so just warning here
|
||||
ESP_LOGW(TAG, "init sleep retention failed %d, power domain may be turned off during sleep", group_id);
|
||||
}
|
||||
#endif // PCNT_USE_RETENTION_LINK
|
||||
// initialize HAL context
|
||||
pcnt_hal_init(&group->hal, group_id);
|
||||
}
|
||||
@ -901,6 +926,12 @@ static void pcnt_release_group_handle(pcnt_group_t *group)
|
||||
_lock_release(&s_platform.mutex);
|
||||
|
||||
if (do_deinitialize) {
|
||||
#if PCNT_USE_RETENTION_LINK
|
||||
const periph_retention_module_t module_id = pcnt_reg_retention_info[group_id].retention_module;
|
||||
if (sleep_retention_get_inited_modules() & BIT(module_id)) {
|
||||
sleep_retention_module_deinit(module_id);
|
||||
}
|
||||
#endif // PCNT_USE_RETENTION_LINK
|
||||
free(group);
|
||||
ESP_LOGD(TAG, "del group (%d)", group_id);
|
||||
}
|
||||
@ -998,3 +1029,17 @@ IRAM_ATTR static void pcnt_default_isr(void *args)
|
||||
portYIELD_FROM_ISR();
|
||||
}
|
||||
}
|
||||
|
||||
#if PCNT_USE_RETENTION_LINK
|
||||
static esp_err_t pcnt_create_sleep_retention_link_cb(void *arg)
|
||||
{
|
||||
pcnt_group_t *group = (pcnt_group_t *)arg;
|
||||
int group_id = group->group_id;
|
||||
sleep_retention_module_t module_id = pcnt_reg_retention_info[group_id].retention_module;
|
||||
esp_err_t err = sleep_retention_entries_create(pcnt_reg_retention_info[group_id].regdma_entry_array,
|
||||
pcnt_reg_retention_info[group_id].array_size,
|
||||
REGDMA_LINK_PRI_PCNT, module_id);
|
||||
ESP_RETURN_ON_ERROR(err, TAG, "create retention link failed");
|
||||
return ESP_OK;
|
||||
}
|
||||
#endif // PCNT_USE_RETENTION_LINK
|
||||
|
@ -6,6 +6,11 @@ if(CONFIG_PCNT_ISR_IRAM_SAFE)
|
||||
list(APPEND srcs "test_pulse_cnt_iram.c")
|
||||
endif()
|
||||
|
||||
# TODO: IDF-9907 support ESP32P4
|
||||
if(CONFIG_SOC_LIGHT_SLEEP_SUPPORTED AND CONFIG_PM_ENABLE AND NOT CONFIG_IDF_TARGET_ESP32P4)
|
||||
list(APPEND srcs "test_pulse_cnt_sleep.c")
|
||||
endif()
|
||||
|
||||
# In order for the cases defined by `TEST_CASE` to be linked into the final elf,
|
||||
# the component can be registered as WHOLE_ARCHIVE
|
||||
idf_component_register(SRCS ${srcs}
|
||||
|
@ -0,0 +1,141 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2022-2024 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include "sdkconfig.h"
|
||||
#include "freertos/FreeRTOS.h"
|
||||
#include "freertos/task.h"
|
||||
#include "freertos/semphr.h"
|
||||
#include "unity.h"
|
||||
#include "unity_test_utils.h"
|
||||
#include "driver/pulse_cnt.h"
|
||||
#include "driver/gpio.h"
|
||||
#include "spi_flash_mmap.h"
|
||||
#include "esp_attr.h"
|
||||
#include "esp_sleep.h"
|
||||
#include "soc/soc_caps.h"
|
||||
#include "soc/pcnt_struct.h"
|
||||
#include "hal/pcnt_ll.h"
|
||||
#include "test_pulse_cnt_board.h"
|
||||
#include "esp_private/sleep_cpu.h"
|
||||
#include "esp_private/esp_sleep_internal.h"
|
||||
#include "esp_private/esp_pmu.h"
|
||||
|
||||
/**
|
||||
* @brief Test the PCNT driver can still work after light sleep
|
||||
*/
|
||||
static void test_pcnt_sleep_retention(void)
|
||||
{
|
||||
test_gpio_init_for_simulation(TEST_PCNT_GPIO_A);
|
||||
test_gpio_init_for_simulation(TEST_PCNT_GPIO_B);
|
||||
|
||||
printf("install pcnt units\r\n");
|
||||
pcnt_unit_config_t unit_config = {
|
||||
.low_limit = -100,
|
||||
.high_limit = 100,
|
||||
};
|
||||
pcnt_unit_handle_t units[2];
|
||||
for (int i = 0; i < 2; i++) {
|
||||
TEST_ESP_OK(pcnt_new_unit(&unit_config, &units[i]));
|
||||
}
|
||||
|
||||
printf("install pcnt channels\r\n");
|
||||
const int channel_gpios[] = {TEST_PCNT_GPIO_A, TEST_PCNT_GPIO_B};
|
||||
pcnt_chan_config_t chan_config = {
|
||||
.level_gpio_num = -1,
|
||||
};
|
||||
pcnt_channel_handle_t chans[2];
|
||||
for (int i = 0; i < 2; i++) {
|
||||
chan_config.edge_gpio_num = channel_gpios[i];
|
||||
TEST_ESP_OK(pcnt_new_channel(units[i], &chan_config, &chans[i]));
|
||||
TEST_ESP_OK(pcnt_channel_set_edge_action(chans[i], PCNT_CHANNEL_EDGE_ACTION_INCREASE, PCNT_CHANNEL_EDGE_ACTION_HOLD));
|
||||
TEST_ESP_OK(pcnt_channel_set_level_action(chans[i], PCNT_CHANNEL_LEVEL_ACTION_KEEP, PCNT_CHANNEL_LEVEL_ACTION_KEEP));
|
||||
}
|
||||
|
||||
printf("enable and start unit\r\n");
|
||||
for (int i = 0; i < 2; i++) {
|
||||
TEST_ESP_OK(pcnt_unit_enable(units[i]));
|
||||
TEST_ESP_OK(pcnt_unit_start(units[i]));
|
||||
}
|
||||
|
||||
// trigger 10 rising edge on GPIO
|
||||
test_gpio_simulate_rising_edge(TEST_PCNT_GPIO_A, 10);
|
||||
test_gpio_simulate_rising_edge(TEST_PCNT_GPIO_B, 10);
|
||||
|
||||
int count_value = 0;
|
||||
for (int i = 0; i < 2; i++) {
|
||||
TEST_ESP_OK(pcnt_unit_get_count(units[i], &count_value));
|
||||
TEST_ASSERT_EQUAL(10, count_value);
|
||||
}
|
||||
|
||||
// hold GPIO to avoid trigger PCNT counter during GPIO power down
|
||||
gpio_hold_en(TEST_PCNT_GPIO_A);
|
||||
gpio_hold_en(TEST_PCNT_GPIO_B);
|
||||
|
||||
printf("stop and disable unit before sleep\r\n");
|
||||
for (int i = 0; i < 2; i++) {
|
||||
TEST_ESP_OK(pcnt_unit_stop(units[i]));
|
||||
TEST_ESP_OK(pcnt_unit_disable(units[i]));
|
||||
}
|
||||
|
||||
// go to sleep
|
||||
esp_sleep_context_t sleep_ctx;
|
||||
esp_sleep_set_sleep_context(&sleep_ctx);
|
||||
printf("go to light sleep for 1 seconds\r\n");
|
||||
#if ESP_SLEEP_POWER_DOWN_CPU
|
||||
TEST_ESP_OK(sleep_cpu_configure(true));
|
||||
#endif
|
||||
TEST_ESP_OK(esp_sleep_enable_timer_wakeup(1 * 1000 * 1000));
|
||||
TEST_ESP_OK(esp_light_sleep_start());
|
||||
|
||||
printf("Waked up! Let's see if PCNT driver can still work...\r\n");
|
||||
#if ESP_SLEEP_POWER_DOWN_CPU
|
||||
TEST_ESP_OK(sleep_cpu_configure(false));
|
||||
#endif
|
||||
|
||||
printf("check if the sleep happened as expected\r\n");
|
||||
TEST_ASSERT_EQUAL(0, sleep_ctx.sleep_request_result);
|
||||
#if SOC_PCNT_SUPPORT_SLEEP_RETENTION
|
||||
// check if the power domain also is powered down
|
||||
TEST_ASSERT_EQUAL(0, (sleep_ctx.sleep_flags) & PMU_SLEEP_PD_TOP);
|
||||
#endif
|
||||
esp_sleep_set_sleep_context(NULL);
|
||||
|
||||
gpio_hold_dis(TEST_PCNT_GPIO_A);
|
||||
gpio_hold_dis(TEST_PCNT_GPIO_B);
|
||||
|
||||
printf("enable and start unit after sleep\r\n");
|
||||
for (int i = 0; i < 2; i++) {
|
||||
TEST_ESP_OK(pcnt_unit_enable(units[i]));
|
||||
TEST_ESP_OK(pcnt_unit_start(units[i]));
|
||||
}
|
||||
|
||||
// Verify the counter still holds the value
|
||||
test_gpio_simulate_rising_edge(TEST_PCNT_GPIO_A, 10);
|
||||
test_gpio_simulate_rising_edge(TEST_PCNT_GPIO_B, 10);
|
||||
|
||||
int reg_value = 0;
|
||||
for (int i = 0; i < 2; i++) {
|
||||
// check the counter value (include accum value and register value)
|
||||
TEST_ESP_OK(pcnt_unit_get_count(units[i], &count_value));
|
||||
TEST_ASSERT_EQUAL(20, count_value);
|
||||
// check the register value
|
||||
reg_value = pcnt_ll_get_count(&PCNT, i);
|
||||
TEST_ASSERT_EQUAL(20, reg_value);
|
||||
}
|
||||
|
||||
for (int i = 0; i < 2; i++) {
|
||||
TEST_ESP_OK(pcnt_unit_stop(units[i]));
|
||||
TEST_ESP_OK(pcnt_unit_disable(units[i]));
|
||||
TEST_ESP_OK(pcnt_del_channel(chans[i]));
|
||||
TEST_ESP_OK(pcnt_del_unit(units[i]));
|
||||
}
|
||||
}
|
||||
|
||||
TEST_CASE("pcnt light sleep", "[pcnt]")
|
||||
{
|
||||
test_pcnt_sleep_retention();
|
||||
}
|
@ -1,5 +1,6 @@
|
||||
CONFIG_PM_ENABLE=y
|
||||
CONFIG_FREERTOS_USE_TICKLESS_IDLE=y
|
||||
CONFIG_PM_POWER_DOWN_PERIPHERAL_IN_LIGHT_SLEEP=y
|
||||
CONFIG_COMPILER_OPTIMIZATION_SIZE=y
|
||||
CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y
|
||||
CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT=y
|
||||
|
@ -1,2 +1,5 @@
|
||||
CONFIG_FREERTOS_HZ=1000
|
||||
CONFIG_ESP_TASK_WDT_EN=n
|
||||
|
||||
# primitives for checking sleep internal state
|
||||
CONFIG_ESP_SLEEP_DEBUG=y
|
||||
|
@ -76,20 +76,24 @@ The driver of FIFOs works as below:
|
||||
*/
|
||||
|
||||
#include <string.h>
|
||||
#include "driver/sdio_slave.h"
|
||||
#include "soc/sdio_slave_periph.h"
|
||||
#include "esp_log.h"
|
||||
#include "esp_intr_alloc.h"
|
||||
#include "freertos/FreeRTOS.h"
|
||||
|
||||
#include "soc/soc_memory_layout.h"
|
||||
#include "soc/gpio_periph.h"
|
||||
#include "soc/soc_caps.h"
|
||||
#include "soc/sdio_slave_periph.h"
|
||||
#include "esp_cpu.h"
|
||||
#include "freertos/semphr.h"
|
||||
#include "esp_private/periph_ctrl.h"
|
||||
#include "driver/gpio.h"
|
||||
#include "esp_intr_alloc.h"
|
||||
#include "esp_log.h"
|
||||
#include "hal/sdio_slave_hal.h"
|
||||
#include "hal/gpio_hal.h"
|
||||
#include "freertos/FreeRTOS.h"
|
||||
#include "freertos/semphr.h"
|
||||
#include "esp_private/periph_ctrl.h"
|
||||
#if CONFIG_PM_POWER_DOWN_PERIPHERAL_IN_LIGHT_SLEEP
|
||||
#include "esp_private/sleep_retention.h"
|
||||
#endif
|
||||
#include "driver/gpio.h"
|
||||
#include "driver/sdio_slave.h"
|
||||
|
||||
#define SDIO_SLAVE_CHECK(res, str, ret_val) do { if(!(res)){\
|
||||
SDIO_SLAVE_LOGE("%s", str);\
|
||||
@ -365,6 +369,13 @@ esp_err_t sdio_slave_initialize(sdio_slave_config_t *config)
|
||||
}
|
||||
context.intr_handle = intr_handle;
|
||||
|
||||
#if CONFIG_PM_POWER_DOWN_PERIPHERAL_IN_LIGHT_SLEEP
|
||||
r = sleep_retention_power_lock_acquire();
|
||||
if (r != ESP_OK) {
|
||||
return r;
|
||||
}
|
||||
#endif
|
||||
|
||||
r = sdio_slave_hw_init(config);
|
||||
if (r != ESP_OK) {
|
||||
return r;
|
||||
@ -378,6 +389,11 @@ void sdio_slave_deinit(void)
|
||||
{
|
||||
sdio_slave_hw_deinit();
|
||||
|
||||
#if CONFIG_PM_POWER_DOWN_PERIPHERAL_IN_LIGHT_SLEEP
|
||||
esp_err_t r = sleep_retention_power_lock_release();
|
||||
assert(r == ESP_OK);
|
||||
#endif
|
||||
|
||||
//unregister all buffers registered but returned (not loaded)
|
||||
recv_desc_t *temp_desc;
|
||||
recv_desc_t *desc;
|
||||
|
@ -1,7 +1,6 @@
|
||||
components/esp_driver_sdio/test_apps/sdio/sdio_common_tests/host_sdmmc:
|
||||
enable:
|
||||
- if: IDF_TARGET == "esp32"
|
||||
temporary: false
|
||||
reason: always use ESP32 SDMMC as host
|
||||
depends_components:
|
||||
- sdmmc
|
||||
@ -9,6 +8,10 @@ components/esp_driver_sdio/test_apps/sdio/sdio_common_tests/host_sdmmc:
|
||||
- esp_driver_sdio
|
||||
|
||||
components/esp_driver_sdio/test_apps/sdio/sdio_common_tests/sdio:
|
||||
enable:
|
||||
# There is no retention support for SDIO slave, just build and test if driver can forbid from auto light sleep.
|
||||
- if: CONFIG_NAME == "sleep_retention" and SOC_PAU_SUPPORTED == 1
|
||||
- if: CONFIG_NAME != "sleep_retention"
|
||||
disable:
|
||||
- if: SOC_SDIO_SLAVE_SUPPORTED != 1
|
||||
depends_components:
|
||||
|
@ -418,6 +418,20 @@ TEST_CASE("SDIO_SDMMC: test to host", "[sdio]")
|
||||
test_to_host(true);
|
||||
}
|
||||
|
||||
TEST_CASE("SDIO_SDMMC: test sleep retention", "[sdio_retention]")
|
||||
{
|
||||
essl_handle_t handle = NULL;
|
||||
test_sdio_param_t test_param = {
|
||||
.host_flags = SDMMC_HOST_FLAG_4BIT | SDMMC_HOST_FLAG_ALLOC_ALIGNED_BUF,
|
||||
.max_freq_khz = SDMMC_FREQ_HIGHSPEED,
|
||||
};
|
||||
//essl init and sdmmc init
|
||||
s_master_init(&test_param, &handle, NULL);
|
||||
|
||||
s_send_finish_test(handle);
|
||||
s_master_deinit();
|
||||
}
|
||||
|
||||
TEST_CASE("SDIO_SDMMC: test to host (Performance)", "[sdio_speed]")
|
||||
{
|
||||
test_to_host(false);
|
||||
|
@ -1,13 +1,30 @@
|
||||
# SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD
|
||||
# SPDX-FileCopyrightText: 2022-2024 Espressif Systems (Shanghai) CO LTD
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
|
||||
import os.path
|
||||
from typing import List
|
||||
from typing import Tuple
|
||||
|
||||
import pytest
|
||||
from pytest_embedded_idf import IdfDut
|
||||
|
||||
|
||||
def parameter_expand(existing_parameters: List[List[str]], value_list: List[str]) -> List[List[str]]:
|
||||
ret = []
|
||||
for param in existing_parameters:
|
||||
ret.extend([param + [value] for value in value_list])
|
||||
|
||||
return ret
|
||||
|
||||
|
||||
esp32_32_param = [[f'{os.path.join(os.path.dirname(__file__), "host_sdmmc")}|{os.path.join(os.path.dirname(__file__), "sdio")}', 'esp32|esp32']]
|
||||
esp32_c6_param = [[f'{os.path.join(os.path.dirname(__file__), "host_sdmmc")}|{os.path.join(os.path.dirname(__file__), "sdio")}', 'esp32|esp32c6']]
|
||||
|
||||
esp32_param_default = [pytest.param(*param) for param in parameter_expand(esp32_32_param, ['default|default'])]
|
||||
c6_param_default = [pytest.param(*param) for param in parameter_expand(esp32_c6_param, ['default|default'])]
|
||||
|
||||
c6_param_retention = [pytest.param(*param) for param in parameter_expand(esp32_c6_param, ['default|sleep_retention'])]
|
||||
|
||||
|
||||
# Normal tests
|
||||
def test_sdio_flow(dut:Tuple[IdfDut, IdfDut]) -> None:
|
||||
dut[1].expect('Press ENTER to see the list of tests')
|
||||
@ -24,11 +41,7 @@ def test_sdio_flow(dut:Tuple[IdfDut, IdfDut]) -> None:
|
||||
@pytest.mark.esp32c6
|
||||
@pytest.mark.sdio_multidev_32_c6
|
||||
@pytest.mark.parametrize('count', [2,], indirect=True)
|
||||
@pytest.mark.parametrize('app_path, target', [
|
||||
pytest.param(
|
||||
f'{os.path.join(os.path.dirname(__file__), "host_sdmmc")}|{os.path.join(os.path.dirname(__file__), "sdio")}',
|
||||
'esp32|esp32c6'),
|
||||
], indirect=True)
|
||||
@pytest.mark.parametrize('app_path, target, config', c6_param_default, indirect=True)
|
||||
def test_sdio_esp32_esp32c6(dut:Tuple[IdfDut, IdfDut]) -> None:
|
||||
test_sdio_flow(dut)
|
||||
|
||||
@ -36,11 +49,7 @@ def test_sdio_esp32_esp32c6(dut:Tuple[IdfDut, IdfDut]) -> None:
|
||||
@pytest.mark.esp32
|
||||
@pytest.mark.sdio_master_slave
|
||||
@pytest.mark.parametrize('count', [2,], indirect=True)
|
||||
@pytest.mark.parametrize('app_path, target', [
|
||||
pytest.param(
|
||||
f'{os.path.join(os.path.dirname(__file__), "host_sdmmc")}|{os.path.join(os.path.dirname(__file__), "sdio")}',
|
||||
'esp32|esp32'),
|
||||
], indirect=True)
|
||||
@pytest.mark.parametrize('app_path, target, config', esp32_param_default, indirect=True)
|
||||
def test_sdio_esp32_esp32(dut:Tuple[IdfDut, IdfDut]) -> None:
|
||||
test_sdio_flow(dut)
|
||||
|
||||
@ -68,11 +77,7 @@ def test_sdio_speed_frhost_flow(dut:Tuple[IdfDut, IdfDut], expected_4b_speed:int
|
||||
@pytest.mark.esp32c6
|
||||
@pytest.mark.sdio_multidev_32_c6
|
||||
@pytest.mark.parametrize('count', [2,], indirect=True)
|
||||
@pytest.mark.parametrize('app_path, target', [
|
||||
pytest.param(
|
||||
f'{os.path.join(os.path.dirname(__file__), "host_sdmmc")}|{os.path.join(os.path.dirname(__file__), "sdio")}',
|
||||
'esp32|esp32c6'),
|
||||
], indirect=True)
|
||||
@pytest.mark.parametrize('app_path, target, config', c6_param_default, indirect=True)
|
||||
def test_sdio_speed_frhost_esp32_esp32c6(dut:Tuple[IdfDut, IdfDut]) -> None:
|
||||
test_sdio_speed_frhost_flow(dut, 10000, 4000)
|
||||
|
||||
@ -80,11 +85,7 @@ def test_sdio_speed_frhost_esp32_esp32c6(dut:Tuple[IdfDut, IdfDut]) -> None:
|
||||
@pytest.mark.esp32
|
||||
@pytest.mark.sdio_master_slave
|
||||
@pytest.mark.parametrize('count', [2,], indirect=True)
|
||||
@pytest.mark.parametrize('app_path, target', [
|
||||
pytest.param(
|
||||
f'{os.path.join(os.path.dirname(__file__), "host_sdmmc")}|{os.path.join(os.path.dirname(__file__), "sdio")}',
|
||||
'esp32|esp32'),
|
||||
], indirect=True)
|
||||
@pytest.mark.parametrize('app_path, target, config', esp32_param_default, indirect=True)
|
||||
def test_sdio_speed_frhost_esp32_esp32(dut:Tuple[IdfDut, IdfDut]) -> None:
|
||||
test_sdio_speed_frhost_flow(dut, 12200, 4000)
|
||||
|
||||
@ -112,11 +113,7 @@ def test_sdio_speed_tohost_flow(dut:Tuple[IdfDut, IdfDut], expected_4b_speed:int
|
||||
@pytest.mark.esp32c6
|
||||
@pytest.mark.sdio_multidev_32_c6
|
||||
@pytest.mark.parametrize('count', [2,], indirect=True)
|
||||
@pytest.mark.parametrize('app_path, target', [
|
||||
pytest.param(
|
||||
f'{os.path.join(os.path.dirname(__file__), "host_sdmmc")}|{os.path.join(os.path.dirname(__file__), "sdio")}',
|
||||
'esp32|esp32c6'),
|
||||
], indirect=True)
|
||||
@pytest.mark.parametrize('app_path, target, config', c6_param_default, indirect=True)
|
||||
def test_sdio_speed_tohost_esp32_esp32c6(dut:Tuple[IdfDut, IdfDut]) -> None:
|
||||
test_sdio_speed_tohost_flow(dut, 9000, 4000)
|
||||
|
||||
@ -124,10 +121,27 @@ def test_sdio_speed_tohost_esp32_esp32c6(dut:Tuple[IdfDut, IdfDut]) -> None:
|
||||
@pytest.mark.esp32
|
||||
@pytest.mark.sdio_master_slave
|
||||
@pytest.mark.parametrize('count', [2,], indirect=True)
|
||||
@pytest.mark.parametrize('app_path, target', [
|
||||
pytest.param(
|
||||
f'{os.path.join(os.path.dirname(__file__), "host_sdmmc")}|{os.path.join(os.path.dirname(__file__), "sdio")}',
|
||||
'esp32|esp32'),
|
||||
], indirect=True)
|
||||
@pytest.mark.parametrize('app_path, target, config', esp32_param_default, indirect=True)
|
||||
def test_sdio_speed_tohost_esp32_esp32(dut:Tuple[IdfDut, IdfDut]) -> None:
|
||||
test_sdio_speed_tohost_flow(dut, 12200, 4000)
|
||||
|
||||
|
||||
# Retention tests
|
||||
def test_sdio_retention(dut:Tuple[IdfDut, IdfDut]) -> None:
|
||||
dut[1].expect('Press ENTER to see the list of tests')
|
||||
dut[1].write('[sdio_retention]')
|
||||
dut[1].expect('test_sdio: slave ready')
|
||||
|
||||
dut[0].expect('Press ENTER to see the list of tests')
|
||||
dut[0].write('[sdio_retention]')
|
||||
|
||||
dut[1].expect_unity_test_output()
|
||||
dut[0].expect_unity_test_output()
|
||||
|
||||
|
||||
@pytest.mark.esp32c6
|
||||
@pytest.mark.sdio_multidev_32_c6
|
||||
@pytest.mark.parametrize('count', [2,], indirect=True)
|
||||
@pytest.mark.parametrize('app_path, target, config', c6_param_retention, indirect=True)
|
||||
def test_sdio_retention_esp32_esp32c6(dut:Tuple[IdfDut, IdfDut]) -> None:
|
||||
test_sdio_retention(dut)
|
||||
|
@ -2,5 +2,5 @@ set(srcs "test_app_main.c"
|
||||
"test_sdio_slave.c")
|
||||
|
||||
idf_component_register(SRCS ${srcs}
|
||||
PRIV_REQUIRES test_driver_utils driver
|
||||
PRIV_REQUIRES test_driver_utils driver esp_hw_support
|
||||
WHOLE_ARCHIVE)
|
||||
|
@ -305,6 +305,31 @@ TEST_CASE("SDIO_Slave: test to host", "[sdio]")
|
||||
test_to_host();
|
||||
}
|
||||
|
||||
#if SOC_PAU_SUPPORTED
|
||||
#include "esp_private/sleep_sys_periph.h"
|
||||
#include "esp_private/sleep_retention.h"
|
||||
|
||||
TEST_CASE("SDIO_Slave: test sleep retention", "[sdio_retention]")
|
||||
{
|
||||
TEST_ASSERT_EQUAL_INT32(true, peripheral_domain_pd_allowed());
|
||||
sleep_retention_dump_modules(stdout);
|
||||
|
||||
s_slave_init(SDIO_SLAVE_SEND_STREAM);
|
||||
TEST_ESP_OK(sdio_slave_start());
|
||||
ESP_LOGI(TAG, "slave ready");
|
||||
|
||||
TEST_ASSERT_EQUAL_INT32(false, peripheral_domain_pd_allowed());
|
||||
sleep_retention_dump_modules(stdout);
|
||||
|
||||
wait_for_finish(&s_test_slv_ctx);
|
||||
|
||||
sdio_slave_stop();
|
||||
sdio_slave_deinit();
|
||||
|
||||
TEST_ASSERT_EQUAL_INT32(true, peripheral_domain_pd_allowed());
|
||||
}
|
||||
#endif
|
||||
|
||||
TEST_CASE("SDIO_Slave: test to host (Performance)", "[sdio_speed]")
|
||||
{
|
||||
test_to_host();
|
||||
|
@ -0,0 +1,4 @@
|
||||
CONFIG_PM_ENABLE=y
|
||||
CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=y
|
||||
CONFIG_PM_POWER_DOWN_PERIPHERAL_IN_LIGHT_SLEEP=y
|
||||
CONFIG_FREERTOS_USE_TICKLESS_IDLE=y
|
@ -71,7 +71,7 @@ menu "Hardware Settings"
|
||||
config ESP_SLEEP_POWER_DOWN_FLASH
|
||||
bool "Power down flash in light sleep when there is no SPIRAM or SPIRAM has independent power supply"
|
||||
depends on !SPIRAM || ESP_LDO_RESERVE_PSRAM
|
||||
depends on !(IDF_TARGET_ESP32P4 && (ESP32P4_REV_MIN_FULL >= 100))
|
||||
depends on !(IDF_TARGET_ESP32P4 && (ESP32P4_REV_MIN_FULL < 100))
|
||||
default n
|
||||
help
|
||||
If enabled, chip will try to power down flash as part of esp_light_sleep_start(), which costs
|
||||
|
@ -59,6 +59,11 @@ typedef enum {
|
||||
*/
|
||||
esp_err_t sleep_retention_entries_create(const sleep_retention_entries_config_t retent[], int num, regdma_link_priority_t priority, sleep_retention_module_t module);
|
||||
|
||||
/**
|
||||
* @brief Dump the initialization status of all modules.
|
||||
*/
|
||||
void sleep_retention_dump_modules(FILE *out);
|
||||
|
||||
/**
|
||||
* @brief Dump all runtime sleep retention linked lists
|
||||
*/
|
||||
@ -139,6 +144,23 @@ esp_err_t sleep_retention_module_allocate(sleep_retention_module_t module);
|
||||
*/
|
||||
esp_err_t sleep_retention_module_free(sleep_retention_module_t module);
|
||||
|
||||
/**
|
||||
* @brief Force take the power lock so that during sleep the power domain won't be powered off.
|
||||
*
|
||||
* @return
|
||||
* - ESP_OK if success
|
||||
* - other value when the internal `sleep_retention_module_init` fails.
|
||||
*/
|
||||
esp_err_t sleep_retention_power_lock_acquire(void);
|
||||
|
||||
/**
|
||||
* @brief Release the power lock so that the peripherals' power domain can be powered off.
|
||||
* Please note that there is an internal reference counter and the power domain will be kept on until same number
|
||||
* of `sleep_retention_power_lock_release` is called as `sleep_retention_power_lock_acquire`.
|
||||
* @return always ESP_OK
|
||||
*/
|
||||
esp_err_t sleep_retention_power_lock_release(void);
|
||||
|
||||
/**
|
||||
* @brief Get all initialized modules that require sleep retention
|
||||
*
|
||||
|
@ -336,21 +336,14 @@ const pmu_hp_system_retention_param_t * pmu_hp_system_retention_param_default(pm
|
||||
|
||||
|
||||
/** LP system default parameter */
|
||||
|
||||
#if CONFIG_ESP_SYSTEM_RTC_EXT_XTAL
|
||||
# define PMU_SLOW_CLK_USE_EXT_XTAL (1)
|
||||
#else
|
||||
# define PMU_SLOW_CLK_USE_EXT_XTAL (0)
|
||||
#endif
|
||||
|
||||
#define PMU_LP_ACTIVE_POWER_CONFIG_DEFAULT() { \
|
||||
.dig_power = { \
|
||||
.mem_dslp = 0, \
|
||||
.peri_pd_en = 0, \
|
||||
}, \
|
||||
.clk_power = { \
|
||||
.xpd_xtal32k = PMU_SLOW_CLK_USE_EXT_XTAL, \
|
||||
.xpd_rc32k = 0, \
|
||||
.xpd_xtal32k = 1, \
|
||||
.xpd_rc32k = 1, \
|
||||
.xpd_fosc = 1, \
|
||||
.pd_osc = 0 \
|
||||
} \
|
||||
|
@ -335,21 +335,14 @@ const pmu_hp_system_retention_param_t * pmu_hp_system_retention_param_default(pm
|
||||
|
||||
|
||||
/** LP system default parameter */
|
||||
|
||||
#if CONFIG_ESP_SYSTEM_RTC_EXT_XTAL
|
||||
# define PMU_SLOW_CLK_USE_EXT_XTAL (1)
|
||||
#else
|
||||
# define PMU_SLOW_CLK_USE_EXT_XTAL (0)
|
||||
#endif
|
||||
|
||||
#define PMU_LP_ACTIVE_POWER_CONFIG_DEFAULT() { \
|
||||
.dig_power = { \
|
||||
.mem_dslp = 0, \
|
||||
.peri_pd_en = 0, \
|
||||
}, \
|
||||
.clk_power = { \
|
||||
.xpd_xtal32k = PMU_SLOW_CLK_USE_EXT_XTAL, \
|
||||
.xpd_rc32k = 0, \
|
||||
.xpd_xtal32k = 1, \
|
||||
.xpd_rc32k = 1, \
|
||||
.xpd_fosc = 1, \
|
||||
.pd_osc = 0 \
|
||||
} \
|
||||
|
@ -20,6 +20,8 @@
|
||||
#include "hal/efuse_ll.h"
|
||||
#include "hal/efuse_hal.h"
|
||||
#include "esp_hw_log.h"
|
||||
#include "soc/regi2c_bias.h"
|
||||
#include "regi2c_ctrl.h"
|
||||
|
||||
static __attribute__((unused)) const char *TAG = "pmu_sleep";
|
||||
|
||||
@ -264,6 +266,8 @@ uint32_t pmu_sleep_start(uint32_t wakeup_opt, uint32_t reject_opt, uint32_t lslp
|
||||
bool pmu_sleep_finish(bool dslp)
|
||||
{
|
||||
(void)dslp;
|
||||
// Restore registers lost during sleep
|
||||
REGI2C_WRITE_MASK(I2C_BIAS, I2C_BIAS_DREG_0P8, 8); // fix low temp issue, need to increase this internal voltage
|
||||
return pmu_ll_hp_is_sleep_reject(PMU_instance()->hal->dev);
|
||||
}
|
||||
|
||||
|
@ -35,6 +35,9 @@
|
||||
#include "esp_rom_sys.h"
|
||||
#include "esp_rom_uart.h"
|
||||
#include "hal/efuse_hal.h"
|
||||
#if CONFIG_SPIRAM
|
||||
#include "hal/ldo_ll.h"
|
||||
#endif
|
||||
|
||||
#define HP(state) (PMU_MODE_HP_ ## state)
|
||||
#define LP(state) (PMU_MODE_LP_ ## state)
|
||||
@ -365,6 +368,14 @@ TCM_IRAM_ATTR uint32_t pmu_sleep_start(uint32_t wakeup_opt, uint32_t reject_opt,
|
||||
rtc_clk_mpll_disable();
|
||||
}
|
||||
|
||||
|
||||
#if CONFIG_SPIRAM && CONFIG_ESP_LDO_RESERVE_PSRAM
|
||||
// Disable PSRAM chip power supply
|
||||
if (dslp) {
|
||||
ldo_ll_enable(LDO_ID2UNIT(CONFIG_ESP_LDO_CHAN_PSRAM_DOMAIN), false);
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Start entry into sleep mode */
|
||||
pmu_ll_hp_set_sleep_enable(PMU_instance()->hal->dev);
|
||||
|
||||
@ -373,6 +384,13 @@ TCM_IRAM_ATTR uint32_t pmu_sleep_start(uint32_t wakeup_opt, uint32_t reject_opt,
|
||||
;
|
||||
}
|
||||
|
||||
#if CONFIG_SPIRAM && CONFIG_ESP_LDO_RESERVE_PSRAM
|
||||
// Enable PSRAM chip power supply after deepsleep request rejected
|
||||
if (dslp) {
|
||||
ldo_ll_enable(LDO_ID2UNIT(CONFIG_ESP_LDO_CHAN_PSRAM_DOMAIN), true);
|
||||
}
|
||||
#endif
|
||||
|
||||
return pmu_sleep_finish(dslp);
|
||||
}
|
||||
|
||||
|
@ -325,7 +325,7 @@ typedef struct {
|
||||
#define PMU_SLEEP_DIGITAL_DSLP_CONFIG_DEFAULT(pd_flags) { \
|
||||
.syscntl = { \
|
||||
.dig_pad_slp_sel = 0, \
|
||||
.lp_pad_hold_all = 0, \
|
||||
.lp_pad_hold_all = (pd_flags & PMU_SLEEP_PD_LP_PERIPH) ? 1 : 0, \
|
||||
} \
|
||||
}
|
||||
|
||||
|
@ -64,10 +64,6 @@
|
||||
#include "hal/touch_sensor_hal.h"
|
||||
#endif
|
||||
|
||||
#if CONFIG_SPIRAM && CONFIG_ESP_LDO_RESERVE_PSRAM
|
||||
#include "hal/ldo_ll.h"
|
||||
#endif
|
||||
|
||||
#include "sdkconfig.h"
|
||||
#include "esp_rom_uart.h"
|
||||
#include "esp_rom_sys.h"
|
||||
@ -1132,12 +1128,14 @@ static esp_err_t IRAM_ATTR esp_sleep_start(uint32_t pd_flags, esp_sleep_mode_t m
|
||||
esp_sleep_execute_event_callbacks(SLEEP_EVENT_SW_CLK_READY, (void *)0);
|
||||
|
||||
if (!deep_sleep) {
|
||||
s_config.ccount_ticks_record = esp_cpu_get_cycle_count();
|
||||
if (result == ESP_OK) {
|
||||
s_config.ccount_ticks_record = esp_cpu_get_cycle_count();
|
||||
#if SOC_PM_RETENTION_SW_TRIGGER_REGDMA
|
||||
if (pd_flags & PMU_SLEEP_PD_TOP) {
|
||||
sleep_retention_do_system_retention(false);
|
||||
}
|
||||
if (pd_flags & PMU_SLEEP_PD_TOP) {
|
||||
sleep_retention_do_system_retention(false);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
misc_modules_wake_prepare(pd_flags);
|
||||
}
|
||||
|
||||
@ -1180,10 +1178,6 @@ static esp_err_t IRAM_ATTR deep_sleep_start(bool allow_sleep_rejection)
|
||||
portENTER_CRITICAL(&spinlock_rtc_deep_sleep);
|
||||
esp_ipc_isr_stall_other_cpu();
|
||||
esp_ipc_isr_stall_pause();
|
||||
#if CONFIG_SPIRAM && CONFIG_ESP_LDO_RESERVE_PSRAM
|
||||
// Disable PSRAM chip power supply
|
||||
ldo_ll_enable(LDO_ID2UNIT(CONFIG_ESP_LDO_CHAN_PSRAM_DOMAIN), false);
|
||||
#endif
|
||||
|
||||
// record current RTC time
|
||||
s_config.rtc_ticks_at_sleep_start = rtc_time_get();
|
||||
@ -1247,10 +1241,6 @@ static esp_err_t IRAM_ATTR deep_sleep_start(bool allow_sleep_rejection)
|
||||
// can take several CPU cycles for the sleep mode to start.
|
||||
ESP_INFINITE_LOOP();
|
||||
}
|
||||
#if CONFIG_SPIRAM && CONFIG_ESP_LDO_RESERVE_PSRAM
|
||||
// Enable PSRAM chip power supply
|
||||
ldo_ll_enable(LDO_ID2UNIT(CONFIG_ESP_LDO_CHAN_PSRAM_DOMAIN), true);
|
||||
#endif
|
||||
// Never returns here, except that the sleep is rejected.
|
||||
esp_ipc_isr_stall_resume();
|
||||
esp_ipc_isr_release_other_cpu();
|
||||
@ -1298,7 +1288,7 @@ static esp_err_t esp_light_sleep_inner(uint32_t pd_flags,
|
||||
#endif
|
||||
|
||||
// If SPI flash was powered down, wait for it to become ready
|
||||
if (pd_flags & RTC_SLEEP_PD_VDDSDIO) {
|
||||
if (!reject && (pd_flags & RTC_SLEEP_PD_VDDSDIO)) {
|
||||
#if SOC_PM_SUPPORT_TOP_PD
|
||||
if (pd_flags & PMU_SLEEP_PD_TOP) {
|
||||
uint32_t flash_ready_hw_waited_time_us = pmu_sleep_get_wakup_retention_cost();
|
||||
@ -1524,33 +1514,28 @@ esp_err_t esp_light_sleep_start(void)
|
||||
// Enter sleep, then wait for flash to be ready on wakeup
|
||||
err = esp_light_sleep_inner(pd_flags, flash_enable_time_us);
|
||||
}
|
||||
#if !CONFIG_FREERTOS_UNICORE && ESP_SLEEP_POWER_DOWN_CPU && SOC_PM_CPU_RETENTION_BY_SW
|
||||
if (err != ESP_OK) {
|
||||
esp_sleep_cpu_skip_retention();
|
||||
}
|
||||
#endif
|
||||
|
||||
// light sleep wakeup flag only makes sense after a successful light sleep
|
||||
s_light_sleep_wakeup = (err == ESP_OK);
|
||||
|
||||
// System timer has been stopped for the duration of the sleep, correct for that.
|
||||
uint64_t rtc_ticks_at_end = rtc_time_get();
|
||||
uint64_t rtc_time_diff = rtc_time_slowclk_to_us(rtc_ticks_at_end - s_config.rtc_ticks_at_sleep_start, s_config.rtc_clk_cal_period);
|
||||
|
||||
#if CONFIG_ESP_SLEEP_DEBUG
|
||||
if (s_sleep_ctx != NULL) {
|
||||
s_sleep_ctx->sleep_out_rtc_time_stamp = rtc_ticks_at_end;
|
||||
}
|
||||
if (s_light_sleep_wakeup) {
|
||||
uint64_t rtc_time_diff = rtc_time_slowclk_to_us(rtc_ticks_at_end - s_config.rtc_ticks_at_sleep_start, s_config.rtc_clk_cal_period);
|
||||
/**
|
||||
* If sleep duration is too small(less than 1 rtc_slow_clk cycle), rtc_time_diff will be zero.
|
||||
* In this case, just ignore the time compensation and keep esp_timer monotonic.
|
||||
*/
|
||||
if (rtc_time_diff > 0) {
|
||||
esp_timer_private_set(high_res_time_at_start + rtc_time_diff);
|
||||
}
|
||||
esp_set_time_from_rtc();
|
||||
} else {
|
||||
#if !CONFIG_FREERTOS_UNICORE && ESP_SLEEP_POWER_DOWN_CPU && SOC_PM_CPU_RETENTION_BY_SW
|
||||
esp_sleep_cpu_skip_retention();
|
||||
#endif
|
||||
|
||||
/**
|
||||
* If sleep duration is too small(less than 1 rtc_slow_clk cycle), rtc_time_diff will be zero.
|
||||
* In this case, just ignore the time compensation and keep esp_timer monotonic.
|
||||
*/
|
||||
if (rtc_time_diff > 0) {
|
||||
esp_timer_private_set(high_res_time_at_start + rtc_time_diff);
|
||||
}
|
||||
esp_set_time_from_rtc();
|
||||
|
||||
esp_clk_private_unlock();
|
||||
esp_timer_private_unlock();
|
||||
@ -1585,14 +1570,18 @@ esp_err_t esp_light_sleep_start(void)
|
||||
#endif // CONFIG_ESP_TASK_WDT_USE_ESP_TIMER
|
||||
|
||||
esp_sleep_execute_event_callbacks(SLEEP_EVENT_SW_EXIT_SLEEP, (void *)0);
|
||||
s_config.sleep_time_overhead_out = (esp_cpu_get_cycle_count() - s_config.ccount_ticks_record) / (esp_clk_cpu_freq() / 1000000ULL);
|
||||
|
||||
#if CONFIG_ESP_SLEEP_DEBUG
|
||||
if (s_sleep_ctx != NULL) {
|
||||
s_sleep_ctx->sleep_out_rtc_time_stamp = rtc_ticks_at_end;
|
||||
s_sleep_ctx->sleep_request_result = err;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (s_light_sleep_wakeup) {
|
||||
s_config.sleep_time_overhead_out = (esp_cpu_get_cycle_count() - s_config.ccount_ticks_record) / (esp_clk_cpu_freq() / 1000000ULL);
|
||||
}
|
||||
|
||||
portEXIT_CRITICAL(&s_config.lock);
|
||||
return err;
|
||||
}
|
||||
|
@ -29,6 +29,8 @@
|
||||
#endif
|
||||
|
||||
static __attribute__((unused)) const char *TAG = "sleep";
|
||||
static int acquire_cnt; //for the force acquire lock
|
||||
|
||||
|
||||
struct sleep_retention_module_object {
|
||||
sleep_retention_module_callbacks_t cbs; /* A callback list that can extend more sleep retention event callbacks */
|
||||
@ -319,6 +321,23 @@ static void sleep_retention_entries_stats(void)
|
||||
_lock_release_recursive(&s_retention.lock);
|
||||
}
|
||||
|
||||
void sleep_retention_dump_modules(FILE *out)
|
||||
{
|
||||
uint32_t inited_modules = sleep_retention_get_inited_modules();
|
||||
uint32_t created_modules = sleep_retention_get_created_modules();
|
||||
for (int i = SLEEP_RETENTION_MODULE_MIN; i <= SLEEP_RETENTION_MODULE_MAX; i++) {
|
||||
bool inited = (inited_modules & BIT(i)) != 0;
|
||||
bool created = (created_modules & BIT(i)) != 0;
|
||||
bool is_top = (TOP_DOMAIN_PERIPHERALS_BM & BIT(i)) != 0;
|
||||
|
||||
const char* status = !inited? "-":
|
||||
created? "CREATED":
|
||||
"INITED";
|
||||
const char* domain = is_top? "TOP": "-";
|
||||
fprintf(out, "%2d: %4s %8s\n", i, domain, status);
|
||||
}
|
||||
}
|
||||
|
||||
void sleep_retention_dump_entries(FILE *out)
|
||||
{
|
||||
_lock_acquire_recursive(&s_retention.lock);
|
||||
@ -820,6 +839,42 @@ esp_err_t sleep_retention_module_free(sleep_retention_module_t module)
|
||||
return err;
|
||||
}
|
||||
|
||||
static esp_err_t empty_create(void *args)
|
||||
{
|
||||
return ESP_OK;
|
||||
}
|
||||
|
||||
esp_err_t sleep_retention_power_lock_acquire(void)
|
||||
{
|
||||
_lock_acquire_recursive(&s_retention.lock);
|
||||
if (acquire_cnt == 0) {
|
||||
sleep_retention_module_init_param_t init_param = {
|
||||
.cbs = { .create = {.handle = empty_create},},
|
||||
};
|
||||
esp_err_t ret = sleep_retention_module_init(SLEEP_RETENTION_MODULE_NULL, &init_param);
|
||||
if (ret != ESP_OK) {
|
||||
_lock_release_recursive(&s_retention.lock);
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
acquire_cnt++;
|
||||
_lock_release_recursive(&s_retention.lock);
|
||||
return ESP_OK;
|
||||
}
|
||||
|
||||
esp_err_t sleep_retention_power_lock_release(void)
|
||||
{
|
||||
esp_err_t ret = ESP_OK;
|
||||
_lock_acquire_recursive(&s_retention.lock);
|
||||
acquire_cnt--;
|
||||
assert(acquire_cnt >= 0);
|
||||
if (acquire_cnt == 0) {
|
||||
ret = sleep_retention_module_deinit(SLEEP_RETENTION_MODULE_NULL);
|
||||
}
|
||||
_lock_release_recursive(&s_retention.lock);
|
||||
return ret;
|
||||
}
|
||||
|
||||
void IRAM_ATTR sleep_retention_do_extra_retention(bool backup_or_restore)
|
||||
{
|
||||
if (s_retention.highpri < SLEEP_RETENTION_REGDMA_LINK_HIGHEST_PRIORITY ||
|
||||
|
@ -42,6 +42,11 @@ components/esp_hw_support/test_apps/rtc_power_modes:
|
||||
temporary: true
|
||||
reason: the other targets are not tested yet
|
||||
|
||||
components/esp_hw_support/test_apps/sleep_retention:
|
||||
enable:
|
||||
- if: SOC_PAU_SUPPORTED == 1 and CONFIG_NAME != "xip_psram"
|
||||
- if: SOC_PAU_SUPPORTED == 1 and (SOC_SPIRAM_XIP_SUPPORTED == 1 and CONFIG_NAME == "xip_psram")
|
||||
|
||||
components/esp_hw_support/test_apps/vad_wakeup:
|
||||
disable:
|
||||
- if: SOC_LP_VAD_SUPPORTED != 1
|
||||
|
@ -21,7 +21,7 @@ from pytest_embedded import Dut
|
||||
indirect=True,
|
||||
)
|
||||
def test_dma(dut: Dut) -> None:
|
||||
dut.run_all_single_board_cases()
|
||||
dut.run_all_single_board_cases(reset=True)
|
||||
|
||||
|
||||
@pytest.mark.esp32s3
|
||||
@ -34,4 +34,4 @@ def test_dma(dut: Dut) -> None:
|
||||
indirect=True,
|
||||
)
|
||||
def test_dma_psram(dut: Dut) -> None:
|
||||
dut.run_all_single_board_cases()
|
||||
dut.run_all_single_board_cases(reset=True)
|
||||
|
@ -0,0 +1,10 @@
|
||||
# This is the project CMakeLists.txt file for the test subproject
|
||||
cmake_minimum_required(VERSION 3.16)
|
||||
|
||||
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
|
||||
|
||||
# "Trim" the build. Include the minimal set of components, main, and anything it depends on. We also depend on esp_psram
|
||||
# as we set CONFIG_SPIRAM_... options.
|
||||
set(COMPONENTS main esp_psram)
|
||||
|
||||
project(test_retention)
|
@ -0,0 +1,2 @@
|
||||
| Supported Targets | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-H2 | ESP32-P4 |
|
||||
| ----------------- | -------- | -------- | --------- | -------- | -------- |
|
@ -0,0 +1,7 @@
|
||||
set(srcs "test_app_main.c" "test_retention.c")
|
||||
|
||||
# In order for the cases defined by `TEST_CASE` to be linked into the final elf,
|
||||
# the component can be registered as WHOLE_ARCHIVE
|
||||
idf_component_register(SRCS ${srcs}
|
||||
PRIV_REQUIRES unity esp_mm esp_psram
|
||||
WHOLE_ARCHIVE)
|
@ -0,0 +1,40 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#include "unity.h"
|
||||
#include "unity_test_runner.h"
|
||||
#include "esp_heap_caps.h"
|
||||
|
||||
#define TEST_MEMORY_LEAK_THRESHOLD (-300)
|
||||
|
||||
static size_t before_free_8bit;
|
||||
static size_t before_free_32bit;
|
||||
|
||||
static void check_leak(size_t before_free, size_t after_free, const char *type)
|
||||
{
|
||||
ssize_t delta = after_free - before_free;
|
||||
printf("MALLOC_CAP_%s: Before %u bytes free, After %u bytes free (delta %d)\n", type, before_free, after_free, delta);
|
||||
TEST_ASSERT_MESSAGE(delta >= TEST_MEMORY_LEAK_THRESHOLD, "memory leak");
|
||||
}
|
||||
|
||||
void setUp(void)
|
||||
{
|
||||
before_free_8bit = heap_caps_get_free_size(MALLOC_CAP_8BIT);
|
||||
before_free_32bit = heap_caps_get_free_size(MALLOC_CAP_32BIT);
|
||||
}
|
||||
|
||||
void tearDown(void)
|
||||
{
|
||||
size_t after_free_8bit = heap_caps_get_free_size(MALLOC_CAP_8BIT);
|
||||
size_t after_free_32bit = heap_caps_get_free_size(MALLOC_CAP_32BIT);
|
||||
check_leak(before_free_8bit, after_free_8bit, "8BIT");
|
||||
check_leak(before_free_32bit, after_free_32bit, "32BIT");
|
||||
}
|
||||
|
||||
void app_main(void)
|
||||
{
|
||||
unity_run_menu();
|
||||
}
|
@ -0,0 +1,37 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2021-2024 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#include "freertos/FreeRTOS.h"
|
||||
#include "freertos/task.h"
|
||||
#include "esp_log.h"
|
||||
#include "sdkconfig.h"
|
||||
#include "unity.h"
|
||||
#include "esp_private/sleep_sys_periph.h"
|
||||
#include "esp_private/sleep_retention.h"
|
||||
#include "esp_sleep.h"
|
||||
#include "esp_private/sleep_cpu.h"
|
||||
|
||||
const char TAG[] = "retention";
|
||||
|
||||
TEST_CASE("retention: can go to retention", "[retention]")
|
||||
{
|
||||
// Prepare a TOP PD sleep
|
||||
TEST_ESP_OK(esp_sleep_enable_timer_wakeup(1 * 1000 * 1000));
|
||||
sleep_cpu_configure(true);
|
||||
|
||||
TEST_ASSERT_EQUAL_INT32(true, peripheral_domain_pd_allowed());
|
||||
sleep_retention_dump_modules(stdout);
|
||||
vTaskDelay(1000/portTICK_PERIOD_MS);
|
||||
|
||||
ESP_LOGI(TAG, "Going to sleep...");
|
||||
esp_light_sleep_start();
|
||||
|
||||
ESP_LOGI(TAG, "After wakeup");
|
||||
TEST_ASSERT_EQUAL_INT32(true, peripheral_domain_pd_allowed());
|
||||
sleep_retention_dump_modules(stdout);
|
||||
|
||||
sleep_cpu_configure(false);
|
||||
}
|
@ -0,0 +1,35 @@
|
||||
# SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
import functools
|
||||
from typing import Callable
|
||||
from typing import Dict
|
||||
from typing import List
|
||||
|
||||
import pytest
|
||||
from pytest_embedded import Dut
|
||||
|
||||
|
||||
def target_list(targets: List[str]) -> Callable:
|
||||
|
||||
def decorator(func: Callable) -> Callable:
|
||||
|
||||
@functools.wraps(func)
|
||||
def wrapper(*args: List, **kwargs: Dict) -> Callable:
|
||||
return func(*args, **kwargs) # type: ignore
|
||||
|
||||
for target in targets:
|
||||
wrapper = pytest.mark.__getattr__(target)(wrapper)
|
||||
|
||||
return wrapper
|
||||
|
||||
return decorator
|
||||
|
||||
|
||||
# SOC_PAU_SUPPORTED == 1
|
||||
retention_targets = ['esp32c6', 'esp32h2', 'esp32p4', 'esp32c5', 'esp32c61']
|
||||
|
||||
|
||||
@target_list(retention_targets)
|
||||
@pytest.mark.generic
|
||||
def test_sleep_retention(dut: Dut) -> None:
|
||||
dut.run_all_single_board_cases()
|
@ -0,0 +1,2 @@
|
||||
CONFIG_SPIRAM=y
|
||||
CONFIG_SPIRAM_XIP_FROM_PSRAM=y
|
@ -0,0 +1,6 @@
|
||||
CONFIG_FREERTOS_HZ=1000
|
||||
CONFIG_ESP_TASK_WDT=n
|
||||
|
||||
CONFIG_PM_ENABLE=y
|
||||
CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=y
|
||||
CONFIG_PM_POWER_DOWN_PERIPHERAL_IN_LIGHT_SLEEP=y
|
@ -83,9 +83,9 @@ esp_err_t esp_lcd_new_panel_io_i2c_v2(i2c_master_bus_handle_t bus, const esp_lcd
|
||||
* - ESP_ERR_NO_MEM if out of memory
|
||||
* - ESP_OK on success
|
||||
*/
|
||||
static inline void esp_lcd_new_panel_io_i2c(uint32_t bus, const esp_lcd_panel_io_i2c_config_t *io_config, esp_lcd_panel_io_handle_t *ret_io)
|
||||
static inline esp_err_t esp_lcd_new_panel_io_i2c(uint32_t bus, const esp_lcd_panel_io_i2c_config_t *io_config, esp_lcd_panel_io_handle_t *ret_io)
|
||||
{
|
||||
esp_lcd_new_panel_io_i2c_v1(bus, io_config, ret_io);
|
||||
return esp_lcd_new_panel_io_i2c_v1(bus, io_config, ret_io);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -99,9 +99,9 @@ static inline void esp_lcd_new_panel_io_i2c(uint32_t bus, const esp_lcd_panel_io
|
||||
* - ESP_ERR_NO_MEM if out of memory
|
||||
* - ESP_OK on success
|
||||
*/
|
||||
static inline void esp_lcd_new_panel_io_i2c(i2c_master_bus_handle_t bus, const esp_lcd_panel_io_i2c_config_t *io_config, esp_lcd_panel_io_handle_t *ret_io)
|
||||
static inline esp_err_t esp_lcd_new_panel_io_i2c(i2c_master_bus_handle_t bus, const esp_lcd_panel_io_i2c_config_t *io_config, esp_lcd_panel_io_handle_t *ret_io)
|
||||
{
|
||||
esp_lcd_new_panel_io_i2c_v2(bus, io_config, ret_io);
|
||||
return esp_lcd_new_panel_io_i2c_v2(bus, io_config, ret_io);
|
||||
}
|
||||
#else
|
||||
/**
|
||||
|
@ -172,5 +172,10 @@ menu "PHY"
|
||||
help
|
||||
If enabled, there will be some logs while pll tracking
|
||||
|
||||
config ESP_PHY_RECORD_USED_TIME
|
||||
bool "Record PHY used time"
|
||||
default n
|
||||
help
|
||||
Select to support record and query phy used time.
|
||||
endif
|
||||
endmenu # PHY
|
||||
|
@ -38,6 +38,7 @@ typedef enum {
|
||||
PHY_MODEM_WIFI = 1, /*!< PHY modem WIFI */
|
||||
PHY_MODEM_BT = 2, /*!< PHY modem BT */
|
||||
PHY_MODEM_IEEE802154 = 4, /*!< PHY modem IEEE802154 */
|
||||
PHY_MODEM_MAX, /*!< Don't use it. Used by ESP_PHY_MODEM_COUNT_MAX */
|
||||
} esp_phy_modem_t;
|
||||
|
||||
/**
|
||||
@ -286,6 +287,23 @@ void phy_init_param_set(uint8_t param);
|
||||
*/
|
||||
void phy_wifi_enable_set(uint8_t enable);
|
||||
|
||||
#if CONFIG_ESP_PHY_RECORD_USED_TIME
|
||||
/**
|
||||
* @brief Get phy used time from different modem
|
||||
* @param used_time pointer of variable to get used time, in microseconds
|
||||
* @param modem modem type
|
||||
* @return ESP_ERR_INVALID_ARG on incorrect modem type.
|
||||
*/
|
||||
esp_err_t phy_query_used_time(uint64_t *used_time, esp_phy_modem_t modem);
|
||||
|
||||
/**
|
||||
* @brief Clear phy used time for different modem
|
||||
* @param modem modem type
|
||||
* @return ESP_ERR_INVALID_ARG on incorrect modem type.
|
||||
*/
|
||||
esp_err_t phy_clear_used_time(esp_phy_modem_t modem);
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
Submodule components/esp_phy/lib updated: 8fd02ff780...f5f852b53c
@ -161,6 +161,60 @@ static phy_country_to_bin_type_t s_country_code_map_type_table[] = {
|
||||
{"US", ESP_PHY_INIT_DATA_TYPE_FCC},
|
||||
};
|
||||
#endif
|
||||
|
||||
#if CONFIG_ESP_PHY_RECORD_USED_TIME
|
||||
#define ESP_PHY_MODEM_COUNT_MAX (__builtin_ffs(PHY_MODEM_MAX - 1))
|
||||
#define ESP_PHY_IS_VALID_MODEM(modem) (__builtin_popcount(modem) == 1 && __builtin_ctz(modem) < ESP_PHY_MODEM_COUNT_MAX)
|
||||
|
||||
static DRAM_ATTR struct {
|
||||
uint64_t used_time;
|
||||
uint64_t enabled_time;
|
||||
uint64_t disabled_time;
|
||||
} s_phy_rf_used_info[ESP_PHY_MODEM_COUNT_MAX];
|
||||
|
||||
static IRAM_ATTR void phy_record_time(bool enabled, esp_phy_modem_t modem) {
|
||||
uint8_t index = __builtin_ctz(modem);
|
||||
if (enabled) {
|
||||
s_phy_rf_used_info[index].enabled_time = esp_timer_get_time();
|
||||
} else {
|
||||
s_phy_rf_used_info[index].disabled_time = esp_timer_get_time();
|
||||
s_phy_rf_used_info[index].used_time += s_phy_rf_used_info[index].disabled_time - s_phy_rf_used_info[index].enabled_time;
|
||||
}
|
||||
}
|
||||
|
||||
esp_err_t phy_query_used_time(uint64_t *used_time, esp_phy_modem_t modem) {
|
||||
if (!ESP_PHY_IS_VALID_MODEM(modem)) {
|
||||
return ESP_ERR_INVALID_ARG;
|
||||
}
|
||||
uint8_t index = __builtin_ctz(modem);
|
||||
_lock_acquire(&s_phy_access_lock);
|
||||
*used_time = s_phy_rf_used_info[index].used_time;
|
||||
if (s_phy_rf_used_info[index].disabled_time < s_phy_rf_used_info[index].enabled_time) {
|
||||
// phy is being used
|
||||
*used_time += esp_timer_get_time() - s_phy_rf_used_info[index].enabled_time;
|
||||
}
|
||||
_lock_release(&s_phy_access_lock);
|
||||
return ESP_OK;
|
||||
}
|
||||
|
||||
esp_err_t phy_clear_used_time(esp_phy_modem_t modem) {
|
||||
if (!ESP_PHY_IS_VALID_MODEM(modem)) {
|
||||
return ESP_ERR_INVALID_ARG;
|
||||
}
|
||||
uint8_t index = __builtin_ctz(modem);
|
||||
_lock_acquire(&s_phy_access_lock);
|
||||
if (s_phy_rf_used_info[index].enabled_time > s_phy_rf_used_info[index].disabled_time) {
|
||||
// phy is being used
|
||||
s_phy_rf_used_info[index].enabled_time = esp_timer_get_time();
|
||||
} else {
|
||||
s_phy_rf_used_info[index].enabled_time = s_phy_rf_used_info[index].disabled_time;
|
||||
}
|
||||
s_phy_rf_used_info[index].used_time = 0;
|
||||
_lock_release(&s_phy_access_lock);
|
||||
return ESP_OK;
|
||||
}
|
||||
#endif
|
||||
|
||||
uint32_t IRAM_ATTR phy_enter_critical(void)
|
||||
{
|
||||
if (xPortInIsrContext()) {
|
||||
@ -293,13 +347,18 @@ void esp_phy_enable(esp_phy_modem_t modem)
|
||||
phy_track_pll();
|
||||
#endif
|
||||
|
||||
#if CONFIG_ESP_PHY_RECORD_USED_TIME
|
||||
phy_record_time(true, modem);
|
||||
#endif
|
||||
_lock_release(&s_phy_access_lock);
|
||||
}
|
||||
|
||||
void esp_phy_disable(esp_phy_modem_t modem)
|
||||
{
|
||||
_lock_acquire(&s_phy_access_lock);
|
||||
|
||||
#if CONFIG_ESP_PHY_RECORD_USED_TIME
|
||||
phy_record_time(false, modem);
|
||||
#endif
|
||||
phy_clr_modem_flag(modem);
|
||||
if (phy_get_modem_flag() == 0) {
|
||||
// ESP32 will track pll in the wifi/BT modem interrupt handler.
|
||||
|
@ -8,6 +8,7 @@
|
||||
#include "freertos/portmacro.h"
|
||||
#include "esp_phy_init.h"
|
||||
#include "esp_private/phy.h"
|
||||
#include "esp_timer.h"
|
||||
|
||||
#if SOC_MODEM_CLOCK_IS_INDEPENDENT
|
||||
#include "esp_private/esp_modem_clock.h"
|
||||
@ -23,6 +24,59 @@ static _lock_t s_phy_access_lock;
|
||||
/* Reference count of enabling PHY */
|
||||
static bool s_phy_is_enabled = false;
|
||||
|
||||
#if CONFIG_ESP_PHY_RECORD_USED_TIME
|
||||
#define ESP_PHY_MODEM_COUNT_MAX (__builtin_ffs(PHY_MODEM_MAX - 1))
|
||||
#define ESP_PHY_IS_VALID_MODEM(modem) (__builtin_popcount(modem) == 1 && __builtin_ctz(modem) < ESP_PHY_MODEM_COUNT_MAX)
|
||||
|
||||
static DRAM_ATTR struct {
|
||||
uint64_t used_time;
|
||||
uint64_t enabled_time;
|
||||
uint64_t disabled_time;
|
||||
} s_phy_rf_used_info[ESP_PHY_MODEM_COUNT_MAX];
|
||||
|
||||
static IRAM_ATTR void phy_record_time(bool enabled, esp_phy_modem_t modem) {
|
||||
uint8_t index = __builtin_ctz(modem);
|
||||
if (enabled) {
|
||||
s_phy_rf_used_info[index].enabled_time = esp_timer_get_time();
|
||||
} else {
|
||||
s_phy_rf_used_info[index].disabled_time = esp_timer_get_time();
|
||||
s_phy_rf_used_info[index].used_time += s_phy_rf_used_info[index].disabled_time - s_phy_rf_used_info[index].enabled_time;
|
||||
}
|
||||
}
|
||||
|
||||
esp_err_t phy_query_used_time(uint64_t *used_time, esp_phy_modem_t modem) {
|
||||
if (!ESP_PHY_IS_VALID_MODEM(modem)) {
|
||||
return ESP_ERR_INVALID_ARG;
|
||||
}
|
||||
uint8_t index = __builtin_ctz(modem);
|
||||
_lock_acquire(&s_phy_access_lock);
|
||||
*used_time = s_phy_rf_used_info[index].used_time;
|
||||
if (s_phy_rf_used_info[index].disabled_time < s_phy_rf_used_info[index].enabled_time) {
|
||||
// phy is being used
|
||||
*used_time += esp_timer_get_time() - s_phy_rf_used_info[index].enabled_time;
|
||||
}
|
||||
_lock_release(&s_phy_access_lock);
|
||||
return ESP_OK;
|
||||
}
|
||||
|
||||
esp_err_t phy_clear_used_time(esp_phy_modem_t modem) {
|
||||
if (!ESP_PHY_IS_VALID_MODEM(modem)) {
|
||||
return ESP_ERR_INVALID_ARG;
|
||||
}
|
||||
uint8_t index = __builtin_ctz(modem);
|
||||
_lock_acquire(&s_phy_access_lock);
|
||||
if (s_phy_rf_used_info[index].enabled_time > s_phy_rf_used_info[index].disabled_time) {
|
||||
// phy is being used
|
||||
s_phy_rf_used_info[index].enabled_time = esp_timer_get_time();
|
||||
} else {
|
||||
s_phy_rf_used_info[index].enabled_time = s_phy_rf_used_info[index].disabled_time;
|
||||
}
|
||||
s_phy_rf_used_info[index].used_time = 0;
|
||||
_lock_release(&s_phy_access_lock);
|
||||
return ESP_OK;
|
||||
}
|
||||
#endif
|
||||
|
||||
uint32_t IRAM_ATTR phy_enter_critical(void)
|
||||
{
|
||||
if (xPortInIsrContext()) {
|
||||
@ -64,13 +118,18 @@ void esp_phy_enable(esp_phy_modem_t modem)
|
||||
phy_set_modem_flag(modem);
|
||||
// Immediately track pll when phy enabled.
|
||||
phy_track_pll();
|
||||
#if CONFIG_ESP_PHY_RECORD_USED_TIME
|
||||
phy_record_time(true, modem);
|
||||
#endif
|
||||
_lock_release(&s_phy_access_lock);
|
||||
}
|
||||
|
||||
void esp_phy_disable(esp_phy_modem_t modem)
|
||||
{
|
||||
_lock_acquire(&s_phy_access_lock);
|
||||
|
||||
#if CONFIG_ESP_PHY_RECORD_USED_TIME
|
||||
phy_record_time(false, modem);
|
||||
#endif
|
||||
phy_clr_modem_flag(modem);
|
||||
if (phy_get_modem_flag() == 0) {
|
||||
|
||||
|
@ -99,6 +99,11 @@ if(target STREQUAL "linux")
|
||||
else()
|
||||
target_linker_script(${COMPONENT_LIB} INTERFACE "${target_folder}/${ld_folder}/${target}.rom.ld")
|
||||
rom_linker_script("api")
|
||||
if(NOT CONFIG_BT_CTRL_RUN_IN_FLASH_ONLY)
|
||||
if(target STREQUAL "esp32s3" OR target STREQUAL "esp32c3")
|
||||
rom_linker_script("bt_funcs")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(CONFIG_COMPILER_FLOAT_LIB_FROM_GCCLIB)
|
||||
rom_linker_script("libgcc")
|
||||
@ -176,15 +181,67 @@ else() # Regular app build
|
||||
endif()
|
||||
|
||||
elseif(target STREQUAL "esp32c3")
|
||||
if(CONFIG_BT_CTRL_RUN_IN_FLASH_ONLY)
|
||||
if(NOT CONFIG_BT_CTRL_BLE_MASTER)
|
||||
rom_linker_script("ble_master")
|
||||
endif()
|
||||
if(NOT CONFIG_BT_NIMBLE_50_FEATURE_SUPPORT AND NOT CONFIG_BT_BLE_50_FEATURES_SUPPORTED)
|
||||
rom_linker_script("ble_50")
|
||||
endif()
|
||||
if(CONFIG_BT_BLE_CCA_MODE_NONE)
|
||||
rom_linker_script("ble_cca")
|
||||
endif()
|
||||
if(NOT CONFIG_BT_NIMBLE_SECURITY_ENABLE AND NOT CONFIG_BT_BLE_SMP_ENABLE)
|
||||
rom_linker_script("ble_smp")
|
||||
endif()
|
||||
if(NOT CONFIG_BT_CTRL_DTM_ENABLE)
|
||||
rom_linker_script("ble_dtm")
|
||||
endif()
|
||||
if(NOT CONFIG_BT_CTRL_BLE_TEST)
|
||||
rom_linker_script("ble_test")
|
||||
endif()
|
||||
if(NOT CONFIG_BT_CTRL_BLE_SCAN)
|
||||
rom_linker_script("ble_scan")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(CONFIG_ESP32C3_REV_MIN_FULL GREATER_EQUAL 3)
|
||||
rom_linker_script("eco3")
|
||||
if(NOT CONFIG_BT_CTRL_RUN_IN_FLASH_ONLY)
|
||||
rom_linker_script("eco3_bt_funcs")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(CONFIG_ESP32C3_REV_MIN_FULL GREATER_EQUAL 101)
|
||||
rom_linker_script("eco7")
|
||||
if(NOT CONFIG_BT_CTRL_RUN_IN_FLASH_ONLY)
|
||||
rom_linker_script("eco7_bt_funcs")
|
||||
endif()
|
||||
endif()
|
||||
elseif(target STREQUAL "esp32s3")
|
||||
if(CONFIG_BT_CTRL_RUN_IN_FLASH_ONLY)
|
||||
if(NOT CONFIG_BT_CTRL_BLE_MASTER)
|
||||
rom_linker_script("ble_master")
|
||||
endif()
|
||||
if(NOT CONFIG_BT_NIMBLE_50_FEATURE_SUPPORT AND NOT CONFIG_BT_BLE_50_FEATURES_SUPPORTED)
|
||||
rom_linker_script("ble_50")
|
||||
endif()
|
||||
if(CONFIG_BT_BLE_CCA_MODE_NONE)
|
||||
rom_linker_script("ble_cca")
|
||||
endif()
|
||||
if(NOT CONFIG_BT_NIMBLE_SECURITY_ENABLE AND NOT CONFIG_BT_BLE_SMP_ENABLE)
|
||||
rom_linker_script("ble_smp")
|
||||
endif()
|
||||
if(NOT CONFIG_BT_CTRL_DTM_ENABLE)
|
||||
rom_linker_script("ble_dtm")
|
||||
endif()
|
||||
if(NOT CONFIG_BT_CTRL_BLE_TEST)
|
||||
rom_linker_script("ble_test")
|
||||
endif()
|
||||
if(NOT CONFIG_BT_CTRL_BLE_SCAN)
|
||||
rom_linker_script("ble_scan")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
elseif(target STREQUAL "esp32c6")
|
||||
# esp32c6.rom.api.ld has been split to several lds by components.
|
||||
# esp32c6.rom.api.ld is still reserved to map the APIs
|
||||
|
75
components/esp_rom/esp32c3/ld/esp32c3.rom.ble_50.ld
Normal file
75
components/esp_rom/esp32c3/ld/esp32c3.rom.ble_50.ld
Normal file
@ -0,0 +1,75 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
/* 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.
|
||||
*/
|
||||
|
||||
/* extend adv */
|
||||
f_hci_le_set_ext_adv_param_cmd_handler = 0;
|
||||
f_hci_le_set_adv_set_rand_addr_cmd_handler = 0;
|
||||
f_hci_le_set_ext_adv_data_cmd_handler = 0;
|
||||
f_hci_le_set_ext_scan_rsp_data_cmd_handler = 0;
|
||||
f_hci_le_set_ext_adv_en_cmd_handler = 0;
|
||||
f_hci_le_rd_max_adv_data_len_cmd_handler = 0;
|
||||
f_hci_le_rd_nb_supp_adv_sets_cmd_handler = 0;
|
||||
f_hci_le_rmv_adv_set_cmd_handler = 0;
|
||||
f_hci_le_clear_adv_sets_cmd_handler = 0;
|
||||
r_lld_adv_sync_info_set = 0;
|
||||
|
||||
r_lld_ext_adv_dynamic_pti_process = 0;
|
||||
r_lld_adv_ext_chain_construct = 0;
|
||||
r_lld_adv_aux_evt_canceled_cbk = 0;
|
||||
r_lld_adv_aux_evt_start_cbk = 0;
|
||||
r_lld_adv_aux_ch_idx_set = 0;
|
||||
|
||||
/* periodic adv */
|
||||
f_hci_le_set_per_adv_param_cmd_handler = 0;
|
||||
f_hci_le_set_per_adv_data_cmd_handler = 0;
|
||||
f_hci_le_set_per_adv_en_cmd_handler = 0;
|
||||
r_lld_per_adv_ch_map_update = 0;
|
||||
r_lld_per_adv_init = 0;
|
||||
|
||||
/* PA list */
|
||||
f_hci_le_add_dev_to_per_adv_list_cmd_handler = 0;
|
||||
f_hci_le_rmv_dev_from_per_adv_list_cmd_handler = 0;
|
||||
f_hci_le_clear_per_adv_list_cmd_handler = 0;
|
||||
f_hci_le_rd_per_adv_list_size_cmd_handler = 0;
|
||||
|
||||
/* extend scan */
|
||||
f_hci_le_set_ext_scan_param_cmd_handler = 0;
|
||||
f_hci_le_set_ext_scan_en_cmd_handler = 0;
|
||||
r_lld_scan_process_pkt_rx_ext_adv = 0;
|
||||
r_lld_scan_trunc_ind = 0;
|
||||
|
||||
/* extend con */
|
||||
f_hci_le_ext_create_con_cmd_handler = 0;
|
||||
r_lld_init_process_pkt_rx_adv_ext_ind = 0;
|
||||
r_lld_init_process_pkt_rx_aux_connect_rsp = 0;
|
||||
|
||||
/* PA sync */
|
||||
f_hci_le_per_adv_create_sync_cmd_handler = 0;
|
||||
f_hci_le_per_adv_create_sync_cancel_cmd_handler = 0;
|
||||
f_hci_le_per_adv_term_sync_cmd_handler = 0;
|
||||
f_lld_per_adv_rx_end_ind_handler_hack = 0;
|
||||
f_lld_sync_start_req_handler = 0;
|
||||
f_lld_per_adv_rep_ind_handler = 0;
|
||||
r_lld_sync_init = 0;
|
||||
|
||||
/* phy update*/
|
||||
r_phy_upd_proc_start = 0;
|
||||
f_llc_op_phy_upd_ind_handler = 0;
|
||||
f_ll_phy_req_handler = 0;
|
||||
f_ll_phy_rsp_handler = 0;
|
||||
f_ll_phy_update_ind_handler = 0;
|
||||
f_lld_phy_upd_cfm_handler = 0;
|
||||
f_hci_le_set_phy_cmd_handler = 0;
|
||||
llc_llcp_phy_update_ind_ack = 0;
|
32
components/esp_rom/esp32c3/ld/esp32c3.rom.ble_cca.ld
Normal file
32
components/esp_rom/esp32c3/ld/esp32c3.rom.ble_cca.ld
Normal file
@ -0,0 +1,32 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
/* 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.
|
||||
*/
|
||||
|
||||
/* SW CCA */
|
||||
r_lld_cca_con_evt_start_handle = 0;
|
||||
r_lld_hw_cca_end_isr = 0;
|
||||
r_lld_hw_cca_isr_eco = 0;
|
||||
r_lld_cca_bb_sync_found_handle = 0;
|
||||
r_lld_cca_data_reset = 0;
|
||||
r_lld_cca_sw_init = 0;
|
||||
r_lld_cca_con_evt_end_handle = 0;
|
||||
r_lld_cca_alloc = 0;
|
||||
r_lld_cca_sw_alloc = 0;
|
||||
r_lld_cca_sw_free = 0;
|
||||
r_lld_cca_free = 0;
|
||||
r_cca_init = 0;
|
||||
r_lld_hw_cca_evt_handler = 0;
|
||||
r_lld_sw_cca_evt_handler = 0;
|
||||
r_ble_sw_cca_check_isr = 0;
|
||||
bt_bb_tx_cca_set = 0;
|
22
components/esp_rom/esp32c3/ld/esp32c3.rom.ble_dtm.ld
Normal file
22
components/esp_rom/esp32c3/ld/esp32c3.rom.ble_dtm.ld
Normal file
@ -0,0 +1,22 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
/* 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.
|
||||
*/
|
||||
|
||||
/* DTM */
|
||||
f_hci_le_rx_test_cmd_handler = 0;
|
||||
f_hci_le_tx_test_cmd_handler = 0;
|
||||
f_hci_le_enh_rx_test_cmd_handler = 0;
|
||||
f_hci_le_enh_tx_test_cmd_handler = 0;
|
||||
f_hci_le_test_end_cmd_handler = 0;
|
||||
r_lld_test_init = 0;
|
20
components/esp_rom/esp32c3/ld/esp32c3.rom.ble_master.ld
Normal file
20
components/esp_rom/esp32c3/ld/esp32c3.rom.ble_master.ld
Normal file
@ -0,0 +1,20 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
/* 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.
|
||||
*/
|
||||
|
||||
/* master */
|
||||
f_hci_le_create_con_cmd_handler = 0;
|
||||
f_hci_le_create_con_cancel_cmd_handler = 0;
|
||||
lld_init_end_ind_handler = 0;
|
||||
r_lld_init_init = 0;
|
36
components/esp_rom/esp32c3/ld/esp32c3.rom.ble_scan.ld
Normal file
36
components/esp_rom/esp32c3/ld/esp32c3.rom.ble_scan.ld
Normal file
@ -0,0 +1,36 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
/* 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.
|
||||
*/
|
||||
|
||||
|
||||
/* BLE scan */
|
||||
f_hci_le_set_scan_param_cmd_handler = 0;
|
||||
f_hci_le_set_scan_en_cmd_handler = 0;
|
||||
f_llm_scan_period_to_handler_hack = 0;
|
||||
f_lld_adv_rep_ind_handler_hack = 0;
|
||||
r_lld_scan_init = 0;
|
||||
r_lld_scan_restart = 0;
|
||||
f_lld_scan_end_ind_handler_hack = 0;
|
||||
r_llm_env_adv_dup_filt_deinit_eco = 0;
|
||||
llm_exception_list_init = 0;
|
||||
llm_duplicate_list_init = 0;
|
||||
f_hci_vendor_ble_update_duplicate_exceptional_list_cmd_handler = 0;
|
||||
f_hci_vendor_ble_init_adv_flow_control_cmd_handler = 0;
|
||||
f_hci_vendor_ble_update_adv_report_flow_control_cmd_handler = 0;
|
||||
coex_schm_ble_scan_stop = 0;
|
||||
|
||||
f_hci_le_set_ext_scan_param_cmd_handler = 0;
|
||||
f_hci_le_set_ext_scan_en_cmd_handler = 0;
|
||||
r_lld_scan_process_pkt_rx_ext_adv = 0;
|
||||
r_lld_scan_trunc_ind = 0;
|
44
components/esp_rom/esp32c3/ld/esp32c3.rom.ble_smp.ld
Normal file
44
components/esp_rom/esp32c3/ld/esp32c3.rom.ble_smp.ld
Normal file
@ -0,0 +1,44 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
/* 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.
|
||||
*/
|
||||
|
||||
/* SMP */
|
||||
f_ll_pause_enc_req_handler = 0;
|
||||
f_ll_pause_enc_rsp_handler = 0;
|
||||
f_ll_enc_req_handler = 0;
|
||||
f_ll_enc_rsp_handler = 0;
|
||||
f_ll_start_enc_req_handler = 0;
|
||||
f_ll_start_enc_rsp_handler = 0;
|
||||
f_hci_le_start_enc_cmd_handler = 0;
|
||||
f_hci_le_ltk_req_reply_cmd_handler = 0;
|
||||
f_hci_le_ltk_req_neg_reply_cmd_handler = 0;
|
||||
f_llc_encrypt_ind_handler = 0;
|
||||
f_llc_op_encrypt_ind_handler = 0;
|
||||
f_hci_le_rd_local_p256_public_key_cmd_handler = 0;
|
||||
f_hci_le_generate_dhkey_cmd_handler = 0;
|
||||
f_hci_le_enc_cmd_handler = 0;
|
||||
r_rwip_crypt_evt_handler = 0;
|
||||
|
||||
/* LE ping */
|
||||
f_ll_ping_req_handler = 0;
|
||||
f_ll_ping_rsp_handler = 0;
|
||||
r_llc_le_ping_set = 0;
|
||||
r_llc_le_ping_restart = 0;
|
||||
f_llc_op_le_ping_ind_handler = 0;
|
||||
f_llc_auth_payl_nearly_op_handler = 0;
|
||||
f_llc_auth_payl_real_to_handler = 0;
|
||||
f_llc_auth_payl_nearly_to_handler = 0;
|
||||
|
||||
/* ecc */
|
||||
r_ecc_init = 0;
|
37
components/esp_rom/esp32c3/ld/esp32c3.rom.ble_test.ld
Normal file
37
components/esp_rom/esp32c3/ld/esp32c3.rom.ble_test.ld
Normal file
@ -0,0 +1,37 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
/* 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.
|
||||
*/
|
||||
|
||||
|
||||
/* overwrite */
|
||||
lld_acl_rx_ind_handler = 0;
|
||||
lld_con_estab_ind_handler = 0;
|
||||
lld_adv_rep_ind_handler = 0;
|
||||
llm_rpa_renew_to_handler = 0;
|
||||
lld_scan_end_ind_handler = 0;
|
||||
llm_scan_period_to_handler = 0;
|
||||
|
||||
/* nvds */
|
||||
r_nvds_init = 0;
|
||||
f_nvds_get = 0;
|
||||
f_nvds_del = 0;
|
||||
f_nvds_put = 0;
|
||||
|
||||
/* controller flash */
|
||||
r_flash_init = 0;
|
||||
r_flash_env_init = 0;
|
||||
r_flash_env_deinit = 0;
|
||||
|
||||
/* QA test */
|
||||
f_hci_vendor_ble_qa_test_cmd_handler = 0;
|
844
components/esp_rom/esp32c3/ld/esp32c3.rom.bt_funcs.ld
Normal file
844
components/esp_rom/esp32c3/ld/esp32c3.rom.bt_funcs.ld
Normal file
@ -0,0 +1,844 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
/* 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 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_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;
|
||||
|
||||
/* 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;
|
@ -44,38 +44,6 @@ 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
|
||||
***************************************/
|
||||
|
45
components/esp_rom/esp32c3/ld/esp32c3.rom.eco3_bt_funcs.ld
Normal file
45
components/esp_rom/esp32c3/ld/esp32c3.rom.eco3_bt_funcs.ld
Normal file
@ -0,0 +1,45 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
/*
|
||||
ESP32C3 ECO3 ROM address table
|
||||
Version 3 API's imported from the ROM
|
||||
*/
|
||||
|
||||
|
||||
/***************************************
|
||||
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;
|
@ -93,132 +93,6 @@ rom1_phy_close_rf = 0x40001c18;
|
||||
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_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_ke_task_schedule = 0x40000e80;
|
||||
r_llc_hci_command_handler = 0x40000ef0;
|
||||
r_llc_loc_ch_map_proc_continue = 0x40000f5c;
|
||||
r_llc_loc_con_upd_proc_continue = 0x40000f60;
|
||||
r_llc_loc_phy_upd_proc_continue = 0x40000f78;
|
||||
r_llc_rem_con_upd_proc_continue = 0x40000fb4;
|
||||
r_lld_con_sched = 0x40001118;
|
||||
r_lld_con_stop = 0x40001124;
|
||||
r_lld_llcp_rx_ind_handler = 0x400011b0;
|
||||
r_lld_per_adv_sched = 0x400011f8;
|
||||
r_rf_txpwr_cs_get = 0x40001428;
|
||||
r_rf_txpwr_dbm_get = 0x4000142c;
|
||||
r_sch_arb_event_start_isr = 0x400014f8;
|
||||
r_sch_plan_set = 0x40001534;
|
||||
r_sch_prog_end_isr = 0x40001538;
|
||||
r_lld_adv_ext_chain_scannable_construct = 0x40001b58;
|
||||
|
||||
r_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;
|
||||
r_hci_register_vendor_desc_tab = 0x40000d9c;
|
||||
r_lld_scan_process_pkt_rx_adv_rep = 0x40001284;
|
||||
r_register_esp_vendor_cmd_handler = 0x40001400;
|
||||
r_llc_llcp_pdu_handler_get_overwrite = 0x40001d5c;
|
||||
*/
|
||||
|
||||
|
||||
/***************************************
|
||||
Group eco7_phy
|
||||
***************************************/
|
||||
|
130
components/esp_rom/esp32c3/ld/esp32c3.rom.eco7_bt_funcs.ld
Normal file
130
components/esp_rom/esp32c3/ld/esp32c3.rom.eco7_bt_funcs.ld
Normal file
@ -0,0 +1,130 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2023-2024 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
/***************************************
|
||||
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_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_ke_task_schedule = 0x40000e80;
|
||||
r_llc_hci_command_handler = 0x40000ef0;
|
||||
r_llc_loc_ch_map_proc_continue = 0x40000f5c;
|
||||
r_llc_loc_con_upd_proc_continue = 0x40000f60;
|
||||
r_llc_loc_phy_upd_proc_continue = 0x40000f78;
|
||||
r_llc_rem_con_upd_proc_continue = 0x40000fb4;
|
||||
r_lld_con_sched = 0x40001118;
|
||||
r_lld_con_stop = 0x40001124;
|
||||
r_lld_llcp_rx_ind_handler = 0x400011b0;
|
||||
r_lld_per_adv_sched = 0x400011f8;
|
||||
r_rf_txpwr_cs_get = 0x40001428;
|
||||
r_rf_txpwr_dbm_get = 0x4000142c;
|
||||
r_sch_arb_event_start_isr = 0x400014f8;
|
||||
r_sch_plan_set = 0x40001534;
|
||||
r_sch_prog_end_isr = 0x40001538;
|
||||
r_lld_adv_ext_chain_scannable_construct = 0x40001b58;
|
||||
|
||||
r_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;
|
||||
r_hci_register_vendor_desc_tab = 0x40000d9c;
|
||||
r_lld_scan_process_pkt_rx_adv_rep = 0x40001284;
|
||||
r_register_esp_vendor_cmd_handler = 0x40001400;
|
||||
r_llc_llcp_pdu_handler_get_overwrite = 0x40001d5c;
|
||||
*/
|
@ -525,800 +525,6 @@ 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_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;
|
||||
@ -1462,38 +668,6 @@ 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
|
||||
***************************************/
|
||||
|
@ -284,10 +284,14 @@ phy_wifi_set_tx_gain = 0x400014f4;
|
||||
phy_bt_get_tx_tab_ = 0x400014f8;
|
||||
phy_bt_set_tx_gain = 0x400014fc;
|
||||
phy_bt_tx_gain_init = 0x40001500;
|
||||
phy_pbus_xpd_rx_off = 0x40002518;
|
||||
phy_i2c_writeReg_Mask = 0x4000787e;
|
||||
phy_pbus_xpd_rx_on = 0x40002628;
|
||||
phy_pbus_xpd_tx_on = 0x4000274c;
|
||||
phy_pbus_xpd_rx_off = 0x40001528;
|
||||
phy_i2c_writeReg_Mask = 0x4000152c;
|
||||
phy_pbus_xpd_rx_on = 0x40001530;
|
||||
phy_pbus_xpd_tx_on = 0x40001534;
|
||||
phy_get_romfuncs = 0x40001538;
|
||||
phy_chip_set_chan_ana_ = 0x4000153c;
|
||||
phy_pbus_xpd_tx_off = 0x40001540;
|
||||
/* Data (.data, .bss, .rodata) */
|
||||
phy_rom_phyFuns = 0x4085fb80;
|
||||
phy_param_rom = 0x4085fc70;
|
||||
phy_rom_phyFuns_eco1 = 0x4085fc6c;
|
||||
|
@ -32,7 +32,7 @@ hal_mac_tx_clr_mplen = 0x40000c10;
|
||||
hal_mac_get_txq_state = 0x40000c14;
|
||||
hal_mac_clr_txq_state = 0x40000c18;
|
||||
hal_mac_get_txq_complete = 0x40000c1c;
|
||||
/*hal_mac_deinit_twt_tx = 0x40000c20;*/
|
||||
hal_mac_deinit_twt_tx = 0x40000c20;
|
||||
hal_mac_is_dma_enable = 0x40000c24;
|
||||
/*hal_he_get_bss_color = 0x40000c28;*/
|
||||
hal_he_set_ersu = 0x40000c2c;
|
||||
@ -62,7 +62,7 @@ ic_get_he_rts_threshold_bytes = 0x40000c88;
|
||||
lmacAdjustTimestamp = 0x40000c8c;
|
||||
lmacDiscardAgedMSDU = 0x40000c90;
|
||||
lmacDiscardMSDU = 0x40000c94;
|
||||
/*lmacEndFrameExchangeSequence = 0x40000c98;*/
|
||||
lmacEndFrameExchangeSequence = 0x40000c98;
|
||||
lmacIsIdle = 0x40000c9c;
|
||||
lmacIsLongFrame = 0x40000ca0;
|
||||
lmacMSDUAged = 0x40000ca4;
|
||||
@ -74,19 +74,19 @@ lmacReachLongLimit = 0x40000cb8;
|
||||
lmacReachShortLimit = 0x40000cbc;
|
||||
lmacRecycleMPDU = 0x40000cc0;
|
||||
lmacRxDone = 0x40000cc4;
|
||||
/*lmacSetTxFrame = 0x40000cc8;*/
|
||||
lmacSetTxFrame = 0x40000cc8;
|
||||
lmacTxDone = 0x40000ccc;
|
||||
lmacTxFrame = 0x40000cd0;
|
||||
lmacDisableTransmit = 0x40000cd4;
|
||||
lmacDiscardFrameExchangeSequence = 0x40000cd8;
|
||||
lmacProcessCollision = 0x40000cdc;
|
||||
lmacProcessAckTimeout = 0x40000ce0;
|
||||
/*lmacProcessShortRetryFail = 0x40000ce4;*/
|
||||
lmacProcessShortRetryFail = 0x40000ce4;
|
||||
lmacProcessCollisions_task = 0x40000ce8;
|
||||
lmacProcessTxRtsError = 0x40000cec;
|
||||
lmacProcessTxError = 0x40000cf0;
|
||||
lmacProcessCtsTimeout = 0x40000cf4;
|
||||
/*lmacProcessLongRetryFail = 0x40000cf8;*/
|
||||
lmacProcessLongRetryFail = 0x40000cf8;
|
||||
lmacRetryTxFrame = 0x40000cfc;
|
||||
lmacEndRetryAMPDUFail = 0x40000d00;
|
||||
lmacProcessTxSuccess = 0x40000d04;
|
||||
@ -112,7 +112,7 @@ pm_disable_sleep_delay_timer = 0x40000d50;
|
||||
/*pm_dream = 0x40000d54;*/
|
||||
pm_mac_wakeup = 0x40000d58;
|
||||
pm_mac_sleep = 0x40000d5c;
|
||||
pm_enable_active_timer = 0x40000d60;
|
||||
/*pm_enable_active_timer = 0x40000d60;*/
|
||||
pm_enable_sleep_delay_timer = 0x40000d64;
|
||||
pm_local_tsf_process = 0x40000d68;
|
||||
pm_set_beacon_filter = 0x40000d6c;
|
||||
@ -145,13 +145,13 @@ pm_disconnected_wake = 0x40000dd4;
|
||||
/*pm_tx_data_process = 0x40000dd8;*/
|
||||
pm_is_twt_awake = 0x40000ddc;
|
||||
pm_enable_twt_keep_alive = 0x40000de0;
|
||||
/*pm_twt_on_tsf_timer = 0x40000de4;*/
|
||||
pm_twt_on_tsf_timer = 0x40000de4;
|
||||
pm_twt_process = 0x40000de8;
|
||||
pm_is_twt_start = 0x40000dec;
|
||||
pm_twt_set_target_wdev_time = 0x40000df0;
|
||||
pm_twt_set_target_tsf = 0x40000df4;
|
||||
pm_enable_twt_keep_alive_timer = 0x40000df8;
|
||||
/*pm_mac_try_enable_modem_state = 0x40000dfc;*/
|
||||
pm_mac_try_enable_modem_state = 0x40000dfc;
|
||||
pm_beacon_monitor_tbtt_timeout_process = 0x40000e00;
|
||||
/*pm_update_next_tbtt = 0x40000e04;*/
|
||||
pm_twt_disallow_tx = 0x40000e08;
|
||||
@ -209,11 +209,11 @@ ppDisableQueue = 0x40000ed4;
|
||||
ppCalVHTDeliNum = 0x40000ed8;
|
||||
ppCalTxVHTSMPDULength = 0x40000edc;
|
||||
ppCheckTxRTS = 0x40000ee0;
|
||||
/*ppProcessLifeTime = 0x40000ee4;*/
|
||||
ppProcessLifeTime = 0x40000ee4;
|
||||
ppProcTxCallback = 0x40000ee8;
|
||||
ppCalPreFecPaddingFactor = 0x40000eec;
|
||||
ppCalDeliNum = 0x40000ef0;
|
||||
/*ppRemoveHTC = 0x40000ef4;*/
|
||||
ppRemoveHTC = 0x40000ef4;
|
||||
ppCheckTxHEAMPDUlength = 0x40000ef8;
|
||||
ppCertSetRate = 0x40000efc;
|
||||
ppSelectTxFormat = 0x40000f00;
|
||||
@ -260,7 +260,7 @@ trcAmpduSetState = 0x40000fa0;
|
||||
trc_set_bf_report_rate = 0x40000fa4;
|
||||
trc_onPPTxDone = 0x40000fa8;
|
||||
wDevCheckBlockError = 0x40000fac;
|
||||
/*wDev_AppendRxBlocks = 0x40000fb0;*/
|
||||
wDev_AppendRxBlocks = 0x40000fb0;
|
||||
wDev_DiscardFrame = 0x40000fb4;
|
||||
wDev_GetNoiseFloor = 0x40000fb8;
|
||||
wDev_IndicateAmpdu = 0x40000fbc;
|
||||
@ -335,6 +335,12 @@ is_use_muedca = 0x400010cc;
|
||||
pwr_hal_clear_mac_modem_state_wakeup_protect_signal = 0x400010d0;
|
||||
get_estimated_batime = 0x400010d4;
|
||||
get_sublen_offset = 0x400010d8;
|
||||
pm_coex_schm_overall_period_get = 0x40001504;
|
||||
ppRemoveHEAMPDUflags = 0x4000150c;
|
||||
tsf_hal_get_tbtt_interval = 0x40001510;
|
||||
pm_get_tbtt_count = 0x4000151c;
|
||||
tsf_hal_get_time = 0x40001520;
|
||||
tsf_hal_get_counter_value = 0x40001524;
|
||||
/* Data (.data, .bss, .rodata) */
|
||||
our_instances_ptr = 0x4004ffe0;
|
||||
pTxRx = 0x4085ff74;
|
||||
|
@ -113,7 +113,7 @@ pm_disable_sleep_delay_timer = 0x40000cbc;
|
||||
pm_dream = 0x40000cc0;
|
||||
pm_mac_wakeup = 0x40000cc4;
|
||||
pm_mac_sleep = 0x40000cc8;
|
||||
pm_enable_active_timer = 0x40000ccc;
|
||||
/*pm_enable_active_timer = 0x40000ccc;*/
|
||||
pm_enable_sleep_delay_timer = 0x40000cd0;
|
||||
pm_local_tsf_process = 0x40000cd4;
|
||||
pm_set_beacon_filter = 0x40000cd8;
|
||||
|
75
components/esp_rom/esp32s3/ld/esp32s3.rom.ble_50.ld
Normal file
75
components/esp_rom/esp32s3/ld/esp32s3.rom.ble_50.ld
Normal file
@ -0,0 +1,75 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
/* 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.
|
||||
*/
|
||||
|
||||
/* extend adv */
|
||||
f_hci_le_set_ext_adv_param_cmd_handler = 0x40000000;
|
||||
f_hci_le_set_adv_set_rand_addr_cmd_handler = 0x40000000;
|
||||
f_hci_le_set_ext_adv_data_cmd_handler = 0x40000000;
|
||||
f_hci_le_set_ext_scan_rsp_data_cmd_handler = 0x40000000;
|
||||
f_hci_le_set_ext_adv_en_cmd_handler = 0x40000000;
|
||||
f_hci_le_rd_max_adv_data_len_cmd_handler = 0x40000000;
|
||||
f_hci_le_rd_nb_supp_adv_sets_cmd_handler = 0x40000000;
|
||||
f_hci_le_rmv_adv_set_cmd_handler = 0x40000000;
|
||||
f_hci_le_clear_adv_sets_cmd_handler = 0x40000000;
|
||||
r_lld_adv_sync_info_set = 0x40000000;
|
||||
|
||||
r_lld_ext_adv_dynamic_pti_process = 0x40000000;
|
||||
r_lld_adv_ext_chain_construct = 0x40000000;
|
||||
r_lld_adv_aux_evt_canceled_cbk = 0x40000000;
|
||||
r_lld_adv_aux_evt_start_cbk = 0x40000000;
|
||||
r_lld_adv_aux_ch_idx_set = 0x40000000;
|
||||
|
||||
/* periodic adv */
|
||||
f_hci_le_set_per_adv_param_cmd_handler = 0x40000000;
|
||||
f_hci_le_set_per_adv_data_cmd_handler = 0x40000000;
|
||||
f_hci_le_set_per_adv_en_cmd_handler = 0x40000000;
|
||||
r_lld_per_adv_ch_map_update = 0x40000000;
|
||||
r_lld_per_adv_init = 0x40000000;
|
||||
|
||||
/* PA list */
|
||||
f_hci_le_add_dev_to_per_adv_list_cmd_handler = 0x40000000;
|
||||
f_hci_le_rmv_dev_from_per_adv_list_cmd_handler = 0x40000000;
|
||||
f_hci_le_clear_per_adv_list_cmd_handler = 0x40000000;
|
||||
f_hci_le_rd_per_adv_list_size_cmd_handler = 0x40000000;
|
||||
|
||||
/* extend scan */
|
||||
f_hci_le_set_ext_scan_param_cmd_handler = 0x40000000;
|
||||
f_hci_le_set_ext_scan_en_cmd_handler = 0x40000000;
|
||||
r_lld_scan_process_pkt_rx_ext_adv = 0x40000000;
|
||||
r_lld_scan_trunc_ind = 0x40000000;
|
||||
|
||||
/* extend con */
|
||||
f_hci_le_ext_create_con_cmd_handler = 0x40000000;
|
||||
r_lld_init_process_pkt_rx_adv_ext_ind = 0x40000000;
|
||||
r_lld_init_process_pkt_rx_aux_connect_rsp = 0x40000000;
|
||||
|
||||
/* PA sync */
|
||||
f_hci_le_per_adv_create_sync_cmd_handler = 0x40000000;
|
||||
f_hci_le_per_adv_create_sync_cancel_cmd_handler = 0x40000000;
|
||||
f_hci_le_per_adv_term_sync_cmd_handler = 0x40000000;
|
||||
f_lld_per_adv_rx_end_ind_handler_hack = 0x40000000;
|
||||
f_lld_sync_start_req_handler = 0x40000000;
|
||||
f_lld_per_adv_rep_ind_handler = 0x40000000;
|
||||
r_lld_sync_init = 0x40000000;
|
||||
|
||||
/* phy update*/
|
||||
r_phy_upd_proc_start = 0x40000000;
|
||||
f_llc_op_phy_upd_ind_handler = 0x40000000;
|
||||
f_ll_phy_req_handler = 0x40000000;
|
||||
f_ll_phy_rsp_handler = 0x40000000;
|
||||
f_ll_phy_update_ind_handler = 0x40000000;
|
||||
f_lld_phy_upd_cfm_handler = 0x40000000;
|
||||
f_hci_le_set_phy_cmd_handler = 0x40000000;
|
||||
llc_llcp_phy_update_ind_ack = 0x40000000;
|
32
components/esp_rom/esp32s3/ld/esp32s3.rom.ble_cca.ld
Normal file
32
components/esp_rom/esp32s3/ld/esp32s3.rom.ble_cca.ld
Normal file
@ -0,0 +1,32 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
/* 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.
|
||||
*/
|
||||
|
||||
/* SW CCA */
|
||||
r_lld_cca_con_evt_start_handle = 0x40000000;
|
||||
r_lld_hw_cca_end_isr = 0x40000000;
|
||||
r_lld_hw_cca_isr_eco = 0x40000000;
|
||||
r_lld_cca_bb_sync_found_handle = 0x40000000;
|
||||
r_lld_cca_data_reset = 0x40000000;
|
||||
r_lld_cca_sw_init = 0x40000000;
|
||||
r_lld_cca_con_evt_end_handle = 0x40000000;
|
||||
r_lld_cca_alloc = 0x40000000;
|
||||
r_lld_cca_sw_alloc = 0x40000000;
|
||||
r_lld_cca_sw_free = 0x40000000;
|
||||
r_lld_cca_free = 0x40000000;
|
||||
r_cca_init = 0x40000000;
|
||||
r_lld_hw_cca_evt_handler = 0x40000000;
|
||||
r_lld_sw_cca_evt_handler = 0x40000000;
|
||||
r_ble_sw_cca_check_isr = 0x40000000;
|
||||
bt_bb_tx_cca_set = 0x40000000;
|
22
components/esp_rom/esp32s3/ld/esp32s3.rom.ble_dtm.ld
Normal file
22
components/esp_rom/esp32s3/ld/esp32s3.rom.ble_dtm.ld
Normal file
@ -0,0 +1,22 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
/* 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.
|
||||
*/
|
||||
|
||||
/* DTM */
|
||||
f_hci_le_rx_test_cmd_handler = 0x40000000;
|
||||
f_hci_le_tx_test_cmd_handler = 0x40000000;
|
||||
f_hci_le_enh_rx_test_cmd_handler = 0x40000000;
|
||||
f_hci_le_enh_tx_test_cmd_handler = 0x40000000;
|
||||
f_hci_le_test_end_cmd_handler = 0x40000000;
|
||||
r_lld_test_init = 0x40000000;
|
20
components/esp_rom/esp32s3/ld/esp32s3.rom.ble_master.ld
Normal file
20
components/esp_rom/esp32s3/ld/esp32s3.rom.ble_master.ld
Normal file
@ -0,0 +1,20 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
/* 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.
|
||||
*/
|
||||
|
||||
/* master */
|
||||
f_hci_le_create_con_cmd_handler = 0x40000000;
|
||||
f_hci_le_create_con_cancel_cmd_handler = 0x40000000;
|
||||
lld_init_end_ind_handler = 0x40000000;
|
||||
r_lld_init_init = 0x40000000;
|
37
components/esp_rom/esp32s3/ld/esp32s3.rom.ble_scan.ld
Normal file
37
components/esp_rom/esp32s3/ld/esp32s3.rom.ble_scan.ld
Normal file
@ -0,0 +1,37 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
/* 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.
|
||||
*/
|
||||
|
||||
|
||||
/* BLE scan */
|
||||
|
||||
f_hci_le_set_scan_param_cmd_handler = 0x40000000;
|
||||
f_hci_le_set_scan_en_cmd_handler = 0x40000000;
|
||||
f_llm_scan_period_to_handler_hack = 0x40000000;
|
||||
f_lld_adv_rep_ind_handler_hack = 0x40000000;
|
||||
r_lld_scan_init = 0x40000000;
|
||||
r_lld_scan_restart = 0x40000000;
|
||||
f_lld_scan_end_ind_handler_hack = 0x40000000;
|
||||
r_llm_env_adv_dup_filt_deinit_eco = 0x40000000;
|
||||
llm_exception_list_init = 0x40000000;
|
||||
llm_duplicate_list_init = 0x40000000;
|
||||
f_hci_vendor_ble_update_duplicate_exceptional_list_cmd_handler = 0x40000000;
|
||||
f_hci_vendor_ble_init_adv_flow_control_cmd_handler = 0x40000000;
|
||||
f_hci_vendor_ble_update_adv_report_flow_control_cmd_handler = 0x40000000;
|
||||
coex_schm_ble_scan_stop = 0x40000000;
|
||||
|
||||
f_hci_le_set_ext_scan_param_cmd_handler = 0x40000000;
|
||||
f_hci_le_set_ext_scan_en_cmd_handler = 0x40000000;
|
||||
r_lld_scan_process_pkt_rx_ext_adv = 0x40000000;
|
||||
r_lld_scan_trunc_ind = 0x40000000;
|
44
components/esp_rom/esp32s3/ld/esp32s3.rom.ble_smp.ld
Normal file
44
components/esp_rom/esp32s3/ld/esp32s3.rom.ble_smp.ld
Normal file
@ -0,0 +1,44 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
/* 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.
|
||||
*/
|
||||
|
||||
/* SMP */
|
||||
f_ll_pause_enc_req_handler = 0x40000000;
|
||||
f_ll_pause_enc_rsp_handler = 0x40000000;
|
||||
f_ll_enc_req_handler = 0x40000000;
|
||||
f_ll_enc_rsp_handler = 0x40000000;
|
||||
f_ll_start_enc_req_handler = 0x40000000;
|
||||
f_ll_start_enc_rsp_handler = 0x40000000;
|
||||
f_hci_le_start_enc_cmd_handler = 0x40000000;
|
||||
f_hci_le_ltk_req_reply_cmd_handler = 0x40000000;
|
||||
f_hci_le_ltk_req_neg_reply_cmd_handler = 0x40000000;
|
||||
f_llc_encrypt_ind_handler = 0x40000000;
|
||||
f_llc_op_encrypt_ind_handler = 0x40000000;
|
||||
f_hci_le_rd_local_p256_public_key_cmd_handler = 0x40000000;
|
||||
f_hci_le_generate_dhkey_cmd_handler = 0x40000000;
|
||||
f_hci_le_enc_cmd_handler = 0x40000000;
|
||||
r_rwip_crypt_evt_handler = 0x40000000;
|
||||
|
||||
/* LE ping */
|
||||
f_ll_ping_req_handler = 0x40000000;
|
||||
f_ll_ping_rsp_handler = 0x40000000;
|
||||
r_llc_le_ping_set = 0x40000000;
|
||||
r_llc_le_ping_restart = 0x40000000;
|
||||
f_llc_op_le_ping_ind_handler = 0x40000000;
|
||||
f_llc_auth_payl_nearly_op_handler = 0x40000000;
|
||||
f_llc_auth_payl_real_to_handler = 0x40000000;
|
||||
f_llc_auth_payl_nearly_to_handler = 0x40000000;
|
||||
|
||||
/* ecc */
|
||||
r_ecc_init = 0x40000000;
|
37
components/esp_rom/esp32s3/ld/esp32s3.rom.ble_test.ld
Normal file
37
components/esp_rom/esp32s3/ld/esp32s3.rom.ble_test.ld
Normal file
@ -0,0 +1,37 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
/* 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.
|
||||
*/
|
||||
|
||||
|
||||
/* overwrite */
|
||||
lld_acl_rx_ind_handler = 0x40000000;
|
||||
lld_con_estab_ind_handler = 0x40000000;
|
||||
lld_adv_rep_ind_handler = 0x40000000;
|
||||
llm_rpa_renew_to_handler = 0x40000000;
|
||||
lld_scan_end_ind_handler = 0x40000000;
|
||||
llm_scan_period_to_handler = 0x40000000;
|
||||
|
||||
/* nvds */
|
||||
r_nvds_init = 0x40000000;
|
||||
f_nvds_get = 0x40000000;
|
||||
f_nvds_del = 0x40000000;
|
||||
f_nvds_put = 0x40000000;
|
||||
|
||||
/* controller flash */
|
||||
r_flash_init = 0x40000000;
|
||||
r_flash_env_init = 0x40000000;
|
||||
r_flash_env_deinit = 0x40000000;
|
||||
|
||||
/* QA test */
|
||||
f_hci_vendor_ble_qa_test_cmd_handler = 0x40000000;
|
874
components/esp_rom/esp32s3/ld/esp32s3.rom.bt_funcs.ld
Normal file
874
components/esp_rom/esp32s3/ld/esp32s3.rom.bt_funcs.ld
Normal file
@ -0,0 +1,874 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
/* 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 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;
|
||||
|
||||
/* 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;
|
@ -776,825 +776,6 @@ 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;
|
||||
@ -1738,38 +919,6 @@ 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
|
||||
***************************************/
|
||||
|
@ -13,6 +13,7 @@
|
||||
|
||||
#include "esp_log.h"
|
||||
#include "esp_chip_info.h"
|
||||
#include "esp_app_format.h"
|
||||
|
||||
#include "esp_private/cache_err_int.h"
|
||||
#include "esp_clk_internal.h"
|
||||
@ -787,9 +788,13 @@ void IRAM_ATTR call_start_cpu0(void)
|
||||
// Read the application binary image header. This will also decrypt the header if the image is encrypted.
|
||||
__attribute__((unused)) esp_image_header_t fhdr = {0};
|
||||
|
||||
// This assumes that DROM is the first segment in the application binary, i.e. that we can read
|
||||
// the binary header through cache by accessing SOC_DROM_LOW address.
|
||||
hal_memcpy(&fhdr, (void *) SOC_DROM_LOW, sizeof(fhdr));
|
||||
// We can access the image header through the cache by reading from the memory-mapped virtual DROM start offset
|
||||
uint32_t fhdr_src_addr = (uint32_t)(&_rodata_reserved_start) - sizeof(esp_image_header_t) - sizeof(esp_image_segment_header_t);
|
||||
hal_memcpy(&fhdr, (void *) fhdr_src_addr, sizeof(fhdr));
|
||||
if (fhdr.magic != ESP_IMAGE_HEADER_MAGIC) {
|
||||
ESP_EARLY_LOGE(TAG, "Invalid app image header");
|
||||
abort();
|
||||
}
|
||||
|
||||
#if CONFIG_IDF_TARGET_ESP32
|
||||
#if !CONFIG_SPIRAM_BOOT_INIT
|
||||
|
@ -164,6 +164,12 @@ static void select_rtc_slow_clk(soc_rtc_slow_clk_src_t rtc_slow_clk_src)
|
||||
}
|
||||
rtc_clk_slow_src_set(rtc_slow_clk_src);
|
||||
|
||||
// Disable unused clock sources after clock source switching is complete.
|
||||
// Regardless of the clock source selection, the internal 136K clock source will always keep on.
|
||||
if (rtc_slow_clk_src != SOC_RTC_SLOW_CLK_SRC_XTAL32K && rtc_slow_clk_src != SOC_RTC_SLOW_CLK_SRC_OSC_SLOW) {
|
||||
rtc_clk_32k_enable(false);
|
||||
}
|
||||
|
||||
if (SLOW_CLK_CAL_CYCLES > 0) {
|
||||
/* TODO: 32k XTAL oscillator has some frequency drift at startup.
|
||||
* Improve calibration routine to wait until the frequency is stable.
|
||||
|
@ -185,6 +185,15 @@ static void select_rtc_slow_clk(soc_rtc_slow_clk_src_t rtc_slow_clk_src)
|
||||
}
|
||||
rtc_clk_slow_src_set(rtc_slow_clk_src);
|
||||
|
||||
// Disable unused clock sources after clock source switching is complete.
|
||||
// Regardless of the clock source selection, the internal 136K clock source will always keep on.
|
||||
if (rtc_slow_clk_src != SOC_RTC_SLOW_CLK_SRC_XTAL32K && rtc_slow_clk_src != SOC_RTC_SLOW_CLK_SRC_OSC_SLOW) {
|
||||
rtc_clk_32k_enable(false);
|
||||
}
|
||||
if (rtc_slow_clk_src != SOC_RTC_SLOW_CLK_SRC_RC32K) {
|
||||
rtc_clk_rc32k_enable(false);
|
||||
}
|
||||
|
||||
if (SLOW_CLK_CAL_CYCLES > 0) {
|
||||
/* TODO: 32k XTAL oscillator has some frequency drift at startup.
|
||||
* Improve calibration routine to wait until the frequency is stable.
|
||||
|
@ -148,6 +148,12 @@ static void select_rtc_slow_clk(soc_rtc_slow_clk_src_t rtc_slow_clk_src)
|
||||
}
|
||||
rtc_clk_slow_src_set(rtc_slow_clk_src);
|
||||
|
||||
// Disable unused clock sources after clock source switching is complete.
|
||||
// Regardless of the clock source selection, the internal 136K clock source will always keep on.
|
||||
if (rtc_slow_clk_src != SOC_RTC_SLOW_CLK_SRC_XTAL32K && rtc_slow_clk_src != SOC_RTC_SLOW_CLK_SRC_OSC_SLOW) {
|
||||
rtc_clk_32k_enable(false);
|
||||
}
|
||||
|
||||
if (SLOW_CLK_CAL_CYCLES > 0) {
|
||||
/* TODO: 32k XTAL oscillator has some frequency drift at startup.
|
||||
* Improve calibration routine to wait until the frequency is stable.
|
||||
|
@ -184,6 +184,15 @@ static void select_rtc_slow_clk(soc_rtc_slow_clk_src_t rtc_slow_clk_src)
|
||||
}
|
||||
rtc_clk_slow_src_set(rtc_slow_clk_src);
|
||||
|
||||
// Disable unused clock sources after clock source switching is complete.
|
||||
// Regardless of the clock source selection, the internal 136K clock source will always keep on.
|
||||
if (rtc_slow_clk_src != SOC_RTC_SLOW_CLK_SRC_XTAL32K && rtc_slow_clk_src != SOC_RTC_SLOW_CLK_SRC_OSC_SLOW) {
|
||||
rtc_clk_32k_enable(false);
|
||||
}
|
||||
if (rtc_slow_clk_src != SOC_RTC_SLOW_CLK_SRC_RC32K) {
|
||||
rtc_clk_rc32k_enable(false);
|
||||
}
|
||||
|
||||
if (SLOW_CLK_CAL_CYCLES > 0) {
|
||||
/* TODO: 32k XTAL oscillator has some frequency drift at startup.
|
||||
* Improve calibration routine to wait until the frequency is stable.
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user