From 682c7279c5c2098cfec1e7811e6523d1d2b66c0a Mon Sep 17 00:00:00 2001 From: Nerivec <62446222+Nerivec@users.noreply.github.com> Date: Sat, 27 Jul 2024 20:56:31 +0200 Subject: [PATCH] Add rest of RCP builds. --- .github/workflows/build.yaml | 2 +- Dockerfile | 5 +- ...a008_rcp-uart-802154-blehci-hw_460800.yaml | 42 + ...-1v1_rcp-uart-802154-blehci-sw_460800.yaml | 42 + ...-1v2_rcp-uart-802154-blehci-hw_460800.yaml | 42 + ...ect_rcp-uart-802154-blehci-hw_460800.yaml} | 2 +- .../nabucasa_yellow_ncp-uart-hw_115200.yaml | 4 +- ...llow_rcp-uart-802154-blehci-hw_460800.yaml | 50 ++ ...b06m_rcp-uart-802154-blehci-sw_460800.yaml | 42 + ...zb07_rcp-uart-802154-blehci-hw_460800.yaml | 42 + ...lee_rcp-uart-802154-blehci-sw_460800.yaml} | 2 +- ...240p_rcp-uart-802154-blehci-sw_460800.yaml | 42 + ...gm24_rcp-uart-802154-blehci-hw_460800.yaml | 42 + .../app.c | 141 +++ .../app.h | 49 + .../config/FreeRTOSConfig.h | 273 ++++++ .../config/app_properties_config.h | 65 ++ .../config/btl_interface_cfg.h | 52 ++ .../config/btl_interface_cfg_s2c1.h | 281 ++++++ .../config/circular_queue_config.h | 23 + .../config/dmadrv_config.h | 26 + .../config/emlib_core_debug_config.h | 45 + .../config/nvm3_default_config.h | 45 + .../config/pin_config.h | 149 +++ .../config/psa_crypto_config.h | 170 ++++ .../config/sl_bluetooth_advertiser_config.h | 45 + .../config/sl_bluetooth_connection_config.h | 48 + .../config/sl_btctrl_config.h | 37 + .../config/sl_btctrl_rtos_config.h | 24 + .../sl_clock_manager_oscillator_config.h | 229 +++++ .../config/sl_clock_manager_tree_config.h | 217 +++++ .../config/sl_core_config.h | 44 + .../config/sl_cpc_config.h | 83 ++ .../sl_cpc_drv_uart_usart_vcom_config.h | 102 +++ .../config/sl_cpc_kernel_config.h | 99 ++ .../config/sl_cpc_security_config.h | 55 ++ .../config/sl_device_init_emu_config.h | 53 ++ .../config/sl_fem_util_config.h | 118 +++ .../config/sl_gp_interface_config.h | 44 + .../config/sl_interrupt_manager_s2_config.h | 47 + .../config/sl_mbedtls_config.h | 118 +++ .../config/sl_mbedtls_device_config.h | 72 ++ .../config/sl_memory_config.h | 11 + .../config/sl_memory_manager_config.h | 49 + .../config/sl_memory_manager_region_config.h | 49 + .../config/sl_openthread_coex_config.h | 41 + .../config/sl_openthread_features_config.h | 410 +++++++++ .../config/sl_openthread_generic_config.h | 175 ++++ .../config/sl_openthread_rtos_config.h | 100 +++ .../config/sl_rail_util_coex_common_config.h | 254 ++++++ .../config/sl_rail_util_coex_config.h | 145 +++ .../config/sl_rail_util_dma_config.h | 52 ++ ...ieee802154_fast_channel_switching_config.h | 49 + .../config/sl_rail_util_pa_config.h | 81 ++ .../config/sl_rail_util_pti_config.h | 62 ++ .../config/sl_rail_util_rf_path_config.h | 48 + .../config/sl_rail_util_rssi_config.h | 44 + .../config/sl_sleeptimer_config.h | 82 ++ .../config/ustimer_config.h | 55 ++ .../linker_options/ot-rtos-wrapper-options | 848 ++++++++++++++++++ .../main.c | 74 ++ .../rcp-uart-802154-blehci_MGM210PA32JIA.slcp | 86 ++ .../rcp-uart-802154-blehci_MGM210PA32JIA.slps | 17 + .../reset_util.h | 69 ++ .../app.c | 141 +++ .../app.h | 49 + .../config/FreeRTOSConfig.h | 273 ++++++ .../config/app_properties_config.h | 65 ++ .../config/btl_interface_cfg.h | 52 ++ .../config/btl_interface_cfg_s2c4.h | 321 +++++++ .../config/circular_queue_config.h | 23 + .../config/dmadrv_config.h | 26 + .../config/emlib_core_debug_config.h | 45 + .../config/nvm3_default_config.h | 45 + .../config/pin_config.h | 186 ++++ .../config/psa_crypto_config.h | 170 ++++ .../config/sl_bluetooth_advertiser_config.h | 45 + .../config/sl_bluetooth_connection_config.h | 48 + .../config/sl_btctrl_config.h | 37 + .../config/sl_btctrl_rtos_config.h | 24 + .../sl_clock_manager_oscillator_config.h | 321 +++++++ .../config/sl_clock_manager_tree_config.h | 282 ++++++ .../config/sl_core_config.h | 44 + .../config/sl_cpc_config.h | 83 ++ .../sl_cpc_drv_uart_usart_vcom_config.h | 102 +++ .../config/sl_cpc_kernel_config.h | 99 ++ .../config/sl_cpc_security_config.h | 55 ++ .../config/sl_device_init_dcdc_config.h | 28 + .../config/sl_device_init_emu_config.h | 53 ++ .../config/sl_fem_util_config.h | 118 +++ .../config/sl_gp_interface_config.h | 44 + .../config/sl_interrupt_manager_s2_config.h | 47 + .../config/sl_mbedtls_config.h | 118 +++ .../config/sl_mbedtls_device_config.h | 72 ++ .../config/sl_memory_config.h | 11 + .../config/sl_memory_manager_config.h | 49 + .../config/sl_memory_manager_region_config.h | 49 + .../config/sl_openthread_coex_config.h | 41 + .../config/sl_openthread_features_config.h | 410 +++++++++ .../config/sl_openthread_generic_config.h | 175 ++++ .../config/sl_openthread_rtos_config.h | 100 +++ .../config/sl_rail_util_coex_common_config.h | 254 ++++++ .../config/sl_rail_util_coex_config.h | 190 ++++ .../config/sl_rail_util_dma_config.h | 52 ++ ...ieee802154_fast_channel_switching_config.h | 49 + .../config/sl_rail_util_pa_config.h | 81 ++ .../config/sl_rail_util_pti_config.h | 62 ++ .../config/sl_rail_util_rssi_config.h | 44 + .../config/sl_rail_util_sequencer_config.h | 48 + .../config/sl_sleeptimer_config.h | 82 ++ .../config/ustimer_config.h | 55 ++ .../linker_options/ot-rtos-wrapper-options | 848 ++++++++++++++++++ .../main.c | 74 ++ .../rcp-uart-802154-blehci_MGM240PA32VNN.slcp | 86 ++ .../rcp-uart-802154-blehci_MGM240PA32VNN.slps | 17 + .../reset_util.h | 69 ++ 116 files changed, 11769 insertions(+), 7 deletions(-) create mode 100644 manifests/aeotec_zga008_rcp-uart-802154-blehci-hw_460800.yaml create mode 100644 manifests/easyiot_zb-gw04-1v1_rcp-uart-802154-blehci-sw_460800.yaml create mode 100644 manifests/easyiot_zb-gw04-1v2_rcp-uart-802154-blehci-hw_460800.yaml rename manifests/{nabucasa_skyconnect_rcp-uart-802154-blehci_460800.yaml => nabucasa_skyconnect_rcp-uart-802154-blehci-hw_460800.yaml} (97%) create mode 100644 manifests/nabucasa_yellow_rcp-uart-802154-blehci-hw_460800.yaml create mode 100644 manifests/smlight_slzb06m_rcp-uart-802154-blehci-sw_460800.yaml create mode 100644 manifests/smlight_slzb07_rcp-uart-802154-blehci-hw_460800.yaml rename manifests/{sonoff_zbdonglee_rcp-uart-802154-blehci_460800.yaml => sonoff_zbdonglee_rcp-uart-802154-blehci-sw_460800.yaml} (96%) create mode 100644 manifests/sparkfun_mgm240p_rcp-uart-802154-blehci-sw_460800.yaml create mode 100644 manifests/tubeszb_mgm24_rcp-uart-802154-blehci-hw_460800.yaml create mode 100644 src/rcp-uart-802154-blehci_MGM210PA32JIA/app.c create mode 100644 src/rcp-uart-802154-blehci_MGM210PA32JIA/app.h create mode 100644 src/rcp-uart-802154-blehci_MGM210PA32JIA/config/FreeRTOSConfig.h create mode 100644 src/rcp-uart-802154-blehci_MGM210PA32JIA/config/app_properties_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM210PA32JIA/config/btl_interface_cfg.h create mode 100644 src/rcp-uart-802154-blehci_MGM210PA32JIA/config/btl_interface_cfg_s2c1.h create mode 100644 src/rcp-uart-802154-blehci_MGM210PA32JIA/config/circular_queue_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM210PA32JIA/config/dmadrv_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM210PA32JIA/config/emlib_core_debug_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM210PA32JIA/config/nvm3_default_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM210PA32JIA/config/pin_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM210PA32JIA/config/psa_crypto_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_bluetooth_advertiser_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_bluetooth_connection_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_btctrl_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_btctrl_rtos_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_clock_manager_oscillator_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_clock_manager_tree_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_core_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_cpc_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_cpc_drv_uart_usart_vcom_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_cpc_kernel_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_cpc_security_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_device_init_emu_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_fem_util_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_gp_interface_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_interrupt_manager_s2_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_mbedtls_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_mbedtls_device_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_memory_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_memory_manager_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_memory_manager_region_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_openthread_coex_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_openthread_features_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_openthread_generic_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_openthread_rtos_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_rail_util_coex_common_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_rail_util_coex_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_rail_util_dma_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_rail_util_ieee802154_fast_channel_switching_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_rail_util_pa_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_rail_util_pti_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_rail_util_rf_path_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_rail_util_rssi_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_sleeptimer_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM210PA32JIA/config/ustimer_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM210PA32JIA/linker_options/ot-rtos-wrapper-options create mode 100644 src/rcp-uart-802154-blehci_MGM210PA32JIA/main.c create mode 100644 src/rcp-uart-802154-blehci_MGM210PA32JIA/rcp-uart-802154-blehci_MGM210PA32JIA.slcp create mode 100644 src/rcp-uart-802154-blehci_MGM210PA32JIA/rcp-uart-802154-blehci_MGM210PA32JIA.slps create mode 100644 src/rcp-uart-802154-blehci_MGM210PA32JIA/reset_util.h create mode 100644 src/rcp-uart-802154-blehci_MGM240PA32VNN/app.c create mode 100644 src/rcp-uart-802154-blehci_MGM240PA32VNN/app.h create mode 100644 src/rcp-uart-802154-blehci_MGM240PA32VNN/config/FreeRTOSConfig.h create mode 100644 src/rcp-uart-802154-blehci_MGM240PA32VNN/config/app_properties_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM240PA32VNN/config/btl_interface_cfg.h create mode 100644 src/rcp-uart-802154-blehci_MGM240PA32VNN/config/btl_interface_cfg_s2c4.h create mode 100644 src/rcp-uart-802154-blehci_MGM240PA32VNN/config/circular_queue_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM240PA32VNN/config/dmadrv_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM240PA32VNN/config/emlib_core_debug_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM240PA32VNN/config/nvm3_default_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM240PA32VNN/config/pin_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM240PA32VNN/config/psa_crypto_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_bluetooth_advertiser_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_bluetooth_connection_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_btctrl_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_btctrl_rtos_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_clock_manager_oscillator_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_clock_manager_tree_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_core_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_cpc_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_cpc_drv_uart_usart_vcom_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_cpc_kernel_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_cpc_security_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_device_init_dcdc_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_device_init_emu_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_fem_util_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_gp_interface_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_interrupt_manager_s2_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_mbedtls_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_mbedtls_device_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_memory_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_memory_manager_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_memory_manager_region_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_openthread_coex_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_openthread_features_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_openthread_generic_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_openthread_rtos_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_rail_util_coex_common_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_rail_util_coex_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_rail_util_dma_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_rail_util_ieee802154_fast_channel_switching_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_rail_util_pa_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_rail_util_pti_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_rail_util_rssi_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_rail_util_sequencer_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_sleeptimer_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM240PA32VNN/config/ustimer_config.h create mode 100644 src/rcp-uart-802154-blehci_MGM240PA32VNN/linker_options/ot-rtos-wrapper-options create mode 100644 src/rcp-uart-802154-blehci_MGM240PA32VNN/main.c create mode 100644 src/rcp-uart-802154-blehci_MGM240PA32VNN/rcp-uart-802154-blehci_MGM240PA32VNN.slcp create mode 100644 src/rcp-uart-802154-blehci_MGM240PA32VNN/rcp-uart-802154-blehci_MGM240PA32VNN.slps create mode 100644 src/rcp-uart-802154-blehci_MGM240PA32VNN/reset_util.h diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 020a1f79..023643ac 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -177,7 +177,7 @@ jobs: if: ${{ env.ACT }} run: | curl -fsSL https://deb.nodesource.com/nsolid_setup_deb.sh | bash -s 20 - apt-get install -y nodejs + apt-get update && apt-get install -y nodejs - name: Upload artifact uses: actions/upload-artifact@v4 diff --git a/Dockerfile b/Dockerfile index 344dcdb7..d145ad60 100644 --- a/Dockerfile +++ b/Dockerfile @@ -18,7 +18,8 @@ RUN \ python3 \ python3-ruamel.yaml \ unzip \ - xz-utils + xz-utils \ + && rm -rf /var/lib/apt/lists/* # Install Simplicity Commander (unfortunately no stable URL available, this # is known to be working with Commander_linux_x86_64_1v15p0b1306.tar.bz). @@ -47,7 +48,7 @@ RUN \ # Simplicity SDK 2024.6.1 RUN \ - curl -o simplicity_sdk_2024.6.1.zip -L https://github.com/SiliconLabs/simplicity_sdk/releases/download/v2024.6.1/gecko-sdk.zip \ + curl -o simplicity_sdk_2024.6.1.zip -L https://github.com/SiliconLabs/simplicity_sdk/releases/download/v2024.6.1-0/sisdk-sdk.zip \ && unzip -q -d simplicity_sdk_2024.6.1 simplicity_sdk_2024.6.1.zip \ && rm simplicity_sdk_2024.6.1.zip diff --git a/manifests/aeotec_zga008_rcp-uart-802154-blehci-hw_460800.yaml b/manifests/aeotec_zga008_rcp-uart-802154-blehci-hw_460800.yaml new file mode 100644 index 00000000..da289aa3 --- /dev/null +++ b/manifests/aeotec_zga008_rcp-uart-802154-blehci-hw_460800.yaml @@ -0,0 +1,42 @@ +name: ZGA008 Zigbee +device: EFR32MG21A020F1024IM32 +base_project: src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32 +filename: "{manifest_name}_{sdk_version}" + +gbl: + fw_type: rcp-uart-802154-blehci-hw + dynamic: ["ezsp_version", "ot_version", "ble_version", "cpc_version"] + baudrate: 460800 + +c_defines: + SL_CPC_DRV_UART_VCOM_BAUDRATE: 460800 + SL_CPC_DRV_UART_VCOM_FLOW_CONTROL_TYPE: usartHwFlowControlCtsAndRts + + SL_CPC_DRV_UART_VCOM_PERIPHERAL: USART0 + SL_CPC_DRV_UART_VCOM_PERIPHERAL_NO: 0 + + SL_CPC_DRV_UART_VCOM_TX_PORT: gpioPortA + SL_CPC_DRV_UART_VCOM_TX_PIN: 5 + + SL_CPC_DRV_UART_VCOM_RX_PORT: gpioPortA + SL_CPC_DRV_UART_VCOM_RX_PIN: 6 + + SL_CPC_DRV_UART_VCOM_CTS_PORT: gpioPortC + SL_CPC_DRV_UART_VCOM_CTS_PIN: 1 + + SL_CPC_DRV_UART_VCOM_RTS_PORT: gpioPortA + SL_CPC_DRV_UART_VCOM_RTS_PIN: 4 + + SL_CPC_DRV_UART_VCOM_RX_QUEUE_SIZE: 10 + SL_CPC_DRV_UART_VCOM_TX_QUEUE_SIZE: 10 + + SL_CPC_TX_QUEUE_ITEM_MAX_COUNT: 15 + SL_CPC_RX_BUFFER_MAX_COUNT: 15 + + SL_CLOCK_MANAGER_HFXO_FREQ: 38400000 + SL_CLOCK_MANAGER_HFXO_CTUNE: 140 + SL_CLOCK_MANAGER_HFXO_PRECISION: 50 + SL_CLOCK_MANAGER_LFXO_CTUNE: 63 + SL_CLOCK_MANAGER_LFXO_PRECISION: 50 + + SL_RAIL_UTIL_RSSI_OFFSET: -11 diff --git a/manifests/easyiot_zb-gw04-1v1_rcp-uart-802154-blehci-sw_460800.yaml b/manifests/easyiot_zb-gw04-1v1_rcp-uart-802154-blehci-sw_460800.yaml new file mode 100644 index 00000000..cb366053 --- /dev/null +++ b/manifests/easyiot_zb-gw04-1v1_rcp-uart-802154-blehci-sw_460800.yaml @@ -0,0 +1,42 @@ +name: ZB-GW04-1v1 Zigbee +device: EFR32MG21A020F768IM32 +base_project: src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32 +filename: "{manifest_name}_{sdk_version}" + +gbl: + fw_type: rcp-uart-802154-blehci-sw + dynamic: ["ezsp_version", "ot_version", "ble_version", "cpc_version"] + baudrate: 460800 + +c_defines: + SL_CPC_DRV_UART_VCOM_BAUDRATE: 460800 + SL_CPC_DRV_UART_VCOM_FLOW_CONTROL_TYPE: usartHwFlowControlNone + + SL_CPC_DRV_UART_VCOM_PERIPHERAL: USART0 + SL_CPC_DRV_UART_VCOM_PERIPHERAL_NO: 0 + + SL_CPC_DRV_UART_VCOM_TX_PORT: gpioPortB + SL_CPC_DRV_UART_VCOM_TX_PIN: 1 + + SL_CPC_DRV_UART_VCOM_RX_PORT: gpioPortB + SL_CPC_DRV_UART_VCOM_RX_PIN: 0 + + SL_CPC_DRV_UART_VCOM_CTS_PORT: 0 + SL_CPC_DRV_UART_VCOM_CTS_PIN: 0 + + SL_CPC_DRV_UART_VCOM_RTS_PORT: 0 + SL_CPC_DRV_UART_VCOM_RTS_PIN: 0 + + SL_CPC_DRV_UART_VCOM_RX_QUEUE_SIZE: 10 + SL_CPC_DRV_UART_VCOM_TX_QUEUE_SIZE: 10 + + SL_CPC_TX_QUEUE_ITEM_MAX_COUNT: 15 + SL_CPC_RX_BUFFER_MAX_COUNT: 15 + + SL_CLOCK_MANAGER_HFXO_FREQ: 38400000 + SL_CLOCK_MANAGER_HFXO_CTUNE: 128 + SL_CLOCK_MANAGER_HFXO_PRECISION: 50 + SL_CLOCK_MANAGER_LFXO_CTUNE: 63 + SL_CLOCK_MANAGER_LFXO_PRECISION: 50 + + SL_RAIL_UTIL_RSSI_OFFSET: -11 diff --git a/manifests/easyiot_zb-gw04-1v2_rcp-uart-802154-blehci-hw_460800.yaml b/manifests/easyiot_zb-gw04-1v2_rcp-uart-802154-blehci-hw_460800.yaml new file mode 100644 index 00000000..dbd60ff0 --- /dev/null +++ b/manifests/easyiot_zb-gw04-1v2_rcp-uart-802154-blehci-hw_460800.yaml @@ -0,0 +1,42 @@ +name: ZB-GW04-1v2 Zigbee +device: EFR32MG21A020F768IM32 +base_project: src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32 +filename: "{manifest_name}_{sdk_version}" + +gbl: + fw_type: rcp-uart-802154-blehci-hw + dynamic: ["ezsp_version", "ot_version", "ble_version", "cpc_version"] + baudrate: 460800 + +c_defines: + SL_CPC_DRV_UART_VCOM_BAUDRATE: 460800 + SL_CPC_DRV_UART_VCOM_FLOW_CONTROL_TYPE: usartHwFlowControlCtsAndRts + + SL_CPC_DRV_UART_VCOM_PERIPHERAL: USART0 + SL_CPC_DRV_UART_VCOM_PERIPHERAL_NO: 0 + + SL_CPC_DRV_UART_VCOM_TX_PORT: gpioPortB + SL_CPC_DRV_UART_VCOM_TX_PIN: 1 + + SL_CPC_DRV_UART_VCOM_RX_PORT: gpioPortB + SL_CPC_DRV_UART_VCOM_RX_PIN: 0 + + SL_CPC_DRV_UART_VCOM_CTS_PORT: gpioPortD + SL_CPC_DRV_UART_VCOM_CTS_PIN: 3 + + SL_CPC_DRV_UART_VCOM_RTS_PORT: gpioPortD + SL_CPC_DRV_UART_VCOM_RTS_PIN: 4 + + SL_CPC_DRV_UART_VCOM_RX_QUEUE_SIZE: 10 + SL_CPC_DRV_UART_VCOM_TX_QUEUE_SIZE: 10 + + SL_CPC_TX_QUEUE_ITEM_MAX_COUNT: 15 + SL_CPC_RX_BUFFER_MAX_COUNT: 15 + + SL_CLOCK_MANAGER_HFXO_FREQ: 38400000 + SL_CLOCK_MANAGER_HFXO_CTUNE: 128 + SL_CLOCK_MANAGER_HFXO_PRECISION: 50 + SL_CLOCK_MANAGER_LFXO_CTUNE: 63 + SL_CLOCK_MANAGER_LFXO_PRECISION: 50 + + SL_RAIL_UTIL_RSSI_OFFSET: -11 diff --git a/manifests/nabucasa_skyconnect_rcp-uart-802154-blehci_460800.yaml b/manifests/nabucasa_skyconnect_rcp-uart-802154-blehci-hw_460800.yaml similarity index 97% rename from manifests/nabucasa_skyconnect_rcp-uart-802154-blehci_460800.yaml rename to manifests/nabucasa_skyconnect_rcp-uart-802154-blehci-hw_460800.yaml index 6c493dd1..0cb0fda5 100644 --- a/manifests/nabucasa_skyconnect_rcp-uart-802154-blehci_460800.yaml +++ b/manifests/nabucasa_skyconnect_rcp-uart-802154-blehci-hw_460800.yaml @@ -4,7 +4,7 @@ base_project: src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32 filename: "{manifest_name}_{sdk_version}" gbl: - fw_type: rcp-uart-802154-blehci + fw_type: rcp-uart-802154-blehci-hw dynamic: ["ezsp_version", "ot_version", "ble_version", "cpc_version"] baudrate: 460800 diff --git a/manifests/nabucasa_yellow_ncp-uart-hw_115200.yaml b/manifests/nabucasa_yellow_ncp-uart-hw_115200.yaml index 50d3b389..da416ed1 100644 --- a/manifests/nabucasa_yellow_ncp-uart-hw_115200.yaml +++ b/manifests/nabucasa_yellow_ncp-uart-hw_115200.yaml @@ -31,12 +31,12 @@ c_defines: SL_IOSTREAM_USART_VCOM_RTS_PORT: gpioPortC SL_IOSTREAM_USART_VCOM_RTS_PIN: 1 + SL_IOSTREAM_USART_VCOM_RX_BUFFER_SIZE: 32 + SL_SIMPLE_LED_BOARD_ACTIVITY_POLARITY: SL_SIMPLE_LED_POLARITY_ACTIVE_LOW SL_SIMPLE_LED_BOARD_ACTIVITY_PORT: gpioPortB SL_SIMPLE_LED_BOARD_ACTIVITY_PIN: 1 - SL_IOSTREAM_USART_VCOM_RX_BUFFER_SIZE: 32 - SL_CLOCK_MANAGER_HFXO_FREQ: 38400000 SL_CLOCK_MANAGER_HFXO_CTUNE: 133 SL_CLOCK_MANAGER_HFXO_PRECISION: 50 diff --git a/manifests/nabucasa_yellow_rcp-uart-802154-blehci-hw_460800.yaml b/manifests/nabucasa_yellow_rcp-uart-802154-blehci-hw_460800.yaml new file mode 100644 index 00000000..f677b41a --- /dev/null +++ b/manifests/nabucasa_yellow_rcp-uart-802154-blehci-hw_460800.yaml @@ -0,0 +1,50 @@ +name: Yellow Zigbee +device: MGM210PA32JIA +base_project: src/rcp-uart-802154-blehci_MGM210PA32JIA +filename: "{manifest_name}_{sdk_version}" + +gbl: + fw_type: rcp-uart-802154-blehci-hw + dynamic: ["ezsp_version", "ot_version", "ble_version", "cpc_version"] + baudrate: 460800 + +add_components: +- id: simple_led + instance: [board_activity] + +c_defines: + SL_CPC_DRV_UART_VCOM_BAUDRATE: 460800 + SL_CPC_DRV_UART_VCOM_FLOW_CONTROL_TYPE: usartHwFlowControlCtsAndRts + + SL_CPC_DRV_UART_VCOM_PERIPHERAL: USART0 + SL_CPC_DRV_UART_VCOM_PERIPHERAL_NO: 0 + + SL_CPC_DRV_UART_VCOM_TX_PORT: gpioPortA + SL_CPC_DRV_UART_VCOM_TX_PIN: 5 + + SL_CPC_DRV_UART_VCOM_RX_PORT: gpioPortA + SL_CPC_DRV_UART_VCOM_RX_PIN: 6 + + SL_CPC_DRV_UART_VCOM_CTS_PORT: gpioPortD + SL_CPC_DRV_UART_VCOM_CTS_PIN: 2 + + SL_CPC_DRV_UART_VCOM_RTS_PORT: gpioPortC + SL_CPC_DRV_UART_VCOM_RTS_PIN: 1 + + SL_CPC_DRV_UART_VCOM_RX_QUEUE_SIZE: 10 + SL_CPC_DRV_UART_VCOM_TX_QUEUE_SIZE: 10 + + SL_CPC_TX_QUEUE_ITEM_MAX_COUNT: 15 + SL_CPC_RX_BUFFER_MAX_COUNT: 15 + + SL_SIMPLE_LED_BOARD_ACTIVITY_POLARITY: SL_SIMPLE_LED_POLARITY_ACTIVE_LOW + SL_SIMPLE_LED_BOARD_ACTIVITY_PORT: gpioPortB + SL_SIMPLE_LED_BOARD_ACTIVITY_PIN: 1 + + SL_CLOCK_MANAGER_HFXO_FREQ: 38400000 + SL_CLOCK_MANAGER_HFXO_CTUNE: 133 + SL_CLOCK_MANAGER_HFXO_PRECISION: 50 + SL_CLOCK_MANAGER_LFXO_CTUNE: 79 + SL_CLOCK_MANAGER_LFXO_PRECISION: 50 + + SL_RAIL_UTIL_RSSI_OFFSET: -11 diff --git a/manifests/smlight_slzb06m_rcp-uart-802154-blehci-sw_460800.yaml b/manifests/smlight_slzb06m_rcp-uart-802154-blehci-sw_460800.yaml new file mode 100644 index 00000000..d77df2f0 --- /dev/null +++ b/manifests/smlight_slzb06m_rcp-uart-802154-blehci-sw_460800.yaml @@ -0,0 +1,42 @@ +name: SLZB-06M Zigbee +device: EFR32MG21A020F768IM32 +base_project: src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32 +filename: "{manifest_name}_{sdk_version}" + +gbl: + fw_type: rcp-uart-802154-blehci-sw + dynamic: ["ezsp_version", "ot_version", "ble_version", "cpc_version"] + baudrate: 460800 + +c_defines: + SL_CPC_DRV_UART_VCOM_BAUDRATE: 460800 + SL_CPC_DRV_UART_VCOM_FLOW_CONTROL_TYPE: usartHwFlowControlNone + + SL_CPC_DRV_UART_VCOM_PERIPHERAL: USART0 + SL_CPC_DRV_UART_VCOM_PERIPHERAL_NO: 0 + + SL_CPC_DRV_UART_VCOM_TX_PORT: gpioPortB + SL_CPC_DRV_UART_VCOM_TX_PIN: 1 + + SL_CPC_DRV_UART_VCOM_RX_PORT: gpioPortB + SL_CPC_DRV_UART_VCOM_RX_PIN: 0 + + SL_CPC_DRV_UART_VCOM_CTS_PORT: 0 + SL_CPC_DRV_UART_VCOM_CTS_PIN: 0 + + SL_CPC_DRV_UART_VCOM_RTS_PORT: 0 + SL_CPC_DRV_UART_VCOM_RTS_PIN: 0 + + SL_CPC_DRV_UART_VCOM_RX_QUEUE_SIZE: 10 + SL_CPC_DRV_UART_VCOM_TX_QUEUE_SIZE: 10 + + SL_CPC_TX_QUEUE_ITEM_MAX_COUNT: 15 + SL_CPC_RX_BUFFER_MAX_COUNT: 15 + + SL_CLOCK_MANAGER_HFXO_FREQ: 38400000 + SL_CLOCK_MANAGER_HFXO_CTUNE: 80 + SL_CLOCK_MANAGER_HFXO_PRECISION: 50 + SL_CLOCK_MANAGER_LFXO_CTUNE: 63 + SL_CLOCK_MANAGER_LFXO_PRECISION: 50 + + SL_RAIL_UTIL_RSSI_OFFSET: -11 diff --git a/manifests/smlight_slzb07_rcp-uart-802154-blehci-hw_460800.yaml b/manifests/smlight_slzb07_rcp-uart-802154-blehci-hw_460800.yaml new file mode 100644 index 00000000..a50dd0cf --- /dev/null +++ b/manifests/smlight_slzb07_rcp-uart-802154-blehci-hw_460800.yaml @@ -0,0 +1,42 @@ +name: SLZB-07 Zigbee +device: EFR32MG21A020F768IM32 +base_project: src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32 +filename: "{manifest_name}_{sdk_version}" + +gbl: + fw_type: rcp-uart-802154-blehci-hw + dynamic: ["ezsp_version", "ot_version", "ble_version", "cpc_version"] + baudrate: 460800 + +c_defines: + SL_CPC_DRV_UART_VCOM_BAUDRATE: 460800 + SL_CPC_DRV_UART_VCOM_FLOW_CONTROL_TYPE: usartHwFlowControlCtsAndRts + + SL_CPC_DRV_UART_VCOM_PERIPHERAL: USART0 + SL_CPC_DRV_UART_VCOM_PERIPHERAL_NO: 0 + + SL_CPC_DRV_UART_VCOM_TX_PORT: gpioPortA + SL_CPC_DRV_UART_VCOM_TX_PIN: 6 + + SL_CPC_DRV_UART_VCOM_RX_PORT: gpioPortA + SL_CPC_DRV_UART_VCOM_RX_PIN: 5 + + SL_CPC_DRV_UART_VCOM_CTS_PORT: gpioPortB + SL_CPC_DRV_UART_VCOM_CTS_PIN: 1 + + SL_CPC_DRV_UART_VCOM_RTS_PORT: gpioPortB + SL_CPC_DRV_UART_VCOM_RTS_PIN: 0 + + SL_CPC_DRV_UART_VCOM_RX_QUEUE_SIZE: 10 + SL_CPC_DRV_UART_VCOM_TX_QUEUE_SIZE: 10 + + SL_CPC_TX_QUEUE_ITEM_MAX_COUNT: 15 + SL_CPC_RX_BUFFER_MAX_COUNT: 15 + + SL_CLOCK_MANAGER_HFXO_FREQ: 38400000 + SL_CLOCK_MANAGER_HFXO_CTUNE: 140 + SL_CLOCK_MANAGER_HFXO_PRECISION: 50 + SL_CLOCK_MANAGER_LFXO_CTUNE: 63 + SL_CLOCK_MANAGER_LFXO_PRECISION: 50 + + SL_RAIL_UTIL_RSSI_OFFSET: -11 diff --git a/manifests/sonoff_zbdonglee_rcp-uart-802154-blehci_460800.yaml b/manifests/sonoff_zbdonglee_rcp-uart-802154-blehci-sw_460800.yaml similarity index 96% rename from manifests/sonoff_zbdonglee_rcp-uart-802154-blehci_460800.yaml rename to manifests/sonoff_zbdonglee_rcp-uart-802154-blehci-sw_460800.yaml index d4959212..3dcd984f 100644 --- a/manifests/sonoff_zbdonglee_rcp-uart-802154-blehci_460800.yaml +++ b/manifests/sonoff_zbdonglee_rcp-uart-802154-blehci-sw_460800.yaml @@ -4,7 +4,7 @@ base_project: src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32 filename: "{manifest_name}_{sdk_version}" gbl: - fw_type: rcp-uart-802154-blehci + fw_type: rcp-uart-802154-blehci-sw dynamic: ["ezsp_version", "ot_version", "ble_version", "cpc_version"] baudrate: 460800 diff --git a/manifests/sparkfun_mgm240p_rcp-uart-802154-blehci-sw_460800.yaml b/manifests/sparkfun_mgm240p_rcp-uart-802154-blehci-sw_460800.yaml new file mode 100644 index 00000000..14475361 --- /dev/null +++ b/manifests/sparkfun_mgm240p_rcp-uart-802154-blehci-sw_460800.yaml @@ -0,0 +1,42 @@ +name: MGM240P Zigbee +device: MGM240PB32VNA +base_project: src/rcp-uart-802154-blehci_MGM240PA32VNN +filename: "{manifest_name}_{sdk_version}" + +gbl: + fw_type: rcp-uart-802154-blehci-sw + dynamic: ["ezsp_version", "ot_version", "ble_version", "cpc_version"] + baudrate: 460800 + +c_defines: + SL_CPC_DRV_UART_VCOM_BAUDRATE: 460800 + SL_CPC_DRV_UART_VCOM_FLOW_CONTROL_TYPE: usartHwFlowControlNone + + SL_CPC_DRV_UART_VCOM_PERIPHERAL: USART0 + SL_CPC_DRV_UART_VCOM_PERIPHERAL_NO: 0 + + SL_CPC_DRV_UART_VCOM_TX_PORT: gpioPortA + SL_CPC_DRV_UART_VCOM_TX_PIN: 5 + + SL_CPC_DRV_UART_VCOM_RX_PORT: gpioPortA + SL_CPC_DRV_UART_VCOM_RX_PIN: 6 + + SL_CPC_DRV_UART_VCOM_CTS_PORT: 0 + SL_CPC_DRV_UART_VCOM_CTS_PIN: 0 + + SL_CPC_DRV_UART_VCOM_RTS_PORT: 0 + SL_CPC_DRV_UART_VCOM_RTS_PIN: 0 + + SL_CPC_DRV_UART_VCOM_RX_QUEUE_SIZE: 10 + SL_CPC_DRV_UART_VCOM_TX_QUEUE_SIZE: 10 + + SL_CPC_TX_QUEUE_ITEM_MAX_COUNT: 15 + SL_CPC_RX_BUFFER_MAX_COUNT: 15 + + SL_CLOCK_MANAGER_HFXO_FREQ: 39000000 + SL_CLOCK_MANAGER_HFXO_CTUNE: 140 + SL_CLOCK_MANAGER_HFXO_PRECISION: 50 + SL_CLOCK_MANAGER_LFXO_CTUNE: 63 + SL_CLOCK_MANAGER_LFXO_PRECISION: 50 + + SL_RAIL_UTIL_RSSI_OFFSET: 0 \ No newline at end of file diff --git a/manifests/tubeszb_mgm24_rcp-uart-802154-blehci-hw_460800.yaml b/manifests/tubeszb_mgm24_rcp-uart-802154-blehci-hw_460800.yaml new file mode 100644 index 00000000..27918e46 --- /dev/null +++ b/manifests/tubeszb_mgm24_rcp-uart-802154-blehci-hw_460800.yaml @@ -0,0 +1,42 @@ +name: TubesZB MGM24 HW Zigbee +device: MGM240PA32VNN +base_project: src/rcp-uart-802154-blehci_MGM240PA32VNN +filename: "{manifest_name}_{sdk_version}" + +gbl: + fw_type: rcp-uart-802154-blehci-hw + dynamic: ["ezsp_version", "ot_version", "ble_version", "cpc_version"] + baudrate: 460800 + +c_defines: + SL_CPC_DRV_UART_VCOM_BAUDRATE: 460800 + SL_CPC_DRV_UART_VCOM_FLOW_CONTROL_TYPE: usartHwFlowControlCtsAndRts + + SL_CPC_DRV_UART_VCOM_PERIPHERAL: USART0 + SL_CPC_DRV_UART_VCOM_PERIPHERAL_NO: 0 + + SL_CPC_DRV_UART_VCOM_TX_PORT: gpioPortA + SL_CPC_DRV_UART_VCOM_TX_PIN: 6 + + SL_CPC_DRV_UART_VCOM_RX_PORT: gpioPortA + SL_CPC_DRV_UART_VCOM_RX_PIN: 5 + + SL_CPC_DRV_UART_VCOM_CTS_PORT: gpioPortA + SL_CPC_DRV_UART_VCOM_CTS_PIN: 7 + + SL_CPC_DRV_UART_VCOM_RTS_PORT: gpioPortA + SL_CPC_DRV_UART_VCOM_RTS_PIN: 8 + + SL_CPC_DRV_UART_VCOM_RX_QUEUE_SIZE: 10 + SL_CPC_DRV_UART_VCOM_TX_QUEUE_SIZE: 10 + + SL_CPC_TX_QUEUE_ITEM_MAX_COUNT: 15 + SL_CPC_RX_BUFFER_MAX_COUNT: 15 + + SL_CLOCK_MANAGER_HFXO_FREQ: 39000000 + SL_CLOCK_MANAGER_HFXO_CTUNE: 140 + SL_CLOCK_MANAGER_HFXO_PRECISION: 50 + SL_CLOCK_MANAGER_LFXO_CTUNE: 63 + SL_CLOCK_MANAGER_LFXO_PRECISION: 50 + + SL_RAIL_UTIL_RSSI_OFFSET: 0 diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/app.c b/src/rcp-uart-802154-blehci_MGM210PA32JIA/app.c new file mode 100644 index 00000000..ae65dd71 --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM210PA32JIA/app.c @@ -0,0 +1,141 @@ +/***************************************************************************//** + * @file + * @brief Core application logic. + ******************************************************************************* + * # License + * Copyright 2024 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +#include +#include +#include + +#include +#include +#include + +#include "openthread-system.h" +#include "app.h" + +#include "reset_util.h" + +#include "sl_component_catalog.h" +#include "sl_memory_manager.h" + +#if OPENTHREAD_CONFIG_MULTIPAN_RCP_ENABLE +#if OPENTHREAD_CONFIG_MULTIPLE_STATIC_INSTANCE_ENABLE == 0 +#error "Support for multiple OpenThread static instance is disabled." +#endif +otInstance *sInstances[OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_NUM] = {NULL}; +#endif // OPENTHREAD_CONFIG_MULTIPAN_RCP_ENABLE + +/** + * This function initializes the NCP app. + * + * @param[in] aInstance The OpenThread instance structure. + * + */ +#if OPENTHREAD_CONFIG_MULTIPAN_RCP_ENABLE +extern void otAppNcpInitMulti(otInstance **aInstances, uint8_t aCount); +#else +extern void otAppNcpInit(otInstance *aInstance); +#endif + +#if OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_ENABLE && !OPENTHREAD_CONFIG_MULTIPAN_RCP_ENABLE +static uint8_t *sOtInstanceBuffer = NULL; +#endif +static otInstance* sInstance = NULL; + +otInstance *otGetInstance(void) +{ + return sInstance; +} + +void sl_ot_create_instance(void) +{ +#if OPENTHREAD_CONFIG_MULTIPAN_RCP_ENABLE + for (int i = 0; i < OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_NUM; i++) + { + sInstances[i] = otInstanceInitMultiple(i); + + assert(sInstances[i]); + } + sInstance = sInstances[0]; +#elif OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_ENABLE && !OPENTHREAD_CONFIG_MULTIPAN_RCP_ENABLE + size_t otInstanceBufferLength = 0; + + // Call to query the buffer size + (void)otInstanceInit(NULL, &otInstanceBufferLength); + + // Call to allocate the buffer + sOtInstanceBuffer = (uint8_t *)sl_malloc(otInstanceBufferLength); + assert(sOtInstanceBuffer); + + // Initialize OpenThread with the buffer + sInstance = otInstanceInit(sOtInstanceBuffer, &otInstanceBufferLength); +#else + sInstance = otInstanceInitSingle(); +#endif + assert(sInstance); +} + +void sl_ot_ncp_init(void) +{ +#if OPENTHREAD_CONFIG_MULTIPAN_RCP_ENABLE + otAppNcpInitMulti(sInstances, OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_NUM); +#else + otAppNcpInit(sInstance); +#endif +} + +/**************************************************************************//** + * Application Init. + *****************************************************************************/ + +void app_init(void) +{ + OT_SETUP_RESET_JUMP(argv); +} + +/**************************************************************************//** + * Application Process Action. + *****************************************************************************/ +void app_process_action(void) +{ + otTaskletsProcess(sInstance); + otSysProcessDrivers(sInstance); +} + +/**************************************************************************//** + * Application Exit. + *****************************************************************************/ +void app_exit(void) +{ + otInstanceFinalize(sInstance); +#if OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_ENABLE && !OPENTHREAD_CONFIG_MULTIPAN_RCP_ENABLE + sl_free(sOtInstanceBuffer); +#endif + // TO DO : pseudo reset? +} diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/app.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/app.h new file mode 100644 index 00000000..8d52ecfe --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM210PA32JIA/app.h @@ -0,0 +1,49 @@ +/***************************************************************************//** + * @file + * @brief Application interface provided to main(). + ******************************************************************************* + * # License + * Copyright 2024 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +#ifndef APP_H +#define APP_H + +/**************************************************************************//** + * Application Init. + *****************************************************************************/ +void app_init(void); + +/**************************************************************************//** + * Application Exit. + *****************************************************************************/ +void app_exit(void); + +/**************************************************************************//** + * Application Process Action. + *****************************************************************************/ +void app_process_action(void); + +#endif \ No newline at end of file diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/FreeRTOSConfig.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/FreeRTOSConfig.h new file mode 100644 index 00000000..4659fa6d --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/FreeRTOSConfig.h @@ -0,0 +1,273 @@ +/* -------------------------------------------------------------------------- + * Copyright (c) 2013-2019 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * -------------------------------------------------------------------------- + * + * $Revision: V10.2.0 + * + * Project: CMSIS-FreeRTOS + * Title: FreeRTOS configuration definitions + * + * --------------------------------------------------------------------------*/ + +#ifndef FREERTOS_CONFIG_H +#define FREERTOS_CONFIG_H + +/*----------------------------------------------------------- +* Application specific definitions. +* +* These definitions should be adjusted for your particular hardware and +* application requirements. +* +* THESE PARAMETERS ARE DESCRIBED WITHIN THE 'CONFIGURATION' SECTION OF THE +* FreeRTOS API DOCUMENTATION AVAILABLE ON THE FreeRTOS.org WEB SITE. +* +* See http://www.freertos.org/a00110.html +*----------------------------------------------------------*/ + +#if !defined(__IAR_SYSTEMS_ASM__) +#if (defined(__ARMCC_VERSION) || defined(__GNUC__) || defined(__ICCARM__)) +#include + +#include "RTE_Components.h" +#include CMSIS_device_header +#endif + +#include "em_assert.h" +#include "em_device.h" + +#if defined(SL_COMPONENT_CATALOG_PRESENT) +#include "sl_component_catalog.h" +#endif +#endif + +#if defined(SL_CATALOG_SYSTEMVIEW_TRACE_PRESENT) +#include "SEGGER_SYSVIEW_FreeRTOS.h" +#endif + +#if defined(SL_CATALOG_CODE_CLASSIFICATION_VALIDATOR_PRESENT) +#include "sli_code_classification_validator.h" +#define traceTASK_SWITCHED_IN() sli_ccv_task_switched_in() +#endif + +//-------- <<< Use Configuration Wizard in Context Menu >>> -------------------- + +// Minimal stack size [words] <0-65535> +// Stack for idle task and default task stack in words. +// Default: 160 +#define configMINIMAL_STACK_SIZE 160 + +// Total heap size [bytes] <0-0xFFFFFFFF> +// Heap memory size in bytes. +// Default: 8192 +#define configTOTAL_HEAP_SIZE 8192 + +// Kernel tick frequency [Hz] <0-0xFFFFFFFF> +// Kernel tick rate in Hz. +// Default: 1000 +#define configTICK_RATE_HZ 1000 + +// Timer task stack depth [words] <0-65535> +// Stack for timer task in words. +// Default: 160 +#define configTIMER_TASK_STACK_DEPTH 160 + +// Timer task priority <0-56> +// Timer task priority. +// Default: 40 (High) +#define configTIMER_TASK_PRIORITY 40 + +// Timer queue length <0-1024> +// Timer command queue length. +// Default: 10 +#define configTIMER_QUEUE_LENGTH 10 + +// Preemption interrupt priority +// Maximum priority of interrupts that are safe to call FreeRTOS API. +// Default: 48 +#define configMAX_SYSCALL_INTERRUPT_PRIORITY 48 + +// Use time slicing +// Enable setting to use timeslicing. +// Default: 1 +#define configUSE_TIME_SLICING 1 + +// Idle should yield +// Control Yield behaviour of the idle task. +// Default: 1 +#define configIDLE_SHOULD_YIELD 1 + +// Check for stack overflow +// <0=>Disable <1=>Method one <2=>Method two +// Enable or disable stack overflow checking. +// Callback function vApplicationStackOverflowHook implementation is required when stack checking is enabled. +// Default: 2 +#define configCHECK_FOR_STACK_OVERFLOW 2 + +// Use idle hook +// Enable callback function call on each idle task iteration. +// Callback function vApplicationIdleHook implementation is required when idle hook is enabled. +// Default: 0 +#define configUSE_IDLE_HOOK 0 + +// Use tick hook +// Enable callback function call during each tick interrupt. +// Callback function vApplicationTickHook implementation is required when tick hook is enabled. +// Default: 0 +#define configUSE_TICK_HOOK 0 + +// Use deamon task startup hook +// Enable callback function call when timer service starts. +// Callback function vApplicationDaemonTaskStartupHook implementation is required when deamon task startup hook is enabled. +// Default: 0 +#define configUSE_DAEMON_TASK_STARTUP_HOOK 0 + +// Use malloc failed hook +// Enable callback function call when out of dynamic memory. +// Callback function vApplicationMallocFailedHook implementation is required when malloc failed hook is enabled. +// Default: 0 +#define configUSE_MALLOC_FAILED_HOOK 0 + +// Queue registry size +// Define maximum number of queue objects registered for debug purposes. +// The queue registry is used by kernel aware debuggers to locate queue and semaphore structures and display associated text names. +// Default: 10 +#define configQUEUE_REGISTRY_SIZE 10 + +// Port Specific Features +// Enable and configure port specific features. +// Check FreeRTOS documentation for definitions that apply for the used port. + +// Use Floating Point Unit +// Using Floating Point Unit (FPU) affects context handling. +// Enable FPU when application uses floating point operations. +// Default: 1 +#define configENABLE_FPU 1 + +// Minimal secure stack size [words] <0-65535> +// Stack for idle task Secure side context in words. +// This setting is only relevant when TrustZone extension is enabled. +// Default: 128 +#define configMINIMAL_SECURE_STACK_SIZE 128 +// + +// Thread Local Storage Settings +// Thread local storage pointers +// Thread local storage (or TLS) allows the application writer to store +// values inside a task's control block, making the value specific to +// (local to) the task itself. +// Default: 0 +#define configNUM_USER_THREAD_LOCAL_STORAGE_POINTERS 0 +// + +// Use Threadsafe Errno +// Enable Threadsafe Errno support. +// Default: 0 +#define configUSE_POSIX_ERRNO 0 + +//------------- <<< end of configuration section >>> --------------------------- + +/* MPU feature is not supported in Silicon Labs port */ +#define configENABLE_MPU 0 + +/* Defines needed by FreeRTOS to implement CMSIS RTOS2 API. Do not change! */ +#define configCPU_CLOCK_HZ (SystemCoreClock) +#define configSUPPORT_STATIC_ALLOCATION 1 +#define configSUPPORT_DYNAMIC_ALLOCATION 1 +#define configUSE_PREEMPTION 1 +#define configUSE_TIMERS 1 +#define configUSE_MUTEXES 1 +#define configUSE_RECURSIVE_MUTEXES 1 +#define configUSE_COUNTING_SEMAPHORES 1 +#define configUSE_TASK_NOTIFICATIONS 1 +#define configUSE_TRACE_FACILITY 1 +#define configUSE_16_BIT_TICKS 0 +#define configUSE_PORT_OPTIMISED_TASK_SELECTION 0 +#define configMAX_PRIORITIES 56 +#define configKERNEL_INTERRUPT_PRIORITY 255 + +/* Defines that include FreeRTOS functions which implement CMSIS RTOS2 API. Do not change! */ +#define INCLUDE_xEventGroupSetBitsFromISR 1 +#define INCLUDE_xSemaphoreGetMutexHolder 1 +#define INCLUDE_vTaskDelay 1 +#define INCLUDE_vTaskDelayUntil 1 +#define INCLUDE_vTaskDelete 1 +#define INCLUDE_xTaskGetCurrentTaskHandle 1 +#define INCLUDE_xTaskGetSchedulerState 1 +#define INCLUDE_uxTaskGetStackHighWaterMark 1 +#define INCLUDE_uxTaskPriorityGet 1 +#define INCLUDE_vTaskPrioritySet 1 +#define INCLUDE_eTaskGetState 1 +#define INCLUDE_vTaskSuspend 1 +#define INCLUDE_xTimerPendFunctionCall 1 + +/* Map the FreeRTOS port interrupt handlers to their CMSIS standard names. */ +#define xPortPendSVHandler PendSV_Handler +#define vPortSVCHandler SVC_Handler + +/* Ensure Cortex-M port compatibility. */ +#define SysTick_Handler xPortSysTickHandler + +/* Implement FreeRTOS configASSERT as emlib assert. */ +#define configASSERT(x) EFM_ASSERT(x) + +/* Energy saving modes. */ +#if defined(SL_CATALOG_POWER_MANAGER_PRESENT) +#define configUSE_TICKLESS_IDLE 1 +#else +#define configUSE_TICKLESS_IDLE 0 +#endif + +/* Definition used by Keil to replace default system clock source. */ +#define configOVERRIDE_DEFAULT_TICK_CONFIGURATION 1 + +/* Maximum size of task name. */ +#define configMAX_TASK_NAME_LEN 10 + +/* Use queue sets? */ +#define configUSE_QUEUE_SETS 0 + +/* Generate run-time statistics? */ +#define configGENERATE_RUN_TIME_STATS 0 + +/* Co-routine related definitions. */ +#define configUSE_CO_ROUTINES 0 +#define configMAX_CO_ROUTINE_PRIORITIES 1 + +/* Optional resume from ISR functionality. */ +#define INCLUDE_xResumeFromISR 1 + +/* FreeRTOS Secure Side Only and TrustZone Security Extension */ +#define configRUN_FREERTOS_SECURE_ONLY 1 +#define configENABLE_TRUSTZONE 0 + +/* Thread local storage pointers used by the SDK */ +#ifndef configNUM_SDK_THREAD_LOCAL_STORAGE_POINTERS + #define configNUM_SDK_THREAD_LOCAL_STORAGE_POINTERS 0 +#endif + +/* PRINT_STRING implementation. iostream_retarget_stdio or third party + printf should be added if this is used */ +#define configPRINT_STRING(X) printf(X) + +#define configNUM_THREAD_LOCAL_STORAGE_POINTERS (configNUM_USER_THREAD_LOCAL_STORAGE_POINTERS \ + + configNUM_SDK_THREAD_LOCAL_STORAGE_POINTERS) + +//#if defined(SL_CATALOG_SYSTEMVIEW_TRACE_PRESENT) +//#include "SEGGER_SYSVIEW_FreeRTOS.h" +//#endif +#endif /* FREERTOS_CONFIG_H */ diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/app_properties_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/app_properties_config.h new file mode 100644 index 00000000..6a6b9766 --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/app_properties_config.h @@ -0,0 +1,65 @@ +/***************************************************************************//** + * @file + * @brief Application Properties Header File + ******************************************************************************* + * # License + * Copyright 2021 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +#ifndef APP_PROPERTIES_CONFIG_H +#define APP_PROPERTIES_CONFIG_H + +#include "sl_application_type.h" + +// <<< Use Configuration Wizard in Context Menu >>> + +// App Properties settings + +// Type of signature this application is signed with +// Default: APPLICATION_SIGNATURE_NONE(0) +#define SL_APPLICATION_SIGNATURE 0 + +// Location of the signature +// Default: 0xFFFFFFFF +#define SL_APPLICATION_SIGNATURE_LOCATION 0xFFFFFFFF + +// Bitfield representing type of application +#define SL_APPLICATION_TYPE APPLICATION_TYPE + +// Version number for this application +// <0-4294967295:1> +// Default: 1 [0-4294967295] +#define SL_APPLICATION_VERSION 1 + +// Capabilities of this application +// Default: 0 +#define SL_APPLICATION_CAPABILITIES 0 + +//Product ID of the device for which the application is built +#define SL_APPLICATION_PRODUCT_ID { 0 } + +// + +#endif // APP_PROPERTIES_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/btl_interface_cfg.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/btl_interface_cfg.h new file mode 100644 index 00000000..b1ab0078 --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/btl_interface_cfg.h @@ -0,0 +1,52 @@ +/***************************************************************************//** + * @file + * @brief Configuration header of Bootloader Interface + ******************************************************************************* + * # License + * Copyright 2021 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * The licensor of this software is Silicon Laboratories Inc. Your use of this + * software is governed by the terms of Silicon Labs Master Software License + * Agreement (MSLA) available at + * www.silabs.com/about-us/legal/master-software-license-agreement. This + * software is distributed to you in Source Code format and is governed by the + * sections of the MSLA applicable to Source Code. + * + ******************************************************************************/ +#ifndef BTL_INTERFACE_CFG_H +#define BTL_INTERFACE_CFG_H + +#if !defined(BOOTLOADER_APPLOADER) + +#if defined(_SILICON_LABS_32B_SERIES_2_CONFIG_1) +#include "btl_interface_cfg_s2c1.h" +#endif + +#if defined(_SILICON_LABS_32B_SERIES_2_CONFIG_2) +#include "btl_interface_cfg_s2c2.h" +#endif + +#if defined(_SILICON_LABS_32B_SERIES_2_CONFIG_3) +#include "btl_interface_cfg_s2c3.h" +#endif + +#if defined(_SILICON_LABS_32B_SERIES_2_CONFIG_4) +#include "btl_interface_cfg_s2c4.h" +#endif + +#if defined(_SILICON_LABS_32B_SERIES_2_CONFIG_5) +#define BOOTLOADER_DISABLE_OLD_BOOTLOADER_MITIGATION 1 +#endif + +#if defined(_SILICON_LABS_32B_SERIES_2_CONFIG_6) +#define BOOTLOADER_DISABLE_OLD_BOOTLOADER_MITIGATION 1 +#endif + +#if defined(_SILICON_LABS_32B_SERIES_2_CONFIG_8) +#define BOOTLOADER_DISABLE_OLD_BOOTLOADER_MITIGATION 1 +#endif + +#endif // !BOOTLOADER_APPLOADER + +#endif // BTL_INTERFACE_CFG_H diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/btl_interface_cfg_s2c1.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/btl_interface_cfg_s2c1.h new file mode 100644 index 00000000..c150e8c7 --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/btl_interface_cfg_s2c1.h @@ -0,0 +1,281 @@ +/***************************************************************************//** + * @file + * @brief Configuration header of Bootloader Interface + ******************************************************************************* + * # License + * Copyright 2021 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * The licensor of this software is Silicon Laboratories Inc. Your use of this + * software is governed by the terms of Silicon Labs Master Software License + * Agreement (MSLA) available at + * www.silabs.com/about-us/legal/master-software-license-agreement. This + * software is distributed to you in Source Code format and is governed by the + * sections of the MSLA applicable to Source Code. + * + ******************************************************************************/ +#ifndef BTL_INTERFACE_CFG_S2C1_H +#define BTL_INTERFACE_CFG_S2C1_H + +// <<< Use Configuration Wizard in Context Menu >>> +// Bootloader Interface Trust Zone Security State Configuration + +// Disable multi tiered fallback logic +// The fault handling logic as well as the USART auto-detection logic will be disabled. +// The re-configuration of SMU will be handled by querying the running bootloader +// for the peripheral list. Querying the peripheral list is supported from the bootloader +// version 2.0.0. Check for the BOOTLOADER_CAPABILITY_PERIPHERAL_LIST capability to +// see if the running bootloader supports querying the peripheral list. +#define BOOTLOADER_DISABLE_OLD_BOOTLOADER_MITIGATION 0 + +// Disable peripheral access fault handling +// The fault handling triggered by an erroneous access of peripherals will be disabled. +// +// This should be disabled iff all the peripherals that are in use by the bootloader +// have been properly configured by the "Manually override security state of peripherals" option. +#define BOOTLOADER_DISABLE_NVM3_FAULT_HANDLING 0 + +// Manually override the security state of peripherals in use by the bootloader +// Default: 0. +// Manually override the security state of peripherals. Choose the peripherals touched +// by the customized code to have a valid secure access state before interacting with the bootloader +// In practice, this means that the chosen peripherals will be available at the secure address, +// which is accessible by the bootloader. Once the application is entered back the secure access state +// is changed back to the original state. +// +// The USART auto-detection logic that detects which, if any, USART is in use by the bootloader +// will be disabled. Make sure to choose the correct USART used by the bootloader. +#define BOOTLOADER_MANUAL_OVERRIDE_SECURITY_STATE 0 +// EMU +// Update secure access state of EMU before calling into bootloader +#define BOOTLOADER_PPUSATD0_EMU 0 + +// CMU +// Update secure access state of CMU before calling into bootloader +#define BOOTLOADER_PPUSATD0_CMU 0 + +// HFXO0 +// Update secure access state of HFXO0 before calling into bootloader +#define BOOTLOADER_PPUSATD0_HFXO0 0 + +// HFRCO0 +// Update secure access state of HFRCO0 before calling into bootloader +#define BOOTLOADER_PPUSATD0_HFRCO0 0 + +// FSRCO +// Update secure access state of FSRCO before calling into bootloader +#define BOOTLOADER_PPUSATD0_FSRCO 0 + +// DPLL0 +// Update secure access state of DPLL0 before calling into bootloader +#define BOOTLOADER_PPUSATD0_DPLL0 0 + +// LFXO +// Update secure access state of LFXO before calling into bootloader +#define BOOTLOADER_PPUSATD0_LFXO 0 + +// LFRCO +// Update secure access state of LFRCO before calling into bootloader +#define BOOTLOADER_PPUSATD0_LFRCO 0 + +// ULFRCO +// Update secure access state of ULFRCO before calling into bootloader +#define BOOTLOADER_PPUSATD0_ULFRCO 0 + +// MSC +// Update secure access state of MSC before calling into bootloader +#define BOOTLOADER_PPUSATD0_MSC 0 + +// ICACHE0 +// Update secure access state of ICACHE0 before calling into bootloader +#define BOOTLOADER_PPUSATD0_ICACHE0 0 + +// PRS +// Update secure access state of PRS before calling into bootloader +#define BOOTLOADER_PPUSATD0_PRS 0 + +// GPIO +// Update secure access state of GPIO before calling into bootloader +#define BOOTLOADER_PPUSATD0_GPIO 0 + +// LDMA +// Update secure access state of LDMA before calling into bootloader +#define BOOTLOADER_PPUSATD0_LDMA 0 + +// LDMAXBAR +// Update secure access state of LDMAXBAR before calling into bootloader +#define BOOTLOADER_PPUSATD0_LDMAXBAR 0 + +// TIMER0 +// Update secure access state of TIMER0 before calling into bootloader +#define BOOTLOADER_PPUSATD0_TIMER0 0 + +// TIMER1 +// Update secure access state of TIMER1 before calling into bootloader +#define BOOTLOADER_PPUSATD0_TIMER1 0 + +// TIMER2 +// Update secure access state of TIMER2 before calling into bootloader +#define BOOTLOADER_PPUSATD0_TIMER2 0 + +// TIMER3 +// Update secure access state of TIMER3 before calling into bootloader +#define BOOTLOADER_PPUSATD0_TIMER3 0 + +// USART0 +// Update secure access state of USART0 before calling into bootloader +#define BOOTLOADER_PPUSATD0_USART0 0 + +// USART1 +// Update secure access state of USART1 before calling into bootloader +#define BOOTLOADER_PPUSATD0_USART1 0 + +// USART2 +// Update secure access state of USART2 before calling into bootloader +#define BOOTLOADER_PPUSATD0_USART2 0 + +// BURTC +// Update secure access state of BURTC before calling into bootloader +#define BOOTLOADER_PPUSATD0_BURTC 0 + +// I2C1 +// Update secure access state of I2C1 before calling into bootloader +#define BOOTLOADER_PPUSATD0_I2C1 0 + +// CHIPTESTCTRL +// Update secure access state of CHIPTESTCTRL before calling into bootloader +#define BOOTLOADER_PPUSATD0_CHIPTESTCTRL 0 + +// LVGD +// Update secure access state of LVGD before calling into bootloader +#define BOOTLOADER_PPUSATD0_LVGD 0 + +// SYSCFG +// Update secure access state of SYSCFG before calling into bootloader +#define BOOTLOADER_PPUSATD0_SYSCFG 0 + +// BURAM +// Update secure access state of BURAM before calling into bootloader +#define BOOTLOADER_PPUSATD0_BURAM 0 + +// IFADCDEBUG +// Update secure access state of IFADCDEBUG before calling into bootloader +#define BOOTLOADER_PPUSATD0_IFADCDEBUG 0 + +// GPCRC +// Update secure access state of GPCRC before calling into bootloader +#define BOOTLOADER_PPUSATD0_GPCRC 0 + +// RTCC +// Update secure access state of RTCC before calling into bootloader +#define BOOTLOADER_PPUSATD0_RTCC 0 + +// LETIMER0 +// Update secure access state of LETIMER0 before calling into bootloader +#define BOOTLOADER_PPUSATD1_LETIMER0 0 + +// IADC0 +// Update secure access state of IADC0 before calling into bootloader +#define BOOTLOADER_PPUSATD1_IADC0 0 + +// ACMP0 +// Update secure access state of ACMP0 before calling into bootloader +#define BOOTLOADER_PPUSATD1_ACMP0 0 + +// ACMP1 +// Update secure access state of ACMP1 before calling into bootloader +#define BOOTLOADER_PPUSATD1_ACMP1 0 + +// I2C0 +// Update secure access state of I2C0 before calling into bootloader +#define BOOTLOADER_PPUSATD1_I2C0 0 + +// HFRCOEM23 +// Update secure access state of HFRCOEM23 before calling into bootloader +#define BOOTLOADER_PPUSATD1_HFRCOEM23 0 + +// WDOG0 +// Update secure access state of WDOG0 before calling into bootloader +#define BOOTLOADER_PPUSATD1_WDOG0 0 + +// WDOG1 +// Update secure access state of WDOG1 before calling into bootloader +#define BOOTLOADER_PPUSATD1_WDOG1 0 + +// AMUXCP0 +// Update secure access state of AMUXCP0 before calling into bootloader +#define BOOTLOADER_PPUSATD1_AMUXCP0 0 + +// RADIOAES +// Update secure access state of RADIOAES before calling into bootloader +#define BOOTLOADER_PPUSATD1_RADIOAES 0 + +// BUFC +// Update secure access state of BUFC before calling into bootloader +#define BOOTLOADER_PPUSATD1_BUFC 0 + +// SMU +// Update secure access state of SMU before calling into bootloader +#define BOOTLOADER_PPUSATD1_SMU 0 + +// AHBRADIO +// Update secure access state of AHBRADIO before calling into bootloader +#define BOOTLOADER_PPUSATD1_AHBRADIO 0 + +// SEMAILBOX +// Update secure access state of SEMAILBOX before calling into bootloader +#define BOOTLOADER_PPUSATD1_SEMAILBOX 0 +// + +// +// <<< end of configuration section >>> + +#if BOOTLOADER_MANUAL_OVERRIDE_SECURITY_STATE == 1 +#define BOOTLOADER_PPUSATD0_MASK ((BOOTLOADER_PPUSATD0_EMU << _SMU_PPUSATD0_EMU_SHIFT) \ + | (BOOTLOADER_PPUSATD0_CMU << _SMU_PPUSATD0_CMU_SHIFT) \ + | (BOOTLOADER_PPUSATD0_HFXO0 << _SMU_PPUSATD0_HFXO0_SHIFT) \ + | (BOOTLOADER_PPUSATD0_HFRCO0 << _SMU_PPUSATD0_HFRCO0_SHIFT) \ + | (BOOTLOADER_PPUSATD0_FSRCO << _SMU_PPUSATD0_FSRCO_SHIFT) \ + | (BOOTLOADER_PPUSATD0_DPLL0 << _SMU_PPUSATD0_DPLL0_SHIFT) \ + | (BOOTLOADER_PPUSATD0_LFXO << _SMU_PPUSATD0_LFXO_SHIFT) \ + | (BOOTLOADER_PPUSATD0_LFRCO << _SMU_PPUSATD0_LFRCO_SHIFT) \ + | (BOOTLOADER_PPUSATD0_ULFRCO << _SMU_PPUSATD0_ULFRCO_SHIFT) \ + | (BOOTLOADER_PPUSATD0_MSC << _SMU_PPUSATD0_MSC_SHIFT) \ + | (BOOTLOADER_PPUSATD0_ICACHE0 << _SMU_PPUSATD0_ICACHE0_SHIFT) \ + | (BOOTLOADER_PPUSATD0_PRS << _SMU_PPUSATD0_PRS_SHIFT) \ + | (BOOTLOADER_PPUSATD0_GPIO << _SMU_PPUSATD0_GPIO_SHIFT) \ + | (BOOTLOADER_PPUSATD0_LDMA << _SMU_PPUSATD0_LDMA_SHIFT) \ + | (BOOTLOADER_PPUSATD0_LDMAXBAR << _SMU_PPUSATD0_LDMAXBAR_SHIFT) \ + | (BOOTLOADER_PPUSATD0_TIMER0 << _SMU_PPUSATD0_TIMER0_SHIFT) \ + | (BOOTLOADER_PPUSATD0_TIMER1 << _SMU_PPUSATD0_TIMER1_SHIFT) \ + | (BOOTLOADER_PPUSATD0_TIMER2 << _SMU_PPUSATD0_TIMER2_SHIFT) \ + | (BOOTLOADER_PPUSATD0_TIMER3 << _SMU_PPUSATD0_TIMER3_SHIFT) \ + | (BOOTLOADER_PPUSATD0_USART0 << _SMU_PPUSATD0_USART0_SHIFT) \ + | (BOOTLOADER_PPUSATD0_USART1 << _SMU_PPUSATD0_USART1_SHIFT) \ + | (BOOTLOADER_PPUSATD0_USART2 << _SMU_PPUSATD0_USART2_SHIFT) \ + | (BOOTLOADER_PPUSATD0_BURTC << _SMU_PPUSATD0_BURTC_SHIFT) \ + | (BOOTLOADER_PPUSATD0_I2C1 << _SMU_PPUSATD0_I2C1_SHIFT) \ + | (BOOTLOADER_PPUSATD0_CHIPTESTCTRL << _SMU_PPUSATD0_CHIPTESTCTRL_SHIFT) \ + | (BOOTLOADER_PPUSATD0_LVGD << _SMU_PPUSATD0_LVGD_SHIFT) \ + | (BOOTLOADER_PPUSATD0_SYSCFG << _SMU_PPUSATD0_SYSCFG_SHIFT) \ + | (BOOTLOADER_PPUSATD0_BURAM << _SMU_PPUSATD0_BURAM_SHIFT) \ + | (BOOTLOADER_PPUSATD0_IFADCDEBUG << _SMU_PPUSATD0_IFADCDEBUG_SHIFT) \ + | (BOOTLOADER_PPUSATD0_GPCRC << _SMU_PPUSATD0_GPCRC_SHIFT) \ + | (BOOTLOADER_PPUSATD0_RTCC << _SMU_PPUSATD0_RTCC_SHIFT)) +#define BOOTLOADER_PPUSATD1_MASK ((BOOTLOADER_PPUSATD1_LETIMER0 << _SMU_PPUSATD1_LETIMER0_SHIFT) \ + | (BOOTLOADER_PPUSATD1_IADC0 << _SMU_PPUSATD1_IADC0_SHIFT) \ + | (BOOTLOADER_PPUSATD1_ACMP0 << _SMU_PPUSATD1_ACMP0_SHIFT) \ + | (BOOTLOADER_PPUSATD1_ACMP1 << _SMU_PPUSATD1_ACMP1_SHIFT) \ + | (BOOTLOADER_PPUSATD1_I2C0 << _SMU_PPUSATD1_I2C0_SHIFT) \ + | (BOOTLOADER_PPUSATD1_HFRCOEM23 << _SMU_PPUSATD1_HFRCOEM23_SHIFT) \ + | (BOOTLOADER_PPUSATD1_WDOG0 << _SMU_PPUSATD1_WDOG0_SHIFT) \ + | (BOOTLOADER_PPUSATD1_WDOG1 << _SMU_PPUSATD1_WDOG1_SHIFT) \ + | (BOOTLOADER_PPUSATD1_AMUXCP0 << _SMU_PPUSATD1_AMUXCP0_SHIFT) \ + | (BOOTLOADER_PPUSATD1_RADIOAES << _SMU_PPUSATD1_RADIOAES_SHIFT) \ + | (BOOTLOADER_PPUSATD1_BUFC << _SMU_PPUSATD1_BUFC_SHIFT) \ + | (BOOTLOADER_PPUSATD1_SMU << _SMU_PPUSATD1_SMU_SHIFT) \ + | (BOOTLOADER_PPUSATD1_AHBRADIO << _SMU_PPUSATD1_AHBRADIO_SHIFT) \ + | (BOOTLOADER_PPUSATD1_SEMAILBOX << _SMU_PPUSATD1_SEMAILBOX_SHIFT)) +#endif // BOOTLOADER_MANUAL_OVERRIDE_SECURITY_STATE + +#endif // BTL_INTERFACE_CFG_S2C1_H diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/circular_queue_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/circular_queue_config.h new file mode 100644 index 00000000..81a7173d --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/circular_queue_config.h @@ -0,0 +1,23 @@ +/***************************************************************************//** + * @file circular_queue_config.h + * @brief Configuration file for circular queue. + * @copyright Copyright 2015 Silicon Laboratories, Inc. www.silabs.com + ******************************************************************************/ + +#ifndef __CIRCULAR_QUEUE_CONFIG_H__ +#define __CIRCULAR_QUEUE_CONFIG_H__ + +// <<< Use Configuration Wizard in Context Menu >>> +// Circular Queue Configuration + +// Max Queue Length +// <0-256:1> +// Default: 5 +#ifndef CIRCULAR_QUEUE_LEN_MAX +#define CIRCULAR_QUEUE_LEN_MAX 16 +#endif + +// +// <<< end of configuration section >>> + +#endif // __CIRCULAR_QUEUE_CONFIG_H__ diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/dmadrv_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/dmadrv_config.h new file mode 100644 index 00000000..ed105e4f --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/dmadrv_config.h @@ -0,0 +1,26 @@ +#ifndef DMADRV_CONFIG_H +#define DMADRV_CONFIG_H + +// <<< Use Configuration Wizard in Context Menu >>> + +// DMA interrupt priority <0-15> +// Priority of the DMA interrupt. Smaller number equals higher priority. +// Default: 8 +#define EMDRV_DMADRV_DMA_IRQ_PRIORITY 8 + +// Number of available channels <1-8> +// Number of DMA channels supported by the driver. A lower channel count +// will reduce RAM memory footprint. The default is to support all channels +// on the device. +// Default: 8 +#define EMDRV_DMADRV_DMA_CH_COUNT 8 + +// Number of fixed priority channels +// This will configure channels [0, CH_PRIORITY - 1] as fixed priority, +// and channels [CH_PRIORITY, CH_COUNT] as round-robin. +// Default: 0 +#define EMDRV_DMADRV_DMA_CH_PRIORITY 0 + +// <<< end of configuration section >>> + +#endif // DMADRV_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/emlib_core_debug_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/emlib_core_debug_config.h new file mode 100644 index 00000000..07ee9b9e --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/emlib_core_debug_config.h @@ -0,0 +1,45 @@ +/***************************************************************************//** + * @file + * @brief emlib_core Configuration + ******************************************************************************* + * # License + * Copyright 2019 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +#ifndef EM_CORE_DEBUG_CONFIG_H +#define EM_CORE_DEBUG_CONFIG_H + +// <<< Use Configuration Wizard in Context Menu >>> + +// Core Configuration + +// Enables measuring of interrupt disable time for debugging purposes. +// Default: 0 +#define SL_EMLIB_CORE_ENABLE_INTERRUPT_DISABLED_TIMING 0 + +// + +// <<< end of configuration section >>> +#endif // EM_CORE_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/nvm3_default_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/nvm3_default_config.h new file mode 100644 index 00000000..48eb5896 --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/nvm3_default_config.h @@ -0,0 +1,45 @@ +#ifndef NVM3_DEFAULT_CONFIG_H +#define NVM3_DEFAULT_CONFIG_H + +// <<< Use Configuration Wizard in Context Menu >>> + +// NVM3 Default Instance Configuration + +#ifndef NVM3_DEFAULT_CACHE_SIZE +// NVM3 Default Instance Cache Size +// Number of NVM3 objects to cache. To reduce access times this number +// should be equal to or higher than the number of NVM3 objects in the +// default NVM3 instance. +// Default: 200 +#define NVM3_DEFAULT_CACHE_SIZE 200 +#endif + +#ifndef NVM3_DEFAULT_MAX_OBJECT_SIZE +// NVM3 Default Instance Max Object Size +// Max NVM3 object size that can be stored. +// Default: 254 +#define NVM3_DEFAULT_MAX_OBJECT_SIZE 254 +#endif + +#ifndef NVM3_DEFAULT_REPACK_HEADROOM +// NVM3 Default Instance User Repack Headroom +// Headroom determining how many bytes below the forced repack limit the user +// repack limit should be placed. The default is 0, which means the user and +// forced repack limits are equal. +// Default: 0 +#define NVM3_DEFAULT_REPACK_HEADROOM 0 +#endif + +#ifndef NVM3_DEFAULT_NVM_SIZE +// NVM3 Default Instance Size +// Size of the NVM3 storage region in flash. This size should be aligned with +// the flash page size of the device. +// Default: 40960 +#define NVM3_DEFAULT_NVM_SIZE 40960 +#endif + +// + +// <<< end of configuration section >>> + +#endif // NVM3_DEFAULT_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/pin_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/pin_config.h new file mode 100644 index 00000000..c607935f --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/pin_config.h @@ -0,0 +1,149 @@ +#ifndef PIN_CONFIG_H +#define PIN_CONFIG_H + +// $[CMU] +// [CMU]$ + +// $[LFXO] +// [LFXO]$ + +// $[PRS.ASYNCH0] +// [PRS.ASYNCH0]$ + +// $[PRS.ASYNCH1] +// [PRS.ASYNCH1]$ + +// $[PRS.ASYNCH2] +// [PRS.ASYNCH2]$ + +// $[PRS.ASYNCH3] +// [PRS.ASYNCH3]$ + +// $[PRS.ASYNCH4] +// [PRS.ASYNCH4]$ + +// $[PRS.ASYNCH5] +// [PRS.ASYNCH5]$ + +// $[PRS.ASYNCH6] +// [PRS.ASYNCH6]$ + +// $[PRS.ASYNCH7] +// [PRS.ASYNCH7]$ + +// $[PRS.ASYNCH8] +// [PRS.ASYNCH8]$ + +// $[PRS.ASYNCH9] +// [PRS.ASYNCH9]$ + +// $[PRS.ASYNCH10] +// [PRS.ASYNCH10]$ + +// $[PRS.ASYNCH11] +// [PRS.ASYNCH11]$ + +// $[PRS.SYNCH0] +// [PRS.SYNCH0]$ + +// $[PRS.SYNCH1] +// [PRS.SYNCH1]$ + +// $[PRS.SYNCH2] +// [PRS.SYNCH2]$ + +// $[PRS.SYNCH3] +// [PRS.SYNCH3]$ + +// $[GPIO] +// [GPIO]$ + +// $[TIMER0] +// [TIMER0]$ + +// $[TIMER1] +// [TIMER1]$ + +// $[TIMER2] +// [TIMER2]$ + +// $[TIMER3] +// [TIMER3]$ + +// $[USART0] +// USART0 CTS on PD02 +#ifndef USART0_CTS_PORT +#define USART0_CTS_PORT gpioPortD +#endif +#ifndef USART0_CTS_PIN +#define USART0_CTS_PIN 2 +#endif + +// USART0 RTS on PC01 +#ifndef USART0_RTS_PORT +#define USART0_RTS_PORT gpioPortC +#endif +#ifndef USART0_RTS_PIN +#define USART0_RTS_PIN 1 +#endif + +// USART0 RX on PA06 +#ifndef USART0_RX_PORT +#define USART0_RX_PORT gpioPortA +#endif +#ifndef USART0_RX_PIN +#define USART0_RX_PIN 6 +#endif + +// USART0 TX on PA05 +#ifndef USART0_TX_PORT +#define USART0_TX_PORT gpioPortA +#endif +#ifndef USART0_TX_PIN +#define USART0_TX_PIN 5 +#endif + +// [USART0]$ + +// $[USART1] +// [USART1]$ + +// $[USART2] +// [USART2]$ + +// $[I2C1] +// [I2C1]$ + +// $[LETIMER0] +// [LETIMER0]$ + +// $[IADC0] +// [IADC0]$ + +// $[ACMP0] +// [ACMP0]$ + +// $[ACMP1] +// [ACMP1]$ + +// $[I2C0] +// [I2C0]$ + +// $[PTI] +// [PTI]$ + +// $[MODEM] +// [MODEM]$ + +// $[CUSTOM_PIN_NAME] +#ifndef _PORT +#define _PORT gpioPortA +#endif +#ifndef _PIN +#define _PIN 0 +#endif + +// [CUSTOM_PIN_NAME]$ + +#endif // PIN_CONFIG_H + diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/psa_crypto_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/psa_crypto_config.h new file mode 100644 index 00000000..05af353c --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/psa_crypto_config.h @@ -0,0 +1,170 @@ +#ifndef PSA_CRYPTO_CONFIG_H +#define PSA_CRYPTO_CONFIG_H + +// ----------------------------------------------------------------------------- +// User exposed config options + +// <<< Use Configuration Wizard in Context Menu >>> + +// Key management configuration + +// PSA User Maximum Open Keys Count <0-128> +// Maximum amount of keys that the user application will have open +// simultaneously. In context of PSA Crypto, an open key means any key +// either stored in RAM (lifetime set to PSA_KEY_LIFETIME_VOLATILE), or +// used as part of a cryptographic operation. +// When using a key for a multi-part (setup/update/finish) operation, a key +// is considered to be open from the moment the operation is successfully +// setup, until it finishes or aborts. +// When an application tries to open more keys than this value accounts for, +// the PSA API may return PSA_ERROR_INSUFFICIENT_MEMORY. Keep in mind that +// other software included in the application (e.g. wireless protocol stacks) +// also can have a need to have open keys in PSA Crypto. This could lead to +// a race condition when the application key slot count is set too low for +// the actual usage of the application, as a software stack may not fail +// gracefully in case an application opens more than its declared amount of +// keys, thereby precluding the stack from functioning. +// Default: 4 +#define SL_PSA_KEY_USER_SLOT_COUNT 0 + +// PSA Maximum User Persistent Keys Count <0-1024> +// Maximum amount of keys (or other files) that can be stored persistently +// by the application through the PSA interface, when persistent storage +// support for PSA Crypto is included in the project. +// Due to caching logic, this setting does have an impact on static RAM usage. +// Note that this number is added to the potential requirements from other +// software components in the project, such that the total amount of keys +// which can be stored through the ITS backend can be higher than what is +// configured here. +// +// WARNING: When changing this setting on an application that is already +// deployed, and thus will get the change through an application upgrade, +// care should be taken to ensure that the setting is only ever increased, +// and never decreased. Decreasing this setting might cause previously +// stored keys/files to become inaccessible. +// +// It is not possible to change this setting when using V3 ITS Driver. +// The file-storage indexing is dependent on the maximum number of files, +// and if SL_PSA_ITS_USER_MAX_FILES is changed, ITS should be cleared and +// all files need to be stored again. +// Default: 128 +#define SL_PSA_ITS_USER_MAX_FILES (128) + +// Enable V1 Format Support For ITS Files <0-1> +// Devices that used PSA ITS together with gecko_sdk_3.1.x or earlier +// might have keys (or other files) stored in V1 format. +// If no v1 files are used, its support can be disabled for space +// optimization. +// Default: 0 +#define SL_PSA_ITS_SUPPORT_V1_DRIVER 0 + +// Enable V2 ITS Driver Support <0-1> +// Devices that have used GSDK 4.1.x and earlier, and used ITS have the keys +// (or other files) stored using different address range. Enabling this +// config option adds upgrade code which converts V2 (and V1 if +// supported) format ITS keys/files to the latest V3 format. Update is +// fully automatic, needs to be run once and require extra flash space of +// approximately the size of the largest key. +// V1 ITS driver support can be disabled if the device has never used ITS +// driver before in GSDK 4.1.x and earlier, or the keys has been already +// migrated. +// Default: 0 +#define SL_PSA_ITS_SUPPORT_V2_DRIVER 0 + +// Enable support for V3 ITS Driver <0-1> +// Devices that have used GSDK 4.1.x and earlier, and used ITS have the keys +// (or other files) stored using different address range. In rare case +// that those devices have full nvm3 and not enough space for the +// upgrade, (that requires an extra space to store largest key in memory +// twice), this config option can disable v3 driver and use v2 one. +// To upgrade the device, make space for the upgrade, and enable v3 driver again. +// +// WARNING: When using V3 driver, it is not possible to increase or decrease +// the value of SL_PSA_ITS_USER_MAX_FILES. If the change of +// SL_PSA_ITS_USER_MAX_FILES is required, ITS should be cleared and +// all files need to be stored again. +// Default: 1 +#define SL_PSA_ITS_SUPPORT_V3_DRIVER 1 + +// Built-in AES Key Mode of Operation +// CTR Mode +// CFB Mode +// OFB Mode +// ECB Mode +// CBC Mode (no padding) +// CBC Mode (PKCS#7 padding) +// PSA Crypto only allows one specific usage algorithm per built-in key ID. +// Default: PSA_ALG_CTR +#define SL_SE_BUILTIN_KEY_AES128_ALG_CONFIG (PSA_ALG_CTR) + +#ifndef SL_CRYPTOACC_BUILTIN_KEY_PUF_ALG +// Built-in PUF Key Algorithm +// PBKDF2 (CMAC-AES-128-PRF) +// CMAC +// PSA Crypto only allows one specific usage algorithm per built-in key ID. +// It is recommended to only use the PUF key for deriving further key +// material. +// Default: PSA_ALG_PBKDF2_AES_CMAC_PRF_128 +#define SL_CRYPTOACC_BUILTIN_KEY_PUF_ALG (PSA_ALG_PBKDF2_AES_CMAC_PRF_128) +#endif // SL_CRYPTOACC_BUILTIN_KEY_PUF_ALG + +// + +// Power optimization configuration + +// Store already-generated random bytes before putting the device to sleep +// Using the hardware TRNG (for example through psa_generate_random()) will +// consume a non-negligible amount of power. A start-up routine must pass +// and a relatively large minimum amount of random bytes will be generated. +// Use cases where the device is frequently entering EM2/EM3 and thereafter +// consumes a small amount of data from the TRNG may benefit from buffering +// the existing random bytes before putting the device to sleep. These +// buffered bytes are then consumed until exhaustion before the TRNG needs +// to be initialized and used again. +// +// NOTE: this configuration option is only applicable for devices with a +// Virtual Secure Engine (VSE), and requires the 'Power Manager' component +// to be included in the project. +// +// Default: 0 +#define SL_VSE_BUFFER_TRNG_DATA_DURING_SLEEP (0) + +// Number of random words to buffer before putting the device to sleep <1-63> +// This option can be used to decrease the amount of random words that +// (if enabled) are buffered before the device enters EM2/EM3. Lowering this +// number will result in less static RAM usage, but also means that the TRNG +// potentially has to be initialized more times--leading to increased power +// consumption. By default this option in configured to buffer as much TRNG +// data as possible (limited by the depth of the TRNG FIFO). +// +// NOTE: this configuration option is only applicable when +// SL_VSE_BUFFER_TRNG_DATA_DURING_SLEEP is enabled. +// +// Default: 63 +#define SL_VSE_MAX_TRNG_WORDS_BUFFERED_DURING_SLEEP (63) +// + +// + +// <<< end of configuration section >>> + +// ----------------------------------------------------------------------------- +// Sub-files + +#if defined(SLI_PSA_CONFIG_AUTOGEN_OVERRIDE_FILE) + #include SLI_PSA_CONFIG_AUTOGEN_OVERRIDE_FILE +#else + #include "sli_psa_config_autogen.h" +#endif + +#if defined(TFM_CONFIG_SL_SECURE_LIBRARY) + #include "sli_psa_tfm_translation.h" +#endif + +#if SL_MBEDTLS_DRIVERS_ENABLED + #include "sli_psa_acceleration.h" +#endif + +#include "sli_psa_builtin_config_autogen.h" + +#endif // PSA_CRYPTO_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_bluetooth_advertiser_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_bluetooth_advertiser_config.h new file mode 100644 index 00000000..9607cb02 --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_bluetooth_advertiser_config.h @@ -0,0 +1,45 @@ +/***************************************************************************//** + * @file + * @brief Bluetooth Advertiser configuration + ******************************************************************************* + * # License + * Copyright 2023 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied warranty. + * In no event will the authors be held liable for any damages arising from the + * use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software in a + * product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +#ifndef SL_BT_ADVERTISER_CONFIG_H +#define SL_BT_ADVERTISER_CONFIG_H + +// <<< Use Configuration Wizard in Context Menu >>> +// Max number of advertising sets reserved for user <0-255> +// Default: 1 +// Define the number of advertising sets that the application needs to use concurrently. Note that all types of advertising uses the same pool of advertising sets, but periodic advertising has extra configuration to define the number of advertising sets that are capable of periodic advertising. +// +// Specifically, if the component "bluetooth_feature_periodic_advertiser" is used, its configuration SL_BT_CONFIG_MAX_PERIODIC_ADVERTISERS specifies how many of the SL_BT_CONFIG_USER_ADVERTISERS advertising sets are capable of periodic advertising. Similarly, if the component bluetooth_feature_pawr_advertiser is used, its configuration SL_BT_CONFIG_MAX_PAWR_ADVERTISERS specifies how many of the periodic advertising sets are capable of Periodic Advertising with Responses. +// +// The configuration values must satisfy the condition SL_BT_CONFIG_USER_ADVERTISERS >= SL_BT_CONFIG_MAX_PERIODIC_ADVERTISERS >= SL_BT_CONFIG_MAX_PAWR_ADVERTISERS. +#define SL_BT_CONFIG_USER_ADVERTISERS 3 +// <<< end of configuration section >>> + +#endif diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_bluetooth_connection_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_bluetooth_connection_config.h new file mode 100644 index 00000000..73a38250 --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_bluetooth_connection_config.h @@ -0,0 +1,48 @@ +/***************************************************************************//** + * @file + * @brief Bluetooth Connection configuration + ******************************************************************************* + * # License + * Copyright 2023 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied warranty. + * In no event will the authors be held liable for any damages arising from the + * use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software in a + * product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +#ifndef SL_BT_CONNECTION_CONFIG_H +#define SL_BT_CONNECTION_CONFIG_H + +// <<< Use Configuration Wizard in Context Menu >>> +// Max number of connections reserved for user <0-32> +// Default: 4 +// Define the number of connections the application needs. +#define SL_BT_CONFIG_MAX_CONNECTIONS (4) + +// Preferred maximum TX payload octets <27-251> +// Default: 251 +// Define the preferred maximum TX payload octets that will be used on connections. +// This value is set to the controller as the default suggested data length when +// Bluetooth stack is started. +#define SL_BT_CONFIG_CONNECTION_DATA_LENGTH (251) + +// <<< end of configuration section >>> +#endif diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_btctrl_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_btctrl_config.h new file mode 100644 index 00000000..ba98b762 --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_btctrl_config.h @@ -0,0 +1,37 @@ +#ifndef SL_BTCTRL_CONFIG_H +#define SL_BTCTRL_CONFIG_H + +// <<< Use Configuration Wizard in Context Menu >>> + +// Bluetooth Controller Configuration + +// Bluetooth Controller Buffer Memory +// Default: SL_BT_CONTROLLER_BUFFER_MEMORY +// Define the Amount of memory to allocate for tx/rx buffers in Bluetooth Controller +#define SL_BT_CONTROLLER_BUFFER_MEMORY (8192) + +// Bluetooth Controller ACL data packets that can be stored +// Default: SL_BT_CONTROLLER_LE_BUFFER_SIZE_MAX +// Define the total number of the maximum sized ACL data packets that can be received from the host +#define SL_BT_CONTROLLER_LE_BUFFER_SIZE_MAX (3) + +// Total transmitted packets threshold for all connections to send the Number Of Completed Packets HCI event to the host <1-255> +// Default: 4 +// Define the number of transmitted air interface ACL packets to trigger the Number Of Completed Packets HCI event. +#define SL_BT_CONTROLLER_COMPLETED_PACKETS_THRESHOLD (4) + +// Number of connection events to send the Number Of Completed Packets HCI event to the host <1-255> +// Default: 3 +// Define the maximum number of connection events since the previous Number Of Completed Packets HCI event to trigger reporting of any unreported completed ACL packets. +#define SL_BT_CONTROLLER_COMPLETED_PACKETS_EVENTS_TIMEOUT (3) + +// Maximum number of queued advertisement reports <1-255> +// Default: 10 +// Define the maximum number of queued advertisement reports. Additional advertisement reports are dropped. +#define SL_BT_CONFIG_MAX_QUEUED_ADV_REPORTS (10) + +// Bluetooth Controller Configuration + +// <<< end of configuration section >>> + +#endif // SL_BTCTRL_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_btctrl_rtos_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_btctrl_rtos_config.h new file mode 100644 index 00000000..945ebcfb --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_btctrl_rtos_config.h @@ -0,0 +1,24 @@ +#ifndef SL_BTCTRL_RTOS_CONFIG_H +#define SL_BTCTRL_RTOS_CONFIG_H + +// <<< Use Configuration Wizard in Context Menu >>> + +// Priority Configuration for Bluetooth RTOS Tasks + +// Bluetooth link layer task priority +// Default: 52 (CMSIS-RTOS2 osPriorityRealtime4) +// Define the priority of the Bluetooth link layer task. This must be a valid +// priority value from CMSIS-RTOS2 osPriority_t definition. +#define SL_BTCTRL_RTOS_LINK_LAYER_TASK_PRIORITY (52) + +// Bluetooth link layer task stack size in bytes +// Default: 1000 +// Define the stack size of the Bluetooth link layer task. The value is in bytes +// and will be word aligned when it is applied at the task creation. +#define SL_BTCTRL_RTOS_LINK_LAYER_TASK_STACK_SIZE (1000) + +// End Priority Configuration for Bluetooth RTOS Tasks + +// <<< end of configuration section >>> + +#endif // SL_BT_RTOS_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_clock_manager_oscillator_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_clock_manager_oscillator_config.h new file mode 100644 index 00000000..2a270b01 --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_clock_manager_oscillator_config.h @@ -0,0 +1,229 @@ +/***************************************************************************//** + * @file + * @brief Clock Manager - Oscillators configuration file. + ******************************************************************************* + * # License + * Copyright 2024 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +// <<< Use Configuration Wizard in Context Menu >>> + +#ifndef SL_CLOCK_MANAGER_OSCILLATOR_CONFIG_H +#define SL_CLOCK_MANAGER_OSCILLATOR_CONFIG_H + +// Oscillators Settings + +// HFXO Settings (if High Frequency crystal is used) +// Enable to configure HFXO +#ifndef SL_CLOCK_MANAGER_HFXO_EN +#define SL_CLOCK_MANAGER_HFXO_EN 1 +#endif + +// Mode +// +// XTAL +// EXTCLK +// HFXO_CFG_MODE_XTAL +#ifndef SL_CLOCK_MANAGER_HFXO_MODE +#define SL_CLOCK_MANAGER_HFXO_MODE HFXO_CFG_MODE_XTAL +#endif + +// Frequency <38000000-40000000> +// 38400000 +#ifndef SL_CLOCK_MANAGER_HFXO_FREQ +#define SL_CLOCK_MANAGER_HFXO_FREQ 38400000 +#endif + +// CTUNE <0-255> +// 140 +#ifndef SL_CLOCK_MANAGER_HFXO_CTUNE +#define SL_CLOCK_MANAGER_HFXO_CTUNE 140 +#endif + +// Precision <0-65535> +// 50 +#ifndef SL_CLOCK_MANAGER_HFXO_PRECISION +#define SL_CLOCK_MANAGER_HFXO_PRECISION 50 +#endif +// + +// LFXO Settings (if Low Frequency crystal is used) +// Enable to configure LFXO +#ifndef SL_CLOCK_MANAGER_LFXO_EN +#define SL_CLOCK_MANAGER_LFXO_EN 1 +#endif + +// Mode +// +// XTAL +// BUFEXTCLK +// DIGEXTCLK +// LFXO_CFG_MODE_XTAL +#ifndef SL_CLOCK_MANAGER_LFXO_MODE +#define SL_CLOCK_MANAGER_LFXO_MODE LFXO_CFG_MODE_XTAL +#endif + +// CTUNE <0-127> +// 63 +#ifndef SL_CLOCK_MANAGER_LFXO_CTUNE +#define SL_CLOCK_MANAGER_LFXO_CTUNE 63 +#endif + +// LFXO precision in PPM <0-65535> +// 50 +#ifndef SL_CLOCK_MANAGER_LFXO_PRECISION +#define SL_CLOCK_MANAGER_LFXO_PRECISION 50 +#endif + +// Startup Timeout Delay +// +// CYCLES2 +// CYCLES256 +// CYCLES1K +// CYCLES2K +// CYCLES4K +// CYCLES8K +// CYCLES16K +// CYCLES32K +// LFXO_CFG_TIMEOUT_CYCLES4K +#ifndef SL_CLOCK_MANAGER_LFXO_TIMEOUT +#define SL_CLOCK_MANAGER_LFXO_TIMEOUT LFXO_CFG_TIMEOUT_CYCLES4K +#endif +// + +// HFRCO and DPLL Settings +// Frequency Band +// RC Oscillator Frequency Band +// 1 MHz +// 2 MHz +// 4 MHz +// 7 MHz +// 13 MHz +// 16 MHz +// 19 MHz +// 26 MHz +// 32 MHz +// 38 MHz +// 48 MHz +// 56 MHz +// 64 MHz +// 80 MHz +// cmuHFRCODPLLFreq_80M0Hz +#ifndef SL_CLOCK_MANAGER_HFRCO_BAND +#define SL_CLOCK_MANAGER_HFRCO_BAND cmuHFRCODPLLFreq_80M0Hz +#endif + +// Use DPLL +// Enable to use the DPLL with HFRCO +#ifndef SL_CLOCK_MANAGER_HFRCO_DPLL_EN +#define SL_CLOCK_MANAGER_HFRCO_DPLL_EN 0 +#endif + +// Target Frequency <1000000-80000000> +// DPLL target frequency +// 80000000 +#ifndef SL_CLOCK_MANAGER_DPLL_FREQ +#define SL_CLOCK_MANAGER_DPLL_FREQ 80000000 +#endif + +// Numerator (N) <300-4095> +// Value of N for output frequency calculation fout = fref * (N+1) / (M+1) +// 3999 +#ifndef SL_CLOCK_MANAGER_DPLL_N +#define SL_CLOCK_MANAGER_DPLL_N 3999 +#endif + +// Denominator (M) <0-4095> +// Value of M for output frequency calculation fout = fref * (N+1) / (M+1) +// 1919 +#ifndef SL_CLOCK_MANAGER_DPLL_M +#define SL_CLOCK_MANAGER_DPLL_M 1919 +#endif + +// Reference Clock +// Reference clock source for DPLL +// DISABLED +// HFXO +// LFXO +// CMU_DPLLREFCLKCTRL_CLKSEL_HFXO +#ifndef SL_CLOCK_MANAGER_DPLL_REFCLK +#define SL_CLOCK_MANAGER_DPLL_REFCLK CMU_DPLLREFCLKCTRL_CLKSEL_HFXO +#endif + +// Reference Clock Edge Detect +// Edge detection for reference clock +// Falling Edge +// Rising Edge +// cmuDPLLEdgeSel_Fall +#ifndef SL_CLOCK_MANAGER_DPLL_EDGE +#define SL_CLOCK_MANAGER_DPLL_EDGE cmuDPLLEdgeSel_Fall +#endif + +// DPLL Lock Mode +// Lock mode +// Frequency-Lock Loop +// Phase-Lock Loop +// cmuDPLLLockMode_Freq +#ifndef SL_CLOCK_MANAGER_DPLL_LOCKMODE +#define SL_CLOCK_MANAGER_DPLL_LOCKMODE cmuDPLLLockMode_Phase +#endif + +// Automatic Lock Recovery +// 1 +#ifndef SL_CLOCK_MANAGER_DPLL_AUTORECOVER +#define SL_CLOCK_MANAGER_DPLL_AUTORECOVER 1 +#endif + +// Enable Dither +// 0 +#ifndef SL_CLOCK_MANAGER_DPLL_DITHER +#define SL_CLOCK_MANAGER_DPLL_DITHER 0 +#endif +// +// + +// HFRCOEM23 Settings +// Frequency Band +// RC Oscillator Frequency Band +// 1 MHz +// 2 MHz +// 4 MHz +// 13 MHz +// 16 MHz +// 19 MHz +// 26 MHz +// 32 MHz +// 40 MHz +// cmuHFRCOEM23Freq_19M0Hz +#ifndef SL_CLOCK_MANAGER_HFRCOEM23_BAND +#define SL_CLOCK_MANAGER_HFRCOEM23_BAND cmuHFRCOEM23Freq_19M0Hz +#endif +// + +// + +#endif /* SL_CLOCK_MANAGER_OSCILLATOR_CONFIG_H */ + +// <<< end of configuration section >>> diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_clock_manager_tree_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_clock_manager_tree_config.h new file mode 100644 index 00000000..924916d1 --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_clock_manager_tree_config.h @@ -0,0 +1,217 @@ +/***************************************************************************//** + * @file + * @brief Clock Manager - Clock Tree configuration file. + ******************************************************************************* + * # License + * Copyright 2024 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +// <<< Use Configuration Wizard in Context Menu >>> + +#ifndef SL_CLOCK_MANAGER_TREE_CONFIG_H +#define SL_CLOCK_MANAGER_TREE_CONFIG_H + +// Internal Defines: DO NOT MODIFY +// Those defines are used internally to help converting the DEFAULT_HF_CLOCK_SOURCE and DEFAULT_LF_CLOCK_SOURCE +// selection of each clock branch to the right HW register value. +#define SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE_HFRCODPLL 0xFF +#define SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE_HFXO 0xFE +#define SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE_FSRCO 0xFD +#define SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE_LFRCO 0xFC +#define SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE_LFXO 0xFB +#define SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE_ULFRCO 0xFA + +// Clock Tree Settings + +// Default Clock Source Selection for HF clock branches +// HFRCODPLL +// HFXO +// FSRCO +// Selection of the high frequency clock source. HF clock branches can select this value by chosing the DEFAULT_HF value. +// SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE_HFRCODPLL +#ifndef SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE +#define SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE_HFRCODPLL +#endif + +// Default Clock Source Selection for LF clock branches +// LFRCO +// LFXO +// ULFRCO +// Selection of the low frequency clock source. LF clock branches can select this value by chosing the DEFAULT_HF value. +// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE_LFRCO +#ifndef SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE +#define SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE_LFRCO +#endif + +// System Clock Branch Settings + +// Clock Source Selection for SYSCLK branch +// DEFAULT_HF +// FSRCO +// HFRCODPLL +// HFXO +// Selection of the Clock source for SYSCLK +// SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE +#ifndef SL_CLOCK_MANAGER_SYSCLK_SOURCE +#define SL_CLOCK_MANAGER_SYSCLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE +#endif + +// HCLK branch divider +// DIV1 +// DIV2 +// DIV4 +// HCLK branch is derived from SYSCLK. This clock drives the AHB bus interface. +// CMU_SYSCLKCTRL_HCLKPRESC_DIV1 +#ifndef SL_CLOCK_MANAGER_HCLK_DIVIDER +#define SL_CLOCK_MANAGER_HCLK_DIVIDER CMU_SYSCLKCTRL_HCLKPRESC_DIV1 +#endif + +// PCLK branch divider +// DIV1 +// DIV2 +// PCLK branch is derived from HCLK. This clock drives the APB bus interface. +// CMU_SYSCLKCTRL_PCLKPRESC_DIV2 +#ifndef SL_CLOCK_MANAGER_PCLK_DIVIDER +#define SL_CLOCK_MANAGER_PCLK_DIVIDER CMU_SYSCLKCTRL_PCLKPRESC_DIV2 +#endif + +// + +// Trace Clock Branches Settings +// Clock Source Selection for TRACECLK branch +// HCLK +// HFRCOEM23 +// Selection of the Clock source for TRACECLK +// CMU_TRACECLKCTRL_CLKSEL_HCLK +#ifndef SL_CLOCK_MANAGER_TRACECLK_SOURCE +#define SL_CLOCK_MANAGER_TRACECLK_SOURCE CMU_TRACECLKCTRL_CLKSEL_HCLK +#endif + +// + +// High Frequency Clock Branches Settings +// Each HF Clock Tree branch can be customized, else the same clock source as for SYSCLK will be used when possible +// EM01GRPACLK clock the Timer peripherals +// Clock Source Selection for EM01GRPACLK branch +// DEFAULT_HF +// HFRCODPLL +// HFXO +// HFRCOEM23 +// FSRCO +// Selection of the Clock source for EM01GRPACLK +// SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE +#ifndef SL_CLOCK_MANAGER_EM01GRPACLK_SOURCE +#define SL_CLOCK_MANAGER_EM01GRPACLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE +#endif + +// Clock Source Selection for IADCCLK branch +// EM01GRPACLK +// HFRCOEM23 +// FSRCO +// Selection of the Clock source for IADCCLK +// CMU_IADCCLKCTRL_CLKSEL_EM01GRPACLK +#ifndef SL_CLOCK_MANAGER_IADCCLK_SOURCE +#define SL_CLOCK_MANAGER_IADCCLK_SOURCE CMU_IADCCLKCTRL_CLKSEL_EM01GRPACLK +#endif + +// + +// Low Frequency Clock Branches Settings + +// Clock Source Selection for EM23GRPACLK branch +// DEFAULT_LF +// LFRCO +// LFXO +// ULFRCO +// Selection of the Clock source for EM23GRPACLK +// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE +#ifndef SL_CLOCK_MANAGER_EM23GRPACLK_SOURCE +#define SL_CLOCK_MANAGER_EM23GRPACLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE +#endif + +// Clock Source Selection for EM4GRPACLK branch +// DEFAULT_LF +// LFRCO +// LFXO +// ULFRCO +// Selection of the Clock source for EM4GRPACLK +// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE +#ifndef SL_CLOCK_MANAGER_EM4GRPACLK_SOURCE +#define SL_CLOCK_MANAGER_EM4GRPACLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE +#endif + +// Clock Source Selection for EM23GRPACLK branch +// DEFAULT_LF +// LFRCO +// LFXO +// ULFRCO +// Selection of the Clock source for RTCCCLK +// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE +#ifndef SL_CLOCK_MANAGER_RTCCCLK_SOURCE +#define SL_CLOCK_MANAGER_RTCCCLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE +#endif + +// Clock Source Selection for WDOG0CLK branch +// DEFAULT_LF +// LFRCO +// LFXO +// ULFRCO +// HCLKDIV1024 +// Selection of the Clock source for WDOG0CLK +// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE +#ifndef SL_CLOCK_MANAGER_WDOG0CLK_SOURCE +#define SL_CLOCK_MANAGER_WDOG0CLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE +#endif + +// Clock Source Selection for WDOG1CLK branch +// DEFAULT_LF +// LFRCO +// LFXO +// ULFRCO +// HCLKDIV1024 +// Selection of the Clock source for WDOG1CLK +// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE +#ifndef SL_CLOCK_MANAGER_WDOG1CLK_SOURCE +#define SL_CLOCK_MANAGER_WDOG1CLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE +#endif + +// + +// Mixed Frequency Clock Branch Settings + +// Clock Source Selection for SYSTICKCLK branch +// <0=> HCLK +// <1=> EM23GRPACLK +// Selection of the Clock source for SYSTICKCLK +// 0 +#ifndef SL_CLOCK_MANAGER_SYSTICKCLK_SOURCE +#define SL_CLOCK_MANAGER_SYSTICKCLK_SOURCE 0 +#endif +// +// + +#endif /* SL_CLOCK_MANAGER_TREE_CONFIG_H */ + +// <<< end of configuration section >>> diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_core_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_core_config.h new file mode 100644 index 00000000..27b173d2 --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_core_config.h @@ -0,0 +1,44 @@ +/***************************************************************************//** + * @file + * @brief sl_core Configuration + ******************************************************************************* + * # License + * Copyright 2023 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +#ifndef SL_CORE_CONFIG_H +#define SL_CORE_CONFIG_H + +// <<< Use Configuration Wizard in Context Menu >>> + +// Core Abstraction Configuration + +// Enables measurement of interrupt masking time for debugging purposes. +// Default: 0 +#define SL_CORE_DEBUG_INTERRUPTS_MASKED_TIMING 0 +// + +// <<< end of configuration section >>> +#endif // SL_CORE_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_cpc_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_cpc_config.h new file mode 100644 index 00000000..514b365d --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_cpc_config.h @@ -0,0 +1,83 @@ +/***************************************************************************//** + * @file + * @brief CPC configuration file. + ******************************************************************************* + * # License + * Copyright 2020 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +// <<< Use Configuration Wizard in Context Menu >>> + +#ifndef SL_CPC_CONFIG_H +#define SL_CPC_CONFIG_H + +// CPC Configuration + +// Use a lookup table to speedup CRC calculation +// Default: 0 +// Enabling this features speeds up the CRC computation at the cost of using an additional 512 (256 x sizeof uint16_t) bytes or memory for the LUT +#define SL_CPC_USE_PRE_HASHED_CRC_TABLE 0 + +// Max Rx Payload Length<1-4087> +// Default: 256 +// Maximum size of the payload in bytes of each RX buffer +#define SL_CPC_RX_PAYLOAD_MAX_LENGTH (256) + +// Tx Queue Size +// Default: 20 +// The maximum number of outgoing messages capable of being queued for transmission. +#define SL_CPC_TX_QUEUE_ITEM_MAX_COUNT 15 + +// Total Number of Rx Buffers +// Default: 20 +// Total number of CPC RX buffers available across all endpoints +// Multiple RX buffers can be associated with a single endpoint +#define SL_CPC_RX_BUFFER_MAX_COUNT 15 + +// Enable debug core tracing with system view +// Default: 0 +#define SL_CPC_DEBUG_SYSTEM_VIEW_LOG_CORE_EVENT 0 + +// Enable debug endpoint tracing with system view +// Default: 0 +#define SL_CPC_DEBUG_SYSTEM_VIEW_LOG_ENDPOINT_EVENT 0 + +// Enable debug counters for core events +// Default: 0 +#define SL_CPC_DEBUG_CORE_EVENT_COUNTERS 0 + +// Enable debug counters for endpoint events +// Default: 0 +#define SL_CPC_DEBUG_ENDPOINT_EVENT_COUNTERS 0 + +// Enable debug counters for memory allocation +// Default: 0 +#define SL_CPC_DEBUG_MEMORY_ALLOCATOR_COUNTERS 0 + +// + +// <<< end of configuration section >>> + +#endif /* SL_CPC_CONFIG_H */ diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_cpc_drv_uart_usart_vcom_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_cpc_drv_uart_usart_vcom_config.h new file mode 100644 index 00000000..38d90e4c --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_cpc_drv_uart_usart_vcom_config.h @@ -0,0 +1,102 @@ +/***************************************************************************//** + * @file + * @brief CPC UART driver configuration file. + ******************************************************************************* + * # License + * Copyright 2023 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +// <<< Use Configuration Wizard in Context Menu >>> +#ifndef SL_CPC_DRV_UART_USART_VCOM_CONFIG_H +#define SL_CPC_DRV_UART_USART_VCOM_CONFIG_H + +// CPC - UART Driver Configuration + +// Number of frame that can be queued in the driver receive queue +// Default: 10 +#define SL_CPC_DRV_UART_VCOM_RX_QUEUE_SIZE 10 + +// Number of frame that can be queued in the driver transmit queue +// Default: 10 +#define SL_CPC_DRV_UART_VCOM_TX_QUEUE_SIZE 10 + +// UART Baudrate +// Default: 115200 +#define SL_CPC_DRV_UART_VCOM_BAUDRATE 460800 + +// Flow control +// None +// CTS/RTS +// Default: usartHwFlowControlCtsAndRts +#define SL_CPC_DRV_UART_VCOM_FLOW_CONTROL_TYPE usartHwFlowControlCtsAndRts +// + +// <<< end of configuration section >>> + +// <<< sl:start pin_tool >>> +// SL_CPC_DRV_UART_VCOM +// $[USART_SL_CPC_DRV_UART_VCOM] +#ifndef SL_CPC_DRV_UART_VCOM_PERIPHERAL +#define SL_CPC_DRV_UART_VCOM_PERIPHERAL USART0 +#endif +#ifndef SL_CPC_DRV_UART_VCOM_PERIPHERAL_NO +#define SL_CPC_DRV_UART_VCOM_PERIPHERAL_NO 0 +#endif + +// USART0 TX on PA05 +#ifndef SL_CPC_DRV_UART_VCOM_TX_PORT +#define SL_CPC_DRV_UART_VCOM_TX_PORT gpioPortA +#endif +#ifndef SL_CPC_DRV_UART_VCOM_TX_PIN +#define SL_CPC_DRV_UART_VCOM_TX_PIN 5 +#endif + +// USART0 RX on PA06 +#ifndef SL_CPC_DRV_UART_VCOM_RX_PORT +#define SL_CPC_DRV_UART_VCOM_RX_PORT gpioPortA +#endif +#ifndef SL_CPC_DRV_UART_VCOM_RX_PIN +#define SL_CPC_DRV_UART_VCOM_RX_PIN 6 +#endif + +// USART0 CTS on PD02 +#ifndef SL_CPC_DRV_UART_VCOM_CTS_PORT +#define SL_CPC_DRV_UART_VCOM_CTS_PORT gpioPortD +#endif +#ifndef SL_CPC_DRV_UART_VCOM_CTS_PIN +#define SL_CPC_DRV_UART_VCOM_CTS_PIN 2 +#endif + +// USART0 RTS on PC01 +#ifndef SL_CPC_DRV_UART_VCOM_RTS_PORT +#define SL_CPC_DRV_UART_VCOM_RTS_PORT gpioPortC +#endif +#ifndef SL_CPC_DRV_UART_VCOM_RTS_PIN +#define SL_CPC_DRV_UART_VCOM_RTS_PIN 1 +#endif +// [USART_SL_CPC_DRV_UART_VCOM]$ +// <<< sl:end pin_tool >>> + +#endif /* SL_CPC_DRV_UART_VCOM_CONFIG_H */ diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_cpc_kernel_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_cpc_kernel_config.h new file mode 100644 index 00000000..7e01e898 --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_cpc_kernel_config.h @@ -0,0 +1,99 @@ +/***************************************************************************//** + * @file + * @brief CPC configuration file. + ******************************************************************************* + * # License + * Copyright 2020 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +// <<< Use Configuration Wizard in Context Menu >>> + +#ifndef SL_CPC_KERNEL_CONFIG_H +#define SL_CPC_KERNEL_CONFIG_H + +// CPC Kernel Configuration + +// CPC task priority +// low + 1 +// low + 2 +// low + 3 +// low + 4 +// low + 5 +// low + 6 +// low + 7 +// below normal +// below normal + 1 +// below normal + 2 +// below normal + 3 +// below normal + 4 +// below normal + 5 +// below normal + 6 +// below normal + 7 +// normal +// normal + 1 +// normal + 2 +// normal + 3 +// normal + 4 +// normal + 5 +// normal + 6 +// normal + 7 +// above normal +// above normal + 1 +// above normal + 2 +// above normal + 3 +// above normal + 4 +// above normal + 5 +// above normal + 6 +// above normal + 7 +// high +// high + 1 +// high + 2 +// high + 3 +// high + 4 +// high + 5 +// high + 6 +// high + 7 +// realtime +// realtime + 1 +// realtime + 2 +// realtime + 3 +// realtime + 4 +// realtime + 5 +// realtime + 6 +// realtime + 7 +// Default: osPriorityAboveNormal3 +// CMSIS Priority of the CPC task +#define SL_CPC_TASK_PRIORITY osPriorityAboveNormal3 + +// CPC task stack size in words +// Default: 1024 +// Stack size for the CPC task in words. +#define SL_CPC_TASK_STACK_SIZE (1024) + +// + +// <<< end of configuration section >>> + +#endif /* SL_CPC_KERNEL_CONFIG_H */ diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_cpc_security_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_cpc_security_config.h new file mode 100644 index 00000000..50d2f123 --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_cpc_security_config.h @@ -0,0 +1,55 @@ +/***************************************************************************//** + * @file + * @brief CPC configuration file. + ******************************************************************************* + * # License + * Copyright 2020 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +// <<< Use Configuration Wizard in Context Menu >>> + +#ifndef SL_CPC_SECURITY_CONFIG_H +#define SL_CPC_SECURITY_CONFIG_H + +// CPC Security Configuration + +// Enable encryption using the security endpoint +// Default: 0 +#define SL_CPC_SECURITY_ENABLED 0 + +// Binding key method +// +// The customer provides the key. +// The key is exchanged using the Elliptic-curve Diffie-Hellman algorithm +// The key is plaintext key share. The host sends its encryption key to the secondary +// No binding key is provided +// Default: SL_CPC_SECURITY_BINDING_KEY_ECDH +#define SL_CPC_SECURITY_BINDING_KEY_METHOD SL_CPC_SECURITY_BINDING_KEY_NONE + +// + +// <<< end of configuration section >>> + +#endif /* SL_CPC_CONFIG_H */ diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_device_init_emu_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_device_init_emu_config.h new file mode 100644 index 00000000..4ac96bac --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_device_init_emu_config.h @@ -0,0 +1,53 @@ +/***************************************************************************//** + * @file + * @brief DEVICE_INIT_EMU Config + ******************************************************************************* + * # License + * Copyright 2019 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +#ifndef SL_DEVICE_INIT_EMU_CONFIG_H +#define SL_DEVICE_INIT_EMU_CONFIG_H + +#include "em_emu.h" + +// <<< Use Configuration Wizard in Context Menu >>> + +// Allow debugger to remain connected in EM2 +// Force PD0B to stay on on EM2 entry. This allows the debugger to remain connected in EM2 and EM3. +// Enabling debug connectivity results in an increased power consumption in EM2/EM3. +// Default: 1 +#define SL_DEVICE_INIT_EMU_EM2_DEBUG_ENABLE 1 + +// EM4 pin retention mode +// No Retention: Pads enter reset state when entering EM4. +// Retention through EM4: Pads enter reset state when exiting EM4. +// Retention through EM4 and wakeup. +// Default: emuPinRetentionDisable +#define SL_DEVICE_INIT_EMU_EM4_PIN_RETENTION_MODE emuPinRetentionDisable + +// <<< end of configuration section >>> + +#endif // SL_DEVICE_INIT_EMU_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_fem_util_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_fem_util_config.h new file mode 100644 index 00000000..b48e32ab --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_fem_util_config.h @@ -0,0 +1,118 @@ +/***************************************************************************//** + * @file + * @brief Front End Module configuration file. + ******************************************************************************* + * # License + * Copyright 2020 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +#ifndef SL_FEM_UTIL_CONFIG_H +#define SL_FEM_UTIL_CONFIG_H + +#include "em_gpio.h" + +// <<< Use Configuration Wizard in Context Menu >>> +// FEM Configuration +// Enable RX Mode +// Default: 0 +#define SL_FEM_UTIL_RX_ENABLE 0 +// Enable TX Mode +// Default: 0 +#define SL_FEM_UTIL_TX_ENABLE 0 +// Enable Bypass Mode +// Default: 0 +#define SL_FEM_UTIL_BYPASS_ENABLE 0 +// Enable TX High Power Mode +// Default: 0 +#define SL_FEM_UTIL_TX_HIGH_POWER_ENABLE 0 +// + +// Automatic external FEM LNA bypass Configuration +// Enable automatic LNA bypass +// Default: 0 +#define SL_FEM_UTIL_AUTO_LNA_BYPASS_ENABLE 0 +// LNA bypass threshold +// <1-31:1> +// Default: 12 +#define SL_FEM_UTIL_AUTO_LNA_BYPASS_THRESHOLD 12 +// LNA bypass delta RSSI (dBm) +// <1-255:1> +// Default: 15 +#define SL_FEM_UTIL_AUTO_LNA_BYPASS_DELTA_RSSI_DBM 15 +// LNA bypass GPIO polarity +// <0-1:1> +// Default: 1 +#define SL_FEM_UTIL_AUTO_LNA_BYPASS_POLARITY 1 +// LNA bypass timeout (Us) +// <1-65535:1> +// Default: 4000 +#define SL_FEM_UTIL_AUTO_LNA_BYPASS_TIMEOUT_US 4000 +// +// +// <<< end of configuration section >>> + +// <<< sl:start pin_tool >>> +// SL_FEM_UTIL_RX +// $[PRS_SL_FEM_UTIL_RX] +//#define SL_FEM_UTIL_RX_CHANNEL 5 + +// PRS CH5 on PD10 +//#define SL_FEM_UTIL_RX_PORT gpioPortD +//#define SL_FEM_UTIL_RX_PIN 10 +//#define SL_FEM_UTIL_RX_LOC 0 + +// [PRS_SL_FEM_UTIL_RX]$ + +// SL_FEM_UTIL_TX +// $[PRS_SL_FEM_UTIL_TX] + +// [PRS_SL_FEM_UTIL_TX]$ + +// SL_FEM_UTIL_SLEEP +// $[PRS_SL_FEM_UTIL_SLEEP] +//#define SL_FEM_UTIL_SLEEP_CHANNEL 6 + +// PRS CH6 on PD11 +//#define SL_FEM_UTIL_SLEEP_PORT gpioPortD +//#define SL_FEM_UTIL_SLEEP_PIN 11 +//#define SL_FEM_UTIL_SLEEP_LOC 13 + +// [PRS_SL_FEM_UTIL_SLEEP]$ + +// SL_FEM_UTIL_BYPASS +// $[GPIO_SL_FEM_UTIL_BYPASS] + +// [GPIO_SL_FEM_UTIL_BYPASS]$ + +// SL_FEM_UTIL_TX_HIGH_POWER +// $[GPIO_SL_FEM_UTIL_TX_HIGH_POWER] + +// [GPIO_SL_FEM_UTIL_TX_HIGH_POWER]$ +// <<< sl:end pin_tool >>> + +#define SL_FEM_UTIL_OPTIMIZED_PHY_ENABLE 0 +#define SL_FEM_UTIL_RUNTIME_PHY_SELECT 0 + +#endif // SL_FEM_UTIL_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_gp_interface_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_gp_interface_config.h new file mode 100644 index 00000000..a937b58b --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_gp_interface_config.h @@ -0,0 +1,44 @@ +/***************************************************************************//** + * @file + * @brief OpenThread Green Power configuration file. + ******************************************************************************* + * # License + * Copyright 2024 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +//-------- <<< Use Configuration Wizard in Context Menu >>> ----------------- + +// Rx Offset time +// The rx offset time for the bidirectional message. +// +#define GP_RX_OFFSET_IN_MICRO_SECONDS 21000 +// + +// TX Timeout +// Tx timeout after which the gp outgoing packet is invalid. +// +#define GP_TX_MAX_TIMEOUT_IN_MICRO_SECONDS 5000000 +// +// <<< end of configuration section >>> diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_interrupt_manager_s2_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_interrupt_manager_s2_config.h new file mode 100644 index 00000000..714893aa --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_interrupt_manager_s2_config.h @@ -0,0 +1,47 @@ +/***************************************************************************//** + * @file + * @brief Interrupt Manager configuration file for series 2 devices. + ******************************************************************************* + * # License + * Copyright 2023 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +// <<< Use Configuration Wizard in Context Menu >>> + +#ifndef SL_INTERRUPT_MANAGER_S2_CONFIG_H +#define SL_INTERRUPT_MANAGER_S2_CONFIG_H + +// Interrupt Manager Configuration + +// Put the interrupt vector table in RAM. +// Set to 1 to put the vector table in RAM. +// Default: 0 +#define SL_INTERRUPT_MANAGER_S2_INTERRUPTS_IN_RAM 0 + +// + +#endif /* SSL_INTERRUPT_MANAGER_S2_CONFIG_H */ + +// <<< end of configuration section >>> diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_mbedtls_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_mbedtls_config.h new file mode 100644 index 00000000..39b51496 --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_mbedtls_config.h @@ -0,0 +1,118 @@ +#ifndef SL_MBEDTLS_CONFIG_H +#define SL_MBEDTLS_CONFIG_H + +// ----------------------------------------------------------------------------- +// User exposed config options + +// <<< Use Configuration Wizard in Context Menu >>> + +// TLS/DTLS configuration + +// Complete list of ciphersuites to use, in order of preference. +// Default: MBEDTLS_TLS_ECJPAKE_WITH_AES_128_CCM_8 +// Complete list of ciphersuites to use, in order of preference. +// The value of this configuration should be updated for the application needs. +#define MBEDTLS_SSL_CIPHERSUITES MBEDTLS_TLS_ECJPAKE_WITH_AES_128_CCM_8 + +// Maximum TLS/DTLS fragment length in bytes (input). +// Default: 768 +// The size configured here determines the size of the internal I/O +// buffer used in mbedTLS when receiving data. +#define SL_MBEDTLS_SSL_IN_CONTENT_LEN 768 + +// Maximum TLS/DTLS fragment length in bytes (output). +// Default: 768 +// The size configured here determines the size of the internal I/O +// buffer used in mbedTLS when sending data. +#define SL_MBEDTLS_SSL_OUT_CONTENT_LEN 768 + +// Enable support for RFC 6066 max_fragment_length extension in SSL. +// Default: 1 +// Enable support for RFC 6066 max_fragment_length extension in SSL. +#define SL_MBEDTLS_SSL_MAX_FRAGMENT_LENGTH 1 + +// Enable support for exporting key block and master secret. +// Default: 1 +// Enable support for exporting key block and master secret. +// This is required for certain users of TLS, e.g. EAP-TLS. +#define SL_MBEDTLS_SSL_EXPORT_KEYS 1 + +// Enable the PSK based ciphersuite modes in SSL / TLS. +// Default: 0 +// Enable the PSK based ciphersuite modes in SSL / TLS. +#define SL_MBEDTLS_KEY_EXCHANGE_PSK_ENABLED 0 + +// Enable the ECDHE-PSK based ciphersuite modes in SSL / TLS. +// Default: 0 +// Enable the ECDHE-PSK based ciphersuite modes in SSL / TLS. +#define SL_MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED 0 + +// Enable the ECDHE-ECDSA based ciphersuite modes in SSL / TLS. +// Default: 0 +// Enable the ECDHE-ECDSA based ciphersuite modes in SSL / TLS. +#define SL_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED 0 + +// Enable the ECDHE-RSA based ciphersuite modes in SSL / TLS. +// Default: 0 +// Enable the ECDHE-RSA based ciphersuite modes in SSL / TLS. +#define SL_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED 0 + +// Enable the ECDH-ECDSA based ciphersuite modes in SSL / TLS. +// Default: 0 +// Enable the ECDH-ECDSA based ciphersuite modes in SSL / TLS. +#define SL_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED 0 + +// Enable parsing of the compressed curves. +// Default: 0 +// Enable parsing of the compressed curves. +#define SL_MBEDTLS_ECP_ENABLE_COMPRESSED_CURVE_PARSING 0 + +// + +// RSA configuration + +// Disable use of the Chinese Remainder Theorem for RSA. +// Default: 0 +// Disable use of the Chinese Remainder Theorem for RSA private key +// computations. +#define SL_MBEDTLS_RSA_NO_CRT 0 + +// + +// Miscellaneous configuration + +// Enable Silicon Labs' Mbed TLS- and PSA Crypto drivers. +// Default: 1 +// Enable drivers for hardware acceleration (Mbed TLS and PSA Crypto) and +// secure key handling (PSA Crypto). +#define SL_MBEDTLS_DRIVERS_ENABLED 1 + +// + +// <<< end of configuration section >>> + +// ----------------------------------------------------------------------------- +// Sub-files + +#if defined(SLI_MBEDTLS_CONFIG_AUTOGEN_OVERRIDE_FILE) + #include SLI_MBEDTLS_CONFIG_AUTOGEN_OVERRIDE_FILE +#else + #include "sli_mbedtls_config_autogen.h" +#endif + +#include "sli_mbedtls_omnipresent.h" + +#if SL_MBEDTLS_DRIVERS_ENABLED + #include "sli_mbedtls_acceleration.h" +#endif + +#include "sl_mbedtls_device_config.h" + +// Include transformation logic to apply CMSIS-config configuration options to +// the correct Mbed TLS / PSA Crypto options. +#include "sli_mbedtls_config_transform_autogen.h" + +// Included for backward compatibility reasons. +#include "mbedtls/build_info.h" + +#endif // SL_MBEDTLS_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_mbedtls_device_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_mbedtls_device_config.h new file mode 100644 index 00000000..33c34c42 --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_mbedtls_device_config.h @@ -0,0 +1,72 @@ +#ifndef SL_MBEDTLS_DEVICE_CONFIG_H +#define SL_MBEDTLS_DEVICE_CONFIG_H + +// ----------------------------------------------------------------------------- +// User exposed config options + +// <<< Use Configuration Wizard in Context Menu >>> + +// Secure Engine (SE) version configuration + +// Support SE firmware versions older than 1.2.2 <0-1> +// Enable software fallback for ECDH and ECC public key validation on xG21 +// devices running SE firmware versions lower than 1.2.2. +// +// Due to other stability concerns, it is strongly recommended to upgrade +// these devices to the latest firmware revision instead of turning on +// software fallback support. +// +// Not having fallback support will make ECDH operations, as well as PSA +// Crypto public key import, return an error code on affected devices. +// +// Default: 0 +#define SL_SE_SUPPORT_FW_PRIOR_TO_1_2_2 0 + +// Assume an SE firmware version newer than 1.2.2 <0-1> +// For enhanced performance: if it is guaranteed that all devices on which +// this library will run are updated to at least SE FW 1.2.2, then turning +// on this option will remove certain fallback checks, thereby reducing the +// amount of processing required for ECDH and public key verification +// operations. +// Default: 0 +#define SL_SE_ASSUME_FW_AT_LEAST_1_2_2 0 + +// Assume an SE firmware version that is unaffected by Ed25519 errata <0-1> +// For minimal code size and performance savings: if it is guaranteed that +// none of the devices running this library has SE FWs in the range +// [1.2.2, 1.2.8], then enabling this option will disable runtime version +// checks. +// Default: 0 +#define SL_SE_ASSUME_FW_UNAFFECTED_BY_ED25519_ERRATA 0 + +// + +// <<< end of configuration section >>> + +// ----------------------------------------------------------------------------- +// Additional SE version related logic (DO NOT MODIFY) + +// SL_SE_ASSUME_FW_AT_LEAST_1_2_10 is no longer in use, however, it is kept here +// for backwards compatibility. */ +#if defined(SL_SE_ASSUME_FW_AT_LEAST_1_2_10) + #undef SL_SE_ASSUME_FW_AT_LEAST_1_2_2 + #define SL_SE_ASSUME_FW_AT_LEAST_1_2_2 1 + #undef SL_SE_ASSUME_FW_UNAFFECTED_BY_ED25519_ERRATA + #define SL_SE_ASSUME_FW_UNAFFECTED_BY_ED25519_ERRATA 1 +#endif + +// SLI_SE_SUPPORT_FW_PRIOR_TO_1_2_2 is no longer in use, however, it is kept +// here for backwards compatibility. */ +#if defined(SLI_SE_SUPPORT_FW_PRIOR_TO_1_2_2) + #undef SL_SE_SUPPORT_FW_PRIOR_TO_1_2_2 + #define SL_SE_SUPPORT_FW_PRIOR_TO_1_2_2 1 +#endif + +// SLI_SE_ASSUME_FW_AT_LEAST_1_2_2 is no longer in use, however, it is kept +// here for backwards compatibility. */ +#if defined(SLI_SE_ASSUME_FW_AT_LEAST_1_2_2) + #undef SL_SE_ASSUME_FW_AT_LEAST_1_2_2 + #define SL_SE_ASSUME_FW_AT_LEAST_1_2_2 1 +#endif + +#endif // SL_MBEDTLS_DEVICE_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_memory_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_memory_config.h new file mode 100644 index 00000000..3afe6966 --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_memory_config.h @@ -0,0 +1,11 @@ +#ifndef SL_MEMORY_CONFIG_H +#define SL_MEMORY_CONFIG_H + +#include "sl_memory_manager_region_config.h" +#include "sl_common.h" + +#ifndef SL_SUPPRESS_DEPRECATION_WARNINGS_SDK_2024_6 +#warning "This file is deprecated as of Simplicity SDK 2024.6. Content was moved to sl_memory_manager_region_config.h." +#endif + +#endif diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_memory_manager_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_memory_manager_config.h new file mode 100644 index 00000000..7e4b0567 --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_memory_manager_config.h @@ -0,0 +1,49 @@ +/***************************************************************************//** + * @file + * @brief Memory Heap Allocator configuration file. + ******************************************************************************* + * # License + * Copyright 2024 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +// <<< Use Configuration Wizard in Context Menu >>> + +#ifndef SL_MEMORY_MANAGER_CONFIG_H +#define SL_MEMORY_MANAGER_CONFIG_H + +// Memory Manager Configuration + +// Minimum block allocation size +// <32-128:8> +// Minimum block allocation size to avoid creating a block too small while splitting up an allocated block. +// Size expressed in bytes and can only be a multiple of 8 bytes for the proper data alignment management done by the dynamic allocator malloc() function. +// Default: 32 +#define SL_MEMORY_MANAGER_BLOCK_ALLOCATION_MIN_SIZE (32) + +// + +// <<< end of configuration section >>> + +#endif /* SL_MEMORY_MANAGER_CONFIG_H */ diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_memory_manager_region_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_memory_manager_region_config.h new file mode 100644 index 00000000..ee337e99 --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_memory_manager_region_config.h @@ -0,0 +1,49 @@ +/***************************************************************************//** + * @file + * @brief Memory Heap and stack size configuration file. + ******************************************************************************* + * # License + * Copyright 2024 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +// <<< Use Configuration Wizard in Context Menu >>> + +#ifndef SL_MEMORY_MANAGER_REGION_CONFIG_H +#define SL_MEMORY_MANAGER_REGION_CONFIG_H + +// Memory configuration + +// Stack size for the application. +// Default: 4096 +// The stack size configured here will be used by the stack that the +// application uses when coming out of a reset. +#ifndef SL_STACK_SIZE +#define SL_STACK_SIZE 2752 +#endif +// + +// <<< end of configuration section >>> + +#endif /* SL_MEMORY_MANAGER_REGION_CONFIG_H */ diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_openthread_coex_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_openthread_coex_config.h new file mode 100644 index 00000000..af4e9328 --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_openthread_coex_config.h @@ -0,0 +1,41 @@ +/***************************************************************************//** + * @file + * @brief OpenThread Coexistence configuration file. + ******************************************************************************* + * # License + * Copyright 2024 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +//-------- <<< Use Configuration Wizard in Context Menu >>> ----------------- +// +// Coexistence Configurations +// Synch MAC to GRANT (MAC holdoff) +#define SL_OPENTHREAD_COEX_MAC_HOLDOFF_ENABLE 0 + +// Counters +#define SL_OPENTHREAD_COEX_COUNTER_ENABLE 1 + +// +// <<< end of configuration section >>> diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_openthread_features_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_openthread_features_config.h new file mode 100644 index 00000000..f66c3fe2 --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_openthread_features_config.h @@ -0,0 +1,410 @@ +/***************************************************************************//** + * @file + * @brief OpenThread stack configuration file. + ******************************************************************************* + * # License + * Copyright 2024 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +#ifndef _SL_OPENTHREAD_FEATURES_CONFIG_H +#define _SL_OPENTHREAD_FEATURES_CONFIG_H +//-------- <<< Use Configuration Wizard in Context Menu >>> ----------------- +// +// Default OpenThread Stack Configuration + +// Thread Stack Protocol Version +// +// Thread 1.1 +// Thread 1.2 +// Thread 1.3 +// Thread 1.4 +// Current Default: OT_THREAD_VERSION_1_3 +#ifndef OPENTHREAD_CONFIG_THREAD_VERSION +#define OPENTHREAD_CONFIG_THREAD_VERSION OT_THREAD_VERSION_1_4 +#endif +// + +#if (OPENTHREAD_CONFIG_THREAD_VERSION >= OT_THREAD_VERSION_1_2) +// The following features require at least Thread Stack Protocol Version 1.2 +// Backbone Router +#ifndef OPENTHREAD_CONFIG_BACKBONE_ROUTER_ENABLE +#define OPENTHREAD_CONFIG_BACKBONE_ROUTER_ENABLE 0 +#endif +// CSL Auto Synchronization using data polling +#ifndef OPENTHREAD_CONFIG_MAC_CSL_AUTO_SYNC_ENABLE +#define OPENTHREAD_CONFIG_MAC_CSL_AUTO_SYNC_ENABLE 0 +#endif +// CSL (Coordinated Sampled Listening) Debug +#ifndef OPENTHREAD_CONFIG_MAC_CSL_DEBUG_ENABLE +#define OPENTHREAD_CONFIG_MAC_CSL_DEBUG_ENABLE 0 +#endif +// CSL (Coordinated Sampled Listening) Receiver +#ifndef OPENTHREAD_CONFIG_MAC_CSL_RECEIVER_ENABLE +#define OPENTHREAD_CONFIG_MAC_CSL_RECEIVER_ENABLE 0 +#endif +// CSL Scheduling Uncertainty (±10 us units) <12..999:1> +#ifndef SL_OPENTHREAD_CSL_TX_UNCERTAINTY +#if OPENTHREAD_RADIO + #define SL_OPENTHREAD_CSL_TX_UNCERTAINTY 175 +#elif OPENTHREAD_FTD + #define SL_OPENTHREAD_CSL_TX_UNCERTAINTY 20 +#else + #define SL_OPENTHREAD_CSL_TX_UNCERTAINTY 12 +#endif +#endif +// DUA (Domain Unicast Address) +#ifndef OPENTHREAD_CONFIG_DUA_ENABLE +#define OPENTHREAD_CONFIG_DUA_ENABLE 1 +#endif +// Link Metrics Initiator +#ifndef OPENTHREAD_CONFIG_MLE_LINK_METRICS_INITIATOR_ENABLE +#define OPENTHREAD_CONFIG_MLE_LINK_METRICS_INITIATOR_ENABLE 1 +#endif +// Link Metrics Subject +#ifndef OPENTHREAD_CONFIG_MLE_LINK_METRICS_SUBJECT_ENABLE +#define OPENTHREAD_CONFIG_MLE_LINK_METRICS_SUBJECT_ENABLE 1 +#endif +// Multicast Listener Registration +#ifndef OPENTHREAD_CONFIG_MLR_ENABLE +#define OPENTHREAD_CONFIG_MLR_ENABLE 1 +#endif +// +#endif // OPENTHREAD_CONFIG_THREAD_VERSION >= OT_THREAD_VERSION_1_2 + +#if (OPENTHREAD_CONFIG_THREAD_VERSION >= OT_THREAD_VERSION_1_3) +// The following features require at least Thread Stack Protocol Version 1.3 +// DNS Client +#ifndef OPENTHREAD_CONFIG_DNS_CLIENT_ENABLE +#define OPENTHREAD_CONFIG_DNS_CLIENT_ENABLE 1 +#endif +// DNS-SD Server +#ifndef OPENTHREAD_CONFIG_DNSSD_SERVER_ENABLE +#define OPENTHREAD_CONFIG_DNSSD_SERVER_ENABLE 0 +#endif +// Service Registration Protocol (SRP) Client +#ifndef OPENTHREAD_CONFIG_SRP_CLIENT_ENABLE +#define OPENTHREAD_CONFIG_SRP_CLIENT_ENABLE 1 +#endif +// Service Registration Protocol (SRP) Server +#ifndef OPENTHREAD_CONFIG_SRP_SERVER_ENABLE +#define OPENTHREAD_CONFIG_SRP_SERVER_ENABLE 0 +#endif +// TCPlp (Low power TCP over OpenThread) +#ifndef OPENTHREAD_CONFIG_TCP_ENABLE +#define OPENTHREAD_CONFIG_TCP_ENABLE 0 +#endif +// DNS Client over TCP +#ifndef OPENTHREAD_CONFIG_DNS_CLIENT_OVER_TCP_ENABLE +#define OPENTHREAD_CONFIG_DNS_CLIENT_OVER_TCP_ENABLE 0 +#endif +// Thread over Infrastructure (NCP only) +#ifndef OPENTHREAD_CONFIG_RADIO_LINK_TREL_ENABLE +#define OPENTHREAD_CONFIG_RADIO_LINK_TREL_ENABLE 0 +#endif +// +#endif // OPENTHREAD_CONFIG_THREAD_VERSION >= OT_THREAD_VERSION_1_3 + +// Border Agent +#ifndef OPENTHREAD_CONFIG_BORDER_AGENT_ENABLE +#define OPENTHREAD_CONFIG_BORDER_AGENT_ENABLE 0 +#endif +// +// Border Router +#ifndef OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE +#define OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE 0 +#endif +// +// Channel Manager +#ifndef OPENTHREAD_CONFIG_CHANNEL_MANAGER_ENABLE +#define OPENTHREAD_CONFIG_CHANNEL_MANAGER_ENABLE 0 +#endif +// +// Channel Monitor +#ifndef OPENTHREAD_CONFIG_CHANNEL_MONITOR_ENABLE +#define OPENTHREAD_CONFIG_CHANNEL_MONITOR_ENABLE 0 +#endif +// + +// Commissioner +#ifndef OPENTHREAD_CONFIG_COMMISSIONER_ENABLE +#define OPENTHREAD_CONFIG_COMMISSIONER_ENABLE 0 +#endif + +// Max Joiner Entries +// The maximum number of Joiner entries maintained by the Commissioner. +// 2 +#ifndef OPENTHREAD_CONFIG_COMMISSIONER_MAX_JOINER_ENTRIES +#define OPENTHREAD_CONFIG_COMMISSIONER_MAX_JOINER_ENTRIES 2 +#endif +// + +// COAP API +#ifndef OPENTHREAD_CONFIG_COAP_API_ENABLE +#define OPENTHREAD_CONFIG_COAP_API_ENABLE 0 +#endif +// +// COAP Observe (RFC7641) API +#ifndef OPENTHREAD_CONFIG_COAP_OBSERVE_API_ENABLE +#define OPENTHREAD_CONFIG_COAP_OBSERVE_API_ENABLE 0 +#endif +// +// COAP Secure API +#ifndef OPENTHREAD_CONFIG_COAP_SECURE_API_ENABLE +#define OPENTHREAD_CONFIG_COAP_SECURE_API_ENABLE 0 +#endif +// +// DHCP6 Client +#ifndef OPENTHREAD_CONFIG_DHCP6_CLIENT_ENABLE +#define OPENTHREAD_CONFIG_DHCP6_CLIENT_ENABLE 0 +#endif +// +// DHCP6 Server +#ifndef OPENTHREAD_CONFIG_DHCP6_SERVER_ENABLE +#define OPENTHREAD_CONFIG_DHCP6_SERVER_ENABLE 0 +#endif +// +// Diagnostic +#ifndef OPENTHREAD_CONFIG_DIAG_ENABLE +#define OPENTHREAD_CONFIG_DIAG_ENABLE 1 +#endif +// +// ECDSA (Elliptic Curve Digital Signature Algorithm) (Required for Matter support) +#ifndef OPENTHREAD_CONFIG_ECDSA_ENABLE +#define OPENTHREAD_CONFIG_ECDSA_ENABLE 1 +#endif +// +// External Heap +#ifndef OPENTHREAD_CONFIG_HEAP_EXTERNAL_ENABLE +#define OPENTHREAD_CONFIG_HEAP_EXTERNAL_ENABLE 0 +#endif +// +// IPv6 Fragmentation +#ifndef OPENTHREAD_CONFIG_IP6_FRAGMENTATION_ENABLE +#define OPENTHREAD_CONFIG_IP6_FRAGMENTATION_ENABLE 0 +#endif +// +// Maximum number of IPv6 unicast addresses allowed to be externally added +#ifndef OPENTHREAD_CONFIG_IP6_MAX_EXT_UCAST_ADDRS +#define OPENTHREAD_CONFIG_IP6_MAX_EXT_UCAST_ADDRS 4 +#endif +// +// Maximum number of IPv6 multicast addresses allowed to be externally added +#ifndef OPENTHREAD_CONFIG_IP6_MAX_EXT_MCAST_ADDRS +#define OPENTHREAD_CONFIG_IP6_MAX_EXT_MCAST_ADDRS 4 +#endif +// +// Jam Detection +#ifndef OPENTHREAD_CONFIG_JAM_DETECTION_ENABLE +#define OPENTHREAD_CONFIG_JAM_DETECTION_ENABLE 0 +#endif +// +// Joiner +#ifndef OPENTHREAD_CONFIG_JOINER_ENABLE +#define OPENTHREAD_CONFIG_JOINER_ENABLE 0 +#endif +// +// Link Raw Service +#ifndef OPENTHREAD_CONFIG_LINK_RAW_ENABLE +#define OPENTHREAD_CONFIG_LINK_RAW_ENABLE 0 +#endif +// +// MAC Filter +#ifndef OPENTHREAD_CONFIG_MAC_FILTER_ENABLE +#define OPENTHREAD_CONFIG_MAC_FILTER_ENABLE 0 +#endif +// +// MLE Long Routes extension (experimental) +#ifndef OPENTHREAD_CONFIG_MLE_LONG_ROUTES_ENABLE +#define OPENTHREAD_CONFIG_MLE_LONG_ROUTES_ENABLE 0 +#endif +// +// MultiPAN RCP +#ifndef OPENTHREAD_CONFIG_MULTIPAN_RCP_ENABLE +#define OPENTHREAD_CONFIG_MULTIPAN_RCP_ENABLE 1 +#endif +// +// Multiple OpenThread Instances +#ifndef OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_ENABLE +#define OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_ENABLE 1 +#endif +// +// Multiple Static Instance Support +#ifndef OPENTHREAD_CONFIG_MULTIPLE_STATIC_INSTANCE_ENABLE +#define OPENTHREAD_CONFIG_MULTIPLE_STATIC_INSTANCE_ENABLE 1 +#endif +// +// Number of OpenThread Instances For Static Buffer Allocation +#ifndef OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_NUM +#define OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_NUM 2 +#endif +// +// Define broadcast IID for spinel frames dedicated to all hosts in multipan configuration +#ifndef OPENTHREAD_SPINEL_CONFIG_BROADCAST_IID +#define OPENTHREAD_SPINEL_CONFIG_BROADCAST_IID 0 +#endif +// +// OTNS (OpenThread Network Simulator) +#ifndef OPENTHREAD_CONFIG_OTNS_ENABLE +#define OPENTHREAD_CONFIG_OTNS_ENABLE 0 +#endif +// +// Ping Sender Module +#ifndef OPENTHREAD_CONFIG_PING_SENDER_ENABLE +#define OPENTHREAD_CONFIG_PING_SENDER_ENABLE 1 +#endif + +// +// Power Calibration Module (RCP only configuration) +#ifndef OPENTHREAD_CONFIG_POWER_CALIBRATION_ENABLE +#define OPENTHREAD_CONFIG_POWER_CALIBRATION_ENABLE 0 +#endif + +// +// Platform UDP +#ifndef OPENTHREAD_CONFIG_PLATFORM_UDP_ENABLE +#define OPENTHREAD_CONFIG_PLATFORM_UDP_ENABLE 0 +#endif +// +// Reference Device for Thread Test Harness +#ifndef OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE +#define OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE 0 +#endif +// +// Service Entries in Thread Network Data +#ifndef OPENTHREAD_CONFIG_TMF_NETDATA_SERVICE_ENABLE +#define OPENTHREAD_CONFIG_TMF_NETDATA_SERVICE_ENABLE 0 +#endif +// +// RAM (volatile-only storage) +#ifndef OPENTHREAD_SETTINGS_RAM +#define OPENTHREAD_SETTINGS_RAM 0 +#endif +// +// SLAAC Addresses +#ifndef OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE +#define OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE 1 +#endif +// +// SNTP Client +#ifndef OPENTHREAD_CONFIG_SNTP_CLIENT_ENABLE +#define OPENTHREAD_CONFIG_SNTP_CLIENT_ENABLE 0 +#endif +// +// TMF Network Diagnostic client API +#ifndef OPENTHREAD_CONFIG_TMF_NETDIAG_CLIENT_ENABLE +#define OPENTHREAD_CONFIG_TMF_NETDIAG_CLIENT_ENABLE 1 +#endif +// +// Time Synchronization Service +#define OPENTHREAD_CONFIG_TIME_SYNC_ENABLE 0 +// +// UDP Forward +#ifndef OPENTHREAD_CONFIG_UDP_FORWARD_ENABLE +#define OPENTHREAD_CONFIG_UDP_FORWARD_ENABLE 0 +#endif +// +// Enable Mac beacon payload parsing support +#ifndef OPENTHREAD_CONFIG_MAC_BEACON_PAYLOAD_PARSING_ENABLE +#define OPENTHREAD_CONFIG_MAC_BEACON_PAYLOAD_PARSING_ENABLE 1 +#endif +// +// Max raw power calibration length. +#ifndef SL_OPENTHREAD_RAW_POWER_CALIBRATION_LENGTH +#define SL_OPENTHREAD_RAW_POWER_CALIBRATION_LENGTH 4 +#endif +// +// Max FEM config setting length. +#ifndef SL_OPENTHREAD_FEM_SETTING_LENGTH +#define SL_OPENTHREAD_FEM_SETTING_LENGTH 4 +#endif +// +// The maximum number of RX buffers to use in the radio driver. +// 16 +#ifndef SL_OPENTHREAD_RADIO_RX_BUFFER_COUNT +#define SL_OPENTHREAD_RADIO_RX_BUFFER_COUNT 16 +#endif +// +// Logging +// LOG_OUTPUT +// NONE +// APP +// PLATFORM_DEFINED +// Default: OPENTHREAD_CONFIG_LOG_OUTPUT_PLATFORM_DEFINED +#ifndef OPENTHREAD_CONFIG_LOG_OUTPUT +#define OPENTHREAD_CONFIG_LOG_OUTPUT OPENTHREAD_CONFIG_LOG_OUTPUT_NONE +#endif + +// DYNAMIC_LOG_LEVEL +#ifndef OPENTHREAD_CONFIG_LOG_LEVEL_DYNAMIC_ENABLE +#define OPENTHREAD_CONFIG_LOG_LEVEL_DYNAMIC_ENABLE 0 +#endif + +// Enable Logging +#define OPENTHREAD_FULL_LOGS_ENABLE 0 +#if OPENTHREAD_FULL_LOGS_ENABLE + +// Note: Enabling higher log levels, which include logging packet details, can cause delays which may result in join failures. +// LOG_LEVEL +// NONE +// CRIT +// WARN +// NOTE +// INFO +// DEBG +// Default: OT_LOG_LEVEL_DEBG +#ifndef OPENTHREAD_CONFIG_LOG_LEVEL +#define OPENTHREAD_CONFIG_LOG_LEVEL OT_LOG_LEVEL_DEBG +#endif +// CLI +#ifndef OPENTHREAD_CONFIG_LOG_CLI +#define OPENTHREAD_CONFIG_LOG_CLI 1 +#endif +// PKT_DUMP +#ifndef OPENTHREAD_CONFIG_LOG_PKT_DUMP +#define OPENTHREAD_CONFIG_LOG_PKT_DUMP 1 +#endif +// PLATFORM +#ifndef OPENTHREAD_CONFIG_LOG_PLATFORM +#define OPENTHREAD_CONFIG_LOG_PLATFORM 1 +#endif +// PREPEND_LEVEL +#ifndef OPENTHREAD_CONFIG_LOG_PREPEND_LEVEL +#define OPENTHREAD_CONFIG_LOG_PREPEND_LEVEL 1 +#endif + +#endif // OPENTHREAD_FULL_LOGS_ENABLE + +// Log crash dump after initialization +#ifndef OPENTHREAD_CONFIG_PLATFORM_LOG_CRASH_DUMP_ENABLE +#define OPENTHREAD_CONFIG_PLATFORM_LOG_CRASH_DUMP_ENABLE 0 +#endif +// + +// +// +// + +// <<< end of configuration section >>> +#endif // _SL_OPENTHREAD_FEATURES_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_openthread_generic_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_openthread_generic_config.h new file mode 100644 index 00000000..46beb6e4 --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_openthread_generic_config.h @@ -0,0 +1,175 @@ +/***************************************************************************//** + * @file + * @brief OpenThread generic configuration file. + ******************************************************************************* + * # License + * Copyright 2024 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +/* Define if building universal (internal helper macro) */ +/* #undef AC_APPLE_UNIVERSAL_BUILD */ + +/* Define to 1 if your C++ compiler doesn't accept -c and -o together. */ +/* #undef CXX_NO_MINUS_C_MINUS_O */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_DLFCN_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the `edit' library (-ledit). */ +/* #undef HAVE_LIBEDIT */ + +/* Define to 1 if you have the `readline' library (-lreadline). */ +/* #undef HAVE_LIBREADLINE */ + +/* Define to 1 if you have the `memcpy' function. */ +/* #undef HAVE_MEMCPY */ + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if stdbool.h conforms to C99. */ +#define HAVE_STDBOOL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if the system has the type `_Bool'. */ +#define HAVE__BOOL 1 + +/* Define to the sub-directory where libtool stores uninstalled libraries. */ +#define LT_OBJDIR ".libs/" + +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +/* #undef NO_MINUS_C_MINUS_O */ + +/* Name of package */ +#define PACKAGE "openthread" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "openthread-devel@googlegroups.com" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "SL-OPENTHREAD" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "SL-OPENTHREAD/2.5.1.0_GitHub-1fceb225b" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "openthread" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "http://github.com/openthread/openthread" + +/* Define to the version of this package. + * Note: When adding the label below with OpenThread version, please make + * sure it is a valid GitHub version. Avoid merge or local commit hashes. + */ +#define PACKAGE_VERSION "2.5.1.0_GitHub-1fceb225b" + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Version number of package */ +#define VERSION "2.5.1.0_GitHub-1fceb225b" + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +/* # undef WORDS_BIGENDIAN */ +# endif +#endif + +/* Define for Solaris 2.5.1 so the uint32_t typedef from , + , or is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +/* #undef _UINT32_T */ + +/* Define for Solaris 2.5.1 so the uint64_t typedef from , + , or is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +/* #undef _UINT64_T */ + +/* Define for Solaris 2.5.1 so the uint8_t typedef from , + , or is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +/* #undef _UINT8_T */ + +/* Define to the type of a signed integer type of width exactly 16 bits if + such a type exists and the standard includes do not define it. */ +/* #undef int16_t */ + +/* Define to the type of a signed integer type of width exactly 32 bits if + such a type exists and the standard includes do not define it. */ +/* #undef int32_t */ + +/* Define to the type of a signed integer type of width exactly 64 bits if + such a type exists and the standard includes do not define it. */ +/* #undef int64_t */ + +/* Define to the type of a signed integer type of width exactly 8 bits if such + a type exists and the standard includes do not define it. */ +/* #undef int8_t */ + +/* Define to the type of an unsigned integer type of width exactly 16 bits if + such a type exists and the standard includes do not define it. */ +/* #undef uint16_t */ + +/* Define to the type of an unsigned integer type of width exactly 32 bits if + such a type exists and the standard includes do not define it. */ +/* #undef uint32_t */ + +/* Define to the type of an unsigned integer type of width exactly 64 bits if + such a type exists and the standard includes do not define it. */ +/* #undef uint64_t */ + +/* Define to the type of an unsigned integer type of width exactly 8 bits if + such a type exists and the standard includes do not define it. */ +/* #undef uint8_t */ diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_openthread_rtos_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_openthread_rtos_config.h new file mode 100644 index 00000000..cc6ebf7d --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_openthread_rtos_config.h @@ -0,0 +1,100 @@ +/***************************************************************************//** + * @file + * @brief OpenThread RTOS configuration file. + ******************************************************************************* + * # License + * Copyright 2024 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +//-------- <<< Use Configuration Wizard in Context Menu >>> ----------------- +// +// Priority Configuration for OpenThread RTOS Stack Task +// OpenThread stack task priority +// Default: 24 (CMSIS-RTOS2 osPriorityNormal) +// Defines OpenThread stack task priority. This must be a valid priority value +// from CMSIS-RTOS2 osPriority_t definition. +#define SL_OPENTHREAD_RTOS_STACK_TASK_PRIORITY (24) + +// +// Priority Configuration for OpenThread App Task +// OpenThread task priority +// Default: 23 (CMSIS-RTOS2 osPriorityBelowNormal7) +// Defines OpenThread App task priority. This must be a valid priority value +// from CMSIS-RTOS2 osPriority_t definition. +#define SL_OPENTHREAD_RTOS_APP_TASK_PRIORITY (23) + +// +// Priority Configuration for OpenThread RTOS Stack Task +// OpenThread CLI task prority +// Default: 16 (CMSIS-RTOS2 osPriorityBelowNormal) +// Defines OpenThread CLI task priority. This must be a valid priority value +// from CMSIS-RTOS2 osPriority_t definition. +#define SL_OPENTHREAD_RTOS_CLI_TASK_PRIORITY (16) + +// OpenThread stack task stack size in bytes <1000-20000> +// Default: 4608 +// Defines the stack size of the OpenThread RTOS stack task. The value is in bytes and +// and will be word aligned when it is applied at the task creation. +#define SL_OPENTHREAD_STACK_TASK_MEM_SIZE 4608 + +// OpenThread app task stack size in bytes <1000-20000> +// Default: 4096 +// Defines the stack size of the OpenThread RTOS app task. The value is in bytes and +// and will be word aligned when it is applied at the task creation. +#define SL_OPENTHREAD_APP_TASK_MEM_SIZE 4608 + +// OpenThread CLI task stack size in bytes <1000-20000> +// Default: 2048 +// Defines the stack size of the OpenThread RTOS CLI task. The value is in bytes and +// and will be word aligned when it is applied at the task creation. +#define SL_OPENTHREAD_CLI_TASK_MEM_SIZE 2048 +// +// Priority Configuration for OpenThread RTOS Stack Task +// OpenThread CLI task prority +// Default: 16 (CMSIS-RTOS2 osPriorityBelowNormal) +// Defines OpenThread CLI task priority. This must be a valid priority value +// from CMSIS-RTOS2 osPriority_t definition. +#define SL_OPENTHREAD_RTOS_CLI_TASK_PRIORITY (16) + +// OpenThread CLI task stack size in bytes <1000-20000> +// Default: 2048 +// Defines the stack size of the OpenThread RTOS CLI task. The value is in bytes and +// and will be word aligned when it is applied at the task creation. +#define SL_OPENTHREAD_OS_CLI_TASK_SIZE 2048 + +// +// App Task +// Enable default App task +// Default: On +#define SL_OPENTHREAD_ENABLE_APP_TASK (1) + +// +// CLI Task +// Enable CLI task +// Default: On +#define SL_OPENTHREAD_ENABLE_CLI_TASK (1) + +// +// <<< end of configuration section >>> diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_rail_util_coex_common_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_rail_util_coex_common_config.h new file mode 100644 index 00000000..7cddee03 --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_rail_util_coex_common_config.h @@ -0,0 +1,254 @@ +/***************************************************************************//** + * @file + * @brief Common coexistence configuration header file + ******************************************************************************* + * # License + * Copyright 2020 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +#ifndef SL_RAIL_UTIL_COEX_COMMON_CONFIG_H +#define SL_RAIL_UTIL_COEX_COMMON_CONFIG_H + +// <<< Use Configuration Wizard in Context Menu >>> +// Coexistence Configuration + +// IEEE802.15.4 Only Configuration +// Disable ACKing when GRANT deasserted, RHO asserted, or REQUEST deasserted +// Disable ACKing when GNT deasserted, RHO asserted, or REQ not secured (shared REQ only) +// Default: 1 +#define SL_RAIL_UTIL_COEX_ACKHOLDOFF 1 + +// Abort transmission mid-packet if Grant when GRANT deasserted, RHO asserted, or REQUEST not secured (shared REQUEST only) +// Abort transmission mid-packet if Grant when GRANT deasserted, RHO asserted, or REQUEST not secured (shared REQUEST only) +// Default: 0 +#define SL_RAIL_UTIL_COEX_IEEE802154_TX_ABORT 0 +// + +// BLE Only Configuration +// Abort transmission mid-packet if Grant when GRANT deasserted, RHO asserted, or REQUEST not secured (shared REQUEST only) +// Abort transmission mid-packet if Grant when GRANT deasserted, RHO asserted, or REQUEST not secured (shared REQUEST only) +// Default: 0 +#define SL_RAIL_UTIL_COEX_BLE_TX_ABORT 0 +// + +// REQUEST +// Enable REQUEST signal +// Default: 0 +#define SL_RAIL_UTIL_COEX_REQ_ENABLED 0 + +// REQUEST assert signal level +// <1=> High +// <0=> Low +// Polarity of REQUEST signal +// Default: 1 +#define SL_RAIL_UTIL_COEX_REQ_ASSERT_LEVEL 1 + +// Enable REQUEST shared mode +// Configure the REQUEST signal for shared mode +// Default: 0 +#define SL_RAIL_UTIL_COEX_REQ_SHARED 0 + +// Max REQUEST backoff mask [0-255] +// <0-255:1> +// Maximum backoff time in microseconds after REQUEST was deasserted +// Default: 15 +#define SL_RAIL_UTIL_COEX_REQ_BACKOFF 15 + +// BLE Only Request Configuration +// Specify the number of microseconds between asserting Request and starting RX/TX +// <0-5000:1> +// Specify the number of microseconds between asserting REQUEST and starting RX/TX (BLE only) +// Default: 500 +#define SL_RAIL_UTIL_COEX_REQ_WINDOW 500 +// + +// IEEE802.15.4 Only Request Configuration +// Enable REQUEST receive retry +// Enable the receive retry +// Default: 0 +#define SL_RAIL_UTIL_COEX_RETRYRX_ENABLE 0 + +// REQUEST receive retry timeout(ms) +// <0-255:1> +// Receive retry REQ timeout in milliseconds +// Default: 16 +#define SL_RAIL_UTIL_COEX_RETRYRX_TIMEOUT 16 + +// REQUEST receive retry assert PRIORITY +// Enable the receive retry high priority +// Default: 0 +#define SL_RAIL_UTIL_COEX_RETRYRX_HIPRI 0 +// +// +// + +// GRANT +// Enable GRANT signal +// Default: 0 +#define SL_RAIL_UTIL_COEX_GNT_ENABLED 0 + +// GRANT assert signal level +// <1=> High +// <0=> Low +// Polarity of grant (GNT) signal +// Default: 1 +#define SL_RAIL_UTIL_COEX_GNT_ASSERT_LEVEL 1 +// + +// PRIORITY +// Enable PRIORITY signal +// Default: 0 +#define SL_RAIL_UTIL_COEX_PRI_ENABLED 0 + +// PRIORITY assert signal level +// <1=> High +// <0=> Low +// Polarity of priority(PRI) signal +// Default: 1 +#define SL_RAIL_UTIL_COEX_PRI_ASSERT_LEVEL 1 + +// Enable PRIORITY shared mode +// Configure the PRIORITY signal for shared mode +// Default: 0 +#define SL_RAIL_UTIL_COEX_PRI_SHARED 0 + +// BLE Only Priority Configuration +// Default Enabled/Disabled +// Enable/Disable BLE PRIORITY by default +// Default: 0 +#define SL_RAIL_UTIL_COEX_PRIORITY_DEFAULT 0 +// + +// IEEE802.15.4 Only Priority Configuration +// Assert PRIORITY when transmitting packet +// Assert a high priority when the local device is transmitting a packet +// Default: 0 +#define SL_RAIL_UTIL_COEX_TX_HIPRI 0 + +// Assert PRIORITY when receiving packet +// Assert a high priority when the local device is receiving a packet +// Default: 0 +#define SL_RAIL_UTIL_COEX_RX_HIPRI 0 + +// Include TX PRIORITY escalation +// Compile-time include TX PRIORITY escalation feature +// Default: 0 +#define SL_RAIL_UTIL_COEX_PRIORITY_ESCALATION_ENABLE 0 + +// CCA/GRANT TX PRIORITY escalation threshold +// <0-255:1> +// Sets the threshold for escalating TX PRIORITY to high priority due to MAC failures from CCA/GRANT denials (five consecutive CCA/GRANT denials is one MAC failure) +// Default: 4 +#define SL_RAIL_UTIL_COEX_CCA_THRESHOLD 4 + +// MAC Fail TX PRIORITY escalation threshold +// <0-3:1> +// Sets the threshold for escalating TX PRIORITY to high priority due to MAC failures from CCA/GRANT denials (five consecutive CCA/GRANT denials is one MAC failure) or no RX_ACK received (four consecutive RX_ACK failures is one MAC failure) +// Default: 0 +#define SL_RAIL_UTIL_COEX_MAC_FAIL_THRESHOLD 0 +// +// + +// PWM REQUEST +// Enable PWM REQUEST signal +// Default: 0 +#define SL_RAIL_UTIL_COEX_PWM_REQ_ENABLED 0 + +// PWM REQUEST signal level (shared REQUEST only) +// <1=> High +// <0=> Low +// Polarity of PWM request (PWM_REQ) signal +// Default: 1 +#define SL_RAIL_UTIL_COEX_PWM_REQ_ASSERT_LEVEL 1 + +// Enable PWM REQUEST at startup +// Enable PWM REQUEST at startup (also run-time controllable) +// Default: 1 +#define SL_RAIL_UTIL_COEX_PWM_DEFAULT_ENABLED 1 + +// PWM Request Period (0.5ms steps) +// <5-109> +// PWM REQUEST Period (5ms to 109ms in 0.5ms steps) +// Default: 78 +#define SL_RAIL_UTIL_COEX_PWM_REQ_PERIOD 78 + +// PWM Request Duty-Cycle (%) +// <1-95:1> +// PWM REQUEST Duty-Cycle (1% to 95% in 1% steps) +// Default: 20 +#define SL_RAIL_UTIL_COEX_PWM_REQ_DUTYCYCLE 20 + +// Assert priority when PWM REQUEST asserted +// Assert a high priority when local device is asserting PWM +// Default: 0 +#define SL_RAIL_UTIL_COEX_PWM_PRIORITY 0 + +// BLE Only PWM Configuration +// Enable PWM only when local device is scanning +// Enable PWM only when local device is scanning +// Default: 0 +#define SL_RAIL_UTIL_COEX_SCANPWM_DEFAULT_ENABLED 0 +// +// + +// Radio Hold-off +// Default: 0 +#define SL_RAIL_UTIL_COEX_RHO_ENABLED 0 +// RHO assert signal level +// <1=> High +// <0=> Low +// Polarity of radio hold-off (RHO) signal +// Default: 1 +#define SL_RAIL_UTIL_COEX_RHO_ASSERT_LEVEL 1 +// + +// Directional PRIORITY +// Enable Directional PRIORITY signal +// Default: 0 +#define SL_RAIL_UTIL_COEX_DP_ENABLED 0 +// Directional PRIORITY pulse width +// <0-255:1> +// Microseconds to hold Directional PRIORITY priority pulse +// Default: 20 +#define SL_RAIL_UTIL_COEX_DP_PULSE_WIDTH_US 20 +// + +// RX active +// Enable RX active signal +// Default: 0 +#define SL_RAIL_UTIL_COEX_RX_ACTIVE_ENABLED 0 + +// RX active assert signal level +// <1=> High +// <0=> Low +// Polarity of RX active signal +// Default: 1 +#define SL_RAIL_UTIL_COEX_RX_ACTIVE_ASSERT_LEVEL 1 +// + +// +// <<< end of configuration section >>> + +#endif // SL_RAIL_UTIL_COEX_COMMON_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_rail_util_coex_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_rail_util_coex_config.h new file mode 100644 index 00000000..099a83fa --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_rail_util_coex_config.h @@ -0,0 +1,145 @@ +/***************************************************************************//** + * @file + * @brief Coexistence configuration header file + ******************************************************************************* + * # License + * Copyright 2020 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +#ifndef SL_RAIL_UTIL_COEX_CONFIG_H +#define SL_RAIL_UTIL_COEX_CONFIG_H + +#include "sl_rail_util_coex_common_config.h" + +// <<< sl:start pin_tool >>> + +#if SL_RAIL_UTIL_COEX_GNT_ENABLED +// Pin used for grant (GNT) signal +// SL_RAIL_UTIL_COEX_GNT +// $[GPIO_SL_RAIL_UTIL_COEX_GNT] +// #define SL_RAIL_UTIL_COEX_GNT_PORT gpioPortC +// #define SL_RAIL_UTIL_COEX_GNT_PIN 9 +// [GPIO_SL_RAIL_UTIL_COEX_GNT]$ +#ifndef SL_RAIL_UTIL_COEX_GNT_PORT +#error "SL_RAIL_UTIL_COEX_GNT undefined" +#endif //SL_RAIL_UTIL_COEX_GNT_PORT +#endif //SL_RAIL_UTIL_COEX_GNT_ENABLED + +#if SL_RAIL_UTIL_COEX_PRI_ENABLED +// Pin used for PRIORITY signal +// SL_RAIL_UTIL_COEX_PRI +// $[GPIO_SL_RAIL_UTIL_COEX_PRI] +// #define SL_RAIL_UTIL_COEX_PRI_PORT gpioPortD +// #define SL_RAIL_UTIL_COEX_PRI_PIN 13 +// [GPIO_SL_RAIL_UTIL_COEX_PRI]$ +#if !defined(SL_RAIL_UTIL_COEX_PRI_PORT) && !SL_RAIL_UTIL_COEX_DP_ENABLED +#error "SL_RAIL_UTIL_COEX_PRI undefined" +#endif //!defined(SL_RAIL_UTIL_COEX_PRI_PORT) && !SL_RAIL_UTIL_COEX_DP_ENABLED +#endif //SL_RAIL_UTIL_COEX_PRI_ENABLED + +#if SL_RAIL_UTIL_COEX_REQ_ENABLED +// Pin used for Request signal +// SL_RAIL_UTIL_COEX_REQ +// $[GPIO_SL_RAIL_UTIL_COEX_REQ] +// #define SL_RAIL_UTIL_COEX_REQ_PORT gpioPortC +// #define SL_RAIL_UTIL_COEX_REQ_PIN 10 +// [GPIO_SL_RAIL_UTIL_COEX_REQ]$ +#ifndef SL_RAIL_UTIL_COEX_REQ_PORT +#error "SL_RAIL_UTIL_COEX_REQ undefined" +#endif //SL_RAIL_UTIL_COEX_REQ_PORT +#endif //SL_RAIL_UTIL_COEX_REQ_ENABLED + +#if SL_RAIL_UTIL_COEX_PWM_REQ_ENABLED && SL_RAIL_UTIL_COEX_REQ_SHARED +// Pin used for PWM Request signal +// SL_RAIL_UTIL_COEX_PWM_REQ +// $[GPIO_SL_RAIL_UTIL_COEX_PWM_REQ] +// #define SL_RAIL_UTIL_COEX_PWM_REQ_PORT gpioPortC +// #define SL_RAIL_UTIL_COEX_PWM_REQ_PIN 11 +// [GPIO_SL_RAIL_UTIL_COEX_PWM_REQ]$ +#ifndef SL_RAIL_UTIL_COEX_PWM_REQ_PORT +#error "SL_RAIL_UTIL_COEX_PWM_REQ undefined" +#endif //SL_RAIL_UTIL_COEX_PWM_REQ_PORT +#endif //SL_RAIL_UTIL_COEX_PWM_REQ_ENABLED && SL_RAIL_UTIL_COEX_REQ_SHARED + +#if SL_RAIL_UTIL_COEX_RHO_ENABLED +// Pin used for Radio Holdoff signal +// SL_RAIL_UTIL_COEX_RHO +// $[GPIO_SL_RAIL_UTIL_COEX_RHO] +// #define SL_RAIL_UTIL_COEX_RHO_PORT gpioPortC +// #define SL_RAIL_UTIL_COEX_RHO_PIN 8 +// [GPIO_SL_RAIL_UTIL_COEX_RHO]$ +#ifndef SL_RAIL_UTIL_COEX_RHO_PORT +#error "SL_RAIL_UTIL_COEX_RHO undefined" +#endif //SL_RAIL_UTIL_COEX_RHO_PORT +#endif //SL_RAIL_UTIL_COEX_RHO_ENABLED + +#if SL_RAIL_UTIL_COEX_DP_ENABLED +// Pin used for Directional Priority signal +// SL_RAIL_UTIL_COEX_DP_OUT +// $[PRS_SL_RAIL_UTIL_COEX_DP_OUT] +// #define SL_RAIL_UTIL_COEX_DP_OUT_CHANNEL 3 + +// PRS CH3 on PD12 +// #define SL_RAIL_UTIL_COEX_DP_OUT_PORT gpioPortD +// #define SL_RAIL_UTIL_COEX_DP_OUT_PIN 12 +// [PRS_SL_RAIL_UTIL_COEX_DP_OUT]$ + +// Directional Priority timer module +// SL_RAIL_UTIL_COEX_DP_TIMER +// $[TIMER_SL_RAIL_UTIL_COEX_DP_TIMER] +// #define SL_RAIL_UTIL_COEX_DP_TIMER_PERIPHERAL TIMER1 +// #define SL_RAIL_UTIL_COEX_DP_TIMER_PERIPHERAL_NO 1 +#ifndef SL_RAIL_UTIL_COEX_DP_TIMER_PERIPHERAL +#error "SL_RAIL_UTIL_COEX_DP_TIMER_PERIPHERAL undefined" +#endif //SL_RAIL_UTIL_COEX_DP_TIMER_PERIPHERAL + +// #define SL_RAIL_UTIL_COEX_DP_TIMER_CC0_CHANNEL 1 +// [TIMER_SL_RAIL_UTIL_COEX_DP_TIMER]$ +#ifndef SL_RAIL_UTIL_COEX_DP_TIMER_PERIPHERAL +#error "SL_RAIL_UTIL_COEX_DP_TIMER_PERIPHERAL undefined" +#endif //SL_RAIL_UTIL_COEX_DP_TIMER_PERIPHERAL +#endif //SL_RAIL_UTIL_COEX_DP_ENABLED + +#if SL_RAIL_UTIL_COEX_RX_ACTIVE_ENABLED +// Pin used for RX active signal +// SL_RAIL_UTIL_COEX_RX_ACTIVE +// $[PRS_SL_RAIL_UTIL_COEX_RX_ACTIVE] +// #define SL_RAIL_UTIL_COEX_RX_ACTIVE_CHANNEL 8 + +// PRS CH8 on PD13 +// #define SL_RAIL_UTIL_COEX_RX_ACTIVE_PORT gpioPortD +// #define SL_RAIL_UTIL_COEX_RX_ACTIVE_PIN 13 +// [PRS_SL_RAIL_UTIL_COEX_RX_ACTIVE]$ +#ifndef SL_RAIL_UTIL_COEX_RX_ACTIVE_PORT +#error "SL_RAIL_UTIL_COEX_RX_ACTIVE_PORT undefined" +#endif //SL_RAIL_UTIL_COEX_RX_ACTIVE_PORT +#ifndef SL_RAIL_UTIL_COEX_RX_ACTIVE_CHANNEL +#error "SL_RAIL_UTIL_COEX_RX_ACTIVE_CHANNEL undefined" +#endif //SL_RAIL_UTIL_COEX_RX_ACTIVE_CHANNEL +#endif //SL_RAIL_UTIL_COEX_RX_ACTIVE_ENABLED + +// <<< sl:end pin_tool >>> + +#endif // SL_RAIL_UTIL_COEX_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_rail_util_dma_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_rail_util_dma_config.h new file mode 100644 index 00000000..dcf7171c --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_rail_util_dma_config.h @@ -0,0 +1,52 @@ +/***************************************************************************//** + * @file + * @brief + ******************************************************************************* + * # License + * Copyright 2020 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +#ifndef SL_RAIL_UTIL_DMA_CONFIG_H +#define SL_RAIL_UTIL_DMA_CONFIG_H + +// <<< Use Configuration Wizard in Context Menu >>> + +// DMA Configuration +// Allocate DMA channel to RAIL (to decrease channel config switching time) +// Default: 1 +#define SL_RAIL_UTIL_DMA_ENABLE 1 +// Use DMA Driver (i.e., auto-select DMA channel) +// Default: 1 +#define SL_RAIL_UTIL_DMA_DMADRV_ENABLE 1 +// Use Specific DMA Channel (if DMA driver not used) +// <0-16:1> +// Default: 0 +#define SL_RAIL_UTIL_DMA_CHANNEL 0 +// +// + +// <<< end of configuration section >>> + +#endif // SL_RAIL_UTIL_DMA_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_rail_util_ieee802154_fast_channel_switching_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_rail_util_ieee802154_fast_channel_switching_config.h new file mode 100644 index 00000000..a4470069 --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_rail_util_ieee802154_fast_channel_switching_config.h @@ -0,0 +1,49 @@ +/***************************************************************************//** + * @file + * @brief IEEE802.15.4 fast channel switching configuration file. + ******************************************************************************* + * # License + * Copyright 2023 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +#ifndef SL_RAIL_UITL_IEEE802154_FAST_CHANNEL_SWITCHING_CONFIG_H +#define SL_RAIL_UITL_IEEE802154_FAST_CHANNEL_SWITCHING_CONFIG_H + +#include "rail_features.h" + +#if RAIL_IEEE802154_SUPPORTS_RX_CHANNEL_SWITCHING == 0 +#error "IEEE.802.15.4 RX channel switching unsupported on this platform!" +#endif //RAIL_IEEE802154_SUPPORTS_RX_CHANNEL_SWITCHING + +#define sl_rail_util_ieee802154_is_fast_channel_switching_phy_selected() SL_RAIL_UTIL_IEEE802154_FAST_CHANNEL_SWITCHING_ENABLED + +// <<< Use Configuration Wizard in Context Menu >>> +// IEEE802.15.4 Fast Channel Switching Configuration +// Enable fast channel switching +// Default: 1 +#define SL_RAIL_UTIL_IEEE802154_FAST_CHANNEL_SWITCHING_ENABLED 1 +// +// <<< end of configuration section >>> +#endif //SL_RAIL_UITL_IEEE802154_FAST_CHANNEL_SWITCHING_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_rail_util_pa_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_rail_util_pa_config.h new file mode 100644 index 00000000..a300b57e --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_rail_util_pa_config.h @@ -0,0 +1,81 @@ +/***************************************************************************//** + * @file + * @brief Power Amplifier configuration file. + ******************************************************************************* + * # License + * Copyright 2020 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +#ifndef SL_RAIL_UTIL_PA_CONFIG_H +#define SL_RAIL_UTIL_PA_CONFIG_H + +#include "rail_types.h" + +// <<< Use Configuration Wizard in Context Menu >>> + +// PA Configuration +// Initial PA Power (deci-dBm, 100 = 10.0 dBm) +// Default: 100 +#define SL_RAIL_UTIL_PA_POWER_DECI_DBM 100 +// PA Ramp Time (microseconds) +// <0-65535:1> +// Default: 10 +#define SL_RAIL_UTIL_PA_RAMP_TIME_US 10 +// Milli-volts on PA supply pin (PA_VDD) +// <0-65535:1> +// Default: 3300 +#define SL_RAIL_UTIL_PA_VOLTAGE_MV 3300 +// 2.4 GHz PA Selection +// Highest Possible +// High Power (chip-specific) +// Medium Power (chip-specific) +// Low Power +// Disable +// Default: RAIL_TX_POWER_MODE_2P4GIG_HIGHEST +#define SL_RAIL_UTIL_PA_SELECTION_2P4GHZ RAIL_TX_POWER_MODE_2P4GIG_HIGHEST +// Sub-1 GHz PA Selection +// Disable +// Default: RAIL_TX_POWER_MODE_NONE +#define SL_RAIL_UTIL_PA_SELECTION_SUBGHZ RAIL_TX_POWER_MODE_NONE +// + +// PA Curve Configuration +// Header file containing custom PA curves +// Default: "pa_curves_efr32.h" +#define SL_RAIL_UTIL_PA_CURVE_HEADER "pa_curves_efr32.h" +// Header file containing PA curve types +// Default: "pa_curve_types_efr32.h" +#define SL_RAIL_UTIL_PA_CURVE_TYPES "pa_curve_types_efr32.h" +// + +// PA Calibration Configuration +// Apply PA Calibration Factory Offset +// Default: 1 +#define SL_RAIL_UTIL_PA_CALIBRATION_ENABLE 1 +// + +// <<< end of configuration section >>> + +#endif // SL_RAIL_UTIL_PA_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_rail_util_pti_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_rail_util_pti_config.h new file mode 100644 index 00000000..66cf53e3 --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_rail_util_pti_config.h @@ -0,0 +1,62 @@ +/***************************************************************************//** + * @file + * @brief Packet Trace Information configuration file. + ******************************************************************************* + * # License + * Copyright 2020 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +#ifndef SL_RAIL_UTIL_PTI_CONFIG_H +#define SL_RAIL_UTIL_PTI_CONFIG_H + +#include "rail_types.h" + +// <<< Use Configuration Wizard in Context Menu >>> +// PTI Configuration + +// PTI mode +// UART +// UART onewire +// SPI +// Disabled +// Default: RAIL_PTI_MODE_UART +#define SL_RAIL_UTIL_PTI_MODE RAIL_PTI_MODE_DISABLED + +// PTI Baud Rate (Hertz) +// <147800-20000000:1> +// Default: 1600000 +#define SL_RAIL_UTIL_PTI_BAUD_RATE_HZ 1600000 + +// +// <<< end of configuration section >>> + +// <<< sl:start pin_tool >>> +// SL_RAIL_UTIL_PTI +// $[PTI_SL_RAIL_UTIL_PTI] +// [PTI_SL_RAIL_UTIL_PTI]$ + +// <<< sl:end pin_tool >>> + +#endif // SL_RAIL_UTIL_PTI_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_rail_util_rf_path_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_rail_util_rf_path_config.h new file mode 100644 index 00000000..f3ea8351 --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_rail_util_rf_path_config.h @@ -0,0 +1,48 @@ +/***************************************************************************//** + * @file + * @brief + ******************************************************************************* + * # License + * Copyright 2020 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +#ifndef SL_RAIL_UTIL_RF_PATH_CONFIG_H +#define SL_RAIL_UTIL_RF_PATH_CONFIG_H + +#include "rail_types.h" + +// <<< Use Configuration Wizard in Context Menu >>> + +// Chip-internal RF Path Configuration +// RF Path Mode +// Path 0 +// Path 1 +// Default: RAIL_ANTENNA_1 +#define SL_RAIL_UTIL_RF_PATH_INT_RF_PATH_MODE RAIL_ANTENNA_0 +// + +// <<< end of configuration section >>> + +#endif // SL_RAIL_UTIL_RF_PATH_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_rail_util_rssi_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_rail_util_rssi_config.h new file mode 100644 index 00000000..15a55646 --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_rail_util_rssi_config.h @@ -0,0 +1,44 @@ +/***************************************************************************//** + * @file + * @brief RSSI configuration header file. + ******************************************************************************* + * # License + * Copyright 2020 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +#ifndef SL_RAIL_UTIL_RSSI_CONFIG_H +#define SL_RAIL_UTIL_RSSI_CONFIG_H + +// <<< Use Configuration Wizard in Context Menu >>> + +// RSSI Offset Configuration + +// Software RSSI offset value +// Default: -11 +#define SL_RAIL_UTIL_RSSI_OFFSET -11 + +// +// <<< end of configuration section >>> +#endif // SL_RAIL_UTIL_RSSI_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_sleeptimer_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_sleeptimer_config.h new file mode 100644 index 00000000..8344ef5f --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_sleeptimer_config.h @@ -0,0 +1,82 @@ +/***************************************************************************//** + * @file + * @brief Sleep Timer configuration file. + ******************************************************************************* + * # License + * Copyright 2020 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +// <<< Use Configuration Wizard in Context Menu >>> + +#ifndef SL_SLEEPTIMER_CONFIG_H +#define SL_SLEEPTIMER_CONFIG_H + +#define SL_SLEEPTIMER_PERIPHERAL_DEFAULT 0 +#define SL_SLEEPTIMER_PERIPHERAL_RTCC 1 +#define SL_SLEEPTIMER_PERIPHERAL_PRORTC 2 +#define SL_SLEEPTIMER_PERIPHERAL_RTC 3 +#define SL_SLEEPTIMER_PERIPHERAL_SYSRTC 4 +#define SL_SLEEPTIMER_PERIPHERAL_BURTC 5 +#define SL_SLEEPTIMER_PERIPHERAL_WTIMER 6 +#define SL_SLEEPTIMER_PERIPHERAL_TIMER 7 + +// Timer Peripheral Used by Sleeptimer +// Default (auto select) +// RTCC +// Radio internal RTC (PRORTC) +// RTC +// SYSRTC +// Back-Up RTC (BURTC) +// WTIMER +// TIMER +// Selection of the Timer Peripheral Used by the Sleeptimer +#define SL_SLEEPTIMER_PERIPHERAL SL_SLEEPTIMER_PERIPHERAL_DEFAULT + +// TIMER/WTIMER Instance Used by Sleeptimer (not applicable for other peripherals) +// Make sure TIMER instance size is 32bits. Check datasheet for 32bits TIMERs. +// Default: 0 +#define SL_SLEEPTIMER_TIMER_INSTANCE 0 + +// Enable wallclock functionality +// Enable or disable wallclock functionalities (get_time, get_date, etc). +// Default: 0 +#define SL_SLEEPTIMER_WALLCLOCK_CONFIG 0 + +// Timer frequency divider (not applicable for WTIMER/TIMER) +// WTIMER/TIMER peripherals are always prescaled to 1024. +// Default: 1 +#define SL_SLEEPTIMER_FREQ_DIVIDER 1 + +// If Radio internal RTC (PRORTC) HAL is used, determines if it owns the IRQ handler. Enable, if no wireless stack is used. +// Default: 0 +#define SL_SLEEPTIMER_PRORTC_HAL_OWNS_IRQ_HANDLER 0 + +// Enable DEBUGRUN functionality on hardware RTC. +// Default: 0 +#define SL_SLEEPTIMER_DEBUGRUN 0 + +#endif /* SLEEPTIMER_CONFIG_H */ + +// <<< end of configuration section >>> diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/ustimer_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/ustimer_config.h new file mode 100644 index 00000000..b50a57f7 --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/ustimer_config.h @@ -0,0 +1,55 @@ +/***************************************************************************//** + * @file + * @brief USTIMER configuration file. + ******************************************************************************* + * # License + * Copyright 2018 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ +#ifndef __SILICON_LABS_USTIMER_CONFIG_H__ +#define __SILICON_LABS_USTIMER_CONFIG_H__ + +/***************************************************************************//** + * @addtogroup ustimer + * @{ + ******************************************************************************/ + +// <<< sl:start pin_tool >>> +// USTIMER +// $[TIMER_USTIMER] +#ifndef USTIMER_PERIPHERAL +#define USTIMER_PERIPHERAL TIMER0 +#endif +#ifndef USTIMER_PERIPHERAL_NO +#define USTIMER_PERIPHERAL_NO 0 +#endif +// [TIMER_USTIMER]$ + +// <<< sl:end pin_tool >>> + +#define USTIMER_TIMER USTIMER_PERIPHERAL_NO + +/** @} (end addtogroup ustimer) */ + +#endif /* __SILICON_LABS_USTIMER_CONFIG_H__ */ diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/linker_options/ot-rtos-wrapper-options b/src/rcp-uart-802154-blehci_MGM210PA32JIA/linker_options/ot-rtos-wrapper-options new file mode 100644 index 00000000..547da199 --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM210PA32JIA/linker_options/ot-rtos-wrapper-options @@ -0,0 +1,848 @@ +-Xlinker --wrap=otBackboneRouterGetPrimary +-Xlinker --wrap=otBackboneRouterGetState +-Xlinker --wrap=otBackboneRouterGetDomainPrefix +-Xlinker --wrap=otBackboneRouterGetNdProxyInfo +-Xlinker --wrap=otBackboneRouterMulticastListenerAdd +-Xlinker --wrap=otBackboneRouterMulticastListenerGetNext +-Xlinker --wrap=otBackboneRouterRegister +-Xlinker --wrap=otBackboneRouterSetConfig +-Xlinker --wrap=otBackboneRouterGetRegistrationJitter +-Xlinker --wrap=otBackboneRouterConfigNextDuaRegistrationResponse +-Xlinker --wrap=otBackboneRouterConfigNextMulticastListenerRegistrationResponse +-Xlinker --wrap=otBackboneRouterGetConfig +-Xlinker --wrap=otBackboneRouterMulticastListenerClear +-Xlinker --wrap=otBackboneRouterSetDomainPrefixCallback +-Xlinker --wrap=otBackboneRouterSetEnabled +-Xlinker --wrap=otBackboneRouterSetMulticastListenerCallback +-Xlinker --wrap=otBackboneRouterSetNdProxyCallback +-Xlinker --wrap=otBackboneRouterSetRegistrationJitter +-Xlinker --wrap=otBleSecureIsCommandClassAuthorized +-Xlinker --wrap=otBleSecureIsConnected +-Xlinker --wrap=otBleSecureIsConnectionActive +-Xlinker --wrap=otBleSecureIsTcatEnabled +-Xlinker --wrap=otBleSecureConnect +-Xlinker --wrap=otBleSecureFlush +-Xlinker --wrap=otBleSecureGetPeerCertificateBase64 +-Xlinker --wrap=otBleSecureGetPeerSubjectAttributeByOid +-Xlinker --wrap=otBleSecureGetThreadAttributeFromOwnCertificate +-Xlinker --wrap=otBleSecureGetThreadAttributeFromPeerCertificate +-Xlinker --wrap=otBleSecureSend +-Xlinker --wrap=otBleSecureSendApplicationTlv +-Xlinker --wrap=otBleSecureSendMessage +-Xlinker --wrap=otBleSecureStart +-Xlinker --wrap=otBleSecureTcatStart +-Xlinker --wrap=otBleSecureDisconnect +-Xlinker --wrap=otBleSecureSetCaCertificateChain +-Xlinker --wrap=otBleSecureSetCertificate +-Xlinker --wrap=otBleSecureSetPsk +-Xlinker --wrap=otBleSecureSetSslAuthMode +-Xlinker --wrap=otBleSecureStop +-Xlinker --wrap=otBorderAgentIsEphemeralKeyActive +-Xlinker --wrap=otBorderAgentGetState +-Xlinker --wrap=otBorderAgentGetId +-Xlinker --wrap=otBorderAgentSetEphemeralKey +-Xlinker --wrap=otBorderAgentSetId +-Xlinker --wrap=otBorderAgentGetUdpPort +-Xlinker --wrap=otBorderAgentClearEphemeralKey +-Xlinker --wrap=otBorderAgentSetEphemeralKeyCallback +-Xlinker --wrap=otBorderRouterAddOnMeshPrefix +-Xlinker --wrap=otBorderRouterAddRoute +-Xlinker --wrap=otBorderRouterGetNetData +-Xlinker --wrap=otBorderRouterGetNextOnMeshPrefix +-Xlinker --wrap=otBorderRouterGetNextRoute +-Xlinker --wrap=otBorderRouterRegister +-Xlinker --wrap=otBorderRouterRemoveOnMeshPrefix +-Xlinker --wrap=otBorderRouterRemoveRoute +-Xlinker --wrap=otBorderRouterSetNetDataFullCallback +-Xlinker --wrap=otBorderRoutingDhcp6PdGetState +-Xlinker --wrap=otBorderRoutingGetState +-Xlinker --wrap=otBorderRoutingGetFavoredNat64Prefix +-Xlinker --wrap=otBorderRoutingGetFavoredOmrPrefix +-Xlinker --wrap=otBorderRoutingGetFavoredOnLinkPrefix +-Xlinker --wrap=otBorderRoutingGetNat64Prefix +-Xlinker --wrap=otBorderRoutingGetNextPrefixTableEntry +-Xlinker --wrap=otBorderRoutingGetNextRouterEntry +-Xlinker --wrap=otBorderRoutingGetOmrPrefix +-Xlinker --wrap=otBorderRoutingGetOnLinkPrefix +-Xlinker --wrap=otBorderRoutingGetPdOmrPrefix +-Xlinker --wrap=otBorderRoutingGetPdProcessedRaInfo +-Xlinker --wrap=otBorderRoutingInit +-Xlinker --wrap=otBorderRoutingSetEnabled +-Xlinker --wrap=otBorderRoutingSetExtraRouterAdvertOptions +-Xlinker --wrap=otBorderRoutingGetRouteInfoOptionPreference +-Xlinker --wrap=otBorderRoutingGetRoutePreference +-Xlinker --wrap=otBorderRoutingClearRouteInfoOptionPreference +-Xlinker --wrap=otBorderRoutingClearRoutePreference +-Xlinker --wrap=otBorderRoutingDhcp6PdSetEnabled +-Xlinker --wrap=otBorderRoutingDhcp6PdSetRequestCallback +-Xlinker --wrap=otBorderRoutingPrefixTableInitIterator +-Xlinker --wrap=otBorderRoutingSetRouteInfoOptionPreference +-Xlinker --wrap=otBorderRoutingSetRoutePreference +-Xlinker --wrap=otChannelManagerGetAutoChannelSelectionEnabled +-Xlinker --wrap=otChannelManagerGetAutoCslChannelSelectionEnabled +-Xlinker --wrap=otChannelManagerRequestChannelSelect +-Xlinker --wrap=otChannelManagerRequestCslChannelSelect +-Xlinker --wrap=otChannelManagerSetAutoChannelSelectionInterval +-Xlinker --wrap=otChannelManagerSetDelay +-Xlinker --wrap=otChannelManagerGetCcaFailureRateThreshold +-Xlinker --wrap=otChannelManagerGetDelay +-Xlinker --wrap=otChannelManagerGetAutoChannelSelectionInterval +-Xlinker --wrap=otChannelManagerGetFavoredChannels +-Xlinker --wrap=otChannelManagerGetSupportedChannels +-Xlinker --wrap=otChannelManagerGetRequestedChannel +-Xlinker --wrap=otChannelManagerRequestChannelChange +-Xlinker --wrap=otChannelManagerSetAutoChannelSelectionEnabled +-Xlinker --wrap=otChannelManagerSetAutoCslChannelSelectionEnabled +-Xlinker --wrap=otChannelManagerSetCcaFailureRateThreshold +-Xlinker --wrap=otChannelManagerSetFavoredChannels +-Xlinker --wrap=otChannelManagerSetSupportedChannels +-Xlinker --wrap=otChannelMonitorIsEnabled +-Xlinker --wrap=otChannelMonitorGetRssiThreshold +-Xlinker --wrap=otChannelMonitorSetEnabled +-Xlinker --wrap=otChannelMonitorGetChannelOccupancy +-Xlinker --wrap=otChannelMonitorGetSampleCount +-Xlinker --wrap=otChannelMonitorGetSampleInterval +-Xlinker --wrap=otChannelMonitorGetSampleWindow +-Xlinker --wrap=otChildSupervisionGetCheckFailureCounter +-Xlinker --wrap=otChildSupervisionGetCheckTimeout +-Xlinker --wrap=otChildSupervisionGetInterval +-Xlinker --wrap=otChildSupervisionResetCheckFailureCounter +-Xlinker --wrap=otChildSupervisionSetCheckTimeout +-Xlinker --wrap=otChildSupervisionSetInterval +-Xlinker --wrap=otCliSetUserCommands +-Xlinker --wrap=otCliInit +-Xlinker --wrap=otCliInputLine +-Xlinker --wrap=CliUartOutput +-Xlinker --wrap=otCoapMessageCodeToString +-Xlinker --wrap=otCoapOptionIteratorGetFirstOption +-Xlinker --wrap=otCoapOptionIteratorGetFirstOptionMatching +-Xlinker --wrap=otCoapOptionIteratorGetNextOption +-Xlinker --wrap=otCoapOptionIteratorGetNextOptionMatching +-Xlinker --wrap=otCoapMessageGetToken +-Xlinker --wrap=otCoapMessageGetCode +-Xlinker --wrap=otCoapMessageGetType +-Xlinker --wrap=otCoapMessageAppendBlock1Option +-Xlinker --wrap=otCoapMessageAppendBlock2Option +-Xlinker --wrap=otCoapMessageAppendContentFormatOption +-Xlinker --wrap=otCoapMessageAppendMaxAgeOption +-Xlinker --wrap=otCoapMessageAppendObserveOption +-Xlinker --wrap=otCoapMessageAppendOption +-Xlinker --wrap=otCoapMessageAppendProxyUriOption +-Xlinker --wrap=otCoapMessageAppendUintOption +-Xlinker --wrap=otCoapMessageAppendUriPathOptions +-Xlinker --wrap=otCoapMessageAppendUriQueryOption +-Xlinker --wrap=otCoapMessageInitResponse +-Xlinker --wrap=otCoapMessageSetPayloadMarker +-Xlinker --wrap=otCoapMessageSetToken +-Xlinker --wrap=otCoapOptionIteratorGetOptionUintValue +-Xlinker --wrap=otCoapOptionIteratorGetOptionValue +-Xlinker --wrap=otCoapOptionIteratorInit +-Xlinker --wrap=otCoapSendRequestBlockWiseWithParameters +-Xlinker --wrap=otCoapSendRequestWithParameters +-Xlinker --wrap=otCoapSendResponseBlockWiseWithParameters +-Xlinker --wrap=otCoapSendResponseWithParameters +-Xlinker --wrap=otCoapStart +-Xlinker --wrap=otCoapStop +-Xlinker --wrap=otCoapNewMessage +-Xlinker --wrap=otCoapBlockSizeFromExponent +-Xlinker --wrap=otCoapMessageGetMessageId +-Xlinker --wrap=otCoapMessageGetTokenLength +-Xlinker --wrap=otCoapAddBlockWiseResource +-Xlinker --wrap=otCoapAddResource +-Xlinker --wrap=otCoapMessageGenerateToken +-Xlinker --wrap=otCoapMessageInit +-Xlinker --wrap=otCoapMessageSetCode +-Xlinker --wrap=otCoapRemoveBlockWiseResource +-Xlinker --wrap=otCoapRemoveResource +-Xlinker --wrap=otCoapSetDefaultHandler +-Xlinker --wrap=otCoapSecureIsClosed +-Xlinker --wrap=otCoapSecureIsConnected +-Xlinker --wrap=otCoapSecureIsConnectionActive +-Xlinker --wrap=otCoapSecureConnect +-Xlinker --wrap=otCoapSecureGetPeerCertificateBase64 +-Xlinker --wrap=otCoapSecureSendRequest +-Xlinker --wrap=otCoapSecureSendRequestBlockWise +-Xlinker --wrap=otCoapSecureSendResponse +-Xlinker --wrap=otCoapSecureSendResponseBlockWise +-Xlinker --wrap=otCoapSecureStart +-Xlinker --wrap=otCoapSecureStartWithMaxConnAttempts +-Xlinker --wrap=otCoapSecureAddBlockWiseResource +-Xlinker --wrap=otCoapSecureAddResource +-Xlinker --wrap=otCoapSecureDisconnect +-Xlinker --wrap=otCoapSecureRemoveBlockWiseResource +-Xlinker --wrap=otCoapSecureRemoveResource +-Xlinker --wrap=otCoapSecureSetCaCertificateChain +-Xlinker --wrap=otCoapSecureSetCertificate +-Xlinker --wrap=otCoapSecureSetClientConnectedCallback +-Xlinker --wrap=otCoapSecureSetDefaultHandler +-Xlinker --wrap=otCoapSecureSetPsk +-Xlinker --wrap=otCoapSecureSetSslAuthMode +-Xlinker --wrap=otCoapSecureStop +-Xlinker --wrap=otCommissionerGetId +-Xlinker --wrap=otCommissionerGetProvisioningUrl +-Xlinker --wrap=otCommissionerGetState +-Xlinker --wrap=otCommissionerAddJoiner +-Xlinker --wrap=otCommissionerAddJoinerWithDiscerner +-Xlinker --wrap=otCommissionerAnnounceBegin +-Xlinker --wrap=otCommissionerEnergyScan +-Xlinker --wrap=otCommissionerGetNextJoinerInfo +-Xlinker --wrap=otCommissionerPanIdQuery +-Xlinker --wrap=otCommissionerRemoveJoiner +-Xlinker --wrap=otCommissionerRemoveJoinerWithDiscerner +-Xlinker --wrap=otCommissionerSendMgmtGet +-Xlinker --wrap=otCommissionerSendMgmtSet +-Xlinker --wrap=otCommissionerSetId +-Xlinker --wrap=otCommissionerSetProvisioningUrl +-Xlinker --wrap=otCommissionerStart +-Xlinker --wrap=otCommissionerStop +-Xlinker --wrap=otCommissionerGetSessionId +-Xlinker --wrap=otCryptoAesCcm +-Xlinker --wrap=otCryptoHmacSha256 +-Xlinker --wrap=otDatasetIsCommissioned +-Xlinker --wrap=otDatasetGeneratePskc +-Xlinker --wrap=otDatasetGetActive +-Xlinker --wrap=otDatasetGetActiveTlvs +-Xlinker --wrap=otDatasetGetPending +-Xlinker --wrap=otDatasetGetPendingTlvs +-Xlinker --wrap=otDatasetParseTlvs +-Xlinker --wrap=otDatasetSendMgmtActiveGet +-Xlinker --wrap=otDatasetSendMgmtActiveSet +-Xlinker --wrap=otDatasetSendMgmtPendingGet +-Xlinker --wrap=otDatasetSendMgmtPendingSet +-Xlinker --wrap=otDatasetSetActive +-Xlinker --wrap=otDatasetSetActiveTlvs +-Xlinker --wrap=otDatasetSetPending +-Xlinker --wrap=otDatasetSetPendingTlvs +-Xlinker --wrap=otDatasetUpdateTlvs +-Xlinker --wrap=otNetworkNameFromString +-Xlinker --wrap=otDatasetConvertToTlvs +-Xlinker --wrap=otDatasetCreateNewNetwork +-Xlinker --wrap=otDatasetSetDelayTimerMinimal +-Xlinker --wrap=otDatasetGetDelayTimerMinimal +-Xlinker --wrap=otDatasetUpdaterIsUpdateOngoing +-Xlinker --wrap=otDatasetUpdaterRequestUpdate +-Xlinker --wrap=otDatasetUpdaterCancelUpdate +-Xlinker --wrap=otDiagIsEnabled +-Xlinker --wrap=otDiagProcessCmd +-Xlinker --wrap=otDiagProcessCmdLine +-Xlinker --wrap=otDnsIsNameCompressionEnabled +-Xlinker --wrap=otDnsEncodeTxtData +-Xlinker --wrap=otDnsGetNextTxtEntry +-Xlinker --wrap=otDnsInitTxtEntryIterator +-Xlinker --wrap=otDnsSetNameCompressionEnabled +-Xlinker --wrap=otDnsClientGetDefaultConfig +-Xlinker --wrap=otDnsAddressResponseGetAddress +-Xlinker --wrap=otDnsAddressResponseGetHostName +-Xlinker --wrap=otDnsBrowseResponseGetHostAddress +-Xlinker --wrap=otDnsBrowseResponseGetServiceInfo +-Xlinker --wrap=otDnsBrowseResponseGetServiceInstance +-Xlinker --wrap=otDnsBrowseResponseGetServiceName +-Xlinker --wrap=otDnsClientBrowse +-Xlinker --wrap=otDnsClientResolveAddress +-Xlinker --wrap=otDnsClientResolveIp4Address +-Xlinker --wrap=otDnsClientResolveService +-Xlinker --wrap=otDnsClientResolveServiceAndHostAddress +-Xlinker --wrap=otDnsServiceResponseGetHostAddress +-Xlinker --wrap=otDnsServiceResponseGetServiceInfo +-Xlinker --wrap=otDnsServiceResponseGetServiceName +-Xlinker --wrap=otDnsClientSetDefaultConfig +-Xlinker --wrap=otDnssdUpstreamQueryIsEnabled +-Xlinker --wrap=otDnssdGetCounters +-Xlinker --wrap=otDnssdGetNextQuery +-Xlinker --wrap=otDnssdGetQueryTypeAndName +-Xlinker --wrap=otDnssdQueryHandleDiscoveredHost +-Xlinker --wrap=otDnssdQueryHandleDiscoveredServiceInstance +-Xlinker --wrap=otDnssdQuerySetCallbacks +-Xlinker --wrap=otDnssdUpstreamQuerySetEnabled +-Xlinker --wrap=otThreadErrorToString +-Xlinker --wrap=otHeapCAlloc +-Xlinker --wrap=otHeapFree +-Xlinker --wrap=otHistoryTrackerIterateExternalRouteHistory +-Xlinker --wrap=otHistoryTrackerIterateRxHistory +-Xlinker --wrap=otHistoryTrackerIterateTxHistory +-Xlinker --wrap=otHistoryTrackerIterateMulticastAddressHistory +-Xlinker --wrap=otHistoryTrackerIterateNeighborHistory +-Xlinker --wrap=otHistoryTrackerIterateNetInfoHistory +-Xlinker --wrap=otHistoryTrackerIterateOnMeshPrefixHistory +-Xlinker --wrap=otHistoryTrackerIterateRouterHistory +-Xlinker --wrap=otHistoryTrackerIterateUnicastAddressHistory +-Xlinker --wrap=otHistoryTrackerEntryAgeToString +-Xlinker --wrap=otHistoryTrackerInitIterator +-Xlinker --wrap=otIcmp6RegisterHandler +-Xlinker --wrap=otIcmp6SendEchoRequest +-Xlinker --wrap=otIcmp6GetEchoMode +-Xlinker --wrap=otIcmp6SetEchoMode +-Xlinker --wrap=otInstanceIsInitialized +-Xlinker --wrap=otGetRadioVersionString +-Xlinker --wrap=otGetVersionString +-Xlinker --wrap=otInstanceErasePersistentInfo +-Xlinker --wrap=otInstanceResetToBootloader +-Xlinker --wrap=otSetStateChangedCallback +-Xlinker --wrap=otInstanceInit +-Xlinker --wrap=otInstanceInitMultiple +-Xlinker --wrap=otInstanceInitSingle +-Xlinker --wrap=otInstanceGetId +-Xlinker --wrap=otInstanceGetUptime +-Xlinker --wrap=otInstanceFactoryReset +-Xlinker --wrap=otInstanceFinalize +-Xlinker --wrap=otInstanceGetUptimeAsString +-Xlinker --wrap=otInstanceReset +-Xlinker --wrap=otInstanceResetRadioStack +-Xlinker --wrap=otRemoveStateChangeCallback +-Xlinker --wrap=otIp6ArePrefixesEqual +-Xlinker --wrap=otIp6HasUnicastAddress +-Xlinker --wrap=otIp6IsAddressEqual +-Xlinker --wrap=otIp6IsAddressUnspecified +-Xlinker --wrap=otIp6IsEnabled +-Xlinker --wrap=otIp6IsMulticastPromiscuousEnabled +-Xlinker --wrap=otIp6IsReceiveFilterEnabled +-Xlinker --wrap=otIp6IsSlaacEnabled +-Xlinker --wrap=otIp6ProtoToString +-Xlinker --wrap=otIp6GetBorderRoutingCounters +-Xlinker --wrap=otIp6GetUnicastAddresses +-Xlinker --wrap=otIp6GetMulticastAddresses +-Xlinker --wrap=otIp6GetUnsecurePorts +-Xlinker --wrap=otIp6AddUnicastAddress +-Xlinker --wrap=otIp6AddUnsecurePort +-Xlinker --wrap=otIp6AddressFromString +-Xlinker --wrap=otIp6PrefixFromString +-Xlinker --wrap=otIp6RegisterMulticastListeners +-Xlinker --wrap=otIp6RemoveUnicastAddress +-Xlinker --wrap=otIp6RemoveUnsecurePort +-Xlinker --wrap=otIp6SelectSourceAddress +-Xlinker --wrap=otIp6Send +-Xlinker --wrap=otIp6SetEnabled +-Xlinker --wrap=otIp6SetMeshLocalIid +-Xlinker --wrap=otIp6SubscribeMulticastAddress +-Xlinker --wrap=otIp6UnsubscribeMulticastAddress +-Xlinker --wrap=otIp6NewMessage +-Xlinker --wrap=otIp6NewMessageFromBuffer +-Xlinker --wrap=otIp6PrefixMatch +-Xlinker --wrap=otIp6AddressToString +-Xlinker --wrap=otIp6GetPrefix +-Xlinker --wrap=otIp6PrefixToString +-Xlinker --wrap=otIp6RemoveAllUnsecurePorts +-Xlinker --wrap=otIp6ResetBorderRoutingCounters +-Xlinker --wrap=otIp6SetAddressCallback +-Xlinker --wrap=otIp6SetMulticastPromiscuousEnabled +-Xlinker --wrap=otIp6SetReceiveCallback +-Xlinker --wrap=otIp6SetReceiveFilterEnabled +-Xlinker --wrap=otIp6SetSlaacEnabled +-Xlinker --wrap=otIp6SetSlaacPrefixFilter +-Xlinker --wrap=otIp6SockAddrToString +-Xlinker --wrap=otJamDetectionGetState +-Xlinker --wrap=otJamDetectionIsEnabled +-Xlinker --wrap=otJamDetectionGetRssiThreshold +-Xlinker --wrap=otJamDetectionSetBusyPeriod +-Xlinker --wrap=otJamDetectionSetRssiThreshold +-Xlinker --wrap=otJamDetectionSetWindow +-Xlinker --wrap=otJamDetectionStart +-Xlinker --wrap=otJamDetectionStop +-Xlinker --wrap=otJamDetectionGetHistoryBitmap +-Xlinker --wrap=otJamDetectionGetBusyPeriod +-Xlinker --wrap=otJamDetectionGetWindow +-Xlinker --wrap=otJoinerStateToString +-Xlinker --wrap=otJoinerGetId +-Xlinker --wrap=otJoinerGetDiscerner +-Xlinker --wrap=otJoinerSetDiscerner +-Xlinker --wrap=otJoinerStart +-Xlinker --wrap=otJoinerGetState +-Xlinker --wrap=otJoinerStop +-Xlinker --wrap=otLinkIsActiveScanInProgress +-Xlinker --wrap=otLinkIsCslEnabled +-Xlinker --wrap=otLinkIsCslSupported +-Xlinker --wrap=otLinkIsEnabled +-Xlinker --wrap=otLinkIsEnergyScanInProgress +-Xlinker --wrap=otLinkIsInTransmitState +-Xlinker --wrap=otLinkIsPromiscuous +-Xlinker --wrap=otLinkIsRadioFilterEnabled +-Xlinker --wrap=otLinkGetExtendedAddress +-Xlinker --wrap=otLinkGetCounters +-Xlinker --wrap=otLinkGetTxDirectRetrySuccessHistogram +-Xlinker --wrap=otLinkGetTxIndirectRetrySuccessHistogram +-Xlinker --wrap=otLinkConvertLinkQualityToRss +-Xlinker --wrap=otLinkActiveScan +-Xlinker --wrap=otLinkEnergyScan +-Xlinker --wrap=otLinkFilterAddAddress +-Xlinker --wrap=otLinkFilterAddRssIn +-Xlinker --wrap=otLinkFilterGetNextAddress +-Xlinker --wrap=otLinkFilterGetNextRssIn +-Xlinker --wrap=otLinkGetRegion +-Xlinker --wrap=otLinkSendDataRequest +-Xlinker --wrap=otLinkSendEmptyData +-Xlinker --wrap=otLinkSetChannel +-Xlinker --wrap=otLinkSetCslChannel +-Xlinker --wrap=otLinkSetCslPeriod +-Xlinker --wrap=otLinkSetCslTimeout +-Xlinker --wrap=otLinkSetEnabled +-Xlinker --wrap=otLinkSetExtendedAddress +-Xlinker --wrap=otLinkSetPanId +-Xlinker --wrap=otLinkSetPollPeriod +-Xlinker --wrap=otLinkSetPromiscuous +-Xlinker --wrap=otLinkSetRegion +-Xlinker --wrap=otLinkSetSupportedChannelMask +-Xlinker --wrap=otLinkFilterGetAddressMode +-Xlinker --wrap=otLinkGetPanId +-Xlinker --wrap=otLinkGetShortAddress +-Xlinker --wrap=otLinkGetCcaFailureRate +-Xlinker --wrap=otLinkGetCslPeriod +-Xlinker --wrap=otLinkGetCslTimeout +-Xlinker --wrap=otLinkGetPollPeriod +-Xlinker --wrap=otLinkGetSupportedChannelMask +-Xlinker --wrap=otLinkConvertRssToLinkQuality +-Xlinker --wrap=otLinkGetChannel +-Xlinker --wrap=otLinkGetCslChannel +-Xlinker --wrap=otLinkGetMaxFrameRetriesDirect +-Xlinker --wrap=otLinkGetMaxFrameRetriesIndirect +-Xlinker --wrap=otLinkFilterClearAddresses +-Xlinker --wrap=otLinkFilterClearAllRssIn +-Xlinker --wrap=otLinkFilterClearDefaultRssIn +-Xlinker --wrap=otLinkFilterRemoveAddress +-Xlinker --wrap=otLinkFilterRemoveRssIn +-Xlinker --wrap=otLinkFilterSetAddressMode +-Xlinker --wrap=otLinkFilterSetDefaultRssIn +-Xlinker --wrap=otLinkGetFactoryAssignedIeeeEui64 +-Xlinker --wrap=otLinkResetCounters +-Xlinker --wrap=otLinkResetTxRetrySuccessHistogram +-Xlinker --wrap=otLinkSetMaxFrameRetriesDirect +-Xlinker --wrap=otLinkSetMaxFrameRetriesIndirect +-Xlinker --wrap=otLinkSetPcapCallback +-Xlinker --wrap=otLinkSetRadioFilterEnabled +-Xlinker --wrap=otLinkMetricsManagerIsEnabled +-Xlinker --wrap=otLinkMetricsConfigEnhAckProbing +-Xlinker --wrap=otLinkMetricsConfigForwardTrackingSeries +-Xlinker --wrap=otLinkMetricsManagerGetMetricsValueByExtAddr +-Xlinker --wrap=otLinkMetricsQuery +-Xlinker --wrap=otLinkMetricsSendLinkProbe +-Xlinker --wrap=otLinkMetricsManagerSetEnabled +-Xlinker --wrap=otLinkRawGetPromiscuous +-Xlinker --wrap=otLinkRawIsEnabled +-Xlinker --wrap=otLinkRawGetRssi +-Xlinker --wrap=otLinkRawEnergyScan +-Xlinker --wrap=otLinkRawReceive +-Xlinker --wrap=otLinkRawSetMacFrameCounter +-Xlinker --wrap=otLinkRawSetMacFrameCounterIfLarger +-Xlinker --wrap=otLinkRawSetMacKey +-Xlinker --wrap=otLinkRawSetPromiscuous +-Xlinker --wrap=otLinkRawSetReceiveDone +-Xlinker --wrap=otLinkRawSetShortAddress +-Xlinker --wrap=otLinkRawSleep +-Xlinker --wrap=otLinkRawSrcMatchAddExtEntry +-Xlinker --wrap=otLinkRawSrcMatchAddShortEntry +-Xlinker --wrap=otLinkRawSrcMatchClearExtEntries +-Xlinker --wrap=otLinkRawSrcMatchClearExtEntry +-Xlinker --wrap=otLinkRawSrcMatchClearShortEntries +-Xlinker --wrap=otLinkRawSrcMatchClearShortEntry +-Xlinker --wrap=otLinkRawSrcMatchEnable +-Xlinker --wrap=otLinkRawTransmit +-Xlinker --wrap=otLinkRawGetCaps +-Xlinker --wrap=otLinkRawGetTransmitBuffer +-Xlinker --wrap=otLinkRawGetRadioTime +-Xlinker --wrap=otLoggingSetLevel +-Xlinker --wrap=otLoggingGetLevel +-Xlinker --wrap=otMdnsIsEnabled +-Xlinker --wrap=otMdnsIsQuestionUnicastAllowed +-Xlinker --wrap=otMdnsGetNextHost +-Xlinker --wrap=otMdnsGetNextKey +-Xlinker --wrap=otMdnsGetNextService +-Xlinker --wrap=otMdnsRegisterHost +-Xlinker --wrap=otMdnsRegisterKey +-Xlinker --wrap=otMdnsRegisterService +-Xlinker --wrap=otMdnsSetEnabled +-Xlinker --wrap=otMdnsStartBrowser +-Xlinker --wrap=otMdnsStartIp4AddressResolver +-Xlinker --wrap=otMdnsStartIp6AddressResolver +-Xlinker --wrap=otMdnsStartSrvResolver +-Xlinker --wrap=otMdnsStartTxtResolver +-Xlinker --wrap=otMdnsStopBrowser +-Xlinker --wrap=otMdnsStopIp4AddressResolver +-Xlinker --wrap=otMdnsStopIp6AddressResolver +-Xlinker --wrap=otMdnsStopSrvResolver +-Xlinker --wrap=otMdnsStopTxtResolver +-Xlinker --wrap=otMdnsUnregisterHost +-Xlinker --wrap=otMdnsUnregisterKey +-Xlinker --wrap=otMdnsUnregisterService +-Xlinker --wrap=otMdnsAllocateIterator +-Xlinker --wrap=otMdnsFreeIterator +-Xlinker --wrap=otMdnsSetConflictCallback +-Xlinker --wrap=otMdnsSetQuestionUnicastAllowed +-Xlinker --wrap=otMeshDiagDiscoverTopology +-Xlinker --wrap=otMeshDiagGetNextChildInfo +-Xlinker --wrap=otMeshDiagGetNextIp6Address +-Xlinker --wrap=otMeshDiagQueryChildTable +-Xlinker --wrap=otMeshDiagQueryChildrenIp6Addrs +-Xlinker --wrap=otMeshDiagQueryRouterNeighborTable +-Xlinker --wrap=otMeshDiagCancel +-Xlinker --wrap=otMessageIsLinkSecurityEnabled +-Xlinker --wrap=otMessageIsLoopbackToHostAllowed +-Xlinker --wrap=otMessageIsMulticastLoopEnabled +-Xlinker --wrap=otMessageWrite +-Xlinker --wrap=otMessageGetRss +-Xlinker --wrap=otMessageAppend +-Xlinker --wrap=otMessageGetThreadLinkInfo +-Xlinker --wrap=otMessageSetLength +-Xlinker --wrap=otMessageQueueGetHead +-Xlinker --wrap=otMessageQueueGetNext +-Xlinker --wrap=otMessageGetOrigin +-Xlinker --wrap=otMessageGetLength +-Xlinker --wrap=otMessageGetOffset +-Xlinker --wrap=otMessageRead +-Xlinker --wrap=otMessageFree +-Xlinker --wrap=otMessageGetBufferInfo +-Xlinker --wrap=otMessageQueueDequeue +-Xlinker --wrap=otMessageQueueEnqueue +-Xlinker --wrap=otMessageQueueEnqueueAtHead +-Xlinker --wrap=otMessageQueueInit +-Xlinker --wrap=otMessageResetBufferInfo +-Xlinker --wrap=otMessageSetDirectTransmission +-Xlinker --wrap=otMessageSetLoopbackToHostAllowed +-Xlinker --wrap=otMessageSetMulticastLoopEnabled +-Xlinker --wrap=otMessageSetOffset +-Xlinker --wrap=otMessageSetOrigin +-Xlinker --wrap=otMultiRadioGetNeighborInfo +-Xlinker --wrap=otIp4IsAddressEqual +-Xlinker --wrap=otIp4AddressFromString +-Xlinker --wrap=otIp4CidrFromString +-Xlinker --wrap=otIp4FromIp4MappedIp6Address +-Xlinker --wrap=otNat64GetCidr +-Xlinker --wrap=otNat64GetNextAddressMapping +-Xlinker --wrap=otNat64Send +-Xlinker --wrap=otNat64SetIp4Cidr +-Xlinker --wrap=otNat64SynthesizeIp6Address +-Xlinker --wrap=otIp4NewMessage +-Xlinker --wrap=otNat64GetPrefixManagerState +-Xlinker --wrap=otNat64GetTranslatorState +-Xlinker --wrap=otIp4AddressToString +-Xlinker --wrap=otIp4CidrToString +-Xlinker --wrap=otIp4ExtractFromIp6Address +-Xlinker --wrap=otIp4ToIp4MappedIp6Address +-Xlinker --wrap=otNat64GetCounters +-Xlinker --wrap=otNat64GetErrorCounters +-Xlinker --wrap=otNat64InitAddressMappingIterator +-Xlinker --wrap=otNat64SetEnabled +-Xlinker --wrap=otNat64SetReceiveIp4Callback +-Xlinker --wrap=otNcpStreamWrite +-Xlinker --wrap=otNcpHdlcInit +-Xlinker --wrap=otNcpHdlcInitMulti +-Xlinker --wrap=otNcpHdlcReceive +-Xlinker --wrap=otNcpHdlcSendDone +-Xlinker --wrap=otNcpPlatLogv +-Xlinker --wrap=otNcpRegisterPeekPokeDelegates +-Xlinker --wrap=otNcpSpiInit +-Xlinker --wrap=otNetDataContainsOmrPrefix +-Xlinker --wrap=otNetDataGet +-Xlinker --wrap=otNetDataGetNextLowpanContextInfo +-Xlinker --wrap=otNetDataGetNextOnMeshPrefix +-Xlinker --wrap=otNetDataGetNextRoute +-Xlinker --wrap=otNetDataGetNextService +-Xlinker --wrap=otNetDataSteeringDataCheckJoiner +-Xlinker --wrap=otNetDataSteeringDataCheckJoinerWithDiscerner +-Xlinker --wrap=otNetDataGetLength +-Xlinker --wrap=otNetDataGetMaxLength +-Xlinker --wrap=otNetDataGetStableVersion +-Xlinker --wrap=otNetDataGetVersion +-Xlinker --wrap=otNetDataGetCommissioningDataset +-Xlinker --wrap=otNetDataResetMaxLength +-Xlinker --wrap=otNetDataIsDnsSrpServiceAdded +-Xlinker --wrap=otNetDataIsPrefixAdded +-Xlinker --wrap=otNetDataPublishExternalRoute +-Xlinker --wrap=otNetDataPublishOnMeshPrefix +-Xlinker --wrap=otNetDataReplacePublishedExternalRoute +-Xlinker --wrap=otNetDataUnpublishPrefix +-Xlinker --wrap=otNetDataPublishDnsSrpServiceAnycast +-Xlinker --wrap=otNetDataPublishDnsSrpServiceUnicast +-Xlinker --wrap=otNetDataPublishDnsSrpServiceUnicastMeshLocalEid +-Xlinker --wrap=otNetDataSetDnsSrpServicePublisherCallback +-Xlinker --wrap=otNetDataSetPrefixPublisherCallback +-Xlinker --wrap=otNetDataUnpublishDnsSrpService +-Xlinker --wrap=otThreadGetVendorAppUrl +-Xlinker --wrap=otThreadGetVendorModel +-Xlinker --wrap=otThreadGetVendorName +-Xlinker --wrap=otThreadGetVendorSwVersion +-Xlinker --wrap=otThreadGetNextDiagnosticTlv +-Xlinker --wrap=otThreadSendDiagnosticGet +-Xlinker --wrap=otThreadSendDiagnosticReset +-Xlinker --wrap=otThreadSetVendorAppUrl +-Xlinker --wrap=otThreadSetVendorModel +-Xlinker --wrap=otThreadSetVendorName +-Xlinker --wrap=otThreadSetVendorSwVersion +-Xlinker --wrap=otNetworkTimeSetSyncPeriod +-Xlinker --wrap=otNetworkTimeSetXtalThreshold +-Xlinker --wrap=otNetworkTimeGet +-Xlinker --wrap=otNetworkTimeGetSyncPeriod +-Xlinker --wrap=otNetworkTimeGetXtalThreshold +-Xlinker --wrap=otNetworkTimeSyncSetCallback +-Xlinker --wrap=otPingSenderPing +-Xlinker --wrap=otPingSenderStop +-Xlinker --wrap=otRadioTimeStatsGet +-Xlinker --wrap=otRadioTimeStatsReset +-Xlinker --wrap=otRandomCryptoFillBuffer +-Xlinker --wrap=otRandomNonCryptoGetUint16 +-Xlinker --wrap=otRandomNonCryptoGetUint16InRange +-Xlinker --wrap=otRandomNonCryptoAddJitter +-Xlinker --wrap=otRandomNonCryptoGetUint32 +-Xlinker --wrap=otRandomNonCryptoGetUint32InRange +-Xlinker --wrap=otRandomNonCryptoGetUint8 +-Xlinker --wrap=otRandomNonCryptoGetUint8InRange +-Xlinker --wrap=otRandomNonCryptoFillBuffer +-Xlinker --wrap=otServerAddService +-Xlinker --wrap=otServerGetNetDataLocal +-Xlinker --wrap=otServerGetNextService +-Xlinker --wrap=otServerRegister +-Xlinker --wrap=otServerRemoveService +-Xlinker --wrap=otSntpClientQuery +-Xlinker --wrap=otSntpClientSetUnixEra +-Xlinker --wrap=otSrpClientIsAutoStartModeEnabled +-Xlinker --wrap=otSrpClientIsRunning +-Xlinker --wrap=otSrpClientIsServiceKeyRecordEnabled +-Xlinker --wrap=otSrpClientGetDomainName +-Xlinker --wrap=otSrpClientItemStateToString +-Xlinker --wrap=otSrpClientGetServerAddress +-Xlinker --wrap=otSrpClientGetHostInfo +-Xlinker --wrap=otSrpClientGetServices +-Xlinker --wrap=otSrpClientAddService +-Xlinker --wrap=otSrpClientClearService +-Xlinker --wrap=otSrpClientEnableAutoHostAddress +-Xlinker --wrap=otSrpClientRemoveHostAndServices +-Xlinker --wrap=otSrpClientRemoveService +-Xlinker --wrap=otSrpClientSetDomainName +-Xlinker --wrap=otSrpClientSetHostAddresses +-Xlinker --wrap=otSrpClientSetHostName +-Xlinker --wrap=otSrpClientStart +-Xlinker --wrap=otSrpClientGetKeyLeaseInterval +-Xlinker --wrap=otSrpClientGetLeaseInterval +-Xlinker --wrap=otSrpClientGetTtl +-Xlinker --wrap=otSrpClientClearHostAndServices +-Xlinker --wrap=otSrpClientDisableAutoStartMode +-Xlinker --wrap=otSrpClientEnableAutoStartMode +-Xlinker --wrap=otSrpClientSetCallback +-Xlinker --wrap=otSrpClientSetKeyLeaseInterval +-Xlinker --wrap=otSrpClientSetLeaseInterval +-Xlinker --wrap=otSrpClientSetServiceKeyRecordEnabled +-Xlinker --wrap=otSrpClientSetTtl +-Xlinker --wrap=otSrpClientStop +-Xlinker --wrap=otSrpClientBuffersGetHostNameString +-Xlinker --wrap=otSrpClientBuffersGetServiceEntryInstanceNameString +-Xlinker --wrap=otSrpClientBuffersGetServiceEntryServiceNameString +-Xlinker --wrap=otSrpClientBuffersGetSubTypeLabelsArray +-Xlinker --wrap=otSrpClientBuffersGetHostAddressesArray +-Xlinker --wrap=otSrpClientBuffersAllocateService +-Xlinker --wrap=otSrpClientBuffersGetServiceEntryTxtBuffer +-Xlinker --wrap=otSrpClientBuffersFreeAllServices +-Xlinker --wrap=otSrpClientBuffersFreeService +-Xlinker --wrap=otSrpServerHostIsDeleted +-Xlinker --wrap=otSrpServerHostMatchesFullName +-Xlinker --wrap=otSrpServerIsAutoEnableMode +-Xlinker --wrap=otSrpServerServiceHasSubTypeServiceName +-Xlinker --wrap=otSrpServerServiceIsDeleted +-Xlinker --wrap=otSrpServerServiceMatchesInstanceName +-Xlinker --wrap=otSrpServerServiceMatchesServiceName +-Xlinker --wrap=otSrpServerGetDomain +-Xlinker --wrap=otSrpServerHostGetFullName +-Xlinker --wrap=otSrpServerServiceGetInstanceLabel +-Xlinker --wrap=otSrpServerServiceGetInstanceName +-Xlinker --wrap=otSrpServerServiceGetServiceName +-Xlinker --wrap=otSrpServerServiceGetSubTypeServiceNameAt +-Xlinker --wrap=otSrpServerHostGetAddresses +-Xlinker --wrap=otSrpServerGetNextHost +-Xlinker --wrap=otSrpServerServiceGetHost +-Xlinker --wrap=otSrpServerGetResponseCounters +-Xlinker --wrap=otSrpServerHostGetNextService +-Xlinker --wrap=otSrpServerServiceGetTxtData +-Xlinker --wrap=otSrpServerParseSubTypeServiceName +-Xlinker --wrap=otSrpServerSetAddressMode +-Xlinker --wrap=otSrpServerSetAnycastModeSequenceNumber +-Xlinker --wrap=otSrpServerSetDomain +-Xlinker --wrap=otSrpServerSetLeaseConfig +-Xlinker --wrap=otSrpServerSetTtlConfig +-Xlinker --wrap=otSrpServerGetAddressMode +-Xlinker --wrap=otSrpServerGetState +-Xlinker --wrap=otSrpServerGetPort +-Xlinker --wrap=otSrpServerServiceGetNumberOfSubTypes +-Xlinker --wrap=otSrpServerServiceGetPort +-Xlinker --wrap=otSrpServerServiceGetPriority +-Xlinker --wrap=otSrpServerServiceGetWeight +-Xlinker --wrap=otSrpServerServiceGetTtl +-Xlinker --wrap=otSrpServerGetAnycastModeSequenceNumber +-Xlinker --wrap=otSrpServerGetLeaseConfig +-Xlinker --wrap=otSrpServerGetTtlConfig +-Xlinker --wrap=otSrpServerHandleServiceUpdateResult +-Xlinker --wrap=otSrpServerHostGetLeaseInfo +-Xlinker --wrap=otSrpServerServiceGetLeaseInfo +-Xlinker --wrap=otSrpServerSetAutoEnableMode +-Xlinker --wrap=otSrpServerSetEnabled +-Xlinker --wrap=otSrpServerSetServiceUpdateHandler +-Xlinker --wrap=otTaskletsArePending +-Xlinker --wrap=otTaskletsProcess +-Xlinker --wrap=otTcpGetLocalAddress +-Xlinker --wrap=otTcpGetPeerAddress +-Xlinker --wrap=otTcpAbort +-Xlinker --wrap=otTcpBind +-Xlinker --wrap=otTcpCommitReceive +-Xlinker --wrap=otTcpConnect +-Xlinker --wrap=otTcpEndpointDeinitialize +-Xlinker --wrap=otTcpEndpointInitialize +-Xlinker --wrap=otTcpListen +-Xlinker --wrap=otTcpListenerDeinitialize +-Xlinker --wrap=otTcpListenerInitialize +-Xlinker --wrap=otTcpReceiveByReference +-Xlinker --wrap=otTcpReceiveContiguify +-Xlinker --wrap=otTcpSendByExtension +-Xlinker --wrap=otTcpSendByReference +-Xlinker --wrap=otTcpSendEndOfStream +-Xlinker --wrap=otTcpStopListening +-Xlinker --wrap=otTcpEndpointGetInstance +-Xlinker --wrap=otTcpListenerGetInstance +-Xlinker --wrap=otTcpEndpointGetContext +-Xlinker --wrap=otTcpListenerGetContext +-Xlinker --wrap=otTcpMbedTlsSslRecvCallback +-Xlinker --wrap=otTcpMbedTlsSslSendCallback +-Xlinker --wrap=otTcpCircularSendBufferDeinitialize +-Xlinker --wrap=otTcpCircularSendBufferWrite +-Xlinker --wrap=otTcpCircularSendBufferGetFreeSpace +-Xlinker --wrap=otTcpCircularSendBufferForceDiscardAll +-Xlinker --wrap=otTcpCircularSendBufferHandleForwardProgress +-Xlinker --wrap=otTcpCircularSendBufferInitialize +-Xlinker --wrap=otThreadIsAnycastLocateInProgress +-Xlinker --wrap=otThreadIsDiscoverInProgress +-Xlinker --wrap=otThreadIsSingleton +-Xlinker --wrap=otThreadDeviceRoleToString +-Xlinker --wrap=otThreadGetDomainName +-Xlinker --wrap=otThreadGetNetworkName +-Xlinker --wrap=otThreadGetExtendedPanId +-Xlinker --wrap=otThreadGetLinkLocalAllThreadNodesMulticastAddress +-Xlinker --wrap=otThreadGetLinkLocalIp6Address +-Xlinker --wrap=otThreadGetMeshLocalEid +-Xlinker --wrap=otThreadGetRealmLocalAllThreadNodesMulticastAddress +-Xlinker --wrap=otThreadGetRloc +-Xlinker --wrap=otThreadGetFixedDuaInterfaceIdentifier +-Xlinker --wrap=otThreadGetIp6Counters +-Xlinker --wrap=otThreadGetMeshLocalPrefix +-Xlinker --wrap=otThreadGetMleCounters +-Xlinker --wrap=otThreadGetTimeInQueueHistogram +-Xlinker --wrap=otThreadGetDeviceRole +-Xlinker --wrap=otThreadBecomeChild +-Xlinker --wrap=otThreadBecomeDetached +-Xlinker --wrap=otThreadDetachGracefully +-Xlinker --wrap=otThreadDiscover +-Xlinker --wrap=otThreadGetLeaderData +-Xlinker --wrap=otThreadGetLeaderRloc +-Xlinker --wrap=otThreadGetNextNeighborInfo +-Xlinker --wrap=otThreadGetParentAverageRssi +-Xlinker --wrap=otThreadGetParentInfo +-Xlinker --wrap=otThreadGetParentLastRssi +-Xlinker --wrap=otThreadGetServiceAloc +-Xlinker --wrap=otThreadLocateAnycastDestination +-Xlinker --wrap=otThreadSearchForBetterParent +-Xlinker --wrap=otThreadSendProactiveBackboneNotification +-Xlinker --wrap=otThreadSetDomainName +-Xlinker --wrap=otThreadSetEnabled +-Xlinker --wrap=otThreadSetExtendedPanId +-Xlinker --wrap=otThreadSetFixedDuaInterfaceIdentifier +-Xlinker --wrap=otThreadSetJoinerAdvertisement +-Xlinker --wrap=otThreadSetLinkMode +-Xlinker --wrap=otThreadSetMeshLocalPrefix +-Xlinker --wrap=otThreadSetNetworkKey +-Xlinker --wrap=otThreadSetNetworkKeyRef +-Xlinker --wrap=otThreadSetNetworkName +-Xlinker --wrap=otThreadGetLinkMode +-Xlinker --wrap=otThreadGetNetworkKeyRef +-Xlinker --wrap=otThreadGetKeySwitchGuardTime +-Xlinker --wrap=otThreadGetRloc16 +-Xlinker --wrap=otThreadGetVersion +-Xlinker --wrap=otThreadGetChildTimeout +-Xlinker --wrap=otThreadGetKeySequenceCounter +-Xlinker --wrap=otThreadGetMaxTimeInQueue +-Xlinker --wrap=otThreadGetPartitionId +-Xlinker --wrap=otThreadGetLeaderRouterId +-Xlinker --wrap=otThreadGetLeaderWeight +-Xlinker --wrap=otConvertDurationInSecondsToString +-Xlinker --wrap=otThreadGetNetworkKey +-Xlinker --wrap=otThreadRegisterParentResponseCallback +-Xlinker --wrap=otThreadResetIp6Counters +-Xlinker --wrap=otThreadResetMleCounters +-Xlinker --wrap=otThreadResetTimeInQueueStat +-Xlinker --wrap=otThreadSendAddressNotification +-Xlinker --wrap=otThreadSetChildTimeout +-Xlinker --wrap=otThreadSetDiscoveryRequestCallback +-Xlinker --wrap=otThreadSetKeySequenceCounter +-Xlinker --wrap=otThreadSetKeySwitchGuardTime +-Xlinker --wrap=otThreadIsRouterEligible +-Xlinker --wrap=otThreadIsRouterIdAllocated +-Xlinker --wrap=otThreadIsTmfOriginFilterEnabled +-Xlinker --wrap=otThreadGetDeviceProperties +-Xlinker --wrap=otThreadGetParentPriority +-Xlinker --wrap=otThreadBecomeLeader +-Xlinker --wrap=otThreadBecomeRouter +-Xlinker --wrap=otThreadGetChildInfoById +-Xlinker --wrap=otThreadGetChildInfoByIndex +-Xlinker --wrap=otThreadGetChildNextIp6Address +-Xlinker --wrap=otThreadGetNextCacheEntry +-Xlinker --wrap=otThreadGetRouterInfo +-Xlinker --wrap=otThreadReleaseRouterId +-Xlinker --wrap=otThreadSetChildRouterLinks +-Xlinker --wrap=otThreadSetJoinerUdpPort +-Xlinker --wrap=otThreadSetMaxAllowedChildren +-Xlinker --wrap=otThreadSetMaxChildIpAddresses +-Xlinker --wrap=otThreadSetParentPriority +-Xlinker --wrap=otThreadSetPreferredRouterId +-Xlinker --wrap=otThreadSetPskc +-Xlinker --wrap=otThreadSetPskcRef +-Xlinker --wrap=otThreadSetRouterEligible +-Xlinker --wrap=otThreadSetRouterIdRange +-Xlinker --wrap=otThreadGetPskcRef +-Xlinker --wrap=otThreadGetJoinerUdpPort +-Xlinker --wrap=otThreadGetMaxAllowedChildren +-Xlinker --wrap=otThreadGetAdvertisementTrickleIntervalMax +-Xlinker --wrap=otThreadGetContextIdReuseDelay +-Xlinker --wrap=otThreadGetPreferredLeaderPartitionId +-Xlinker --wrap=otThreadGetChildRouterLinks +-Xlinker --wrap=otThreadGetLocalLeaderWeight +-Xlinker --wrap=otThreadGetMaxChildIpAddresses +-Xlinker --wrap=otThreadGetMaxRouterId +-Xlinker --wrap=otThreadGetNetworkIdTimeout +-Xlinker --wrap=otThreadGetRouterDowngradeThreshold +-Xlinker --wrap=otThreadGetRouterIdSequence +-Xlinker --wrap=otThreadGetRouterSelectionJitter +-Xlinker --wrap=otThreadGetRouterUpgradeThreshold +-Xlinker --wrap=otThreadGetNextHopAndPathCost +-Xlinker --wrap=otThreadGetPskc +-Xlinker --wrap=otThreadGetRouterIdRange +-Xlinker --wrap=otThreadRegisterNeighborTableCallback +-Xlinker --wrap=otThreadSetCcmEnabled +-Xlinker --wrap=otThreadSetContextIdReuseDelay +-Xlinker --wrap=otThreadSetDeviceProperties +-Xlinker --wrap=otThreadSetLocalLeaderWeight +-Xlinker --wrap=otThreadSetNetworkIdTimeout +-Xlinker --wrap=otThreadSetPreferredLeaderPartitionId +-Xlinker --wrap=otThreadSetRouterDowngradeThreshold +-Xlinker --wrap=otThreadSetRouterSelectionJitter +-Xlinker --wrap=otThreadSetRouterUpgradeThreshold +-Xlinker --wrap=otThreadSetSteeringData +-Xlinker --wrap=otThreadSetThreadVersionCheckEnabled +-Xlinker --wrap=otThreadSetTmfOriginFilterEnabled +-Xlinker --wrap=otTrelIsEnabled +-Xlinker --wrap=otTrelIsFilterEnabled +-Xlinker --wrap=otTrelGetCounters +-Xlinker --wrap=otTrelGetNextPeer +-Xlinker --wrap=otTrelGetNumberOfPeers +-Xlinker --wrap=otTrelInitPeerIterator +-Xlinker --wrap=otTrelResetCounters +-Xlinker --wrap=otTrelSetEnabled +-Xlinker --wrap=otTrelSetFilterEnabled +-Xlinker --wrap=otUdpIsOpen +-Xlinker --wrap=otUdpIsPortInUse +-Xlinker --wrap=otUdpAddReceiver +-Xlinker --wrap=otUdpBind +-Xlinker --wrap=otUdpClose +-Xlinker --wrap=otUdpConnect +-Xlinker --wrap=otUdpOpen +-Xlinker --wrap=otUdpRemoveReceiver +-Xlinker --wrap=otUdpSend +-Xlinker --wrap=otUdpSendDatagram +-Xlinker --wrap=otUdpNewMessage +-Xlinker --wrap=otUdpGetSockets +-Xlinker --wrap=otUdpForwardReceive +-Xlinker --wrap=otUdpForwardSetForwarder +-Xlinker --wrap=otVerhoeffChecksumCalculate +-Xlinker --wrap=otVerhoeffChecksumValidate diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/main.c b/src/rcp-uart-802154-blehci_MGM210PA32JIA/main.c new file mode 100644 index 00000000..90610816 --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM210PA32JIA/main.c @@ -0,0 +1,74 @@ +/***************************************************************************//** + * @file + * @brief main() function. + ******************************************************************************* + * # License + * Copyright 2024 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +#include "sl_component_catalog.h" +#include "sl_system_init.h" +#include "app.h" +#if defined(SL_CATALOG_POWER_MANAGER_PRESENT) +#include "sl_power_manager.h" +#endif // SL_CATALOG_POWER_MANAGER_PRESENT +#if defined(SL_CATALOG_KERNEL_PRESENT) +#include "sl_system_kernel.h" +#else // !SL_CATALOG_KERNEL_PRESENT +#include "sl_system_process_action.h" +#endif // SL_CATALOG_KERNEL_PRESENT + +int main(void) +{ + // Initialize Silicon Labs device, system, service(s) and protocol stack(s). + // Note that if the kernel is present, processing task(s) will be created by + // this call. + sl_system_init(); + + // Initialize the application. For example, create periodic timer(s) or + // task(s) if the kernel is present. + app_init(); + +#if defined(SL_CATALOG_KERNEL_PRESENT) + // Start the kernel. Task(s) created in app_init() will start running. + sl_system_kernel_start(); +#else // SL_CATALOG_KERNEL_PRESENT + while (1) { + // Do not remove this call: Silicon Labs components process action routine + // must be called from the super loop. + sl_system_process_action(); + + // Application process. + app_process_action(); + +#if defined(SL_CATALOG_POWER_MANAGER_PRESENT) + // Let the CPU go to sleep if the system allows it. + sl_power_manager_sleep(); +#endif + } + // Clean-up when exiting the application. + app_exit(); +#endif // SL_CATALOG_KERNEL_PRESENT +} \ No newline at end of file diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/rcp-uart-802154-blehci_MGM210PA32JIA.slcp b/src/rcp-uart-802154-blehci_MGM210PA32JIA/rcp-uart-802154-blehci_MGM210PA32JIA.slcp new file mode 100644 index 00000000..c506cb57 --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM210PA32JIA/rcp-uart-802154-blehci_MGM210PA32JIA.slcp @@ -0,0 +1,86 @@ +# Silicon Labs Project Configuration Tools: slcp, v0, Component selection file. +project_name: rcp-uart-802154-blehci_MGM210PA32JIA +label: rcp-uart-802154-blehci_MGM210PA32JIA +description: | + This multiprotocol radio co-processor (RCP) application supports running OpenThread, Zigbee, and Bluetooth stacks simultaneously on a host processor. It uses concurrent multiprotocol (CMP) / multi-PAN functionality to run the 802.15.4 networks simultaneously on the same channel, and dynamic multiprotocol (DMP) to run the Bluetooth Link Layer simultaneously. The host stacks and the RCP communicate using the Co-Processor Communication protocol (CPC), which acts as a protocol multiplexer and serial transport layer. The host applications connect to the CPC daemon, which in turn connects to the EFR via a UART link. Refer to *AN1333: Running Zigbee, OpenThread, and Bluetooth Concurrently on a Linux Host with a Multiprotocol Co-processor* for more information on running the multiprotocol RCP with different host applications. +category: OpenThread Examples +filter: +- name: Capability + value: [Multiprotocol] +- name: Device Type + value: [RCP] +- name: Project Difficulty + value: [Advanced] +- name: Wireless Technology + value: [Bluetooth, Thread, Zigbee] +package: OpenThread +quality: production +readme: +- {path: README-MP-DMP-RCP.md} +- {path: README-MP-DMP-RCP.md} +source: +- {path: main.c} +- {path: app.c} +tag: [prebuilt_demo] +include: +- path: . + file_list: + - {path: app.h} + - {path: reset_util.h} +sdk: {id: simplicity_sdk, version: 2024.6.1} +toolchain_settings: [] +component: +- {id: MGM210PA32JIA} +- {id: bluetooth_controller} +- {id: bluetooth_feature_advertiser} +- {id: bluetooth_feature_connection} +- {id: bluetooth_feature_connection_phy_update} +- {id: bluetooth_feature_extended_advertiser} +- {id: bluetooth_feature_extended_scanner} +- {id: bluetooth_feature_legacy_scanner} +- {id: bluetooth_hci_cpc} +- {id: bootloader_interface} +- {id: clock_manager} +- instance: [vcom] + id: cpc_secondary_driver_uart_usart +- {id: freertos} +- {id: freertos_heap_3} +- {id: ot_crash_handler} +- {id: ot_ncp_cpc} +- {id: ot_stack_rcp} +- {id: rail_lib_multiprotocol} +- {id: rail_util_pti} +template_contribution: +- {name: component_catalog, priority: 0, value: bluetooth_ncp} +configuration: +- {name: SL_BT_CONFIG_USER_ADVERTISERS, value: '3'} +- {name: SL_STACK_SIZE, value: '2752'} +- {name: SL_HEAP_SIZE, value: '15700'} +- condition: [device_sdid_200] + name: SL_DEVICE_INIT_LFXO_TIMEOUT + value: cmuLfxoStartupDelay_4KCycles +- condition: [device_sdid_205] + name: SL_DEVICE_INIT_LFXO_TIMEOUT + value: cmuLfxoStartupDelay_4KCycles +- condition: [psa_crypto] + name: SL_PSA_KEY_USER_SLOT_COUNT + value: '0' +- {name: SL_BOARD_ENABLE_VCOM, value: '1'} +- {name: SL_CPC_DRV_UART_VCOM_BAUDRATE, value: '115200'} +- {name: SL_CPC_DRV_UART_VCOM_FLOW_CONTROL_TYPE, value: usartHwFlowControlCtsAndRts} +- {name: OPENTHREAD_CONFIG_HEAP_EXTERNAL_ENABLE, value: '0'} +- {name: OPENTHREAD_CONFIG_LOG_OUTPUT, value: OPENTHREAD_CONFIG_LOG_OUTPUT_NONE} +- {name: OPENTHREAD_CONFIG_MULTIPAN_RCP_ENABLE, value: '1'} +- {name: OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_ENABLE, value: '1'} +- {name: OPENTHREAD_CONFIG_MULTIPLE_STATIC_INSTANCE_ENABLE, value: '1'} +- {name: OPENTHREAD_CONFIG_DIAG_ENABLE, value: '1'} +- {name: OPENTHREAD_CONFIG_PLATFORM_KEY_REFERENCES_ENABLE, value: '0'} +- {name: OPENTHREAD_CONFIG_MAC_CSL_RECEIVER_ENABLE, value: '0'} +- {name: OPENTHREAD_CONFIG_MAC_CSL_AUTO_SYNC_ENABLE, value: '0'} +- {name: SL_CPC_RX_BUFFER_MAX_COUNT, value: '15'} +- {name: SL_CPC_TX_QUEUE_ITEM_MAX_COUNT, value: '15'} +- {name: CIRCULAR_QUEUE_LEN_MAX, value: '16'} +ui_hints: + highlight: + - {path: ./README-MP-DMP-RCP.md, focus: true} + diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/rcp-uart-802154-blehci_MGM210PA32JIA.slps b/src/rcp-uart-802154-blehci_MGM210PA32JIA/rcp-uart-802154-blehci_MGM210PA32JIA.slps new file mode 100644 index 00000000..79154b50 --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM210PA32JIA/rcp-uart-802154-blehci_MGM210PA32JIA.slps @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/reset_util.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/reset_util.h new file mode 100644 index 00000000..56e75da9 --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM210PA32JIA/reset_util.h @@ -0,0 +1,69 @@ +/* + * Copyright (c) 2022, The OpenThread Authors. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holder nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef OT_LIB_PLATFORM_RESET_UTIL_H_ +#define OT_LIB_PLATFORM_RESET_UTIL_H_ + +#if defined(OPENTHREAD_ENABLE_COVERAGE) && OPENTHREAD_ENABLE_COVERAGE && defined(__GNUC__) +#if __GNUC__ >= 11 || (defined(__clang__) && (defined(__APPLE__) && (__clang_major__ >= 13)) || \ + (!defined(__APPLE__) && (__clang_major__ >= 12))) +void __gcov_dump(void); +void __gcov_reset(void); + +static void flush_gcov(void) +{ + __gcov_dump(); + __gcov_reset(); +} +#else +void __gcov_flush(void); +#define flush_gcov __gcov_flush +#endif /* __GNUC__ >= 11 || (defined(__clang__) && (defined(__APPLE__) && (__clang_major__ >= 13)) || \ + (!defined(__APPLE__) && (__clang_major__ >= 12))) */ +#else +#define flush_gcov() +#endif // defined(OPENTHREAD_ENABLE_COVERAGE) && OPENTHREAD_ENABLE_COVERAGE && defined(__GNUC__) + +#if defined(__linux__) || defined(__APPLE__) +#include +#include +jmp_buf gResetJump; + +#define OT_SETUP_RESET_JUMP(kArgv) \ + if (setjmp(gResetJump)) \ + { \ + alarm(0); \ + flush_gcov(); \ + execvp(kArgv[0], kArgv); \ + } + +#else +#define OT_SETUP_RESET_JUMP(ARGV) +#endif // defined(__linux__) || defined(__APPLE__) + +#endif // OT_LIB_PLATFORM_RESET_UTIL_H_ diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/app.c b/src/rcp-uart-802154-blehci_MGM240PA32VNN/app.c new file mode 100644 index 00000000..ae65dd71 --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM240PA32VNN/app.c @@ -0,0 +1,141 @@ +/***************************************************************************//** + * @file + * @brief Core application logic. + ******************************************************************************* + * # License + * Copyright 2024 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +#include +#include +#include + +#include +#include +#include + +#include "openthread-system.h" +#include "app.h" + +#include "reset_util.h" + +#include "sl_component_catalog.h" +#include "sl_memory_manager.h" + +#if OPENTHREAD_CONFIG_MULTIPAN_RCP_ENABLE +#if OPENTHREAD_CONFIG_MULTIPLE_STATIC_INSTANCE_ENABLE == 0 +#error "Support for multiple OpenThread static instance is disabled." +#endif +otInstance *sInstances[OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_NUM] = {NULL}; +#endif // OPENTHREAD_CONFIG_MULTIPAN_RCP_ENABLE + +/** + * This function initializes the NCP app. + * + * @param[in] aInstance The OpenThread instance structure. + * + */ +#if OPENTHREAD_CONFIG_MULTIPAN_RCP_ENABLE +extern void otAppNcpInitMulti(otInstance **aInstances, uint8_t aCount); +#else +extern void otAppNcpInit(otInstance *aInstance); +#endif + +#if OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_ENABLE && !OPENTHREAD_CONFIG_MULTIPAN_RCP_ENABLE +static uint8_t *sOtInstanceBuffer = NULL; +#endif +static otInstance* sInstance = NULL; + +otInstance *otGetInstance(void) +{ + return sInstance; +} + +void sl_ot_create_instance(void) +{ +#if OPENTHREAD_CONFIG_MULTIPAN_RCP_ENABLE + for (int i = 0; i < OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_NUM; i++) + { + sInstances[i] = otInstanceInitMultiple(i); + + assert(sInstances[i]); + } + sInstance = sInstances[0]; +#elif OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_ENABLE && !OPENTHREAD_CONFIG_MULTIPAN_RCP_ENABLE + size_t otInstanceBufferLength = 0; + + // Call to query the buffer size + (void)otInstanceInit(NULL, &otInstanceBufferLength); + + // Call to allocate the buffer + sOtInstanceBuffer = (uint8_t *)sl_malloc(otInstanceBufferLength); + assert(sOtInstanceBuffer); + + // Initialize OpenThread with the buffer + sInstance = otInstanceInit(sOtInstanceBuffer, &otInstanceBufferLength); +#else + sInstance = otInstanceInitSingle(); +#endif + assert(sInstance); +} + +void sl_ot_ncp_init(void) +{ +#if OPENTHREAD_CONFIG_MULTIPAN_RCP_ENABLE + otAppNcpInitMulti(sInstances, OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_NUM); +#else + otAppNcpInit(sInstance); +#endif +} + +/**************************************************************************//** + * Application Init. + *****************************************************************************/ + +void app_init(void) +{ + OT_SETUP_RESET_JUMP(argv); +} + +/**************************************************************************//** + * Application Process Action. + *****************************************************************************/ +void app_process_action(void) +{ + otTaskletsProcess(sInstance); + otSysProcessDrivers(sInstance); +} + +/**************************************************************************//** + * Application Exit. + *****************************************************************************/ +void app_exit(void) +{ + otInstanceFinalize(sInstance); +#if OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_ENABLE && !OPENTHREAD_CONFIG_MULTIPAN_RCP_ENABLE + sl_free(sOtInstanceBuffer); +#endif + // TO DO : pseudo reset? +} diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/app.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/app.h new file mode 100644 index 00000000..8d52ecfe --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM240PA32VNN/app.h @@ -0,0 +1,49 @@ +/***************************************************************************//** + * @file + * @brief Application interface provided to main(). + ******************************************************************************* + * # License + * Copyright 2024 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +#ifndef APP_H +#define APP_H + +/**************************************************************************//** + * Application Init. + *****************************************************************************/ +void app_init(void); + +/**************************************************************************//** + * Application Exit. + *****************************************************************************/ +void app_exit(void); + +/**************************************************************************//** + * Application Process Action. + *****************************************************************************/ +void app_process_action(void); + +#endif \ No newline at end of file diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/FreeRTOSConfig.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/FreeRTOSConfig.h new file mode 100644 index 00000000..4659fa6d --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/FreeRTOSConfig.h @@ -0,0 +1,273 @@ +/* -------------------------------------------------------------------------- + * Copyright (c) 2013-2019 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * -------------------------------------------------------------------------- + * + * $Revision: V10.2.0 + * + * Project: CMSIS-FreeRTOS + * Title: FreeRTOS configuration definitions + * + * --------------------------------------------------------------------------*/ + +#ifndef FREERTOS_CONFIG_H +#define FREERTOS_CONFIG_H + +/*----------------------------------------------------------- +* Application specific definitions. +* +* These definitions should be adjusted for your particular hardware and +* application requirements. +* +* THESE PARAMETERS ARE DESCRIBED WITHIN THE 'CONFIGURATION' SECTION OF THE +* FreeRTOS API DOCUMENTATION AVAILABLE ON THE FreeRTOS.org WEB SITE. +* +* See http://www.freertos.org/a00110.html +*----------------------------------------------------------*/ + +#if !defined(__IAR_SYSTEMS_ASM__) +#if (defined(__ARMCC_VERSION) || defined(__GNUC__) || defined(__ICCARM__)) +#include + +#include "RTE_Components.h" +#include CMSIS_device_header +#endif + +#include "em_assert.h" +#include "em_device.h" + +#if defined(SL_COMPONENT_CATALOG_PRESENT) +#include "sl_component_catalog.h" +#endif +#endif + +#if defined(SL_CATALOG_SYSTEMVIEW_TRACE_PRESENT) +#include "SEGGER_SYSVIEW_FreeRTOS.h" +#endif + +#if defined(SL_CATALOG_CODE_CLASSIFICATION_VALIDATOR_PRESENT) +#include "sli_code_classification_validator.h" +#define traceTASK_SWITCHED_IN() sli_ccv_task_switched_in() +#endif + +//-------- <<< Use Configuration Wizard in Context Menu >>> -------------------- + +// Minimal stack size [words] <0-65535> +// Stack for idle task and default task stack in words. +// Default: 160 +#define configMINIMAL_STACK_SIZE 160 + +// Total heap size [bytes] <0-0xFFFFFFFF> +// Heap memory size in bytes. +// Default: 8192 +#define configTOTAL_HEAP_SIZE 8192 + +// Kernel tick frequency [Hz] <0-0xFFFFFFFF> +// Kernel tick rate in Hz. +// Default: 1000 +#define configTICK_RATE_HZ 1000 + +// Timer task stack depth [words] <0-65535> +// Stack for timer task in words. +// Default: 160 +#define configTIMER_TASK_STACK_DEPTH 160 + +// Timer task priority <0-56> +// Timer task priority. +// Default: 40 (High) +#define configTIMER_TASK_PRIORITY 40 + +// Timer queue length <0-1024> +// Timer command queue length. +// Default: 10 +#define configTIMER_QUEUE_LENGTH 10 + +// Preemption interrupt priority +// Maximum priority of interrupts that are safe to call FreeRTOS API. +// Default: 48 +#define configMAX_SYSCALL_INTERRUPT_PRIORITY 48 + +// Use time slicing +// Enable setting to use timeslicing. +// Default: 1 +#define configUSE_TIME_SLICING 1 + +// Idle should yield +// Control Yield behaviour of the idle task. +// Default: 1 +#define configIDLE_SHOULD_YIELD 1 + +// Check for stack overflow +// <0=>Disable <1=>Method one <2=>Method two +// Enable or disable stack overflow checking. +// Callback function vApplicationStackOverflowHook implementation is required when stack checking is enabled. +// Default: 2 +#define configCHECK_FOR_STACK_OVERFLOW 2 + +// Use idle hook +// Enable callback function call on each idle task iteration. +// Callback function vApplicationIdleHook implementation is required when idle hook is enabled. +// Default: 0 +#define configUSE_IDLE_HOOK 0 + +// Use tick hook +// Enable callback function call during each tick interrupt. +// Callback function vApplicationTickHook implementation is required when tick hook is enabled. +// Default: 0 +#define configUSE_TICK_HOOK 0 + +// Use deamon task startup hook +// Enable callback function call when timer service starts. +// Callback function vApplicationDaemonTaskStartupHook implementation is required when deamon task startup hook is enabled. +// Default: 0 +#define configUSE_DAEMON_TASK_STARTUP_HOOK 0 + +// Use malloc failed hook +// Enable callback function call when out of dynamic memory. +// Callback function vApplicationMallocFailedHook implementation is required when malloc failed hook is enabled. +// Default: 0 +#define configUSE_MALLOC_FAILED_HOOK 0 + +// Queue registry size +// Define maximum number of queue objects registered for debug purposes. +// The queue registry is used by kernel aware debuggers to locate queue and semaphore structures and display associated text names. +// Default: 10 +#define configQUEUE_REGISTRY_SIZE 10 + +// Port Specific Features +// Enable and configure port specific features. +// Check FreeRTOS documentation for definitions that apply for the used port. + +// Use Floating Point Unit +// Using Floating Point Unit (FPU) affects context handling. +// Enable FPU when application uses floating point operations. +// Default: 1 +#define configENABLE_FPU 1 + +// Minimal secure stack size [words] <0-65535> +// Stack for idle task Secure side context in words. +// This setting is only relevant when TrustZone extension is enabled. +// Default: 128 +#define configMINIMAL_SECURE_STACK_SIZE 128 +// + +// Thread Local Storage Settings +// Thread local storage pointers +// Thread local storage (or TLS) allows the application writer to store +// values inside a task's control block, making the value specific to +// (local to) the task itself. +// Default: 0 +#define configNUM_USER_THREAD_LOCAL_STORAGE_POINTERS 0 +// + +// Use Threadsafe Errno +// Enable Threadsafe Errno support. +// Default: 0 +#define configUSE_POSIX_ERRNO 0 + +//------------- <<< end of configuration section >>> --------------------------- + +/* MPU feature is not supported in Silicon Labs port */ +#define configENABLE_MPU 0 + +/* Defines needed by FreeRTOS to implement CMSIS RTOS2 API. Do not change! */ +#define configCPU_CLOCK_HZ (SystemCoreClock) +#define configSUPPORT_STATIC_ALLOCATION 1 +#define configSUPPORT_DYNAMIC_ALLOCATION 1 +#define configUSE_PREEMPTION 1 +#define configUSE_TIMERS 1 +#define configUSE_MUTEXES 1 +#define configUSE_RECURSIVE_MUTEXES 1 +#define configUSE_COUNTING_SEMAPHORES 1 +#define configUSE_TASK_NOTIFICATIONS 1 +#define configUSE_TRACE_FACILITY 1 +#define configUSE_16_BIT_TICKS 0 +#define configUSE_PORT_OPTIMISED_TASK_SELECTION 0 +#define configMAX_PRIORITIES 56 +#define configKERNEL_INTERRUPT_PRIORITY 255 + +/* Defines that include FreeRTOS functions which implement CMSIS RTOS2 API. Do not change! */ +#define INCLUDE_xEventGroupSetBitsFromISR 1 +#define INCLUDE_xSemaphoreGetMutexHolder 1 +#define INCLUDE_vTaskDelay 1 +#define INCLUDE_vTaskDelayUntil 1 +#define INCLUDE_vTaskDelete 1 +#define INCLUDE_xTaskGetCurrentTaskHandle 1 +#define INCLUDE_xTaskGetSchedulerState 1 +#define INCLUDE_uxTaskGetStackHighWaterMark 1 +#define INCLUDE_uxTaskPriorityGet 1 +#define INCLUDE_vTaskPrioritySet 1 +#define INCLUDE_eTaskGetState 1 +#define INCLUDE_vTaskSuspend 1 +#define INCLUDE_xTimerPendFunctionCall 1 + +/* Map the FreeRTOS port interrupt handlers to their CMSIS standard names. */ +#define xPortPendSVHandler PendSV_Handler +#define vPortSVCHandler SVC_Handler + +/* Ensure Cortex-M port compatibility. */ +#define SysTick_Handler xPortSysTickHandler + +/* Implement FreeRTOS configASSERT as emlib assert. */ +#define configASSERT(x) EFM_ASSERT(x) + +/* Energy saving modes. */ +#if defined(SL_CATALOG_POWER_MANAGER_PRESENT) +#define configUSE_TICKLESS_IDLE 1 +#else +#define configUSE_TICKLESS_IDLE 0 +#endif + +/* Definition used by Keil to replace default system clock source. */ +#define configOVERRIDE_DEFAULT_TICK_CONFIGURATION 1 + +/* Maximum size of task name. */ +#define configMAX_TASK_NAME_LEN 10 + +/* Use queue sets? */ +#define configUSE_QUEUE_SETS 0 + +/* Generate run-time statistics? */ +#define configGENERATE_RUN_TIME_STATS 0 + +/* Co-routine related definitions. */ +#define configUSE_CO_ROUTINES 0 +#define configMAX_CO_ROUTINE_PRIORITIES 1 + +/* Optional resume from ISR functionality. */ +#define INCLUDE_xResumeFromISR 1 + +/* FreeRTOS Secure Side Only and TrustZone Security Extension */ +#define configRUN_FREERTOS_SECURE_ONLY 1 +#define configENABLE_TRUSTZONE 0 + +/* Thread local storage pointers used by the SDK */ +#ifndef configNUM_SDK_THREAD_LOCAL_STORAGE_POINTERS + #define configNUM_SDK_THREAD_LOCAL_STORAGE_POINTERS 0 +#endif + +/* PRINT_STRING implementation. iostream_retarget_stdio or third party + printf should be added if this is used */ +#define configPRINT_STRING(X) printf(X) + +#define configNUM_THREAD_LOCAL_STORAGE_POINTERS (configNUM_USER_THREAD_LOCAL_STORAGE_POINTERS \ + + configNUM_SDK_THREAD_LOCAL_STORAGE_POINTERS) + +//#if defined(SL_CATALOG_SYSTEMVIEW_TRACE_PRESENT) +//#include "SEGGER_SYSVIEW_FreeRTOS.h" +//#endif +#endif /* FREERTOS_CONFIG_H */ diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/app_properties_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/app_properties_config.h new file mode 100644 index 00000000..6a6b9766 --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/app_properties_config.h @@ -0,0 +1,65 @@ +/***************************************************************************//** + * @file + * @brief Application Properties Header File + ******************************************************************************* + * # License + * Copyright 2021 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +#ifndef APP_PROPERTIES_CONFIG_H +#define APP_PROPERTIES_CONFIG_H + +#include "sl_application_type.h" + +// <<< Use Configuration Wizard in Context Menu >>> + +// App Properties settings + +// Type of signature this application is signed with +// Default: APPLICATION_SIGNATURE_NONE(0) +#define SL_APPLICATION_SIGNATURE 0 + +// Location of the signature +// Default: 0xFFFFFFFF +#define SL_APPLICATION_SIGNATURE_LOCATION 0xFFFFFFFF + +// Bitfield representing type of application +#define SL_APPLICATION_TYPE APPLICATION_TYPE + +// Version number for this application +// <0-4294967295:1> +// Default: 1 [0-4294967295] +#define SL_APPLICATION_VERSION 1 + +// Capabilities of this application +// Default: 0 +#define SL_APPLICATION_CAPABILITIES 0 + +//Product ID of the device for which the application is built +#define SL_APPLICATION_PRODUCT_ID { 0 } + +// + +#endif // APP_PROPERTIES_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/btl_interface_cfg.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/btl_interface_cfg.h new file mode 100644 index 00000000..b1ab0078 --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/btl_interface_cfg.h @@ -0,0 +1,52 @@ +/***************************************************************************//** + * @file + * @brief Configuration header of Bootloader Interface + ******************************************************************************* + * # License + * Copyright 2021 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * The licensor of this software is Silicon Laboratories Inc. Your use of this + * software is governed by the terms of Silicon Labs Master Software License + * Agreement (MSLA) available at + * www.silabs.com/about-us/legal/master-software-license-agreement. This + * software is distributed to you in Source Code format and is governed by the + * sections of the MSLA applicable to Source Code. + * + ******************************************************************************/ +#ifndef BTL_INTERFACE_CFG_H +#define BTL_INTERFACE_CFG_H + +#if !defined(BOOTLOADER_APPLOADER) + +#if defined(_SILICON_LABS_32B_SERIES_2_CONFIG_1) +#include "btl_interface_cfg_s2c1.h" +#endif + +#if defined(_SILICON_LABS_32B_SERIES_2_CONFIG_2) +#include "btl_interface_cfg_s2c2.h" +#endif + +#if defined(_SILICON_LABS_32B_SERIES_2_CONFIG_3) +#include "btl_interface_cfg_s2c3.h" +#endif + +#if defined(_SILICON_LABS_32B_SERIES_2_CONFIG_4) +#include "btl_interface_cfg_s2c4.h" +#endif + +#if defined(_SILICON_LABS_32B_SERIES_2_CONFIG_5) +#define BOOTLOADER_DISABLE_OLD_BOOTLOADER_MITIGATION 1 +#endif + +#if defined(_SILICON_LABS_32B_SERIES_2_CONFIG_6) +#define BOOTLOADER_DISABLE_OLD_BOOTLOADER_MITIGATION 1 +#endif + +#if defined(_SILICON_LABS_32B_SERIES_2_CONFIG_8) +#define BOOTLOADER_DISABLE_OLD_BOOTLOADER_MITIGATION 1 +#endif + +#endif // !BOOTLOADER_APPLOADER + +#endif // BTL_INTERFACE_CFG_H diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/btl_interface_cfg_s2c4.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/btl_interface_cfg_s2c4.h new file mode 100644 index 00000000..dc8bec20 --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/btl_interface_cfg_s2c4.h @@ -0,0 +1,321 @@ +/***************************************************************************//** + * @file + * @brief Configuration header of Bootloader Interface + ******************************************************************************* + * # License + * Copyright 2021 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * The licensor of this software is Silicon Laboratories Inc. Your use of this + * software is governed by the terms of Silicon Labs Master Software License + * Agreement (MSLA) available at + * www.silabs.com/about-us/legal/master-software-license-agreement. This + * software is distributed to you in Source Code format and is governed by the + * sections of the MSLA applicable to Source Code. + * + ******************************************************************************/ +#ifndef BTL_INTERFACE_CFG_S2C4_H +#define BTL_INTERFACE_CFG_S2C4_H + +// <<< Use Configuration Wizard in Context Menu >>> +// Bootloader Interface Trust Zone Security State Configuration + +// Disable multi tiered fallback logic +// The fault handling logic as well as the USART auto-detection logic will be disabled. +// The re-configuration of SMU will be handled by querying the running bootloader +// for the peripheral list. Querying the peripheral list is supported from the bootloader +// version 2.0.0. Check for the BOOTLOADER_CAPABILITY_PERIPHERAL_LIST capability to +// see if the running bootloader supports querying the peripheral list. +#define BOOTLOADER_DISABLE_OLD_BOOTLOADER_MITIGATION 0 + +// Disable peripheral access fault handling +// The fault handling triggered by an erroneous access of peripherals will be disabled. +// +// This should be disabled iff all the peripherals that are in use by the bootloader +// have been properly configured by the "Manually override security state of peripherals" option. +#define BOOTLOADER_DISABLE_NVM3_FAULT_HANDLING 0 + +// Manually override the security state of peripherals in use by the bootloader +// Default: 0. +// Manually override the security state of peripherals. Choose the peripherals touched +// by the customized code to have a valid secure access state before interacting with the bootloader +// In practice, this means that the chosen peripherals will be available at the secure address, +// which is accessible by the bootloader. Once the application is entered back the secure access state +// is changed back to the original state. +// +// The USART auto-detection logic that detects which, if any, USART is in use by the bootloader +// will be disabled. Make sure to choose the correct USART used by the bootloader. +#define BOOTLOADER_MANUAL_OVERRIDE_SECURITY_STATE 0 +// EMU +// Update secure access state of EMU before calling into bootloader +#define BOOTLOADER_PPUSATD0_EMU 0 + +// CMU +// Update secure access state of CMU before calling into bootloader +#define BOOTLOADER_PPUSATD0_CMU 0 + +// HFRCO0 +// Update secure access state of HFRCO0 before calling into bootloader +#define BOOTLOADER_PPUSATD0_HFRCO0 0 + +// FSRCO +// Update secure access state of FSRCO before calling into bootloader +#define BOOTLOADER_PPUSATD0_FSRCO 0 + +// DPLL0 +// Update secure access state of DPLL0 before calling into bootloader +#define BOOTLOADER_PPUSATD0_DPLL0 0 + +// LFXO +// Update secure access state of LFXO before calling into bootloader +#define BOOTLOADER_PPUSATD0_LFXO 0 + +// LFRCO +// Update secure access state of LFRCO before calling into bootloader +#define BOOTLOADER_PPUSATD0_LFRCO 0 + +// ULFRCO +// Update secure access state of ULFRCO before calling into bootloader +#define BOOTLOADER_PPUSATD0_ULFRCO 0 + +// MSC +// Update secure access state of MSC before calling into bootloader +#define BOOTLOADER_PPUSATD0_MSC 0 + +// ICACHE0 +// Update secure access state of ICACHE0 before calling into bootloader +#define BOOTLOADER_PPUSATD0_ICACHE0 0 + +// PRS +// Update secure access state of PRS before calling into bootloader +#define BOOTLOADER_PPUSATD0_PRS 0 + +// GPIO +// Update secure access state of GPIO before calling into bootloader +#define BOOTLOADER_PPUSATD0_GPIO 0 + +// LDMA +// Update secure access state of LDMA before calling into bootloader +#define BOOTLOADER_PPUSATD0_LDMA 0 + +// LDMAXBAR +// Update secure access state of LDMAXBAR before calling into bootloader +#define BOOTLOADER_PPUSATD0_LDMAXBAR 0 + +// TIMER0 +// Update secure access state of TIMER0 before calling into bootloader +#define BOOTLOADER_PPUSATD0_TIMER0 0 + +// TIMER1 +// Update secure access state of TIMER1 before calling into bootloader +#define BOOTLOADER_PPUSATD0_TIMER1 0 + +// TIMER2 +// Update secure access state of TIMER2 before calling into bootloader +#define BOOTLOADER_PPUSATD0_TIMER2 0 + +// TIMER3 +// Update secure access state of TIMER3 before calling into bootloader +#define BOOTLOADER_PPUSATD0_TIMER3 0 + +// TIMER4 +// Update secure access state of TIMER4 before calling into bootloader +#define BOOTLOADER_PPUSATD0_TIMER4 0 + +// USART0 +// Update secure access state of USART0 before calling into bootloader +#define BOOTLOADER_PPUSATD0_USART0 0 + +// BURTC +// Update secure access state of BURTC before calling into bootloader +#define BOOTLOADER_PPUSATD0_BURTC 0 + +// I2C1 +// Update secure access state of I2C1 before calling into bootloader +#define BOOTLOADER_PPUSATD0_I2C1 0 + +// CHIPTESTCTRL +// Update secure access state of CHIPTESTCTRL before calling into bootloader +#define BOOTLOADER_PPUSATD0_CHIPTESTCTRL 0 + +// SYSCFGCFGNS +// Update secure access state of SYSCFGCFGNS before calling into bootloader +#define BOOTLOADER_PPUSATD0_SYSCFGCFGNS 0 + +// SYSCFG +// Update secure access state of SYSCFG before calling into bootloader +#define BOOTLOADER_PPUSATD0_SYSCFG 0 + +// BURAM +// Update secure access state of BURAM before calling into bootloader +#define BOOTLOADER_PPUSATD0_BURAM 0 + +// GPCRC +// Update secure access state of GPCRC before calling into bootloader +#define BOOTLOADER_PPUSATD0_GPCRC 0 + +// DCDC +// Update secure access state of DCDC before calling into bootloader +#define BOOTLOADER_PPUSATD0_DCDC 0 + +// HOSTMAILBOX +// Update secure access state of HOSTMAILBOX before calling into bootloader +#define BOOTLOADER_PPUSATD0_HOSTMAILBOX 0 + +// EUSART1 +// Update secure access state of EUSART1 before calling into bootloader +#define BOOTLOADER_PPUSATD0_EUSART1 0 + +// SYSRTC +// Update secure access state of SYSRTC before calling into bootloader +#define BOOTLOADER_PPUSATD0_SYSRTC 0 + +// KEYSCAN +// Update secure access state of KEYSCAN before calling into bootloader +#define BOOTLOADER_PPUSATD1_KEYSCAN 0 + +// DMEM +// Update secure access state of DMEM before calling into bootloader +#define BOOTLOADER_PPUSATD1_DMEM 0 + +// RADIOAES +// Update secure access state of RADIOAES before calling into bootloader +#define BOOTLOADER_PPUSATD1_RADIOAES 0 + +// SMU +// Update secure access state of SMU before calling into bootloader +#define BOOTLOADER_PPUSATD1_SMU 0 + +// SMUCFGNS +// Update secure access state of SMUCFGNS before calling into bootloader +#define BOOTLOADER_PPUSATD1_SMUCFGNS 0 + +// LETIMER0 +// Update secure access state of LETIMER0 before calling into bootloader +#define BOOTLOADER_PPUSATD1_LETIMER0 0 + +// IADC0 +// Update secure access state of IADC0 before calling into bootloader +#define BOOTLOADER_PPUSATD1_IADC0 0 + +// ACMP0 +// Update secure access state of ACMP0 before calling into bootloader +#define BOOTLOADER_PPUSATD1_ACMP0 0 + +// ACMP1 +// Update secure access state of ACMP1 before calling into bootloader +#define BOOTLOADER_PPUSATD1_ACMP1 0 + +// AMUXCP0 +// Update secure access state of AMUXCP0 before calling into bootloader +#define BOOTLOADER_PPUSATD1_AMUXCP0 0 + +// VDAC0 +// Update secure access state of VDAC0 before calling into bootloader +#define BOOTLOADER_PPUSATD1_VDAC0 0 + +// VDAC1 +// Update secure access state of VDAC1 before calling into bootloader +#define BOOTLOADER_PPUSATD1_VDAC1 0 + +// PCNT +// Update secure access state of PCNT before calling into bootloader +#define BOOTLOADER_PPUSATD1_PCNT 0 + +// HFRCO1 +// Update secure access state of HFRCO1 before calling into bootloader +#define BOOTLOADER_PPUSATD1_HFRCO1 0 + +// HFXO0 +// Update secure access state of HFXO0 before calling into bootloader +#define BOOTLOADER_PPUSATD1_HFXO0 0 + +// I2C0 +// Update secure access state of I2C0 before calling into bootloader +#define BOOTLOADER_PPUSATD1_I2C0 0 + +// WDOG0 +// Update secure access state of WDOG0 before calling into bootloader +#define BOOTLOADER_PPUSATD1_WDOG0 0 + +// WDOG1 +// Update secure access state of WDOG1 before calling into bootloader +#define BOOTLOADER_PPUSATD1_WDOG1 0 + +// EUSART0 +// Update secure access state of EUSART0 before calling into bootloader +#define BOOTLOADER_PPUSATD1_EUSART0 0 + +// SEMAILBOX +// Update secure access state of SEMAILBOX before calling into bootloader +#define BOOTLOADER_PPUSATD1_SEMAILBOX 0 + +// MVP +// Update secure access state of MVP before calling into bootloader +#define BOOTLOADER_PPUSATD1_MVP 0 + +// AHBRADIO +// Update secure access state of AHBRADIO before calling into bootloader +#define BOOTLOADER_PPUSATD1_AHBRADIO 0 +// + +// +// <<< end of configuration section >>> + +#if BOOTLOADER_MANUAL_OVERRIDE_SECURITY_STATE == 1 +#define BOOTLOADER_PPUSATD0_MASK ((BOOTLOADER_PPUSATD0_EMU << _SMU_PPUSATD0_EMU_SHIFT) \ + | (BOOTLOADER_PPUSATD0_CMU << _SMU_PPUSATD0_CMU_SHIFT) \ + | (BOOTLOADER_PPUSATD0_HFRCO0 << _SMU_PPUSATD0_HFRCO0_SHIFT) \ + | (BOOTLOADER_PPUSATD0_FSRCO << _SMU_PPUSATD0_FSRCO_SHIFT) \ + | (BOOTLOADER_PPUSATD0_DPLL0 << _SMU_PPUSATD0_DPLL0_SHIFT) \ + | (BOOTLOADER_PPUSATD0_LFXO << _SMU_PPUSATD0_LFXO_SHIFT) \ + | (BOOTLOADER_PPUSATD0_LFRCO << _SMU_PPUSATD0_LFRCO_SHIFT) \ + | (BOOTLOADER_PPUSATD0_ULFRCO << _SMU_PPUSATD0_ULFRCO_SHIFT) \ + | (BOOTLOADER_PPUSATD0_MSC << _SMU_PPUSATD0_MSC_SHIFT) \ + | (BOOTLOADER_PPUSATD0_ICACHE0 << _SMU_PPUSATD0_ICACHE0_SHIFT) \ + | (BOOTLOADER_PPUSATD0_PRS << _SMU_PPUSATD0_PRS_SHIFT) \ + | (BOOTLOADER_PPUSATD0_GPIO << _SMU_PPUSATD0_GPIO_SHIFT) \ + | (BOOTLOADER_PPUSATD0_LDMA << _SMU_PPUSATD0_LDMA_SHIFT) \ + | (BOOTLOADER_PPUSATD0_LDMAXBAR << _SMU_PPUSATD0_LDMAXBAR_SHIFT) \ + | (BOOTLOADER_PPUSATD0_TIMER0 << _SMU_PPUSATD0_TIMER0_SHIFT) \ + | (BOOTLOADER_PPUSATD0_TIMER1 << _SMU_PPUSATD0_TIMER1_SHIFT) \ + | (BOOTLOADER_PPUSATD0_TIMER2 << _SMU_PPUSATD0_TIMER2_SHIFT) \ + | (BOOTLOADER_PPUSATD0_TIMER3 << _SMU_PPUSATD0_TIMER3_SHIFT) \ + | (BOOTLOADER_PPUSATD0_TIMER4 << _SMU_PPUSATD0_TIMER4_SHIFT) \ + | (BOOTLOADER_PPUSATD0_USART0 << _SMU_PPUSATD0_USART0_SHIFT) \ + | (BOOTLOADER_PPUSATD0_BURTC << _SMU_PPUSATD0_BURTC_SHIFT) \ + | (BOOTLOADER_PPUSATD0_I2C1 << _SMU_PPUSATD0_I2C1_SHIFT) \ + | (BOOTLOADER_PPUSATD0_CHIPTESTCTRL << _SMU_PPUSATD0_CHIPTESTCTRL_SHIFT) \ + | (BOOTLOADER_PPUSATD0_SYSCFGCFGNS << _SMU_PPUSATD0_SYSCFGCFGNS_SHIFT) \ + | (BOOTLOADER_PPUSATD0_SYSCFG << _SMU_PPUSATD0_SYSCFG_SHIFT) \ + | (BOOTLOADER_PPUSATD0_BURAM << _SMU_PPUSATD0_BURAM_SHIFT) \ + | (BOOTLOADER_PPUSATD0_GPCRC << _SMU_PPUSATD0_GPCRC_SHIFT) \ + | (BOOTLOADER_PPUSATD0_DCDC << _SMU_PPUSATD0_DCDC_SHIFT) \ + | (BOOTLOADER_PPUSATD0_HOSTMAILBOX << _SMU_PPUSATD0_HOSTMAILBOX_SHIFT) \ + | (BOOTLOADER_PPUSATD0_EUSART1 << _SMU_PPUSATD0_EUSART1_SHIFT) \ + | (BOOTLOADER_PPUSATD0_SYSRTC << _SMU_PPUSATD0_SYSRTC_SHIFT)) +#define BOOTLOADER_PPUSATD1_MASK ((BOOTLOADER_PPUSATD1_KEYSCAN << _SMU_PPUSATD1_KEYSCAN_SHIFT) \ + | (BOOTLOADER_PPUSATD1_DMEM << _SMU_PPUSATD1_DMEM_SHIFT) \ + | (BOOTLOADER_PPUSATD1_RADIOAES << _SMU_PPUSATD1_RADIOAES_SHIFT) \ + | (BOOTLOADER_PPUSATD1_SMU << _SMU_PPUSATD1_SMU_SHIFT) \ + | (BOOTLOADER_PPUSATD1_SMUCFGNS << _SMU_PPUSATD1_SMUCFGNS_SHIFT) \ + | (BOOTLOADER_PPUSATD1_LETIMER0 << _SMU_PPUSATD1_LETIMER0_SHIFT) \ + | (BOOTLOADER_PPUSATD1_IADC0 << _SMU_PPUSATD1_IADC0_SHIFT) \ + | (BOOTLOADER_PPUSATD1_ACMP0 << _SMU_PPUSATD1_ACMP0_SHIFT) \ + | (BOOTLOADER_PPUSATD1_ACMP1 << _SMU_PPUSATD1_ACMP1_SHIFT) \ + | (BOOTLOADER_PPUSATD1_AMUXCP0 << _SMU_PPUSATD1_AMUXCP0_SHIFT) \ + | (BOOTLOADER_PPUSATD1_VDAC0 << _SMU_PPUSATD1_VDAC0_SHIFT) \ + | (BOOTLOADER_PPUSATD1_VDAC1 << _SMU_PPUSATD1_VDAC1_SHIFT) \ + | (BOOTLOADER_PPUSATD1_PCNT << _SMU_PPUSATD1_PCNT_SHIFT) \ + | (BOOTLOADER_PPUSATD1_HFRCO1 << _SMU_PPUSATD1_HFRCO1_SHIFT) \ + | (BOOTLOADER_PPUSATD1_HFXO0 << _SMU_PPUSATD1_HFXO0_SHIFT) \ + | (BOOTLOADER_PPUSATD1_I2C0 << _SMU_PPUSATD1_I2C0_SHIFT) \ + | (BOOTLOADER_PPUSATD1_WDOG0 << _SMU_PPUSATD1_WDOG0_SHIFT) \ + | (BOOTLOADER_PPUSATD1_WDOG1 << _SMU_PPUSATD1_WDOG1_SHIFT) \ + | (BOOTLOADER_PPUSATD1_EUSART0 << _SMU_PPUSATD1_EUSART0_SHIFT) \ + | (BOOTLOADER_PPUSATD1_SEMAILBOX << _SMU_PPUSATD1_SEMAILBOX_SHIFT) \ + | (BOOTLOADER_PPUSATD1_MVP << _SMU_PPUSATD1_MVP_SHIFT) \ + | (BOOTLOADER_PPUSATD1_AHBRADIO << _SMU_PPUSATD1_AHBRADIO_SHIFT)) +#endif // BOOTLOADER_MANUAL_OVERRIDE_SECURITY_STATE + +#endif // BTL_INTERFACE_CFG_S2C4_H diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/circular_queue_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/circular_queue_config.h new file mode 100644 index 00000000..81a7173d --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/circular_queue_config.h @@ -0,0 +1,23 @@ +/***************************************************************************//** + * @file circular_queue_config.h + * @brief Configuration file for circular queue. + * @copyright Copyright 2015 Silicon Laboratories, Inc. www.silabs.com + ******************************************************************************/ + +#ifndef __CIRCULAR_QUEUE_CONFIG_H__ +#define __CIRCULAR_QUEUE_CONFIG_H__ + +// <<< Use Configuration Wizard in Context Menu >>> +// Circular Queue Configuration + +// Max Queue Length +// <0-256:1> +// Default: 5 +#ifndef CIRCULAR_QUEUE_LEN_MAX +#define CIRCULAR_QUEUE_LEN_MAX 16 +#endif + +// +// <<< end of configuration section >>> + +#endif // __CIRCULAR_QUEUE_CONFIG_H__ diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/dmadrv_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/dmadrv_config.h new file mode 100644 index 00000000..ed105e4f --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/dmadrv_config.h @@ -0,0 +1,26 @@ +#ifndef DMADRV_CONFIG_H +#define DMADRV_CONFIG_H + +// <<< Use Configuration Wizard in Context Menu >>> + +// DMA interrupt priority <0-15> +// Priority of the DMA interrupt. Smaller number equals higher priority. +// Default: 8 +#define EMDRV_DMADRV_DMA_IRQ_PRIORITY 8 + +// Number of available channels <1-8> +// Number of DMA channels supported by the driver. A lower channel count +// will reduce RAM memory footprint. The default is to support all channels +// on the device. +// Default: 8 +#define EMDRV_DMADRV_DMA_CH_COUNT 8 + +// Number of fixed priority channels +// This will configure channels [0, CH_PRIORITY - 1] as fixed priority, +// and channels [CH_PRIORITY, CH_COUNT] as round-robin. +// Default: 0 +#define EMDRV_DMADRV_DMA_CH_PRIORITY 0 + +// <<< end of configuration section >>> + +#endif // DMADRV_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/emlib_core_debug_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/emlib_core_debug_config.h new file mode 100644 index 00000000..07ee9b9e --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/emlib_core_debug_config.h @@ -0,0 +1,45 @@ +/***************************************************************************//** + * @file + * @brief emlib_core Configuration + ******************************************************************************* + * # License + * Copyright 2019 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +#ifndef EM_CORE_DEBUG_CONFIG_H +#define EM_CORE_DEBUG_CONFIG_H + +// <<< Use Configuration Wizard in Context Menu >>> + +// Core Configuration + +// Enables measuring of interrupt disable time for debugging purposes. +// Default: 0 +#define SL_EMLIB_CORE_ENABLE_INTERRUPT_DISABLED_TIMING 0 + +// + +// <<< end of configuration section >>> +#endif // EM_CORE_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/nvm3_default_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/nvm3_default_config.h new file mode 100644 index 00000000..48eb5896 --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/nvm3_default_config.h @@ -0,0 +1,45 @@ +#ifndef NVM3_DEFAULT_CONFIG_H +#define NVM3_DEFAULT_CONFIG_H + +// <<< Use Configuration Wizard in Context Menu >>> + +// NVM3 Default Instance Configuration + +#ifndef NVM3_DEFAULT_CACHE_SIZE +// NVM3 Default Instance Cache Size +// Number of NVM3 objects to cache. To reduce access times this number +// should be equal to or higher than the number of NVM3 objects in the +// default NVM3 instance. +// Default: 200 +#define NVM3_DEFAULT_CACHE_SIZE 200 +#endif + +#ifndef NVM3_DEFAULT_MAX_OBJECT_SIZE +// NVM3 Default Instance Max Object Size +// Max NVM3 object size that can be stored. +// Default: 254 +#define NVM3_DEFAULT_MAX_OBJECT_SIZE 254 +#endif + +#ifndef NVM3_DEFAULT_REPACK_HEADROOM +// NVM3 Default Instance User Repack Headroom +// Headroom determining how many bytes below the forced repack limit the user +// repack limit should be placed. The default is 0, which means the user and +// forced repack limits are equal. +// Default: 0 +#define NVM3_DEFAULT_REPACK_HEADROOM 0 +#endif + +#ifndef NVM3_DEFAULT_NVM_SIZE +// NVM3 Default Instance Size +// Size of the NVM3 storage region in flash. This size should be aligned with +// the flash page size of the device. +// Default: 40960 +#define NVM3_DEFAULT_NVM_SIZE 40960 +#endif + +// + +// <<< end of configuration section >>> + +#endif // NVM3_DEFAULT_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/pin_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/pin_config.h new file mode 100644 index 00000000..f3f32908 --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/pin_config.h @@ -0,0 +1,186 @@ +#ifndef PIN_CONFIG_H +#define PIN_CONFIG_H + +// $[CMU] +// [CMU]$ + +// $[LFXO] +// [LFXO]$ + +// $[PRS.ASYNCH0] +// [PRS.ASYNCH0]$ + +// $[PRS.ASYNCH1] +// [PRS.ASYNCH1]$ + +// $[PRS.ASYNCH2] +// [PRS.ASYNCH2]$ + +// $[PRS.ASYNCH3] +// [PRS.ASYNCH3]$ + +// $[PRS.ASYNCH4] +// [PRS.ASYNCH4]$ + +// $[PRS.ASYNCH5] +// [PRS.ASYNCH5]$ + +// $[PRS.ASYNCH6] +// [PRS.ASYNCH6]$ + +// $[PRS.ASYNCH7] +// [PRS.ASYNCH7]$ + +// $[PRS.ASYNCH8] +// [PRS.ASYNCH8]$ + +// $[PRS.ASYNCH9] +// [PRS.ASYNCH9]$ + +// $[PRS.ASYNCH10] +// [PRS.ASYNCH10]$ + +// $[PRS.ASYNCH11] +// [PRS.ASYNCH11]$ + +// $[PRS.ASYNCH12] +// [PRS.ASYNCH12]$ + +// $[PRS.ASYNCH13] +// [PRS.ASYNCH13]$ + +// $[PRS.ASYNCH14] +// [PRS.ASYNCH14]$ + +// $[PRS.ASYNCH15] +// [PRS.ASYNCH15]$ + +// $[PRS.SYNCH0] +// [PRS.SYNCH0]$ + +// $[PRS.SYNCH1] +// [PRS.SYNCH1]$ + +// $[PRS.SYNCH2] +// [PRS.SYNCH2]$ + +// $[PRS.SYNCH3] +// [PRS.SYNCH3]$ + +// $[GPIO] +// GPIO SWV on PA03 +#ifndef GPIO_SWV_PORT +#define GPIO_SWV_PORT gpioPortA +#endif +#ifndef GPIO_SWV_PIN +#define GPIO_SWV_PIN 3 +#endif +// [GPIO]$ + +// $[TIMER0] +// [TIMER0]$ + +// $[TIMER1] +// [TIMER1]$ + +// $[TIMER2] +// [TIMER2]$ + +// $[TIMER3] +// [TIMER3]$ + +// $[TIMER4] +// [TIMER4]$ + +// $[USART0] +// USART0 CTS on PA07 +#ifndef USART0_CTS_PORT +#define USART0_CTS_PORT gpioPortA +#endif +#ifndef USART0_CTS_PIN +#define USART0_CTS_PIN 7 +#endif + +// USART0 RTS on PA08 +#ifndef USART0_RTS_PORT +#define USART0_RTS_PORT gpioPortA +#endif +#ifndef USART0_RTS_PIN +#define USART0_RTS_PIN 8 +#endif + +// USART0 RX on PA05 +#ifndef USART0_RX_PORT +#define USART0_RX_PORT gpioPortA +#endif +#ifndef USART0_RX_PIN +#define USART0_RX_PIN 5 +#endif + +// USART0 TX on PA06 +#ifndef USART0_TX_PORT +#define USART0_TX_PORT gpioPortA +#endif +#ifndef USART0_TX_PIN +#define USART0_TX_PIN 6 +#endif + +// [USART0]$ + +// $[I2C1] +// [I2C1]$ + +// $[EUSART1] +// [EUSART1]$ + +// $[KEYSCAN] +// [KEYSCAN]$ + +// $[LETIMER0] +// [LETIMER0]$ + +// $[IADC0] +// [IADC0]$ + +// $[ACMP0] +// [ACMP0]$ + +// $[ACMP1] +// [ACMP1]$ + +// $[VDAC0] +// [VDAC0]$ + +// $[VDAC1] +// [VDAC1]$ + +// $[PCNT0] +// [PCNT0]$ + +// $[HFXO0] +// [HFXO0]$ + +// $[I2C0] +// [I2C0]$ + +// $[EUSART0] +// [EUSART0]$ + +// $[PTI] +// [PTI]$ + +// $[MODEM] +// [MODEM]$ + +// $[CUSTOM_PIN_NAME] +#ifndef _PORT +#define _PORT gpioPortA +#endif +#ifndef _PIN +#define _PIN 0 +#endif + +// [CUSTOM_PIN_NAME]$ + +#endif // PIN_CONFIG_H + diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/psa_crypto_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/psa_crypto_config.h new file mode 100644 index 00000000..05af353c --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/psa_crypto_config.h @@ -0,0 +1,170 @@ +#ifndef PSA_CRYPTO_CONFIG_H +#define PSA_CRYPTO_CONFIG_H + +// ----------------------------------------------------------------------------- +// User exposed config options + +// <<< Use Configuration Wizard in Context Menu >>> + +// Key management configuration + +// PSA User Maximum Open Keys Count <0-128> +// Maximum amount of keys that the user application will have open +// simultaneously. In context of PSA Crypto, an open key means any key +// either stored in RAM (lifetime set to PSA_KEY_LIFETIME_VOLATILE), or +// used as part of a cryptographic operation. +// When using a key for a multi-part (setup/update/finish) operation, a key +// is considered to be open from the moment the operation is successfully +// setup, until it finishes or aborts. +// When an application tries to open more keys than this value accounts for, +// the PSA API may return PSA_ERROR_INSUFFICIENT_MEMORY. Keep in mind that +// other software included in the application (e.g. wireless protocol stacks) +// also can have a need to have open keys in PSA Crypto. This could lead to +// a race condition when the application key slot count is set too low for +// the actual usage of the application, as a software stack may not fail +// gracefully in case an application opens more than its declared amount of +// keys, thereby precluding the stack from functioning. +// Default: 4 +#define SL_PSA_KEY_USER_SLOT_COUNT 0 + +// PSA Maximum User Persistent Keys Count <0-1024> +// Maximum amount of keys (or other files) that can be stored persistently +// by the application through the PSA interface, when persistent storage +// support for PSA Crypto is included in the project. +// Due to caching logic, this setting does have an impact on static RAM usage. +// Note that this number is added to the potential requirements from other +// software components in the project, such that the total amount of keys +// which can be stored through the ITS backend can be higher than what is +// configured here. +// +// WARNING: When changing this setting on an application that is already +// deployed, and thus will get the change through an application upgrade, +// care should be taken to ensure that the setting is only ever increased, +// and never decreased. Decreasing this setting might cause previously +// stored keys/files to become inaccessible. +// +// It is not possible to change this setting when using V3 ITS Driver. +// The file-storage indexing is dependent on the maximum number of files, +// and if SL_PSA_ITS_USER_MAX_FILES is changed, ITS should be cleared and +// all files need to be stored again. +// Default: 128 +#define SL_PSA_ITS_USER_MAX_FILES (128) + +// Enable V1 Format Support For ITS Files <0-1> +// Devices that used PSA ITS together with gecko_sdk_3.1.x or earlier +// might have keys (or other files) stored in V1 format. +// If no v1 files are used, its support can be disabled for space +// optimization. +// Default: 0 +#define SL_PSA_ITS_SUPPORT_V1_DRIVER 0 + +// Enable V2 ITS Driver Support <0-1> +// Devices that have used GSDK 4.1.x and earlier, and used ITS have the keys +// (or other files) stored using different address range. Enabling this +// config option adds upgrade code which converts V2 (and V1 if +// supported) format ITS keys/files to the latest V3 format. Update is +// fully automatic, needs to be run once and require extra flash space of +// approximately the size of the largest key. +// V1 ITS driver support can be disabled if the device has never used ITS +// driver before in GSDK 4.1.x and earlier, or the keys has been already +// migrated. +// Default: 0 +#define SL_PSA_ITS_SUPPORT_V2_DRIVER 0 + +// Enable support for V3 ITS Driver <0-1> +// Devices that have used GSDK 4.1.x and earlier, and used ITS have the keys +// (or other files) stored using different address range. In rare case +// that those devices have full nvm3 and not enough space for the +// upgrade, (that requires an extra space to store largest key in memory +// twice), this config option can disable v3 driver and use v2 one. +// To upgrade the device, make space for the upgrade, and enable v3 driver again. +// +// WARNING: When using V3 driver, it is not possible to increase or decrease +// the value of SL_PSA_ITS_USER_MAX_FILES. If the change of +// SL_PSA_ITS_USER_MAX_FILES is required, ITS should be cleared and +// all files need to be stored again. +// Default: 1 +#define SL_PSA_ITS_SUPPORT_V3_DRIVER 1 + +// Built-in AES Key Mode of Operation +// CTR Mode +// CFB Mode +// OFB Mode +// ECB Mode +// CBC Mode (no padding) +// CBC Mode (PKCS#7 padding) +// PSA Crypto only allows one specific usage algorithm per built-in key ID. +// Default: PSA_ALG_CTR +#define SL_SE_BUILTIN_KEY_AES128_ALG_CONFIG (PSA_ALG_CTR) + +#ifndef SL_CRYPTOACC_BUILTIN_KEY_PUF_ALG +// Built-in PUF Key Algorithm +// PBKDF2 (CMAC-AES-128-PRF) +// CMAC +// PSA Crypto only allows one specific usage algorithm per built-in key ID. +// It is recommended to only use the PUF key for deriving further key +// material. +// Default: PSA_ALG_PBKDF2_AES_CMAC_PRF_128 +#define SL_CRYPTOACC_BUILTIN_KEY_PUF_ALG (PSA_ALG_PBKDF2_AES_CMAC_PRF_128) +#endif // SL_CRYPTOACC_BUILTIN_KEY_PUF_ALG + +// + +// Power optimization configuration + +// Store already-generated random bytes before putting the device to sleep +// Using the hardware TRNG (for example through psa_generate_random()) will +// consume a non-negligible amount of power. A start-up routine must pass +// and a relatively large minimum amount of random bytes will be generated. +// Use cases where the device is frequently entering EM2/EM3 and thereafter +// consumes a small amount of data from the TRNG may benefit from buffering +// the existing random bytes before putting the device to sleep. These +// buffered bytes are then consumed until exhaustion before the TRNG needs +// to be initialized and used again. +// +// NOTE: this configuration option is only applicable for devices with a +// Virtual Secure Engine (VSE), and requires the 'Power Manager' component +// to be included in the project. +// +// Default: 0 +#define SL_VSE_BUFFER_TRNG_DATA_DURING_SLEEP (0) + +// Number of random words to buffer before putting the device to sleep <1-63> +// This option can be used to decrease the amount of random words that +// (if enabled) are buffered before the device enters EM2/EM3. Lowering this +// number will result in less static RAM usage, but also means that the TRNG +// potentially has to be initialized more times--leading to increased power +// consumption. By default this option in configured to buffer as much TRNG +// data as possible (limited by the depth of the TRNG FIFO). +// +// NOTE: this configuration option is only applicable when +// SL_VSE_BUFFER_TRNG_DATA_DURING_SLEEP is enabled. +// +// Default: 63 +#define SL_VSE_MAX_TRNG_WORDS_BUFFERED_DURING_SLEEP (63) +// + +// + +// <<< end of configuration section >>> + +// ----------------------------------------------------------------------------- +// Sub-files + +#if defined(SLI_PSA_CONFIG_AUTOGEN_OVERRIDE_FILE) + #include SLI_PSA_CONFIG_AUTOGEN_OVERRIDE_FILE +#else + #include "sli_psa_config_autogen.h" +#endif + +#if defined(TFM_CONFIG_SL_SECURE_LIBRARY) + #include "sli_psa_tfm_translation.h" +#endif + +#if SL_MBEDTLS_DRIVERS_ENABLED + #include "sli_psa_acceleration.h" +#endif + +#include "sli_psa_builtin_config_autogen.h" + +#endif // PSA_CRYPTO_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_bluetooth_advertiser_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_bluetooth_advertiser_config.h new file mode 100644 index 00000000..9607cb02 --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_bluetooth_advertiser_config.h @@ -0,0 +1,45 @@ +/***************************************************************************//** + * @file + * @brief Bluetooth Advertiser configuration + ******************************************************************************* + * # License + * Copyright 2023 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied warranty. + * In no event will the authors be held liable for any damages arising from the + * use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software in a + * product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +#ifndef SL_BT_ADVERTISER_CONFIG_H +#define SL_BT_ADVERTISER_CONFIG_H + +// <<< Use Configuration Wizard in Context Menu >>> +// Max number of advertising sets reserved for user <0-255> +// Default: 1 +// Define the number of advertising sets that the application needs to use concurrently. Note that all types of advertising uses the same pool of advertising sets, but periodic advertising has extra configuration to define the number of advertising sets that are capable of periodic advertising. +// +// Specifically, if the component "bluetooth_feature_periodic_advertiser" is used, its configuration SL_BT_CONFIG_MAX_PERIODIC_ADVERTISERS specifies how many of the SL_BT_CONFIG_USER_ADVERTISERS advertising sets are capable of periodic advertising. Similarly, if the component bluetooth_feature_pawr_advertiser is used, its configuration SL_BT_CONFIG_MAX_PAWR_ADVERTISERS specifies how many of the periodic advertising sets are capable of Periodic Advertising with Responses. +// +// The configuration values must satisfy the condition SL_BT_CONFIG_USER_ADVERTISERS >= SL_BT_CONFIG_MAX_PERIODIC_ADVERTISERS >= SL_BT_CONFIG_MAX_PAWR_ADVERTISERS. +#define SL_BT_CONFIG_USER_ADVERTISERS 3 +// <<< end of configuration section >>> + +#endif diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_bluetooth_connection_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_bluetooth_connection_config.h new file mode 100644 index 00000000..73a38250 --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_bluetooth_connection_config.h @@ -0,0 +1,48 @@ +/***************************************************************************//** + * @file + * @brief Bluetooth Connection configuration + ******************************************************************************* + * # License + * Copyright 2023 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied warranty. + * In no event will the authors be held liable for any damages arising from the + * use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software in a + * product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +#ifndef SL_BT_CONNECTION_CONFIG_H +#define SL_BT_CONNECTION_CONFIG_H + +// <<< Use Configuration Wizard in Context Menu >>> +// Max number of connections reserved for user <0-32> +// Default: 4 +// Define the number of connections the application needs. +#define SL_BT_CONFIG_MAX_CONNECTIONS (4) + +// Preferred maximum TX payload octets <27-251> +// Default: 251 +// Define the preferred maximum TX payload octets that will be used on connections. +// This value is set to the controller as the default suggested data length when +// Bluetooth stack is started. +#define SL_BT_CONFIG_CONNECTION_DATA_LENGTH (251) + +// <<< end of configuration section >>> +#endif diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_btctrl_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_btctrl_config.h new file mode 100644 index 00000000..ba98b762 --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_btctrl_config.h @@ -0,0 +1,37 @@ +#ifndef SL_BTCTRL_CONFIG_H +#define SL_BTCTRL_CONFIG_H + +// <<< Use Configuration Wizard in Context Menu >>> + +// Bluetooth Controller Configuration + +// Bluetooth Controller Buffer Memory +// Default: SL_BT_CONTROLLER_BUFFER_MEMORY +// Define the Amount of memory to allocate for tx/rx buffers in Bluetooth Controller +#define SL_BT_CONTROLLER_BUFFER_MEMORY (8192) + +// Bluetooth Controller ACL data packets that can be stored +// Default: SL_BT_CONTROLLER_LE_BUFFER_SIZE_MAX +// Define the total number of the maximum sized ACL data packets that can be received from the host +#define SL_BT_CONTROLLER_LE_BUFFER_SIZE_MAX (3) + +// Total transmitted packets threshold for all connections to send the Number Of Completed Packets HCI event to the host <1-255> +// Default: 4 +// Define the number of transmitted air interface ACL packets to trigger the Number Of Completed Packets HCI event. +#define SL_BT_CONTROLLER_COMPLETED_PACKETS_THRESHOLD (4) + +// Number of connection events to send the Number Of Completed Packets HCI event to the host <1-255> +// Default: 3 +// Define the maximum number of connection events since the previous Number Of Completed Packets HCI event to trigger reporting of any unreported completed ACL packets. +#define SL_BT_CONTROLLER_COMPLETED_PACKETS_EVENTS_TIMEOUT (3) + +// Maximum number of queued advertisement reports <1-255> +// Default: 10 +// Define the maximum number of queued advertisement reports. Additional advertisement reports are dropped. +#define SL_BT_CONFIG_MAX_QUEUED_ADV_REPORTS (10) + +// Bluetooth Controller Configuration + +// <<< end of configuration section >>> + +#endif // SL_BTCTRL_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_btctrl_rtos_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_btctrl_rtos_config.h new file mode 100644 index 00000000..945ebcfb --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_btctrl_rtos_config.h @@ -0,0 +1,24 @@ +#ifndef SL_BTCTRL_RTOS_CONFIG_H +#define SL_BTCTRL_RTOS_CONFIG_H + +// <<< Use Configuration Wizard in Context Menu >>> + +// Priority Configuration for Bluetooth RTOS Tasks + +// Bluetooth link layer task priority +// Default: 52 (CMSIS-RTOS2 osPriorityRealtime4) +// Define the priority of the Bluetooth link layer task. This must be a valid +// priority value from CMSIS-RTOS2 osPriority_t definition. +#define SL_BTCTRL_RTOS_LINK_LAYER_TASK_PRIORITY (52) + +// Bluetooth link layer task stack size in bytes +// Default: 1000 +// Define the stack size of the Bluetooth link layer task. The value is in bytes +// and will be word aligned when it is applied at the task creation. +#define SL_BTCTRL_RTOS_LINK_LAYER_TASK_STACK_SIZE (1000) + +// End Priority Configuration for Bluetooth RTOS Tasks + +// <<< end of configuration section >>> + +#endif // SL_BT_RTOS_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_clock_manager_oscillator_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_clock_manager_oscillator_config.h new file mode 100644 index 00000000..d43f5e6d --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_clock_manager_oscillator_config.h @@ -0,0 +1,321 @@ +/***************************************************************************//** + * @file + * @brief Clock Manager - Oscillators configuration file. + ******************************************************************************* + * # License + * Copyright 2024 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +// <<< Use Configuration Wizard in Context Menu >>> + +#ifndef SL_CLOCK_MANAGER_OSCILLATOR_CONFIG_H +#define SL_CLOCK_MANAGER_OSCILLATOR_CONFIG_H + +// Oscillators Settings + +// HFXO Settings (if High Frequency crystal is used) +// Enable to configure HFXO +#ifndef SL_CLOCK_MANAGER_HFXO_EN +#define SL_CLOCK_MANAGER_HFXO_EN 1 +#endif + +// Mode +// +// XTAL +// EXTCLK +// EXTCLKPKDET +// HFXO_CFG_MODE_XTAL +#ifndef SL_CLOCK_MANAGER_HFXO_MODE +#define SL_CLOCK_MANAGER_HFXO_MODE HFXO_CFG_MODE_XTAL +#endif + +// Frequency <38000000-40000000> +// 39000000 +#ifndef SL_CLOCK_MANAGER_HFXO_FREQ +#define SL_CLOCK_MANAGER_HFXO_FREQ 39000000 +#endif + +// CTUNE <0-255> +// 140 +#ifndef SL_CLOCK_MANAGER_HFXO_CTUNE +#define SL_CLOCK_MANAGER_HFXO_CTUNE 140 +#endif + +// Precision <0-65535> +// 50 +#ifndef SL_CLOCK_MANAGER_HFXO_PRECISION +#define SL_CLOCK_MANAGER_HFXO_PRECISION 50 +#endif + +// HFXO crystal sharing feature +// Enable to configure HFXO crystal sharing leader or follower +#ifndef SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_EN +#define SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_EN 0 +#endif + +// Crystal sharing leader +// Enable to configure HFXO crystal sharing leader +#ifndef SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_LEADER_EN +#define SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_LEADER_EN 0 +#endif + +// Crystal sharing leader minimum startup delay +// If enabled, BUFOUT does not start until timeout set in +// SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_LEADER_TIMEOUT_STARTUP expires. +// This prevents waste of power if BUFOUT is ready too early. +// 1 +#ifndef SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_LEADER_MIN_STARTUP_DELAY_EN +#define SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_LEADER_MIN_STARTUP_DELAY_EN 1 +#endif + +// Wait duration of oscillator startup sequence +// +// T42US +// T83US +// T108US +// T133US +// T158US +// T183US +// T208US +// T233US +// T258US +// T283US +// T333US +// T375US +// T417US +// T458US +// T500US +// T667US +// HFXO_BUFOUTCTRL_TIMEOUTSTARTUP_T208US +#ifndef SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_LEADER_TIMEOUT_STARTUP +#define SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_LEADER_TIMEOUT_STARTUP HFXO_BUFOUTCTRL_TIMEOUTSTARTUP_T208US +#endif +// +// + +// Crystal sharing follower +// Enable to configure HFXO crystal sharing follower +#ifndef SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_FOLLOWER_EN +#define SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_FOLLOWER_EN 0 +#endif +// + +// GPIO Port +// Bufout request GPIO port. If SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_LEADER_EN +// is enabled, this port will be used to receive the BUFOUT request. If +// SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_FOLLOWER_EN is enabled this port +// will be used to request BUFOUT from the crystal sharing leader. +#ifndef SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_GPIO_PORT +#define SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_GPIO_PORT 0 +#endif + +// GPIO Pin +// Bufout request GPIO pin. If SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_LEADER_EN +// is enabled, this pin will be used to receive the BUFOUT request. If +// SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_FOLLOWER_EN is enabled this pin +// will be used to request BUFOUT from the crystal sharing leader. +#ifndef SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_GPIO_PIN +#define SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_GPIO_PIN 10 +#endif +// +// + +// LFXO Settings (if Low Frequency crystal is used) +// Enable to configure LFXO +#ifndef SL_CLOCK_MANAGER_LFXO_EN +#define SL_CLOCK_MANAGER_LFXO_EN 1 +#endif + +// Mode +// +// XTAL +// BUFEXTCLK +// DIGEXTCLK +// LFXO_CFG_MODE_XTAL +#ifndef SL_CLOCK_MANAGER_LFXO_MODE +#define SL_CLOCK_MANAGER_LFXO_MODE LFXO_CFG_MODE_XTAL +#endif + +// CTUNE <0-127> +// 63 +#ifndef SL_CLOCK_MANAGER_LFXO_CTUNE +#define SL_CLOCK_MANAGER_LFXO_CTUNE 63 +#endif + +// LFXO precision in PPM <0-65535> +// 50 +#ifndef SL_CLOCK_MANAGER_LFXO_PRECISION +#define SL_CLOCK_MANAGER_LFXO_PRECISION 50 +#endif + +// Startup Timeout Delay +// +// CYCLES2 +// CYCLES256 +// CYCLES1K +// CYCLES2K +// CYCLES4K +// CYCLES8K +// CYCLES16K +// CYCLES32K +// LFXO_CFG_TIMEOUT_CYCLES4K +#ifndef SL_CLOCK_MANAGER_LFXO_TIMEOUT +#define SL_CLOCK_MANAGER_LFXO_TIMEOUT LFXO_CFG_TIMEOUT_CYCLES4K +#endif +// + +// HFRCO and DPLL Settings +// Frequency Band +// RC Oscillator Frequency Band +// 1 MHz +// 2 MHz +// 4 MHz +// 7 MHz +// 13 MHz +// 16 MHz +// 19 MHz +// 26 MHz +// 32 MHz +// 38 MHz +// 48 MHz +// 56 MHz +// 64 MHz +// 80 MHz +// cmuHFRCODPLLFreq_80M0Hz +#ifndef SL_CLOCK_MANAGER_HFRCO_BAND +#define SL_CLOCK_MANAGER_HFRCO_BAND cmuHFRCODPLLFreq_80M0Hz +#endif + +// Use DPLL +// Enable to use the DPLL with HFRCO +#ifndef SL_CLOCK_MANAGER_HFRCO_DPLL_EN +#define SL_CLOCK_MANAGER_HFRCO_DPLL_EN 0 +#endif + +// Target Frequency <1000000-80000000> +// DPLL target frequency +// 78000000 +#ifndef SL_CLOCK_MANAGER_DPLL_FREQ +#define SL_CLOCK_MANAGER_DPLL_FREQ 78000000 +#endif + +// Numerator (N) <300-4095> +// Value of N for output frequency calculation fout = fref * (N+1) / (M+1) +// 3839 +#ifndef SL_CLOCK_MANAGER_DPLL_N +#define SL_CLOCK_MANAGER_DPLL_N 3839 +#endif + +// Denominator (M) <0-4095> +// Value of M for output frequency calculation fout = fref * (N+1) / (M+1) +// 1919 +#ifndef SL_CLOCK_MANAGER_DPLL_M +#define SL_CLOCK_MANAGER_DPLL_M 1919 +#endif + +// Reference Clock +// Reference clock source for DPLL +// DISABLED +// HFXO +// LFXO +// CMU_DPLLREFCLKCTRL_CLKSEL_HFXO +#ifndef SL_CLOCK_MANAGER_DPLL_REFCLK +#define SL_CLOCK_MANAGER_DPLL_REFCLK CMU_DPLLREFCLKCTRL_CLKSEL_HFXO +#endif + +// Reference Clock Edge Detect +// Edge detection for reference clock +// Falling Edge +// Rising Edge +// cmuDPLLEdgeSel_Fall +#ifndef SL_CLOCK_MANAGER_DPLL_EDGE +#define SL_CLOCK_MANAGER_DPLL_EDGE cmuDPLLEdgeSel_Fall +#endif + +// DPLL Lock Mode +// Lock mode +// Frequency-Lock Loop +// Phase-Lock Loop +// cmuDPLLLockMode_Freq +#ifndef SL_CLOCK_MANAGER_DPLL_LOCKMODE +#define SL_CLOCK_MANAGER_DPLL_LOCKMODE cmuDPLLLockMode_Phase +#endif + +// Automatic Lock Recovery +// 1 +#ifndef SL_CLOCK_MANAGER_DPLL_AUTORECOVER +#define SL_CLOCK_MANAGER_DPLL_AUTORECOVER 1 +#endif + +// Enable Dither +// 0 +#ifndef SL_CLOCK_MANAGER_DPLL_DITHER +#define SL_CLOCK_MANAGER_DPLL_DITHER 0 +#endif +// +// + +// HFRCOEM23 Settings +// Frequency Band +// RC Oscillator Frequency Band +// 1 MHz +// 2 MHz +// 4 MHz +// 13 MHz +// 16 MHz +// 19 MHz +// 26 MHz +// 32 MHz +// 40 MHz +// cmuHFRCOEM23Freq_19M0Hz +#ifndef SL_CLOCK_MANAGER_HFRCOEM23_BAND +#define SL_CLOCK_MANAGER_HFRCOEM23_BAND cmuHFRCOEM23Freq_19M0Hz +#endif +// + +// LFRCO Settings +// Precision Mode +// Precision mode uses hardware to automatically re-calibrate the LFRCO +// against a crystal driven by the HFXO. Hardware detects temperature +// changes and initiates a re-calibration of the LFRCO as needed when +// operating in EM0, EM1, or EM2. If a re-calibration is necessary and the +// HFXO is not active, the precision mode hardware will automatically +// enable HFXO for a short time to perform the calibration. EM4 operation is +// not allowed while precision mode is enabled. +// If high precision is selected on devices that do not support it, default +// precision will be used. +// Default precision +// High precision +// cmuPrecisionDefault +#ifndef SL_CLOCK_MANAGER_LFRCO_PRECISION +#define SL_CLOCK_MANAGER_LFRCO_PRECISION cmuPrecisionDefault +#endif +// + +// + +#endif /* SL_CLOCK_MANAGER_OSCILLATOR_CONFIG_H */ + +// <<< end of configuration section >>> diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_clock_manager_tree_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_clock_manager_tree_config.h new file mode 100644 index 00000000..ef8ba96e --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_clock_manager_tree_config.h @@ -0,0 +1,282 @@ +/***************************************************************************//** + * @file + * @brief Clock Manager - Clock Tree configuration file. + ******************************************************************************* + * # License + * Copyright 2024 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +// <<< Use Configuration Wizard in Context Menu >>> + +#ifndef SL_CLOCK_MANAGER_TREE_CONFIG_H +#define SL_CLOCK_MANAGER_TREE_CONFIG_H + +// Internal Defines: DO NOT MODIFY +// Those defines are used internally to help converting the DEFAULT_HF_CLOCK_SOURCE and DEFAULT_LF_CLOCK_SOURCE +// selection of each clock branch to the right HW register value. +#define SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE_HFRCODPLL 0xFF +#define SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE_HFXO 0xFE +#define SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE_FSRCO 0xFD +#define SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE_LFRCO 0xFC +#define SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE_LFXO 0xFB +#define SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE_ULFRCO 0xFA + +// Clock Tree Settings + +// Default Clock Source Selection for HF clock branches +// HFRCODPLL +// HFXO +// FSRCO +// Selection of the high frequency clock source. HF clock branches can select this value by chosing the DEFAULT_HF value. +// SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE_HFRCODPLL +#ifndef SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE +#define SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE_HFRCODPLL +#endif + +// Default Clock Source Selection for LF clock branches +// LFRCO +// LFXO +// ULFRCO +// Selection of the low frequency clock source. LF clock branches can select this value by chosing the DEFAULT_HF value. +// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE_LFRCO +#ifndef SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE +#define SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE_LFRCO +#endif + +// System Clock Branch Settings + +// Clock Source Selection for SYSCLK branch +// DEFAULT_HF +// FSRCO +// HFRCODPLL +// HFXO +// Selection of the Clock source for SYSCLK +// SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE +#ifndef SL_CLOCK_MANAGER_SYSCLK_SOURCE +#define SL_CLOCK_MANAGER_SYSCLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE +#endif + +// HCLK branch divider +// DIV1 +// DIV2 +// DIV4 +// DIV8 +// DIV16 +// HCLK branch is derived from SYSCLK. This clock drives the AHB bus interface. +// CMU_SYSCLKCTRL_HCLKPRESC_DIV1 +#ifndef SL_CLOCK_MANAGER_HCLK_DIVIDER +#define SL_CLOCK_MANAGER_HCLK_DIVIDER CMU_SYSCLKCTRL_HCLKPRESC_DIV1 +#endif + +// PCLK branch divider +// DIV1 +// DIV2 +// PCLK branch is derived from HCLK. This clock drives the APB bus interface. +// CMU_SYSCLKCTRL_PCLKPRESC_DIV2 +#ifndef SL_CLOCK_MANAGER_PCLK_DIVIDER +#define SL_CLOCK_MANAGER_PCLK_DIVIDER CMU_SYSCLKCTRL_PCLKPRESC_DIV2 +#endif + +// + +// Trace Clock Branches Settings +// Clock Source Selection for TRACECLK branch +// DISABLE +// SYSCLK +// HFRCOEM23 +// HFRCODPLLRT +// Selection of the Clock source for TRACECLK +// CMU_TRACECLKCTRL_CLKSEL_SYSCLK +#ifndef SL_CLOCK_MANAGER_TRACECLK_SOURCE +#define SL_CLOCK_MANAGER_TRACECLK_SOURCE CMU_TRACECLKCTRL_CLKSEL_SYSCLK +#endif + +// TRACECLK branch Divider +// DIV1 +// DIV2 +// DIV3 +// DIV4 +// Selection of the divider value for TRACECLK branch +// CMU_TRACECLKCTRL_PRESC_DIV1 +#ifndef SL_CLOCK_MANAGER_TRACECLK_DIVIDER +#define SL_CLOCK_MANAGER_TRACECLK_DIVIDER CMU_TRACECLKCTRL_PRESC_DIV1 +#endif + +// + +// High Frequency Clock Branches Settings +// Each HF Clock Tree branch can be customized, else the same clock source as for SYSCLK will be used when possible +// EM01GRPACLK clock the Timer peripherals +// Clock Source Selection for EM01GRPACLK branch +// DEFAULT_HF +// HFRCODPLL +// HFXO +// FSRCO +// HFRCOEM23 +// HFRCODPLLRT +// HFXORT +// Selection of the Clock source for EM01GRPACLK +// SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE +#ifndef SL_CLOCK_MANAGER_EM01GRPACLK_SOURCE +#define SL_CLOCK_MANAGER_EM01GRPACLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE +#endif + +// Clock Source Selection for EM01GRPCCLK branch +// DEFAULT_HF +// HFRCODPLL +// HFXO +// FSRCO +// HFRCOEM23 +// HFRCODPLLRT +// HFXORT +// Selection of the Clock source for EM01GRPCCLK +// SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE +#ifndef SL_CLOCK_MANAGER_EM01GRPCCLK_SOURCE +#define SL_CLOCK_MANAGER_EM01GRPCCLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE +#endif + +// Clock Source Selection for IADCCLK branch +// EM01GRPACLK +// FSRCO +// HFRCOEM23 +// Selection of the Clock source for IADCCLK +// CMU_IADCCLKCTRL_CLKSEL_EM01GRPACLK +#ifndef SL_CLOCK_MANAGER_IADCCLK_SOURCE +#define SL_CLOCK_MANAGER_IADCCLK_SOURCE CMU_IADCCLKCTRL_CLKSEL_EM01GRPACLK +#endif + +// + +// Low Frequency Clock Branches Settings + +// Clock Source Selection for EM23GRPACLK branch +// DEFAULT_LF +// LFRCO +// LFXO +// ULFRCO +// Selection of the Clock source for EM23GRPACLK +// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE +#ifndef SL_CLOCK_MANAGER_EM23GRPACLK_SOURCE +#define SL_CLOCK_MANAGER_EM23GRPACLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE +#endif + +// Clock Source Selection for EM4GRPACLK branch +// DEFAULT_LF +// LFRCO +// LFXO +// ULFRCO +// Selection of the Clock source for EM4GRPACLK +// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE +#ifndef SL_CLOCK_MANAGER_EM4GRPACLK_SOURCE +#define SL_CLOCK_MANAGER_EM4GRPACLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE +#endif + +// Clock Source Selection for SYSRTCCLK branch +// DEFAULT_LF +// LFRCO +// LFXO +// ULFRCO +// Selection of the Clock source for SYSRTCCLK +// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE +#ifndef SL_CLOCK_MANAGER_SYSRTCCLK_SOURCE +#define SL_CLOCK_MANAGER_SYSRTCCLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE +#endif + +// Clock Source Selection for WDOG0CLK branch +// DEFAULT_LF +// LFRCO +// LFXO +// ULFRCO +// HCLKDIV1024 +// Selection of the Clock source for WDOG0CLK +// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE +#ifndef SL_CLOCK_MANAGER_WDOG0CLK_SOURCE +#define SL_CLOCK_MANAGER_WDOG0CLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE +#endif + +// Clock Source Selection for WDOG1CLK branch +// DEFAULT_LF +// LFRCO +// LFXO +// ULFRCO +// HCLKDIV1024 +// Selection of the Clock source for WDOG1CLK +// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE +#ifndef SL_CLOCK_MANAGER_WDOG1CLK_SOURCE +#define SL_CLOCK_MANAGER_WDOG1CLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE +#endif + +// Clock Source Selection for PCNT0CLK branch +// DISABLED +// EM23GRPACLK +// PCNTS0 +// Selection of the Clock source for PCNT0CLK +// CMU_PCNT0CLKCTRL_CLKSEL_EM23GRPACLK +#ifndef SL_CLOCK_MANAGER_PCNT0CLK_SOURCE +#define SL_CLOCK_MANAGER_PCNT0CLK_SOURCE CMU_PCNT0CLKCTRL_CLKSEL_EM23GRPACLK +#endif + +// + +// Mixed Frequency Clock Branch Settings +// Clock Source Selection for EUSART0CLK branch +// DISABLED +// EM01GRPCCLK +// HFRCOEM23 +// LFRCO +// LFXO +// Selection of the Clock source for EUSART0CLK +// CMU_EUSART0CLKCTRL_CLKSEL_EM01GRPCCLK +#ifndef SL_CLOCK_MANAGER_EUSART0CLK_SOURCE +#define SL_CLOCK_MANAGER_EUSART0CLK_SOURCE CMU_EUSART0CLKCTRL_CLKSEL_EM01GRPCCLK +#endif + +// Clock Source Selection for SYSTICKCLK branch +// <0=> HCLK +// <1=> EM23GRPACLK +// Selection of the Clock source for SYSTICKCLK +// 0 +#ifndef SL_CLOCK_MANAGER_SYSTICKCLK_SOURCE +#define SL_CLOCK_MANAGER_SYSTICKCLK_SOURCE 0 +#endif + +// Clock Source Selection for VDAC0CLK branch +// DISABLED +// EM01GRPACLK +// EM23GRPACLK +// FSRCO +// HFRCOEM23 +// Selection of the Clock source for VDAC0CLK +// CMU_VDAC0CLKCTRL_CLKSEL_EM01GRPACLK +#ifndef SL_CLOCK_MANAGER_VDAC0CLK_SOURCE +#define SL_CLOCK_MANAGER_VDAC0CLK_SOURCE CMU_VDAC0CLKCTRL_CLKSEL_EM01GRPACLK +#endif + +// +// + +#endif /* SL_CLOCK_MANAGER_TREE_CONFIG_H */ + +// <<< end of configuration section >>> diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_core_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_core_config.h new file mode 100644 index 00000000..27b173d2 --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_core_config.h @@ -0,0 +1,44 @@ +/***************************************************************************//** + * @file + * @brief sl_core Configuration + ******************************************************************************* + * # License + * Copyright 2023 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +#ifndef SL_CORE_CONFIG_H +#define SL_CORE_CONFIG_H + +// <<< Use Configuration Wizard in Context Menu >>> + +// Core Abstraction Configuration + +// Enables measurement of interrupt masking time for debugging purposes. +// Default: 0 +#define SL_CORE_DEBUG_INTERRUPTS_MASKED_TIMING 0 +// + +// <<< end of configuration section >>> +#endif // SL_CORE_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_cpc_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_cpc_config.h new file mode 100644 index 00000000..514b365d --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_cpc_config.h @@ -0,0 +1,83 @@ +/***************************************************************************//** + * @file + * @brief CPC configuration file. + ******************************************************************************* + * # License + * Copyright 2020 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +// <<< Use Configuration Wizard in Context Menu >>> + +#ifndef SL_CPC_CONFIG_H +#define SL_CPC_CONFIG_H + +// CPC Configuration + +// Use a lookup table to speedup CRC calculation +// Default: 0 +// Enabling this features speeds up the CRC computation at the cost of using an additional 512 (256 x sizeof uint16_t) bytes or memory for the LUT +#define SL_CPC_USE_PRE_HASHED_CRC_TABLE 0 + +// Max Rx Payload Length<1-4087> +// Default: 256 +// Maximum size of the payload in bytes of each RX buffer +#define SL_CPC_RX_PAYLOAD_MAX_LENGTH (256) + +// Tx Queue Size +// Default: 20 +// The maximum number of outgoing messages capable of being queued for transmission. +#define SL_CPC_TX_QUEUE_ITEM_MAX_COUNT 15 + +// Total Number of Rx Buffers +// Default: 20 +// Total number of CPC RX buffers available across all endpoints +// Multiple RX buffers can be associated with a single endpoint +#define SL_CPC_RX_BUFFER_MAX_COUNT 15 + +// Enable debug core tracing with system view +// Default: 0 +#define SL_CPC_DEBUG_SYSTEM_VIEW_LOG_CORE_EVENT 0 + +// Enable debug endpoint tracing with system view +// Default: 0 +#define SL_CPC_DEBUG_SYSTEM_VIEW_LOG_ENDPOINT_EVENT 0 + +// Enable debug counters for core events +// Default: 0 +#define SL_CPC_DEBUG_CORE_EVENT_COUNTERS 0 + +// Enable debug counters for endpoint events +// Default: 0 +#define SL_CPC_DEBUG_ENDPOINT_EVENT_COUNTERS 0 + +// Enable debug counters for memory allocation +// Default: 0 +#define SL_CPC_DEBUG_MEMORY_ALLOCATOR_COUNTERS 0 + +// + +// <<< end of configuration section >>> + +#endif /* SL_CPC_CONFIG_H */ diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_cpc_drv_uart_usart_vcom_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_cpc_drv_uart_usart_vcom_config.h new file mode 100644 index 00000000..92364ece --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_cpc_drv_uart_usart_vcom_config.h @@ -0,0 +1,102 @@ +/***************************************************************************//** + * @file + * @brief CPC UART driver configuration file. + ******************************************************************************* + * # License + * Copyright 2023 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +// <<< Use Configuration Wizard in Context Menu >>> +#ifndef SL_CPC_DRV_UART_USART_VCOM_CONFIG_H +#define SL_CPC_DRV_UART_USART_VCOM_CONFIG_H + +// CPC - UART Driver Configuration + +// Number of frame that can be queued in the driver receive queue +// Default: 10 +#define SL_CPC_DRV_UART_VCOM_RX_QUEUE_SIZE 10 + +// Number of frame that can be queued in the driver transmit queue +// Default: 10 +#define SL_CPC_DRV_UART_VCOM_TX_QUEUE_SIZE 10 + +// UART Baudrate +// Default: 115200 +#define SL_CPC_DRV_UART_VCOM_BAUDRATE 460800 + +// Flow control +// None +// CTS/RTS +// Default: usartHwFlowControlCtsAndRts +#define SL_CPC_DRV_UART_VCOM_FLOW_CONTROL_TYPE usartHwFlowControlCtsAndRts +// + +// <<< end of configuration section >>> + +// <<< sl:start pin_tool >>> +// SL_CPC_DRV_UART_VCOM +// $[USART_SL_CPC_DRV_UART_VCOM] +#ifndef SL_CPC_DRV_UART_VCOM_PERIPHERAL +#define SL_CPC_DRV_UART_VCOM_PERIPHERAL USART0 +#endif +#ifndef SL_CPC_DRV_UART_VCOM_PERIPHERAL_NO +#define SL_CPC_DRV_UART_VCOM_PERIPHERAL_NO 0 +#endif + +// USART0 TX on PA06 +#ifndef SL_CPC_DRV_UART_VCOM_TX_PORT +#define SL_CPC_DRV_UART_VCOM_TX_PORT gpioPortA +#endif +#ifndef SL_CPC_DRV_UART_VCOM_TX_PIN +#define SL_CPC_DRV_UART_VCOM_TX_PIN 6 +#endif + +// USART0 RX on PA05 +#ifndef SL_CPC_DRV_UART_VCOM_RX_PORT +#define SL_CPC_DRV_UART_VCOM_RX_PORT gpioPortA +#endif +#ifndef SL_CPC_DRV_UART_VCOM_RX_PIN +#define SL_CPC_DRV_UART_VCOM_RX_PIN 5 +#endif + +// USART0 CTS on PA07 +#ifndef SL_CPC_DRV_UART_VCOM_CTS_PORT +#define SL_CPC_DRV_UART_VCOM_CTS_PORT gpioPortA +#endif +#ifndef SL_CPC_DRV_UART_VCOM_CTS_PIN +#define SL_CPC_DRV_UART_VCOM_CTS_PIN 7 +#endif + +// USART0 RTS on PA08 +#ifndef SL_CPC_DRV_UART_VCOM_RTS_PORT +#define SL_CPC_DRV_UART_VCOM_RTS_PORT gpioPortA +#endif +#ifndef SL_CPC_DRV_UART_VCOM_RTS_PIN +#define SL_CPC_DRV_UART_VCOM_RTS_PIN 8 +#endif +// [USART_SL_CPC_DRV_UART_VCOM]$ +// <<< sl:end pin_tool >>> + +#endif /* SL_CPC_DRV_UART_VCOM_CONFIG_H */ diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_cpc_kernel_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_cpc_kernel_config.h new file mode 100644 index 00000000..7e01e898 --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_cpc_kernel_config.h @@ -0,0 +1,99 @@ +/***************************************************************************//** + * @file + * @brief CPC configuration file. + ******************************************************************************* + * # License + * Copyright 2020 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +// <<< Use Configuration Wizard in Context Menu >>> + +#ifndef SL_CPC_KERNEL_CONFIG_H +#define SL_CPC_KERNEL_CONFIG_H + +// CPC Kernel Configuration + +// CPC task priority +// low + 1 +// low + 2 +// low + 3 +// low + 4 +// low + 5 +// low + 6 +// low + 7 +// below normal +// below normal + 1 +// below normal + 2 +// below normal + 3 +// below normal + 4 +// below normal + 5 +// below normal + 6 +// below normal + 7 +// normal +// normal + 1 +// normal + 2 +// normal + 3 +// normal + 4 +// normal + 5 +// normal + 6 +// normal + 7 +// above normal +// above normal + 1 +// above normal + 2 +// above normal + 3 +// above normal + 4 +// above normal + 5 +// above normal + 6 +// above normal + 7 +// high +// high + 1 +// high + 2 +// high + 3 +// high + 4 +// high + 5 +// high + 6 +// high + 7 +// realtime +// realtime + 1 +// realtime + 2 +// realtime + 3 +// realtime + 4 +// realtime + 5 +// realtime + 6 +// realtime + 7 +// Default: osPriorityAboveNormal3 +// CMSIS Priority of the CPC task +#define SL_CPC_TASK_PRIORITY osPriorityAboveNormal3 + +// CPC task stack size in words +// Default: 1024 +// Stack size for the CPC task in words. +#define SL_CPC_TASK_STACK_SIZE (1024) + +// + +// <<< end of configuration section >>> + +#endif /* SL_CPC_KERNEL_CONFIG_H */ diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_cpc_security_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_cpc_security_config.h new file mode 100644 index 00000000..50d2f123 --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_cpc_security_config.h @@ -0,0 +1,55 @@ +/***************************************************************************//** + * @file + * @brief CPC configuration file. + ******************************************************************************* + * # License + * Copyright 2020 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +// <<< Use Configuration Wizard in Context Menu >>> + +#ifndef SL_CPC_SECURITY_CONFIG_H +#define SL_CPC_SECURITY_CONFIG_H + +// CPC Security Configuration + +// Enable encryption using the security endpoint +// Default: 0 +#define SL_CPC_SECURITY_ENABLED 0 + +// Binding key method +// +// The customer provides the key. +// The key is exchanged using the Elliptic-curve Diffie-Hellman algorithm +// The key is plaintext key share. The host sends its encryption key to the secondary +// No binding key is provided +// Default: SL_CPC_SECURITY_BINDING_KEY_ECDH +#define SL_CPC_SECURITY_BINDING_KEY_METHOD SL_CPC_SECURITY_BINDING_KEY_NONE + +// + +// <<< end of configuration section >>> + +#endif /* SL_CPC_CONFIG_H */ diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_device_init_dcdc_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_device_init_dcdc_config.h new file mode 100644 index 00000000..8904e24d --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_device_init_dcdc_config.h @@ -0,0 +1,28 @@ +#ifndef SL_DEVICE_INIT_DCDC_CONFIG_H +#define SL_DEVICE_INIT_DCDC_CONFIG_H + +// <<< Use Configuration Wizard in Context Menu >>> + +// Enable DC/DC Converter +// +// Default: 1 +#define SL_DEVICE_INIT_DCDC_ENABLE 1 + +// Set DC/DC Converter in Bypass Mode +// +// Default: 0 +#define SL_DEVICE_INIT_DCDC_BYPASS 0 + +// Override for DCDC PFMX Mode Peak Current Setting +// +// Default: 0 +#define SL_DEVICE_INIT_DCDC_PFMX_IPKVAL_OVERRIDE 1 + +// DCDC PFMX Mode Peak Current Setting <0-15> +// +// Default: DCDC_PFMXCTRL_IPKVAL_DEFAULT +#define SL_DEVICE_INIT_DCDC_PFMX_IPKVAL 3 + +// <<< end of configuration section >>> + +#endif // SL_DEVICE_INIT_DCDC_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_device_init_emu_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_device_init_emu_config.h new file mode 100644 index 00000000..4ac96bac --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_device_init_emu_config.h @@ -0,0 +1,53 @@ +/***************************************************************************//** + * @file + * @brief DEVICE_INIT_EMU Config + ******************************************************************************* + * # License + * Copyright 2019 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +#ifndef SL_DEVICE_INIT_EMU_CONFIG_H +#define SL_DEVICE_INIT_EMU_CONFIG_H + +#include "em_emu.h" + +// <<< Use Configuration Wizard in Context Menu >>> + +// Allow debugger to remain connected in EM2 +// Force PD0B to stay on on EM2 entry. This allows the debugger to remain connected in EM2 and EM3. +// Enabling debug connectivity results in an increased power consumption in EM2/EM3. +// Default: 1 +#define SL_DEVICE_INIT_EMU_EM2_DEBUG_ENABLE 1 + +// EM4 pin retention mode +// No Retention: Pads enter reset state when entering EM4. +// Retention through EM4: Pads enter reset state when exiting EM4. +// Retention through EM4 and wakeup. +// Default: emuPinRetentionDisable +#define SL_DEVICE_INIT_EMU_EM4_PIN_RETENTION_MODE emuPinRetentionDisable + +// <<< end of configuration section >>> + +#endif // SL_DEVICE_INIT_EMU_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_fem_util_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_fem_util_config.h new file mode 100644 index 00000000..b48e32ab --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_fem_util_config.h @@ -0,0 +1,118 @@ +/***************************************************************************//** + * @file + * @brief Front End Module configuration file. + ******************************************************************************* + * # License + * Copyright 2020 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +#ifndef SL_FEM_UTIL_CONFIG_H +#define SL_FEM_UTIL_CONFIG_H + +#include "em_gpio.h" + +// <<< Use Configuration Wizard in Context Menu >>> +// FEM Configuration +// Enable RX Mode +// Default: 0 +#define SL_FEM_UTIL_RX_ENABLE 0 +// Enable TX Mode +// Default: 0 +#define SL_FEM_UTIL_TX_ENABLE 0 +// Enable Bypass Mode +// Default: 0 +#define SL_FEM_UTIL_BYPASS_ENABLE 0 +// Enable TX High Power Mode +// Default: 0 +#define SL_FEM_UTIL_TX_HIGH_POWER_ENABLE 0 +// + +// Automatic external FEM LNA bypass Configuration +// Enable automatic LNA bypass +// Default: 0 +#define SL_FEM_UTIL_AUTO_LNA_BYPASS_ENABLE 0 +// LNA bypass threshold +// <1-31:1> +// Default: 12 +#define SL_FEM_UTIL_AUTO_LNA_BYPASS_THRESHOLD 12 +// LNA bypass delta RSSI (dBm) +// <1-255:1> +// Default: 15 +#define SL_FEM_UTIL_AUTO_LNA_BYPASS_DELTA_RSSI_DBM 15 +// LNA bypass GPIO polarity +// <0-1:1> +// Default: 1 +#define SL_FEM_UTIL_AUTO_LNA_BYPASS_POLARITY 1 +// LNA bypass timeout (Us) +// <1-65535:1> +// Default: 4000 +#define SL_FEM_UTIL_AUTO_LNA_BYPASS_TIMEOUT_US 4000 +// +// +// <<< end of configuration section >>> + +// <<< sl:start pin_tool >>> +// SL_FEM_UTIL_RX +// $[PRS_SL_FEM_UTIL_RX] +//#define SL_FEM_UTIL_RX_CHANNEL 5 + +// PRS CH5 on PD10 +//#define SL_FEM_UTIL_RX_PORT gpioPortD +//#define SL_FEM_UTIL_RX_PIN 10 +//#define SL_FEM_UTIL_RX_LOC 0 + +// [PRS_SL_FEM_UTIL_RX]$ + +// SL_FEM_UTIL_TX +// $[PRS_SL_FEM_UTIL_TX] + +// [PRS_SL_FEM_UTIL_TX]$ + +// SL_FEM_UTIL_SLEEP +// $[PRS_SL_FEM_UTIL_SLEEP] +//#define SL_FEM_UTIL_SLEEP_CHANNEL 6 + +// PRS CH6 on PD11 +//#define SL_FEM_UTIL_SLEEP_PORT gpioPortD +//#define SL_FEM_UTIL_SLEEP_PIN 11 +//#define SL_FEM_UTIL_SLEEP_LOC 13 + +// [PRS_SL_FEM_UTIL_SLEEP]$ + +// SL_FEM_UTIL_BYPASS +// $[GPIO_SL_FEM_UTIL_BYPASS] + +// [GPIO_SL_FEM_UTIL_BYPASS]$ + +// SL_FEM_UTIL_TX_HIGH_POWER +// $[GPIO_SL_FEM_UTIL_TX_HIGH_POWER] + +// [GPIO_SL_FEM_UTIL_TX_HIGH_POWER]$ +// <<< sl:end pin_tool >>> + +#define SL_FEM_UTIL_OPTIMIZED_PHY_ENABLE 0 +#define SL_FEM_UTIL_RUNTIME_PHY_SELECT 0 + +#endif // SL_FEM_UTIL_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_gp_interface_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_gp_interface_config.h new file mode 100644 index 00000000..a937b58b --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_gp_interface_config.h @@ -0,0 +1,44 @@ +/***************************************************************************//** + * @file + * @brief OpenThread Green Power configuration file. + ******************************************************************************* + * # License + * Copyright 2024 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +//-------- <<< Use Configuration Wizard in Context Menu >>> ----------------- + +// Rx Offset time +// The rx offset time for the bidirectional message. +// +#define GP_RX_OFFSET_IN_MICRO_SECONDS 21000 +// + +// TX Timeout +// Tx timeout after which the gp outgoing packet is invalid. +// +#define GP_TX_MAX_TIMEOUT_IN_MICRO_SECONDS 5000000 +// +// <<< end of configuration section >>> diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_interrupt_manager_s2_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_interrupt_manager_s2_config.h new file mode 100644 index 00000000..714893aa --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_interrupt_manager_s2_config.h @@ -0,0 +1,47 @@ +/***************************************************************************//** + * @file + * @brief Interrupt Manager configuration file for series 2 devices. + ******************************************************************************* + * # License + * Copyright 2023 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +// <<< Use Configuration Wizard in Context Menu >>> + +#ifndef SL_INTERRUPT_MANAGER_S2_CONFIG_H +#define SL_INTERRUPT_MANAGER_S2_CONFIG_H + +// Interrupt Manager Configuration + +// Put the interrupt vector table in RAM. +// Set to 1 to put the vector table in RAM. +// Default: 0 +#define SL_INTERRUPT_MANAGER_S2_INTERRUPTS_IN_RAM 0 + +// + +#endif /* SSL_INTERRUPT_MANAGER_S2_CONFIG_H */ + +// <<< end of configuration section >>> diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_mbedtls_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_mbedtls_config.h new file mode 100644 index 00000000..39b51496 --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_mbedtls_config.h @@ -0,0 +1,118 @@ +#ifndef SL_MBEDTLS_CONFIG_H +#define SL_MBEDTLS_CONFIG_H + +// ----------------------------------------------------------------------------- +// User exposed config options + +// <<< Use Configuration Wizard in Context Menu >>> + +// TLS/DTLS configuration + +// Complete list of ciphersuites to use, in order of preference. +// Default: MBEDTLS_TLS_ECJPAKE_WITH_AES_128_CCM_8 +// Complete list of ciphersuites to use, in order of preference. +// The value of this configuration should be updated for the application needs. +#define MBEDTLS_SSL_CIPHERSUITES MBEDTLS_TLS_ECJPAKE_WITH_AES_128_CCM_8 + +// Maximum TLS/DTLS fragment length in bytes (input). +// Default: 768 +// The size configured here determines the size of the internal I/O +// buffer used in mbedTLS when receiving data. +#define SL_MBEDTLS_SSL_IN_CONTENT_LEN 768 + +// Maximum TLS/DTLS fragment length in bytes (output). +// Default: 768 +// The size configured here determines the size of the internal I/O +// buffer used in mbedTLS when sending data. +#define SL_MBEDTLS_SSL_OUT_CONTENT_LEN 768 + +// Enable support for RFC 6066 max_fragment_length extension in SSL. +// Default: 1 +// Enable support for RFC 6066 max_fragment_length extension in SSL. +#define SL_MBEDTLS_SSL_MAX_FRAGMENT_LENGTH 1 + +// Enable support for exporting key block and master secret. +// Default: 1 +// Enable support for exporting key block and master secret. +// This is required for certain users of TLS, e.g. EAP-TLS. +#define SL_MBEDTLS_SSL_EXPORT_KEYS 1 + +// Enable the PSK based ciphersuite modes in SSL / TLS. +// Default: 0 +// Enable the PSK based ciphersuite modes in SSL / TLS. +#define SL_MBEDTLS_KEY_EXCHANGE_PSK_ENABLED 0 + +// Enable the ECDHE-PSK based ciphersuite modes in SSL / TLS. +// Default: 0 +// Enable the ECDHE-PSK based ciphersuite modes in SSL / TLS. +#define SL_MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED 0 + +// Enable the ECDHE-ECDSA based ciphersuite modes in SSL / TLS. +// Default: 0 +// Enable the ECDHE-ECDSA based ciphersuite modes in SSL / TLS. +#define SL_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED 0 + +// Enable the ECDHE-RSA based ciphersuite modes in SSL / TLS. +// Default: 0 +// Enable the ECDHE-RSA based ciphersuite modes in SSL / TLS. +#define SL_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED 0 + +// Enable the ECDH-ECDSA based ciphersuite modes in SSL / TLS. +// Default: 0 +// Enable the ECDH-ECDSA based ciphersuite modes in SSL / TLS. +#define SL_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED 0 + +// Enable parsing of the compressed curves. +// Default: 0 +// Enable parsing of the compressed curves. +#define SL_MBEDTLS_ECP_ENABLE_COMPRESSED_CURVE_PARSING 0 + +// + +// RSA configuration + +// Disable use of the Chinese Remainder Theorem for RSA. +// Default: 0 +// Disable use of the Chinese Remainder Theorem for RSA private key +// computations. +#define SL_MBEDTLS_RSA_NO_CRT 0 + +// + +// Miscellaneous configuration + +// Enable Silicon Labs' Mbed TLS- and PSA Crypto drivers. +// Default: 1 +// Enable drivers for hardware acceleration (Mbed TLS and PSA Crypto) and +// secure key handling (PSA Crypto). +#define SL_MBEDTLS_DRIVERS_ENABLED 1 + +// + +// <<< end of configuration section >>> + +// ----------------------------------------------------------------------------- +// Sub-files + +#if defined(SLI_MBEDTLS_CONFIG_AUTOGEN_OVERRIDE_FILE) + #include SLI_MBEDTLS_CONFIG_AUTOGEN_OVERRIDE_FILE +#else + #include "sli_mbedtls_config_autogen.h" +#endif + +#include "sli_mbedtls_omnipresent.h" + +#if SL_MBEDTLS_DRIVERS_ENABLED + #include "sli_mbedtls_acceleration.h" +#endif + +#include "sl_mbedtls_device_config.h" + +// Include transformation logic to apply CMSIS-config configuration options to +// the correct Mbed TLS / PSA Crypto options. +#include "sli_mbedtls_config_transform_autogen.h" + +// Included for backward compatibility reasons. +#include "mbedtls/build_info.h" + +#endif // SL_MBEDTLS_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_mbedtls_device_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_mbedtls_device_config.h new file mode 100644 index 00000000..33c34c42 --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_mbedtls_device_config.h @@ -0,0 +1,72 @@ +#ifndef SL_MBEDTLS_DEVICE_CONFIG_H +#define SL_MBEDTLS_DEVICE_CONFIG_H + +// ----------------------------------------------------------------------------- +// User exposed config options + +// <<< Use Configuration Wizard in Context Menu >>> + +// Secure Engine (SE) version configuration + +// Support SE firmware versions older than 1.2.2 <0-1> +// Enable software fallback for ECDH and ECC public key validation on xG21 +// devices running SE firmware versions lower than 1.2.2. +// +// Due to other stability concerns, it is strongly recommended to upgrade +// these devices to the latest firmware revision instead of turning on +// software fallback support. +// +// Not having fallback support will make ECDH operations, as well as PSA +// Crypto public key import, return an error code on affected devices. +// +// Default: 0 +#define SL_SE_SUPPORT_FW_PRIOR_TO_1_2_2 0 + +// Assume an SE firmware version newer than 1.2.2 <0-1> +// For enhanced performance: if it is guaranteed that all devices on which +// this library will run are updated to at least SE FW 1.2.2, then turning +// on this option will remove certain fallback checks, thereby reducing the +// amount of processing required for ECDH and public key verification +// operations. +// Default: 0 +#define SL_SE_ASSUME_FW_AT_LEAST_1_2_2 0 + +// Assume an SE firmware version that is unaffected by Ed25519 errata <0-1> +// For minimal code size and performance savings: if it is guaranteed that +// none of the devices running this library has SE FWs in the range +// [1.2.2, 1.2.8], then enabling this option will disable runtime version +// checks. +// Default: 0 +#define SL_SE_ASSUME_FW_UNAFFECTED_BY_ED25519_ERRATA 0 + +// + +// <<< end of configuration section >>> + +// ----------------------------------------------------------------------------- +// Additional SE version related logic (DO NOT MODIFY) + +// SL_SE_ASSUME_FW_AT_LEAST_1_2_10 is no longer in use, however, it is kept here +// for backwards compatibility. */ +#if defined(SL_SE_ASSUME_FW_AT_LEAST_1_2_10) + #undef SL_SE_ASSUME_FW_AT_LEAST_1_2_2 + #define SL_SE_ASSUME_FW_AT_LEAST_1_2_2 1 + #undef SL_SE_ASSUME_FW_UNAFFECTED_BY_ED25519_ERRATA + #define SL_SE_ASSUME_FW_UNAFFECTED_BY_ED25519_ERRATA 1 +#endif + +// SLI_SE_SUPPORT_FW_PRIOR_TO_1_2_2 is no longer in use, however, it is kept +// here for backwards compatibility. */ +#if defined(SLI_SE_SUPPORT_FW_PRIOR_TO_1_2_2) + #undef SL_SE_SUPPORT_FW_PRIOR_TO_1_2_2 + #define SL_SE_SUPPORT_FW_PRIOR_TO_1_2_2 1 +#endif + +// SLI_SE_ASSUME_FW_AT_LEAST_1_2_2 is no longer in use, however, it is kept +// here for backwards compatibility. */ +#if defined(SLI_SE_ASSUME_FW_AT_LEAST_1_2_2) + #undef SL_SE_ASSUME_FW_AT_LEAST_1_2_2 + #define SL_SE_ASSUME_FW_AT_LEAST_1_2_2 1 +#endif + +#endif // SL_MBEDTLS_DEVICE_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_memory_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_memory_config.h new file mode 100644 index 00000000..3afe6966 --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_memory_config.h @@ -0,0 +1,11 @@ +#ifndef SL_MEMORY_CONFIG_H +#define SL_MEMORY_CONFIG_H + +#include "sl_memory_manager_region_config.h" +#include "sl_common.h" + +#ifndef SL_SUPPRESS_DEPRECATION_WARNINGS_SDK_2024_6 +#warning "This file is deprecated as of Simplicity SDK 2024.6. Content was moved to sl_memory_manager_region_config.h." +#endif + +#endif diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_memory_manager_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_memory_manager_config.h new file mode 100644 index 00000000..7e4b0567 --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_memory_manager_config.h @@ -0,0 +1,49 @@ +/***************************************************************************//** + * @file + * @brief Memory Heap Allocator configuration file. + ******************************************************************************* + * # License + * Copyright 2024 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +// <<< Use Configuration Wizard in Context Menu >>> + +#ifndef SL_MEMORY_MANAGER_CONFIG_H +#define SL_MEMORY_MANAGER_CONFIG_H + +// Memory Manager Configuration + +// Minimum block allocation size +// <32-128:8> +// Minimum block allocation size to avoid creating a block too small while splitting up an allocated block. +// Size expressed in bytes and can only be a multiple of 8 bytes for the proper data alignment management done by the dynamic allocator malloc() function. +// Default: 32 +#define SL_MEMORY_MANAGER_BLOCK_ALLOCATION_MIN_SIZE (32) + +// + +// <<< end of configuration section >>> + +#endif /* SL_MEMORY_MANAGER_CONFIG_H */ diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_memory_manager_region_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_memory_manager_region_config.h new file mode 100644 index 00000000..ee337e99 --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_memory_manager_region_config.h @@ -0,0 +1,49 @@ +/***************************************************************************//** + * @file + * @brief Memory Heap and stack size configuration file. + ******************************************************************************* + * # License + * Copyright 2024 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +// <<< Use Configuration Wizard in Context Menu >>> + +#ifndef SL_MEMORY_MANAGER_REGION_CONFIG_H +#define SL_MEMORY_MANAGER_REGION_CONFIG_H + +// Memory configuration + +// Stack size for the application. +// Default: 4096 +// The stack size configured here will be used by the stack that the +// application uses when coming out of a reset. +#ifndef SL_STACK_SIZE +#define SL_STACK_SIZE 2752 +#endif +// + +// <<< end of configuration section >>> + +#endif /* SL_MEMORY_MANAGER_REGION_CONFIG_H */ diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_openthread_coex_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_openthread_coex_config.h new file mode 100644 index 00000000..af4e9328 --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_openthread_coex_config.h @@ -0,0 +1,41 @@ +/***************************************************************************//** + * @file + * @brief OpenThread Coexistence configuration file. + ******************************************************************************* + * # License + * Copyright 2024 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +//-------- <<< Use Configuration Wizard in Context Menu >>> ----------------- +// +// Coexistence Configurations +// Synch MAC to GRANT (MAC holdoff) +#define SL_OPENTHREAD_COEX_MAC_HOLDOFF_ENABLE 0 + +// Counters +#define SL_OPENTHREAD_COEX_COUNTER_ENABLE 1 + +// +// <<< end of configuration section >>> diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_openthread_features_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_openthread_features_config.h new file mode 100644 index 00000000..f66c3fe2 --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_openthread_features_config.h @@ -0,0 +1,410 @@ +/***************************************************************************//** + * @file + * @brief OpenThread stack configuration file. + ******************************************************************************* + * # License + * Copyright 2024 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +#ifndef _SL_OPENTHREAD_FEATURES_CONFIG_H +#define _SL_OPENTHREAD_FEATURES_CONFIG_H +//-------- <<< Use Configuration Wizard in Context Menu >>> ----------------- +// +// Default OpenThread Stack Configuration + +// Thread Stack Protocol Version +// +// Thread 1.1 +// Thread 1.2 +// Thread 1.3 +// Thread 1.4 +// Current Default: OT_THREAD_VERSION_1_3 +#ifndef OPENTHREAD_CONFIG_THREAD_VERSION +#define OPENTHREAD_CONFIG_THREAD_VERSION OT_THREAD_VERSION_1_4 +#endif +// + +#if (OPENTHREAD_CONFIG_THREAD_VERSION >= OT_THREAD_VERSION_1_2) +// The following features require at least Thread Stack Protocol Version 1.2 +// Backbone Router +#ifndef OPENTHREAD_CONFIG_BACKBONE_ROUTER_ENABLE +#define OPENTHREAD_CONFIG_BACKBONE_ROUTER_ENABLE 0 +#endif +// CSL Auto Synchronization using data polling +#ifndef OPENTHREAD_CONFIG_MAC_CSL_AUTO_SYNC_ENABLE +#define OPENTHREAD_CONFIG_MAC_CSL_AUTO_SYNC_ENABLE 0 +#endif +// CSL (Coordinated Sampled Listening) Debug +#ifndef OPENTHREAD_CONFIG_MAC_CSL_DEBUG_ENABLE +#define OPENTHREAD_CONFIG_MAC_CSL_DEBUG_ENABLE 0 +#endif +// CSL (Coordinated Sampled Listening) Receiver +#ifndef OPENTHREAD_CONFIG_MAC_CSL_RECEIVER_ENABLE +#define OPENTHREAD_CONFIG_MAC_CSL_RECEIVER_ENABLE 0 +#endif +// CSL Scheduling Uncertainty (±10 us units) <12..999:1> +#ifndef SL_OPENTHREAD_CSL_TX_UNCERTAINTY +#if OPENTHREAD_RADIO + #define SL_OPENTHREAD_CSL_TX_UNCERTAINTY 175 +#elif OPENTHREAD_FTD + #define SL_OPENTHREAD_CSL_TX_UNCERTAINTY 20 +#else + #define SL_OPENTHREAD_CSL_TX_UNCERTAINTY 12 +#endif +#endif +// DUA (Domain Unicast Address) +#ifndef OPENTHREAD_CONFIG_DUA_ENABLE +#define OPENTHREAD_CONFIG_DUA_ENABLE 1 +#endif +// Link Metrics Initiator +#ifndef OPENTHREAD_CONFIG_MLE_LINK_METRICS_INITIATOR_ENABLE +#define OPENTHREAD_CONFIG_MLE_LINK_METRICS_INITIATOR_ENABLE 1 +#endif +// Link Metrics Subject +#ifndef OPENTHREAD_CONFIG_MLE_LINK_METRICS_SUBJECT_ENABLE +#define OPENTHREAD_CONFIG_MLE_LINK_METRICS_SUBJECT_ENABLE 1 +#endif +// Multicast Listener Registration +#ifndef OPENTHREAD_CONFIG_MLR_ENABLE +#define OPENTHREAD_CONFIG_MLR_ENABLE 1 +#endif +// +#endif // OPENTHREAD_CONFIG_THREAD_VERSION >= OT_THREAD_VERSION_1_2 + +#if (OPENTHREAD_CONFIG_THREAD_VERSION >= OT_THREAD_VERSION_1_3) +// The following features require at least Thread Stack Protocol Version 1.3 +// DNS Client +#ifndef OPENTHREAD_CONFIG_DNS_CLIENT_ENABLE +#define OPENTHREAD_CONFIG_DNS_CLIENT_ENABLE 1 +#endif +// DNS-SD Server +#ifndef OPENTHREAD_CONFIG_DNSSD_SERVER_ENABLE +#define OPENTHREAD_CONFIG_DNSSD_SERVER_ENABLE 0 +#endif +// Service Registration Protocol (SRP) Client +#ifndef OPENTHREAD_CONFIG_SRP_CLIENT_ENABLE +#define OPENTHREAD_CONFIG_SRP_CLIENT_ENABLE 1 +#endif +// Service Registration Protocol (SRP) Server +#ifndef OPENTHREAD_CONFIG_SRP_SERVER_ENABLE +#define OPENTHREAD_CONFIG_SRP_SERVER_ENABLE 0 +#endif +// TCPlp (Low power TCP over OpenThread) +#ifndef OPENTHREAD_CONFIG_TCP_ENABLE +#define OPENTHREAD_CONFIG_TCP_ENABLE 0 +#endif +// DNS Client over TCP +#ifndef OPENTHREAD_CONFIG_DNS_CLIENT_OVER_TCP_ENABLE +#define OPENTHREAD_CONFIG_DNS_CLIENT_OVER_TCP_ENABLE 0 +#endif +// Thread over Infrastructure (NCP only) +#ifndef OPENTHREAD_CONFIG_RADIO_LINK_TREL_ENABLE +#define OPENTHREAD_CONFIG_RADIO_LINK_TREL_ENABLE 0 +#endif +// +#endif // OPENTHREAD_CONFIG_THREAD_VERSION >= OT_THREAD_VERSION_1_3 + +// Border Agent +#ifndef OPENTHREAD_CONFIG_BORDER_AGENT_ENABLE +#define OPENTHREAD_CONFIG_BORDER_AGENT_ENABLE 0 +#endif +// +// Border Router +#ifndef OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE +#define OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE 0 +#endif +// +// Channel Manager +#ifndef OPENTHREAD_CONFIG_CHANNEL_MANAGER_ENABLE +#define OPENTHREAD_CONFIG_CHANNEL_MANAGER_ENABLE 0 +#endif +// +// Channel Monitor +#ifndef OPENTHREAD_CONFIG_CHANNEL_MONITOR_ENABLE +#define OPENTHREAD_CONFIG_CHANNEL_MONITOR_ENABLE 0 +#endif +// + +// Commissioner +#ifndef OPENTHREAD_CONFIG_COMMISSIONER_ENABLE +#define OPENTHREAD_CONFIG_COMMISSIONER_ENABLE 0 +#endif + +// Max Joiner Entries +// The maximum number of Joiner entries maintained by the Commissioner. +// 2 +#ifndef OPENTHREAD_CONFIG_COMMISSIONER_MAX_JOINER_ENTRIES +#define OPENTHREAD_CONFIG_COMMISSIONER_MAX_JOINER_ENTRIES 2 +#endif +// + +// COAP API +#ifndef OPENTHREAD_CONFIG_COAP_API_ENABLE +#define OPENTHREAD_CONFIG_COAP_API_ENABLE 0 +#endif +// +// COAP Observe (RFC7641) API +#ifndef OPENTHREAD_CONFIG_COAP_OBSERVE_API_ENABLE +#define OPENTHREAD_CONFIG_COAP_OBSERVE_API_ENABLE 0 +#endif +// +// COAP Secure API +#ifndef OPENTHREAD_CONFIG_COAP_SECURE_API_ENABLE +#define OPENTHREAD_CONFIG_COAP_SECURE_API_ENABLE 0 +#endif +// +// DHCP6 Client +#ifndef OPENTHREAD_CONFIG_DHCP6_CLIENT_ENABLE +#define OPENTHREAD_CONFIG_DHCP6_CLIENT_ENABLE 0 +#endif +// +// DHCP6 Server +#ifndef OPENTHREAD_CONFIG_DHCP6_SERVER_ENABLE +#define OPENTHREAD_CONFIG_DHCP6_SERVER_ENABLE 0 +#endif +// +// Diagnostic +#ifndef OPENTHREAD_CONFIG_DIAG_ENABLE +#define OPENTHREAD_CONFIG_DIAG_ENABLE 1 +#endif +// +// ECDSA (Elliptic Curve Digital Signature Algorithm) (Required for Matter support) +#ifndef OPENTHREAD_CONFIG_ECDSA_ENABLE +#define OPENTHREAD_CONFIG_ECDSA_ENABLE 1 +#endif +// +// External Heap +#ifndef OPENTHREAD_CONFIG_HEAP_EXTERNAL_ENABLE +#define OPENTHREAD_CONFIG_HEAP_EXTERNAL_ENABLE 0 +#endif +// +// IPv6 Fragmentation +#ifndef OPENTHREAD_CONFIG_IP6_FRAGMENTATION_ENABLE +#define OPENTHREAD_CONFIG_IP6_FRAGMENTATION_ENABLE 0 +#endif +// +// Maximum number of IPv6 unicast addresses allowed to be externally added +#ifndef OPENTHREAD_CONFIG_IP6_MAX_EXT_UCAST_ADDRS +#define OPENTHREAD_CONFIG_IP6_MAX_EXT_UCAST_ADDRS 4 +#endif +// +// Maximum number of IPv6 multicast addresses allowed to be externally added +#ifndef OPENTHREAD_CONFIG_IP6_MAX_EXT_MCAST_ADDRS +#define OPENTHREAD_CONFIG_IP6_MAX_EXT_MCAST_ADDRS 4 +#endif +// +// Jam Detection +#ifndef OPENTHREAD_CONFIG_JAM_DETECTION_ENABLE +#define OPENTHREAD_CONFIG_JAM_DETECTION_ENABLE 0 +#endif +// +// Joiner +#ifndef OPENTHREAD_CONFIG_JOINER_ENABLE +#define OPENTHREAD_CONFIG_JOINER_ENABLE 0 +#endif +// +// Link Raw Service +#ifndef OPENTHREAD_CONFIG_LINK_RAW_ENABLE +#define OPENTHREAD_CONFIG_LINK_RAW_ENABLE 0 +#endif +// +// MAC Filter +#ifndef OPENTHREAD_CONFIG_MAC_FILTER_ENABLE +#define OPENTHREAD_CONFIG_MAC_FILTER_ENABLE 0 +#endif +// +// MLE Long Routes extension (experimental) +#ifndef OPENTHREAD_CONFIG_MLE_LONG_ROUTES_ENABLE +#define OPENTHREAD_CONFIG_MLE_LONG_ROUTES_ENABLE 0 +#endif +// +// MultiPAN RCP +#ifndef OPENTHREAD_CONFIG_MULTIPAN_RCP_ENABLE +#define OPENTHREAD_CONFIG_MULTIPAN_RCP_ENABLE 1 +#endif +// +// Multiple OpenThread Instances +#ifndef OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_ENABLE +#define OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_ENABLE 1 +#endif +// +// Multiple Static Instance Support +#ifndef OPENTHREAD_CONFIG_MULTIPLE_STATIC_INSTANCE_ENABLE +#define OPENTHREAD_CONFIG_MULTIPLE_STATIC_INSTANCE_ENABLE 1 +#endif +// +// Number of OpenThread Instances For Static Buffer Allocation +#ifndef OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_NUM +#define OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_NUM 2 +#endif +// +// Define broadcast IID for spinel frames dedicated to all hosts in multipan configuration +#ifndef OPENTHREAD_SPINEL_CONFIG_BROADCAST_IID +#define OPENTHREAD_SPINEL_CONFIG_BROADCAST_IID 0 +#endif +// +// OTNS (OpenThread Network Simulator) +#ifndef OPENTHREAD_CONFIG_OTNS_ENABLE +#define OPENTHREAD_CONFIG_OTNS_ENABLE 0 +#endif +// +// Ping Sender Module +#ifndef OPENTHREAD_CONFIG_PING_SENDER_ENABLE +#define OPENTHREAD_CONFIG_PING_SENDER_ENABLE 1 +#endif + +// +// Power Calibration Module (RCP only configuration) +#ifndef OPENTHREAD_CONFIG_POWER_CALIBRATION_ENABLE +#define OPENTHREAD_CONFIG_POWER_CALIBRATION_ENABLE 0 +#endif + +// +// Platform UDP +#ifndef OPENTHREAD_CONFIG_PLATFORM_UDP_ENABLE +#define OPENTHREAD_CONFIG_PLATFORM_UDP_ENABLE 0 +#endif +// +// Reference Device for Thread Test Harness +#ifndef OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE +#define OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE 0 +#endif +// +// Service Entries in Thread Network Data +#ifndef OPENTHREAD_CONFIG_TMF_NETDATA_SERVICE_ENABLE +#define OPENTHREAD_CONFIG_TMF_NETDATA_SERVICE_ENABLE 0 +#endif +// +// RAM (volatile-only storage) +#ifndef OPENTHREAD_SETTINGS_RAM +#define OPENTHREAD_SETTINGS_RAM 0 +#endif +// +// SLAAC Addresses +#ifndef OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE +#define OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE 1 +#endif +// +// SNTP Client +#ifndef OPENTHREAD_CONFIG_SNTP_CLIENT_ENABLE +#define OPENTHREAD_CONFIG_SNTP_CLIENT_ENABLE 0 +#endif +// +// TMF Network Diagnostic client API +#ifndef OPENTHREAD_CONFIG_TMF_NETDIAG_CLIENT_ENABLE +#define OPENTHREAD_CONFIG_TMF_NETDIAG_CLIENT_ENABLE 1 +#endif +// +// Time Synchronization Service +#define OPENTHREAD_CONFIG_TIME_SYNC_ENABLE 0 +// +// UDP Forward +#ifndef OPENTHREAD_CONFIG_UDP_FORWARD_ENABLE +#define OPENTHREAD_CONFIG_UDP_FORWARD_ENABLE 0 +#endif +// +// Enable Mac beacon payload parsing support +#ifndef OPENTHREAD_CONFIG_MAC_BEACON_PAYLOAD_PARSING_ENABLE +#define OPENTHREAD_CONFIG_MAC_BEACON_PAYLOAD_PARSING_ENABLE 1 +#endif +// +// Max raw power calibration length. +#ifndef SL_OPENTHREAD_RAW_POWER_CALIBRATION_LENGTH +#define SL_OPENTHREAD_RAW_POWER_CALIBRATION_LENGTH 4 +#endif +// +// Max FEM config setting length. +#ifndef SL_OPENTHREAD_FEM_SETTING_LENGTH +#define SL_OPENTHREAD_FEM_SETTING_LENGTH 4 +#endif +// +// The maximum number of RX buffers to use in the radio driver. +// 16 +#ifndef SL_OPENTHREAD_RADIO_RX_BUFFER_COUNT +#define SL_OPENTHREAD_RADIO_RX_BUFFER_COUNT 16 +#endif +// +// Logging +// LOG_OUTPUT +// NONE +// APP +// PLATFORM_DEFINED +// Default: OPENTHREAD_CONFIG_LOG_OUTPUT_PLATFORM_DEFINED +#ifndef OPENTHREAD_CONFIG_LOG_OUTPUT +#define OPENTHREAD_CONFIG_LOG_OUTPUT OPENTHREAD_CONFIG_LOG_OUTPUT_NONE +#endif + +// DYNAMIC_LOG_LEVEL +#ifndef OPENTHREAD_CONFIG_LOG_LEVEL_DYNAMIC_ENABLE +#define OPENTHREAD_CONFIG_LOG_LEVEL_DYNAMIC_ENABLE 0 +#endif + +// Enable Logging +#define OPENTHREAD_FULL_LOGS_ENABLE 0 +#if OPENTHREAD_FULL_LOGS_ENABLE + +// Note: Enabling higher log levels, which include logging packet details, can cause delays which may result in join failures. +// LOG_LEVEL +// NONE +// CRIT +// WARN +// NOTE +// INFO +// DEBG +// Default: OT_LOG_LEVEL_DEBG +#ifndef OPENTHREAD_CONFIG_LOG_LEVEL +#define OPENTHREAD_CONFIG_LOG_LEVEL OT_LOG_LEVEL_DEBG +#endif +// CLI +#ifndef OPENTHREAD_CONFIG_LOG_CLI +#define OPENTHREAD_CONFIG_LOG_CLI 1 +#endif +// PKT_DUMP +#ifndef OPENTHREAD_CONFIG_LOG_PKT_DUMP +#define OPENTHREAD_CONFIG_LOG_PKT_DUMP 1 +#endif +// PLATFORM +#ifndef OPENTHREAD_CONFIG_LOG_PLATFORM +#define OPENTHREAD_CONFIG_LOG_PLATFORM 1 +#endif +// PREPEND_LEVEL +#ifndef OPENTHREAD_CONFIG_LOG_PREPEND_LEVEL +#define OPENTHREAD_CONFIG_LOG_PREPEND_LEVEL 1 +#endif + +#endif // OPENTHREAD_FULL_LOGS_ENABLE + +// Log crash dump after initialization +#ifndef OPENTHREAD_CONFIG_PLATFORM_LOG_CRASH_DUMP_ENABLE +#define OPENTHREAD_CONFIG_PLATFORM_LOG_CRASH_DUMP_ENABLE 0 +#endif +// + +// +// +// + +// <<< end of configuration section >>> +#endif // _SL_OPENTHREAD_FEATURES_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_openthread_generic_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_openthread_generic_config.h new file mode 100644 index 00000000..46beb6e4 --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_openthread_generic_config.h @@ -0,0 +1,175 @@ +/***************************************************************************//** + * @file + * @brief OpenThread generic configuration file. + ******************************************************************************* + * # License + * Copyright 2024 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +/* Define if building universal (internal helper macro) */ +/* #undef AC_APPLE_UNIVERSAL_BUILD */ + +/* Define to 1 if your C++ compiler doesn't accept -c and -o together. */ +/* #undef CXX_NO_MINUS_C_MINUS_O */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_DLFCN_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the `edit' library (-ledit). */ +/* #undef HAVE_LIBEDIT */ + +/* Define to 1 if you have the `readline' library (-lreadline). */ +/* #undef HAVE_LIBREADLINE */ + +/* Define to 1 if you have the `memcpy' function. */ +/* #undef HAVE_MEMCPY */ + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if stdbool.h conforms to C99. */ +#define HAVE_STDBOOL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if the system has the type `_Bool'. */ +#define HAVE__BOOL 1 + +/* Define to the sub-directory where libtool stores uninstalled libraries. */ +#define LT_OBJDIR ".libs/" + +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +/* #undef NO_MINUS_C_MINUS_O */ + +/* Name of package */ +#define PACKAGE "openthread" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "openthread-devel@googlegroups.com" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "SL-OPENTHREAD" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "SL-OPENTHREAD/2.5.1.0_GitHub-1fceb225b" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "openthread" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "http://github.com/openthread/openthread" + +/* Define to the version of this package. + * Note: When adding the label below with OpenThread version, please make + * sure it is a valid GitHub version. Avoid merge or local commit hashes. + */ +#define PACKAGE_VERSION "2.5.1.0_GitHub-1fceb225b" + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Version number of package */ +#define VERSION "2.5.1.0_GitHub-1fceb225b" + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +/* # undef WORDS_BIGENDIAN */ +# endif +#endif + +/* Define for Solaris 2.5.1 so the uint32_t typedef from , + , or is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +/* #undef _UINT32_T */ + +/* Define for Solaris 2.5.1 so the uint64_t typedef from , + , or is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +/* #undef _UINT64_T */ + +/* Define for Solaris 2.5.1 so the uint8_t typedef from , + , or is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +/* #undef _UINT8_T */ + +/* Define to the type of a signed integer type of width exactly 16 bits if + such a type exists and the standard includes do not define it. */ +/* #undef int16_t */ + +/* Define to the type of a signed integer type of width exactly 32 bits if + such a type exists and the standard includes do not define it. */ +/* #undef int32_t */ + +/* Define to the type of a signed integer type of width exactly 64 bits if + such a type exists and the standard includes do not define it. */ +/* #undef int64_t */ + +/* Define to the type of a signed integer type of width exactly 8 bits if such + a type exists and the standard includes do not define it. */ +/* #undef int8_t */ + +/* Define to the type of an unsigned integer type of width exactly 16 bits if + such a type exists and the standard includes do not define it. */ +/* #undef uint16_t */ + +/* Define to the type of an unsigned integer type of width exactly 32 bits if + such a type exists and the standard includes do not define it. */ +/* #undef uint32_t */ + +/* Define to the type of an unsigned integer type of width exactly 64 bits if + such a type exists and the standard includes do not define it. */ +/* #undef uint64_t */ + +/* Define to the type of an unsigned integer type of width exactly 8 bits if + such a type exists and the standard includes do not define it. */ +/* #undef uint8_t */ diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_openthread_rtos_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_openthread_rtos_config.h new file mode 100644 index 00000000..cc6ebf7d --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_openthread_rtos_config.h @@ -0,0 +1,100 @@ +/***************************************************************************//** + * @file + * @brief OpenThread RTOS configuration file. + ******************************************************************************* + * # License + * Copyright 2024 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +//-------- <<< Use Configuration Wizard in Context Menu >>> ----------------- +// +// Priority Configuration for OpenThread RTOS Stack Task +// OpenThread stack task priority +// Default: 24 (CMSIS-RTOS2 osPriorityNormal) +// Defines OpenThread stack task priority. This must be a valid priority value +// from CMSIS-RTOS2 osPriority_t definition. +#define SL_OPENTHREAD_RTOS_STACK_TASK_PRIORITY (24) + +// +// Priority Configuration for OpenThread App Task +// OpenThread task priority +// Default: 23 (CMSIS-RTOS2 osPriorityBelowNormal7) +// Defines OpenThread App task priority. This must be a valid priority value +// from CMSIS-RTOS2 osPriority_t definition. +#define SL_OPENTHREAD_RTOS_APP_TASK_PRIORITY (23) + +// +// Priority Configuration for OpenThread RTOS Stack Task +// OpenThread CLI task prority +// Default: 16 (CMSIS-RTOS2 osPriorityBelowNormal) +// Defines OpenThread CLI task priority. This must be a valid priority value +// from CMSIS-RTOS2 osPriority_t definition. +#define SL_OPENTHREAD_RTOS_CLI_TASK_PRIORITY (16) + +// OpenThread stack task stack size in bytes <1000-20000> +// Default: 4608 +// Defines the stack size of the OpenThread RTOS stack task. The value is in bytes and +// and will be word aligned when it is applied at the task creation. +#define SL_OPENTHREAD_STACK_TASK_MEM_SIZE 4608 + +// OpenThread app task stack size in bytes <1000-20000> +// Default: 4096 +// Defines the stack size of the OpenThread RTOS app task. The value is in bytes and +// and will be word aligned when it is applied at the task creation. +#define SL_OPENTHREAD_APP_TASK_MEM_SIZE 4608 + +// OpenThread CLI task stack size in bytes <1000-20000> +// Default: 2048 +// Defines the stack size of the OpenThread RTOS CLI task. The value is in bytes and +// and will be word aligned when it is applied at the task creation. +#define SL_OPENTHREAD_CLI_TASK_MEM_SIZE 2048 +// +// Priority Configuration for OpenThread RTOS Stack Task +// OpenThread CLI task prority +// Default: 16 (CMSIS-RTOS2 osPriorityBelowNormal) +// Defines OpenThread CLI task priority. This must be a valid priority value +// from CMSIS-RTOS2 osPriority_t definition. +#define SL_OPENTHREAD_RTOS_CLI_TASK_PRIORITY (16) + +// OpenThread CLI task stack size in bytes <1000-20000> +// Default: 2048 +// Defines the stack size of the OpenThread RTOS CLI task. The value is in bytes and +// and will be word aligned when it is applied at the task creation. +#define SL_OPENTHREAD_OS_CLI_TASK_SIZE 2048 + +// +// App Task +// Enable default App task +// Default: On +#define SL_OPENTHREAD_ENABLE_APP_TASK (1) + +// +// CLI Task +// Enable CLI task +// Default: On +#define SL_OPENTHREAD_ENABLE_CLI_TASK (1) + +// +// <<< end of configuration section >>> diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_rail_util_coex_common_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_rail_util_coex_common_config.h new file mode 100644 index 00000000..7cddee03 --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_rail_util_coex_common_config.h @@ -0,0 +1,254 @@ +/***************************************************************************//** + * @file + * @brief Common coexistence configuration header file + ******************************************************************************* + * # License + * Copyright 2020 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +#ifndef SL_RAIL_UTIL_COEX_COMMON_CONFIG_H +#define SL_RAIL_UTIL_COEX_COMMON_CONFIG_H + +// <<< Use Configuration Wizard in Context Menu >>> +// Coexistence Configuration + +// IEEE802.15.4 Only Configuration +// Disable ACKing when GRANT deasserted, RHO asserted, or REQUEST deasserted +// Disable ACKing when GNT deasserted, RHO asserted, or REQ not secured (shared REQ only) +// Default: 1 +#define SL_RAIL_UTIL_COEX_ACKHOLDOFF 1 + +// Abort transmission mid-packet if Grant when GRANT deasserted, RHO asserted, or REQUEST not secured (shared REQUEST only) +// Abort transmission mid-packet if Grant when GRANT deasserted, RHO asserted, or REQUEST not secured (shared REQUEST only) +// Default: 0 +#define SL_RAIL_UTIL_COEX_IEEE802154_TX_ABORT 0 +// + +// BLE Only Configuration +// Abort transmission mid-packet if Grant when GRANT deasserted, RHO asserted, or REQUEST not secured (shared REQUEST only) +// Abort transmission mid-packet if Grant when GRANT deasserted, RHO asserted, or REQUEST not secured (shared REQUEST only) +// Default: 0 +#define SL_RAIL_UTIL_COEX_BLE_TX_ABORT 0 +// + +// REQUEST +// Enable REQUEST signal +// Default: 0 +#define SL_RAIL_UTIL_COEX_REQ_ENABLED 0 + +// REQUEST assert signal level +// <1=> High +// <0=> Low +// Polarity of REQUEST signal +// Default: 1 +#define SL_RAIL_UTIL_COEX_REQ_ASSERT_LEVEL 1 + +// Enable REQUEST shared mode +// Configure the REQUEST signal for shared mode +// Default: 0 +#define SL_RAIL_UTIL_COEX_REQ_SHARED 0 + +// Max REQUEST backoff mask [0-255] +// <0-255:1> +// Maximum backoff time in microseconds after REQUEST was deasserted +// Default: 15 +#define SL_RAIL_UTIL_COEX_REQ_BACKOFF 15 + +// BLE Only Request Configuration +// Specify the number of microseconds between asserting Request and starting RX/TX +// <0-5000:1> +// Specify the number of microseconds between asserting REQUEST and starting RX/TX (BLE only) +// Default: 500 +#define SL_RAIL_UTIL_COEX_REQ_WINDOW 500 +// + +// IEEE802.15.4 Only Request Configuration +// Enable REQUEST receive retry +// Enable the receive retry +// Default: 0 +#define SL_RAIL_UTIL_COEX_RETRYRX_ENABLE 0 + +// REQUEST receive retry timeout(ms) +// <0-255:1> +// Receive retry REQ timeout in milliseconds +// Default: 16 +#define SL_RAIL_UTIL_COEX_RETRYRX_TIMEOUT 16 + +// REQUEST receive retry assert PRIORITY +// Enable the receive retry high priority +// Default: 0 +#define SL_RAIL_UTIL_COEX_RETRYRX_HIPRI 0 +// +// +// + +// GRANT +// Enable GRANT signal +// Default: 0 +#define SL_RAIL_UTIL_COEX_GNT_ENABLED 0 + +// GRANT assert signal level +// <1=> High +// <0=> Low +// Polarity of grant (GNT) signal +// Default: 1 +#define SL_RAIL_UTIL_COEX_GNT_ASSERT_LEVEL 1 +// + +// PRIORITY +// Enable PRIORITY signal +// Default: 0 +#define SL_RAIL_UTIL_COEX_PRI_ENABLED 0 + +// PRIORITY assert signal level +// <1=> High +// <0=> Low +// Polarity of priority(PRI) signal +// Default: 1 +#define SL_RAIL_UTIL_COEX_PRI_ASSERT_LEVEL 1 + +// Enable PRIORITY shared mode +// Configure the PRIORITY signal for shared mode +// Default: 0 +#define SL_RAIL_UTIL_COEX_PRI_SHARED 0 + +// BLE Only Priority Configuration +// Default Enabled/Disabled +// Enable/Disable BLE PRIORITY by default +// Default: 0 +#define SL_RAIL_UTIL_COEX_PRIORITY_DEFAULT 0 +// + +// IEEE802.15.4 Only Priority Configuration +// Assert PRIORITY when transmitting packet +// Assert a high priority when the local device is transmitting a packet +// Default: 0 +#define SL_RAIL_UTIL_COEX_TX_HIPRI 0 + +// Assert PRIORITY when receiving packet +// Assert a high priority when the local device is receiving a packet +// Default: 0 +#define SL_RAIL_UTIL_COEX_RX_HIPRI 0 + +// Include TX PRIORITY escalation +// Compile-time include TX PRIORITY escalation feature +// Default: 0 +#define SL_RAIL_UTIL_COEX_PRIORITY_ESCALATION_ENABLE 0 + +// CCA/GRANT TX PRIORITY escalation threshold +// <0-255:1> +// Sets the threshold for escalating TX PRIORITY to high priority due to MAC failures from CCA/GRANT denials (five consecutive CCA/GRANT denials is one MAC failure) +// Default: 4 +#define SL_RAIL_UTIL_COEX_CCA_THRESHOLD 4 + +// MAC Fail TX PRIORITY escalation threshold +// <0-3:1> +// Sets the threshold for escalating TX PRIORITY to high priority due to MAC failures from CCA/GRANT denials (five consecutive CCA/GRANT denials is one MAC failure) or no RX_ACK received (four consecutive RX_ACK failures is one MAC failure) +// Default: 0 +#define SL_RAIL_UTIL_COEX_MAC_FAIL_THRESHOLD 0 +// +// + +// PWM REQUEST +// Enable PWM REQUEST signal +// Default: 0 +#define SL_RAIL_UTIL_COEX_PWM_REQ_ENABLED 0 + +// PWM REQUEST signal level (shared REQUEST only) +// <1=> High +// <0=> Low +// Polarity of PWM request (PWM_REQ) signal +// Default: 1 +#define SL_RAIL_UTIL_COEX_PWM_REQ_ASSERT_LEVEL 1 + +// Enable PWM REQUEST at startup +// Enable PWM REQUEST at startup (also run-time controllable) +// Default: 1 +#define SL_RAIL_UTIL_COEX_PWM_DEFAULT_ENABLED 1 + +// PWM Request Period (0.5ms steps) +// <5-109> +// PWM REQUEST Period (5ms to 109ms in 0.5ms steps) +// Default: 78 +#define SL_RAIL_UTIL_COEX_PWM_REQ_PERIOD 78 + +// PWM Request Duty-Cycle (%) +// <1-95:1> +// PWM REQUEST Duty-Cycle (1% to 95% in 1% steps) +// Default: 20 +#define SL_RAIL_UTIL_COEX_PWM_REQ_DUTYCYCLE 20 + +// Assert priority when PWM REQUEST asserted +// Assert a high priority when local device is asserting PWM +// Default: 0 +#define SL_RAIL_UTIL_COEX_PWM_PRIORITY 0 + +// BLE Only PWM Configuration +// Enable PWM only when local device is scanning +// Enable PWM only when local device is scanning +// Default: 0 +#define SL_RAIL_UTIL_COEX_SCANPWM_DEFAULT_ENABLED 0 +// +// + +// Radio Hold-off +// Default: 0 +#define SL_RAIL_UTIL_COEX_RHO_ENABLED 0 +// RHO assert signal level +// <1=> High +// <0=> Low +// Polarity of radio hold-off (RHO) signal +// Default: 1 +#define SL_RAIL_UTIL_COEX_RHO_ASSERT_LEVEL 1 +// + +// Directional PRIORITY +// Enable Directional PRIORITY signal +// Default: 0 +#define SL_RAIL_UTIL_COEX_DP_ENABLED 0 +// Directional PRIORITY pulse width +// <0-255:1> +// Microseconds to hold Directional PRIORITY priority pulse +// Default: 20 +#define SL_RAIL_UTIL_COEX_DP_PULSE_WIDTH_US 20 +// + +// RX active +// Enable RX active signal +// Default: 0 +#define SL_RAIL_UTIL_COEX_RX_ACTIVE_ENABLED 0 + +// RX active assert signal level +// <1=> High +// <0=> Low +// Polarity of RX active signal +// Default: 1 +#define SL_RAIL_UTIL_COEX_RX_ACTIVE_ASSERT_LEVEL 1 +// + +// +// <<< end of configuration section >>> + +#endif // SL_RAIL_UTIL_COEX_COMMON_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_rail_util_coex_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_rail_util_coex_config.h new file mode 100644 index 00000000..368ddb3a --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_rail_util_coex_config.h @@ -0,0 +1,190 @@ +/***************************************************************************//** + * @file + * @brief Coexistence configuration header file + ******************************************************************************* + * # License + * Copyright 2020 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +#ifndef SL_RAIL_UTIL_COEX_CONFIG_H +#define SL_RAIL_UTIL_COEX_CONFIG_H + +#include "sl_rail_util_coex_common_config.h" + +// <<< Use Configuration Wizard in Context Menu >>> +// Coexistence signal identifier configuration +// IEEE802.15.4 only configuration +// Enable coexistence IEEE802.15.4 signal identifier +// Default: 0 +#define SL_RAIL_UTIL_COEX_IEEE802154_SIGNAL_IDENTIFIER_ENABLED 0 +// +// BLE only Configuration +// Enable coexistence BLE signal identifier +// Default: 0 +#define SL_RAIL_UTIL_COEX_BLE_SIGNAL_IDENTIFIER_ENABLED 0 +// BLE signal identifier mode +// <1=> BLE 1Mbps +// <2=> BLE 2Mbps +// 1: Signal identifier detects BLE 1Mbps signals 2: Signal identifier detects BLE 2Mbps signals +// Default: 1 +#define SL_RAIL_UTIL_COEX_BLE_SIGNAL_IDENTIFIER_MODE 1 +// Minimum number of microseconds that should be available in the scanning window for hopping to next channel when signal identifier is enabled +// <300-2000:1> +// Default: 300 +#define SL_RAIL_UTIL_COEX_BLE_MIN_TIME_FOR_HOPPING 300 +// +// Polarity of Wifi Tx signal +// <1=> High +// <0=> Low +// Polarity of WiFi Tx signal +// Default: 1 +#define SL_RAIL_UTIL_COEX_WIFI_TX_ASSERT_LEVEL 1 +// +// <<< end of configuration section >>> + +// <<< sl:start pin_tool >>> + +#if SL_RAIL_UTIL_COEX_GNT_ENABLED +// Pin used for grant (GNT) signal +// SL_RAIL_UTIL_COEX_GNT +// $[GPIO_SL_RAIL_UTIL_COEX_GNT] +// #define SL_RAIL_UTIL_COEX_GNT_PORT gpioPortC +// #define SL_RAIL_UTIL_COEX_GNT_PIN 9 +// [GPIO_SL_RAIL_UTIL_COEX_GNT]$ +#ifndef SL_RAIL_UTIL_COEX_GNT_PORT +#error "SL_RAIL_UTIL_COEX_GNT undefined" +#endif //SL_RAIL_UTIL_COEX_GNT_PORT +#endif //SL_RAIL_UTIL_COEX_GNT_ENABLED + +#if SL_RAIL_UTIL_COEX_PRI_ENABLED +// Pin used for PRIORITY signal +// SL_RAIL_UTIL_COEX_PRI +// $[GPIO_SL_RAIL_UTIL_COEX_PRI] +// #define SL_RAIL_UTIL_COEX_PRI_PORT gpioPortD +// #define SL_RAIL_UTIL_COEX_PRI_PIN 13 +// [GPIO_SL_RAIL_UTIL_COEX_PRI]$ +#if !defined(SL_RAIL_UTIL_COEX_PRI_PORT) && !SL_RAIL_UTIL_COEX_DP_ENABLED +#error "SL_RAIL_UTIL_COEX_PRI undefined" +#endif //!defined(SL_RAIL_UTIL_COEX_PRI_PORT) && !SL_RAIL_UTIL_COEX_DP_ENABLED +#endif //SL_RAIL_UTIL_COEX_PRI_ENABLED + +#if SL_RAIL_UTIL_COEX_REQ_ENABLED +// Pin used for Request signal +// SL_RAIL_UTIL_COEX_REQ +// $[GPIO_SL_RAIL_UTIL_COEX_REQ] +// #define SL_RAIL_UTIL_COEX_REQ_PORT gpioPortC +// #define SL_RAIL_UTIL_COEX_REQ_PIN 10 +// [GPIO_SL_RAIL_UTIL_COEX_REQ]$ +#ifndef SL_RAIL_UTIL_COEX_REQ_PORT +#error "SL_RAIL_UTIL_COEX_REQ undefined" +#endif //SL_RAIL_UTIL_COEX_REQ_PORT +#endif //SL_RAIL_UTIL_COEX_REQ_ENABLED + +#if SL_RAIL_UTIL_COEX_PWM_REQ_ENABLED && SL_RAIL_UTIL_COEX_REQ_SHARED +// Pin used for PWM Request signal +// SL_RAIL_UTIL_COEX_PWM_REQ +// $[GPIO_SL_RAIL_UTIL_COEX_PWM_REQ] +// #define SL_RAIL_UTIL_COEX_PWM_REQ_PORT gpioPortC +// #define SL_RAIL_UTIL_COEX_PWM_REQ_PIN 11 +// [GPIO_SL_RAIL_UTIL_COEX_PWM_REQ]$ +#ifndef SL_RAIL_UTIL_COEX_PWM_REQ_PORT +#error "SL_RAIL_UTIL_COEX_PWM_REQ undefined" +#endif //SL_RAIL_UTIL_COEX_PWM_REQ_PORT +#endif //SL_RAIL_UTIL_COEX_PWM_REQ_ENABLED && SL_RAIL_UTIL_COEX_REQ_SHARED + +#if SL_RAIL_UTIL_COEX_RHO_ENABLED +// Pin used for Radio Holdoff signal +// SL_RAIL_UTIL_COEX_RHO +// $[GPIO_SL_RAIL_UTIL_COEX_RHO] +// #define SL_RAIL_UTIL_COEX_RHO_PORT gpioPortC +// #define SL_RAIL_UTIL_COEX_RHO_PIN 8 +// [GPIO_SL_RAIL_UTIL_COEX_RHO]$ +#ifndef SL_RAIL_UTIL_COEX_RHO_PORT +#error "SL_RAIL_UTIL_COEX_RHO undefined" +#endif //SL_RAIL_UTIL_COEX_RHO_PORT +#endif //SL_RAIL_UTIL_COEX_RHO_ENABLED + +#if SL_RAIL_UTIL_COEX_DP_ENABLED +// Pin used for Directional Priority signal +// SL_RAIL_UTIL_COEX_DP_OUT +// $[PRS_SL_RAIL_UTIL_COEX_DP_OUT] +// #define SL_RAIL_UTIL_COEX_DP_OUT_CHANNEL 3 + +// PRS CH3 on PD12 +// #define SL_RAIL_UTIL_COEX_DP_OUT_PORT gpioPortD +// #define SL_RAIL_UTIL_COEX_DP_OUT_PIN 12 +// [PRS_SL_RAIL_UTIL_COEX_DP_OUT]$ + +// Directional Priority timer module +// SL_RAIL_UTIL_COEX_DP_TIMER +// $[TIMER_SL_RAIL_UTIL_COEX_DP_TIMER] +// #define SL_RAIL_UTIL_COEX_DP_TIMER_PERIPHERAL TIMER1 +// #define SL_RAIL_UTIL_COEX_DP_TIMER_PERIPHERAL_NO 1 +#ifndef SL_RAIL_UTIL_COEX_DP_TIMER_PERIPHERAL +#error "SL_RAIL_UTIL_COEX_DP_TIMER_PERIPHERAL undefined" +#endif //SL_RAIL_UTIL_COEX_DP_TIMER_PERIPHERAL + +// #define SL_RAIL_UTIL_COEX_DP_TIMER_CC0_CHANNEL 1 +// [TIMER_SL_RAIL_UTIL_COEX_DP_TIMER]$ +#ifndef SL_RAIL_UTIL_COEX_DP_TIMER_PERIPHERAL +#error "SL_RAIL_UTIL_COEX_DP_TIMER_PERIPHERAL undefined" +#endif //SL_RAIL_UTIL_COEX_DP_TIMER_PERIPHERAL +#endif //SL_RAIL_UTIL_COEX_DP_ENABLED + +#if SL_RAIL_UTIL_COEX_RX_ACTIVE_ENABLED +// Pin used for RX active signal +// SL_RAIL_UTIL_COEX_RX_ACTIVE +// $[PRS_SL_RAIL_UTIL_COEX_RX_ACTIVE] +// #define SL_RAIL_UTIL_COEX_RX_ACTIVE_CHANNEL 8 + +// PRS CH8 on PD13 +// #define SL_RAIL_UTIL_COEX_RX_ACTIVE_PORT gpioPortD +// #define SL_RAIL_UTIL_COEX_RX_ACTIVE_PIN 13 +// [PRS_SL_RAIL_UTIL_COEX_RX_ACTIVE]$ +#ifndef SL_RAIL_UTIL_COEX_RX_ACTIVE_PORT +#error "SL_RAIL_UTIL_COEX_RX_ACTIVE_PORT undefined" +#endif //SL_RAIL_UTIL_COEX_RX_ACTIVE_PORT +#ifndef SL_RAIL_UTIL_COEX_RX_ACTIVE_CHANNEL +#error "SL_RAIL_UTIL_COEX_RX_ACTIVE_CHANNEL undefined" +#endif //SL_RAIL_UTIL_COEX_RX_ACTIVE_CHANNEL +#endif //SL_RAIL_UTIL_COEX_RX_ACTIVE_ENABLED + +#if (SL_RAIL_UTIL_COEX_IEEE802154_SIGNAL_IDENTIFIER_ENABLED || SL_RAIL_UTIL_COEX_BLE_SIGNAL_IDENTIFIER_ENABLED) +// Pin used for WiFi Tx +// SL_RAIL_UTIL_COEX_WIFI_TX +// $[PRS_SL_RAIL_UTIL_COEX_WIFI_TX] +// #define SL_RAIL_UTIL_COEX_WIFI_TX_CHANNEL 4 + +// #define SL_RAIL_UTIL_COEX_WIFI_TX_PORT gpioPortC +// #define SL_RAIL_UTIL_COEX_WIFI_TX_PIN 9 +// [PRS_SL_RAIL_UTIL_COEX_WIFI_TX]$ +#ifndef SL_RAIL_UTIL_COEX_WIFI_TX_PORT +#error "SL_RAIL_UTIL_COEX_WIFI_TX_PORT undefined" +#endif // SL_RAIL_UTIL_COEX_WIFI_TX_PORT +#endif // SL_RAIL_UTIL_COEX_IEEE802154_SIGNAL_IDENTIFIER_ENABLED || SL_RAIL_UTIL_COEX_BLE_SIGNAL_IDENTIFIER_ENABLED + +// <<< sl:end pin_tool >>> + +#endif // SL_RAIL_UTIL_COEX_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_rail_util_dma_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_rail_util_dma_config.h new file mode 100644 index 00000000..dcf7171c --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_rail_util_dma_config.h @@ -0,0 +1,52 @@ +/***************************************************************************//** + * @file + * @brief + ******************************************************************************* + * # License + * Copyright 2020 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +#ifndef SL_RAIL_UTIL_DMA_CONFIG_H +#define SL_RAIL_UTIL_DMA_CONFIG_H + +// <<< Use Configuration Wizard in Context Menu >>> + +// DMA Configuration +// Allocate DMA channel to RAIL (to decrease channel config switching time) +// Default: 1 +#define SL_RAIL_UTIL_DMA_ENABLE 1 +// Use DMA Driver (i.e., auto-select DMA channel) +// Default: 1 +#define SL_RAIL_UTIL_DMA_DMADRV_ENABLE 1 +// Use Specific DMA Channel (if DMA driver not used) +// <0-16:1> +// Default: 0 +#define SL_RAIL_UTIL_DMA_CHANNEL 0 +// +// + +// <<< end of configuration section >>> + +#endif // SL_RAIL_UTIL_DMA_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_rail_util_ieee802154_fast_channel_switching_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_rail_util_ieee802154_fast_channel_switching_config.h new file mode 100644 index 00000000..a4470069 --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_rail_util_ieee802154_fast_channel_switching_config.h @@ -0,0 +1,49 @@ +/***************************************************************************//** + * @file + * @brief IEEE802.15.4 fast channel switching configuration file. + ******************************************************************************* + * # License + * Copyright 2023 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +#ifndef SL_RAIL_UITL_IEEE802154_FAST_CHANNEL_SWITCHING_CONFIG_H +#define SL_RAIL_UITL_IEEE802154_FAST_CHANNEL_SWITCHING_CONFIG_H + +#include "rail_features.h" + +#if RAIL_IEEE802154_SUPPORTS_RX_CHANNEL_SWITCHING == 0 +#error "IEEE.802.15.4 RX channel switching unsupported on this platform!" +#endif //RAIL_IEEE802154_SUPPORTS_RX_CHANNEL_SWITCHING + +#define sl_rail_util_ieee802154_is_fast_channel_switching_phy_selected() SL_RAIL_UTIL_IEEE802154_FAST_CHANNEL_SWITCHING_ENABLED + +// <<< Use Configuration Wizard in Context Menu >>> +// IEEE802.15.4 Fast Channel Switching Configuration +// Enable fast channel switching +// Default: 1 +#define SL_RAIL_UTIL_IEEE802154_FAST_CHANNEL_SWITCHING_ENABLED 1 +// +// <<< end of configuration section >>> +#endif //SL_RAIL_UITL_IEEE802154_FAST_CHANNEL_SWITCHING_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_rail_util_pa_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_rail_util_pa_config.h new file mode 100644 index 00000000..65b767f9 --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_rail_util_pa_config.h @@ -0,0 +1,81 @@ +/***************************************************************************//** + * @file + * @brief Power Amplifier configuration file. + ******************************************************************************* + * # License + * Copyright 2020 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +#ifndef SL_RAIL_UTIL_PA_CONFIG_H +#define SL_RAIL_UTIL_PA_CONFIG_H + +#include "rail_types.h" + +// <<< Use Configuration Wizard in Context Menu >>> +// PA configuration + +// Initial PA Power (deci-dBm, 100 = 10.0 dBm) +// Default: 100 +#define SL_RAIL_UTIL_PA_POWER_DECI_DBM 100 + +// PA Ramp Time (microseconds) +// <10-10:1> +// Default: 10 +#define SL_RAIL_UTIL_PA_RAMP_TIME_US 10 + +// Milli-volts on PA supply pin (PA_VDD) +// <0-65535:1> +// Default: 3300 +#define SL_RAIL_UTIL_PA_VOLTAGE_MV 3300 + +// 2.4 GHz PA Selection +// Highest Possible +// High Power (chip-specific) +// Low Power +// Disable +// Default: RAIL_TX_POWER_MODE_2P4GIG_HIGHEST +#define SL_RAIL_UTIL_PA_SELECTION_2P4GHZ RAIL_TX_POWER_MODE_2P4GIG_HIGHEST + +// Sub-1 GHz PA Selection +// Disable +// Default: RAIL_TX_POWER_MODE_NONE +#define SL_RAIL_UTIL_PA_SELECTION_SUBGHZ RAIL_TX_POWER_MODE_NONE + +// Header file containing custom PA curves +// Default: "pa_curves_efr32.h" +#define SL_RAIL_UTIL_PA_CURVE_HEADER "pa_curves_efr32.h" + +// Header file containing PA curve types +// Default: "pa_curve_types_efr32.h" +#define SL_RAIL_UTIL_PA_CURVE_TYPES "pa_curve_types_efr32.h" + +// Enable PA Calibration +// Default: 0 +#define SL_RAIL_UTIL_PA_CALIBRATION_ENABLE 0 + +// +// <<< end of configuration section >>> + +#endif // SL_RAIL_UTIL_PA_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_rail_util_pti_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_rail_util_pti_config.h new file mode 100644 index 00000000..66cf53e3 --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_rail_util_pti_config.h @@ -0,0 +1,62 @@ +/***************************************************************************//** + * @file + * @brief Packet Trace Information configuration file. + ******************************************************************************* + * # License + * Copyright 2020 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +#ifndef SL_RAIL_UTIL_PTI_CONFIG_H +#define SL_RAIL_UTIL_PTI_CONFIG_H + +#include "rail_types.h" + +// <<< Use Configuration Wizard in Context Menu >>> +// PTI Configuration + +// PTI mode +// UART +// UART onewire +// SPI +// Disabled +// Default: RAIL_PTI_MODE_UART +#define SL_RAIL_UTIL_PTI_MODE RAIL_PTI_MODE_DISABLED + +// PTI Baud Rate (Hertz) +// <147800-20000000:1> +// Default: 1600000 +#define SL_RAIL_UTIL_PTI_BAUD_RATE_HZ 1600000 + +// +// <<< end of configuration section >>> + +// <<< sl:start pin_tool >>> +// SL_RAIL_UTIL_PTI +// $[PTI_SL_RAIL_UTIL_PTI] +// [PTI_SL_RAIL_UTIL_PTI]$ + +// <<< sl:end pin_tool >>> + +#endif // SL_RAIL_UTIL_PTI_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_rail_util_rssi_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_rail_util_rssi_config.h new file mode 100644 index 00000000..3357199a --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_rail_util_rssi_config.h @@ -0,0 +1,44 @@ +/***************************************************************************//** + * @file + * @brief RSSI configuration header file. + ******************************************************************************* + * # License + * Copyright 2020 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +#ifndef SL_RAIL_UTIL_RSSI_CONFIG_H +#define SL_RAIL_UTIL_RSSI_CONFIG_H + +// <<< Use Configuration Wizard in Context Menu >>> + +// RSSI Offset Configuration + +// Software RSSI offset value +// Default: 0 +#define SL_RAIL_UTIL_RSSI_OFFSET 0 + +// +// <<< end of configuration section >>> +#endif // SL_RAIL_UTIL_RSSI_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_rail_util_sequencer_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_rail_util_sequencer_config.h new file mode 100644 index 00000000..8bf6f367 --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_rail_util_sequencer_config.h @@ -0,0 +1,48 @@ +/***************************************************************************//** + * @file + * @brief + ******************************************************************************* + * # License + * Copyright 2023 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +#ifndef SL_RAIL_UTIL_SEQUENCER_H +#define SL_RAIL_UTIL_SEQUENCER_H + +#include "rail.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define SL_RAIL_UTIL_SEQUENCER_RUNTIME_IMAGE_SELECTION 0 + +#define SL_RAIL_UTIL_SEQUENCER_IMAGE RAIL_SEQ_IMAGE_PA_20_DBM + +#ifdef __cplusplus +} +#endif + +#endif // SL_RAIL_UTIL_SEQUENCER_H diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_sleeptimer_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_sleeptimer_config.h new file mode 100644 index 00000000..8344ef5f --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_sleeptimer_config.h @@ -0,0 +1,82 @@ +/***************************************************************************//** + * @file + * @brief Sleep Timer configuration file. + ******************************************************************************* + * # License + * Copyright 2020 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +// <<< Use Configuration Wizard in Context Menu >>> + +#ifndef SL_SLEEPTIMER_CONFIG_H +#define SL_SLEEPTIMER_CONFIG_H + +#define SL_SLEEPTIMER_PERIPHERAL_DEFAULT 0 +#define SL_SLEEPTIMER_PERIPHERAL_RTCC 1 +#define SL_SLEEPTIMER_PERIPHERAL_PRORTC 2 +#define SL_SLEEPTIMER_PERIPHERAL_RTC 3 +#define SL_SLEEPTIMER_PERIPHERAL_SYSRTC 4 +#define SL_SLEEPTIMER_PERIPHERAL_BURTC 5 +#define SL_SLEEPTIMER_PERIPHERAL_WTIMER 6 +#define SL_SLEEPTIMER_PERIPHERAL_TIMER 7 + +// Timer Peripheral Used by Sleeptimer +// Default (auto select) +// RTCC +// Radio internal RTC (PRORTC) +// RTC +// SYSRTC +// Back-Up RTC (BURTC) +// WTIMER +// TIMER +// Selection of the Timer Peripheral Used by the Sleeptimer +#define SL_SLEEPTIMER_PERIPHERAL SL_SLEEPTIMER_PERIPHERAL_DEFAULT + +// TIMER/WTIMER Instance Used by Sleeptimer (not applicable for other peripherals) +// Make sure TIMER instance size is 32bits. Check datasheet for 32bits TIMERs. +// Default: 0 +#define SL_SLEEPTIMER_TIMER_INSTANCE 0 + +// Enable wallclock functionality +// Enable or disable wallclock functionalities (get_time, get_date, etc). +// Default: 0 +#define SL_SLEEPTIMER_WALLCLOCK_CONFIG 0 + +// Timer frequency divider (not applicable for WTIMER/TIMER) +// WTIMER/TIMER peripherals are always prescaled to 1024. +// Default: 1 +#define SL_SLEEPTIMER_FREQ_DIVIDER 1 + +// If Radio internal RTC (PRORTC) HAL is used, determines if it owns the IRQ handler. Enable, if no wireless stack is used. +// Default: 0 +#define SL_SLEEPTIMER_PRORTC_HAL_OWNS_IRQ_HANDLER 0 + +// Enable DEBUGRUN functionality on hardware RTC. +// Default: 0 +#define SL_SLEEPTIMER_DEBUGRUN 0 + +#endif /* SLEEPTIMER_CONFIG_H */ + +// <<< end of configuration section >>> diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/ustimer_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/ustimer_config.h new file mode 100644 index 00000000..b50a57f7 --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/ustimer_config.h @@ -0,0 +1,55 @@ +/***************************************************************************//** + * @file + * @brief USTIMER configuration file. + ******************************************************************************* + * # License + * Copyright 2018 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ +#ifndef __SILICON_LABS_USTIMER_CONFIG_H__ +#define __SILICON_LABS_USTIMER_CONFIG_H__ + +/***************************************************************************//** + * @addtogroup ustimer + * @{ + ******************************************************************************/ + +// <<< sl:start pin_tool >>> +// USTIMER +// $[TIMER_USTIMER] +#ifndef USTIMER_PERIPHERAL +#define USTIMER_PERIPHERAL TIMER0 +#endif +#ifndef USTIMER_PERIPHERAL_NO +#define USTIMER_PERIPHERAL_NO 0 +#endif +// [TIMER_USTIMER]$ + +// <<< sl:end pin_tool >>> + +#define USTIMER_TIMER USTIMER_PERIPHERAL_NO + +/** @} (end addtogroup ustimer) */ + +#endif /* __SILICON_LABS_USTIMER_CONFIG_H__ */ diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/linker_options/ot-rtos-wrapper-options b/src/rcp-uart-802154-blehci_MGM240PA32VNN/linker_options/ot-rtos-wrapper-options new file mode 100644 index 00000000..547da199 --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM240PA32VNN/linker_options/ot-rtos-wrapper-options @@ -0,0 +1,848 @@ +-Xlinker --wrap=otBackboneRouterGetPrimary +-Xlinker --wrap=otBackboneRouterGetState +-Xlinker --wrap=otBackboneRouterGetDomainPrefix +-Xlinker --wrap=otBackboneRouterGetNdProxyInfo +-Xlinker --wrap=otBackboneRouterMulticastListenerAdd +-Xlinker --wrap=otBackboneRouterMulticastListenerGetNext +-Xlinker --wrap=otBackboneRouterRegister +-Xlinker --wrap=otBackboneRouterSetConfig +-Xlinker --wrap=otBackboneRouterGetRegistrationJitter +-Xlinker --wrap=otBackboneRouterConfigNextDuaRegistrationResponse +-Xlinker --wrap=otBackboneRouterConfigNextMulticastListenerRegistrationResponse +-Xlinker --wrap=otBackboneRouterGetConfig +-Xlinker --wrap=otBackboneRouterMulticastListenerClear +-Xlinker --wrap=otBackboneRouterSetDomainPrefixCallback +-Xlinker --wrap=otBackboneRouterSetEnabled +-Xlinker --wrap=otBackboneRouterSetMulticastListenerCallback +-Xlinker --wrap=otBackboneRouterSetNdProxyCallback +-Xlinker --wrap=otBackboneRouterSetRegistrationJitter +-Xlinker --wrap=otBleSecureIsCommandClassAuthorized +-Xlinker --wrap=otBleSecureIsConnected +-Xlinker --wrap=otBleSecureIsConnectionActive +-Xlinker --wrap=otBleSecureIsTcatEnabled +-Xlinker --wrap=otBleSecureConnect +-Xlinker --wrap=otBleSecureFlush +-Xlinker --wrap=otBleSecureGetPeerCertificateBase64 +-Xlinker --wrap=otBleSecureGetPeerSubjectAttributeByOid +-Xlinker --wrap=otBleSecureGetThreadAttributeFromOwnCertificate +-Xlinker --wrap=otBleSecureGetThreadAttributeFromPeerCertificate +-Xlinker --wrap=otBleSecureSend +-Xlinker --wrap=otBleSecureSendApplicationTlv +-Xlinker --wrap=otBleSecureSendMessage +-Xlinker --wrap=otBleSecureStart +-Xlinker --wrap=otBleSecureTcatStart +-Xlinker --wrap=otBleSecureDisconnect +-Xlinker --wrap=otBleSecureSetCaCertificateChain +-Xlinker --wrap=otBleSecureSetCertificate +-Xlinker --wrap=otBleSecureSetPsk +-Xlinker --wrap=otBleSecureSetSslAuthMode +-Xlinker --wrap=otBleSecureStop +-Xlinker --wrap=otBorderAgentIsEphemeralKeyActive +-Xlinker --wrap=otBorderAgentGetState +-Xlinker --wrap=otBorderAgentGetId +-Xlinker --wrap=otBorderAgentSetEphemeralKey +-Xlinker --wrap=otBorderAgentSetId +-Xlinker --wrap=otBorderAgentGetUdpPort +-Xlinker --wrap=otBorderAgentClearEphemeralKey +-Xlinker --wrap=otBorderAgentSetEphemeralKeyCallback +-Xlinker --wrap=otBorderRouterAddOnMeshPrefix +-Xlinker --wrap=otBorderRouterAddRoute +-Xlinker --wrap=otBorderRouterGetNetData +-Xlinker --wrap=otBorderRouterGetNextOnMeshPrefix +-Xlinker --wrap=otBorderRouterGetNextRoute +-Xlinker --wrap=otBorderRouterRegister +-Xlinker --wrap=otBorderRouterRemoveOnMeshPrefix +-Xlinker --wrap=otBorderRouterRemoveRoute +-Xlinker --wrap=otBorderRouterSetNetDataFullCallback +-Xlinker --wrap=otBorderRoutingDhcp6PdGetState +-Xlinker --wrap=otBorderRoutingGetState +-Xlinker --wrap=otBorderRoutingGetFavoredNat64Prefix +-Xlinker --wrap=otBorderRoutingGetFavoredOmrPrefix +-Xlinker --wrap=otBorderRoutingGetFavoredOnLinkPrefix +-Xlinker --wrap=otBorderRoutingGetNat64Prefix +-Xlinker --wrap=otBorderRoutingGetNextPrefixTableEntry +-Xlinker --wrap=otBorderRoutingGetNextRouterEntry +-Xlinker --wrap=otBorderRoutingGetOmrPrefix +-Xlinker --wrap=otBorderRoutingGetOnLinkPrefix +-Xlinker --wrap=otBorderRoutingGetPdOmrPrefix +-Xlinker --wrap=otBorderRoutingGetPdProcessedRaInfo +-Xlinker --wrap=otBorderRoutingInit +-Xlinker --wrap=otBorderRoutingSetEnabled +-Xlinker --wrap=otBorderRoutingSetExtraRouterAdvertOptions +-Xlinker --wrap=otBorderRoutingGetRouteInfoOptionPreference +-Xlinker --wrap=otBorderRoutingGetRoutePreference +-Xlinker --wrap=otBorderRoutingClearRouteInfoOptionPreference +-Xlinker --wrap=otBorderRoutingClearRoutePreference +-Xlinker --wrap=otBorderRoutingDhcp6PdSetEnabled +-Xlinker --wrap=otBorderRoutingDhcp6PdSetRequestCallback +-Xlinker --wrap=otBorderRoutingPrefixTableInitIterator +-Xlinker --wrap=otBorderRoutingSetRouteInfoOptionPreference +-Xlinker --wrap=otBorderRoutingSetRoutePreference +-Xlinker --wrap=otChannelManagerGetAutoChannelSelectionEnabled +-Xlinker --wrap=otChannelManagerGetAutoCslChannelSelectionEnabled +-Xlinker --wrap=otChannelManagerRequestChannelSelect +-Xlinker --wrap=otChannelManagerRequestCslChannelSelect +-Xlinker --wrap=otChannelManagerSetAutoChannelSelectionInterval +-Xlinker --wrap=otChannelManagerSetDelay +-Xlinker --wrap=otChannelManagerGetCcaFailureRateThreshold +-Xlinker --wrap=otChannelManagerGetDelay +-Xlinker --wrap=otChannelManagerGetAutoChannelSelectionInterval +-Xlinker --wrap=otChannelManagerGetFavoredChannels +-Xlinker --wrap=otChannelManagerGetSupportedChannels +-Xlinker --wrap=otChannelManagerGetRequestedChannel +-Xlinker --wrap=otChannelManagerRequestChannelChange +-Xlinker --wrap=otChannelManagerSetAutoChannelSelectionEnabled +-Xlinker --wrap=otChannelManagerSetAutoCslChannelSelectionEnabled +-Xlinker --wrap=otChannelManagerSetCcaFailureRateThreshold +-Xlinker --wrap=otChannelManagerSetFavoredChannels +-Xlinker --wrap=otChannelManagerSetSupportedChannels +-Xlinker --wrap=otChannelMonitorIsEnabled +-Xlinker --wrap=otChannelMonitorGetRssiThreshold +-Xlinker --wrap=otChannelMonitorSetEnabled +-Xlinker --wrap=otChannelMonitorGetChannelOccupancy +-Xlinker --wrap=otChannelMonitorGetSampleCount +-Xlinker --wrap=otChannelMonitorGetSampleInterval +-Xlinker --wrap=otChannelMonitorGetSampleWindow +-Xlinker --wrap=otChildSupervisionGetCheckFailureCounter +-Xlinker --wrap=otChildSupervisionGetCheckTimeout +-Xlinker --wrap=otChildSupervisionGetInterval +-Xlinker --wrap=otChildSupervisionResetCheckFailureCounter +-Xlinker --wrap=otChildSupervisionSetCheckTimeout +-Xlinker --wrap=otChildSupervisionSetInterval +-Xlinker --wrap=otCliSetUserCommands +-Xlinker --wrap=otCliInit +-Xlinker --wrap=otCliInputLine +-Xlinker --wrap=CliUartOutput +-Xlinker --wrap=otCoapMessageCodeToString +-Xlinker --wrap=otCoapOptionIteratorGetFirstOption +-Xlinker --wrap=otCoapOptionIteratorGetFirstOptionMatching +-Xlinker --wrap=otCoapOptionIteratorGetNextOption +-Xlinker --wrap=otCoapOptionIteratorGetNextOptionMatching +-Xlinker --wrap=otCoapMessageGetToken +-Xlinker --wrap=otCoapMessageGetCode +-Xlinker --wrap=otCoapMessageGetType +-Xlinker --wrap=otCoapMessageAppendBlock1Option +-Xlinker --wrap=otCoapMessageAppendBlock2Option +-Xlinker --wrap=otCoapMessageAppendContentFormatOption +-Xlinker --wrap=otCoapMessageAppendMaxAgeOption +-Xlinker --wrap=otCoapMessageAppendObserveOption +-Xlinker --wrap=otCoapMessageAppendOption +-Xlinker --wrap=otCoapMessageAppendProxyUriOption +-Xlinker --wrap=otCoapMessageAppendUintOption +-Xlinker --wrap=otCoapMessageAppendUriPathOptions +-Xlinker --wrap=otCoapMessageAppendUriQueryOption +-Xlinker --wrap=otCoapMessageInitResponse +-Xlinker --wrap=otCoapMessageSetPayloadMarker +-Xlinker --wrap=otCoapMessageSetToken +-Xlinker --wrap=otCoapOptionIteratorGetOptionUintValue +-Xlinker --wrap=otCoapOptionIteratorGetOptionValue +-Xlinker --wrap=otCoapOptionIteratorInit +-Xlinker --wrap=otCoapSendRequestBlockWiseWithParameters +-Xlinker --wrap=otCoapSendRequestWithParameters +-Xlinker --wrap=otCoapSendResponseBlockWiseWithParameters +-Xlinker --wrap=otCoapSendResponseWithParameters +-Xlinker --wrap=otCoapStart +-Xlinker --wrap=otCoapStop +-Xlinker --wrap=otCoapNewMessage +-Xlinker --wrap=otCoapBlockSizeFromExponent +-Xlinker --wrap=otCoapMessageGetMessageId +-Xlinker --wrap=otCoapMessageGetTokenLength +-Xlinker --wrap=otCoapAddBlockWiseResource +-Xlinker --wrap=otCoapAddResource +-Xlinker --wrap=otCoapMessageGenerateToken +-Xlinker --wrap=otCoapMessageInit +-Xlinker --wrap=otCoapMessageSetCode +-Xlinker --wrap=otCoapRemoveBlockWiseResource +-Xlinker --wrap=otCoapRemoveResource +-Xlinker --wrap=otCoapSetDefaultHandler +-Xlinker --wrap=otCoapSecureIsClosed +-Xlinker --wrap=otCoapSecureIsConnected +-Xlinker --wrap=otCoapSecureIsConnectionActive +-Xlinker --wrap=otCoapSecureConnect +-Xlinker --wrap=otCoapSecureGetPeerCertificateBase64 +-Xlinker --wrap=otCoapSecureSendRequest +-Xlinker --wrap=otCoapSecureSendRequestBlockWise +-Xlinker --wrap=otCoapSecureSendResponse +-Xlinker --wrap=otCoapSecureSendResponseBlockWise +-Xlinker --wrap=otCoapSecureStart +-Xlinker --wrap=otCoapSecureStartWithMaxConnAttempts +-Xlinker --wrap=otCoapSecureAddBlockWiseResource +-Xlinker --wrap=otCoapSecureAddResource +-Xlinker --wrap=otCoapSecureDisconnect +-Xlinker --wrap=otCoapSecureRemoveBlockWiseResource +-Xlinker --wrap=otCoapSecureRemoveResource +-Xlinker --wrap=otCoapSecureSetCaCertificateChain +-Xlinker --wrap=otCoapSecureSetCertificate +-Xlinker --wrap=otCoapSecureSetClientConnectedCallback +-Xlinker --wrap=otCoapSecureSetDefaultHandler +-Xlinker --wrap=otCoapSecureSetPsk +-Xlinker --wrap=otCoapSecureSetSslAuthMode +-Xlinker --wrap=otCoapSecureStop +-Xlinker --wrap=otCommissionerGetId +-Xlinker --wrap=otCommissionerGetProvisioningUrl +-Xlinker --wrap=otCommissionerGetState +-Xlinker --wrap=otCommissionerAddJoiner +-Xlinker --wrap=otCommissionerAddJoinerWithDiscerner +-Xlinker --wrap=otCommissionerAnnounceBegin +-Xlinker --wrap=otCommissionerEnergyScan +-Xlinker --wrap=otCommissionerGetNextJoinerInfo +-Xlinker --wrap=otCommissionerPanIdQuery +-Xlinker --wrap=otCommissionerRemoveJoiner +-Xlinker --wrap=otCommissionerRemoveJoinerWithDiscerner +-Xlinker --wrap=otCommissionerSendMgmtGet +-Xlinker --wrap=otCommissionerSendMgmtSet +-Xlinker --wrap=otCommissionerSetId +-Xlinker --wrap=otCommissionerSetProvisioningUrl +-Xlinker --wrap=otCommissionerStart +-Xlinker --wrap=otCommissionerStop +-Xlinker --wrap=otCommissionerGetSessionId +-Xlinker --wrap=otCryptoAesCcm +-Xlinker --wrap=otCryptoHmacSha256 +-Xlinker --wrap=otDatasetIsCommissioned +-Xlinker --wrap=otDatasetGeneratePskc +-Xlinker --wrap=otDatasetGetActive +-Xlinker --wrap=otDatasetGetActiveTlvs +-Xlinker --wrap=otDatasetGetPending +-Xlinker --wrap=otDatasetGetPendingTlvs +-Xlinker --wrap=otDatasetParseTlvs +-Xlinker --wrap=otDatasetSendMgmtActiveGet +-Xlinker --wrap=otDatasetSendMgmtActiveSet +-Xlinker --wrap=otDatasetSendMgmtPendingGet +-Xlinker --wrap=otDatasetSendMgmtPendingSet +-Xlinker --wrap=otDatasetSetActive +-Xlinker --wrap=otDatasetSetActiveTlvs +-Xlinker --wrap=otDatasetSetPending +-Xlinker --wrap=otDatasetSetPendingTlvs +-Xlinker --wrap=otDatasetUpdateTlvs +-Xlinker --wrap=otNetworkNameFromString +-Xlinker --wrap=otDatasetConvertToTlvs +-Xlinker --wrap=otDatasetCreateNewNetwork +-Xlinker --wrap=otDatasetSetDelayTimerMinimal +-Xlinker --wrap=otDatasetGetDelayTimerMinimal +-Xlinker --wrap=otDatasetUpdaterIsUpdateOngoing +-Xlinker --wrap=otDatasetUpdaterRequestUpdate +-Xlinker --wrap=otDatasetUpdaterCancelUpdate +-Xlinker --wrap=otDiagIsEnabled +-Xlinker --wrap=otDiagProcessCmd +-Xlinker --wrap=otDiagProcessCmdLine +-Xlinker --wrap=otDnsIsNameCompressionEnabled +-Xlinker --wrap=otDnsEncodeTxtData +-Xlinker --wrap=otDnsGetNextTxtEntry +-Xlinker --wrap=otDnsInitTxtEntryIterator +-Xlinker --wrap=otDnsSetNameCompressionEnabled +-Xlinker --wrap=otDnsClientGetDefaultConfig +-Xlinker --wrap=otDnsAddressResponseGetAddress +-Xlinker --wrap=otDnsAddressResponseGetHostName +-Xlinker --wrap=otDnsBrowseResponseGetHostAddress +-Xlinker --wrap=otDnsBrowseResponseGetServiceInfo +-Xlinker --wrap=otDnsBrowseResponseGetServiceInstance +-Xlinker --wrap=otDnsBrowseResponseGetServiceName +-Xlinker --wrap=otDnsClientBrowse +-Xlinker --wrap=otDnsClientResolveAddress +-Xlinker --wrap=otDnsClientResolveIp4Address +-Xlinker --wrap=otDnsClientResolveService +-Xlinker --wrap=otDnsClientResolveServiceAndHostAddress +-Xlinker --wrap=otDnsServiceResponseGetHostAddress +-Xlinker --wrap=otDnsServiceResponseGetServiceInfo +-Xlinker --wrap=otDnsServiceResponseGetServiceName +-Xlinker --wrap=otDnsClientSetDefaultConfig +-Xlinker --wrap=otDnssdUpstreamQueryIsEnabled +-Xlinker --wrap=otDnssdGetCounters +-Xlinker --wrap=otDnssdGetNextQuery +-Xlinker --wrap=otDnssdGetQueryTypeAndName +-Xlinker --wrap=otDnssdQueryHandleDiscoveredHost +-Xlinker --wrap=otDnssdQueryHandleDiscoveredServiceInstance +-Xlinker --wrap=otDnssdQuerySetCallbacks +-Xlinker --wrap=otDnssdUpstreamQuerySetEnabled +-Xlinker --wrap=otThreadErrorToString +-Xlinker --wrap=otHeapCAlloc +-Xlinker --wrap=otHeapFree +-Xlinker --wrap=otHistoryTrackerIterateExternalRouteHistory +-Xlinker --wrap=otHistoryTrackerIterateRxHistory +-Xlinker --wrap=otHistoryTrackerIterateTxHistory +-Xlinker --wrap=otHistoryTrackerIterateMulticastAddressHistory +-Xlinker --wrap=otHistoryTrackerIterateNeighborHistory +-Xlinker --wrap=otHistoryTrackerIterateNetInfoHistory +-Xlinker --wrap=otHistoryTrackerIterateOnMeshPrefixHistory +-Xlinker --wrap=otHistoryTrackerIterateRouterHistory +-Xlinker --wrap=otHistoryTrackerIterateUnicastAddressHistory +-Xlinker --wrap=otHistoryTrackerEntryAgeToString +-Xlinker --wrap=otHistoryTrackerInitIterator +-Xlinker --wrap=otIcmp6RegisterHandler +-Xlinker --wrap=otIcmp6SendEchoRequest +-Xlinker --wrap=otIcmp6GetEchoMode +-Xlinker --wrap=otIcmp6SetEchoMode +-Xlinker --wrap=otInstanceIsInitialized +-Xlinker --wrap=otGetRadioVersionString +-Xlinker --wrap=otGetVersionString +-Xlinker --wrap=otInstanceErasePersistentInfo +-Xlinker --wrap=otInstanceResetToBootloader +-Xlinker --wrap=otSetStateChangedCallback +-Xlinker --wrap=otInstanceInit +-Xlinker --wrap=otInstanceInitMultiple +-Xlinker --wrap=otInstanceInitSingle +-Xlinker --wrap=otInstanceGetId +-Xlinker --wrap=otInstanceGetUptime +-Xlinker --wrap=otInstanceFactoryReset +-Xlinker --wrap=otInstanceFinalize +-Xlinker --wrap=otInstanceGetUptimeAsString +-Xlinker --wrap=otInstanceReset +-Xlinker --wrap=otInstanceResetRadioStack +-Xlinker --wrap=otRemoveStateChangeCallback +-Xlinker --wrap=otIp6ArePrefixesEqual +-Xlinker --wrap=otIp6HasUnicastAddress +-Xlinker --wrap=otIp6IsAddressEqual +-Xlinker --wrap=otIp6IsAddressUnspecified +-Xlinker --wrap=otIp6IsEnabled +-Xlinker --wrap=otIp6IsMulticastPromiscuousEnabled +-Xlinker --wrap=otIp6IsReceiveFilterEnabled +-Xlinker --wrap=otIp6IsSlaacEnabled +-Xlinker --wrap=otIp6ProtoToString +-Xlinker --wrap=otIp6GetBorderRoutingCounters +-Xlinker --wrap=otIp6GetUnicastAddresses +-Xlinker --wrap=otIp6GetMulticastAddresses +-Xlinker --wrap=otIp6GetUnsecurePorts +-Xlinker --wrap=otIp6AddUnicastAddress +-Xlinker --wrap=otIp6AddUnsecurePort +-Xlinker --wrap=otIp6AddressFromString +-Xlinker --wrap=otIp6PrefixFromString +-Xlinker --wrap=otIp6RegisterMulticastListeners +-Xlinker --wrap=otIp6RemoveUnicastAddress +-Xlinker --wrap=otIp6RemoveUnsecurePort +-Xlinker --wrap=otIp6SelectSourceAddress +-Xlinker --wrap=otIp6Send +-Xlinker --wrap=otIp6SetEnabled +-Xlinker --wrap=otIp6SetMeshLocalIid +-Xlinker --wrap=otIp6SubscribeMulticastAddress +-Xlinker --wrap=otIp6UnsubscribeMulticastAddress +-Xlinker --wrap=otIp6NewMessage +-Xlinker --wrap=otIp6NewMessageFromBuffer +-Xlinker --wrap=otIp6PrefixMatch +-Xlinker --wrap=otIp6AddressToString +-Xlinker --wrap=otIp6GetPrefix +-Xlinker --wrap=otIp6PrefixToString +-Xlinker --wrap=otIp6RemoveAllUnsecurePorts +-Xlinker --wrap=otIp6ResetBorderRoutingCounters +-Xlinker --wrap=otIp6SetAddressCallback +-Xlinker --wrap=otIp6SetMulticastPromiscuousEnabled +-Xlinker --wrap=otIp6SetReceiveCallback +-Xlinker --wrap=otIp6SetReceiveFilterEnabled +-Xlinker --wrap=otIp6SetSlaacEnabled +-Xlinker --wrap=otIp6SetSlaacPrefixFilter +-Xlinker --wrap=otIp6SockAddrToString +-Xlinker --wrap=otJamDetectionGetState +-Xlinker --wrap=otJamDetectionIsEnabled +-Xlinker --wrap=otJamDetectionGetRssiThreshold +-Xlinker --wrap=otJamDetectionSetBusyPeriod +-Xlinker --wrap=otJamDetectionSetRssiThreshold +-Xlinker --wrap=otJamDetectionSetWindow +-Xlinker --wrap=otJamDetectionStart +-Xlinker --wrap=otJamDetectionStop +-Xlinker --wrap=otJamDetectionGetHistoryBitmap +-Xlinker --wrap=otJamDetectionGetBusyPeriod +-Xlinker --wrap=otJamDetectionGetWindow +-Xlinker --wrap=otJoinerStateToString +-Xlinker --wrap=otJoinerGetId +-Xlinker --wrap=otJoinerGetDiscerner +-Xlinker --wrap=otJoinerSetDiscerner +-Xlinker --wrap=otJoinerStart +-Xlinker --wrap=otJoinerGetState +-Xlinker --wrap=otJoinerStop +-Xlinker --wrap=otLinkIsActiveScanInProgress +-Xlinker --wrap=otLinkIsCslEnabled +-Xlinker --wrap=otLinkIsCslSupported +-Xlinker --wrap=otLinkIsEnabled +-Xlinker --wrap=otLinkIsEnergyScanInProgress +-Xlinker --wrap=otLinkIsInTransmitState +-Xlinker --wrap=otLinkIsPromiscuous +-Xlinker --wrap=otLinkIsRadioFilterEnabled +-Xlinker --wrap=otLinkGetExtendedAddress +-Xlinker --wrap=otLinkGetCounters +-Xlinker --wrap=otLinkGetTxDirectRetrySuccessHistogram +-Xlinker --wrap=otLinkGetTxIndirectRetrySuccessHistogram +-Xlinker --wrap=otLinkConvertLinkQualityToRss +-Xlinker --wrap=otLinkActiveScan +-Xlinker --wrap=otLinkEnergyScan +-Xlinker --wrap=otLinkFilterAddAddress +-Xlinker --wrap=otLinkFilterAddRssIn +-Xlinker --wrap=otLinkFilterGetNextAddress +-Xlinker --wrap=otLinkFilterGetNextRssIn +-Xlinker --wrap=otLinkGetRegion +-Xlinker --wrap=otLinkSendDataRequest +-Xlinker --wrap=otLinkSendEmptyData +-Xlinker --wrap=otLinkSetChannel +-Xlinker --wrap=otLinkSetCslChannel +-Xlinker --wrap=otLinkSetCslPeriod +-Xlinker --wrap=otLinkSetCslTimeout +-Xlinker --wrap=otLinkSetEnabled +-Xlinker --wrap=otLinkSetExtendedAddress +-Xlinker --wrap=otLinkSetPanId +-Xlinker --wrap=otLinkSetPollPeriod +-Xlinker --wrap=otLinkSetPromiscuous +-Xlinker --wrap=otLinkSetRegion +-Xlinker --wrap=otLinkSetSupportedChannelMask +-Xlinker --wrap=otLinkFilterGetAddressMode +-Xlinker --wrap=otLinkGetPanId +-Xlinker --wrap=otLinkGetShortAddress +-Xlinker --wrap=otLinkGetCcaFailureRate +-Xlinker --wrap=otLinkGetCslPeriod +-Xlinker --wrap=otLinkGetCslTimeout +-Xlinker --wrap=otLinkGetPollPeriod +-Xlinker --wrap=otLinkGetSupportedChannelMask +-Xlinker --wrap=otLinkConvertRssToLinkQuality +-Xlinker --wrap=otLinkGetChannel +-Xlinker --wrap=otLinkGetCslChannel +-Xlinker --wrap=otLinkGetMaxFrameRetriesDirect +-Xlinker --wrap=otLinkGetMaxFrameRetriesIndirect +-Xlinker --wrap=otLinkFilterClearAddresses +-Xlinker --wrap=otLinkFilterClearAllRssIn +-Xlinker --wrap=otLinkFilterClearDefaultRssIn +-Xlinker --wrap=otLinkFilterRemoveAddress +-Xlinker --wrap=otLinkFilterRemoveRssIn +-Xlinker --wrap=otLinkFilterSetAddressMode +-Xlinker --wrap=otLinkFilterSetDefaultRssIn +-Xlinker --wrap=otLinkGetFactoryAssignedIeeeEui64 +-Xlinker --wrap=otLinkResetCounters +-Xlinker --wrap=otLinkResetTxRetrySuccessHistogram +-Xlinker --wrap=otLinkSetMaxFrameRetriesDirect +-Xlinker --wrap=otLinkSetMaxFrameRetriesIndirect +-Xlinker --wrap=otLinkSetPcapCallback +-Xlinker --wrap=otLinkSetRadioFilterEnabled +-Xlinker --wrap=otLinkMetricsManagerIsEnabled +-Xlinker --wrap=otLinkMetricsConfigEnhAckProbing +-Xlinker --wrap=otLinkMetricsConfigForwardTrackingSeries +-Xlinker --wrap=otLinkMetricsManagerGetMetricsValueByExtAddr +-Xlinker --wrap=otLinkMetricsQuery +-Xlinker --wrap=otLinkMetricsSendLinkProbe +-Xlinker --wrap=otLinkMetricsManagerSetEnabled +-Xlinker --wrap=otLinkRawGetPromiscuous +-Xlinker --wrap=otLinkRawIsEnabled +-Xlinker --wrap=otLinkRawGetRssi +-Xlinker --wrap=otLinkRawEnergyScan +-Xlinker --wrap=otLinkRawReceive +-Xlinker --wrap=otLinkRawSetMacFrameCounter +-Xlinker --wrap=otLinkRawSetMacFrameCounterIfLarger +-Xlinker --wrap=otLinkRawSetMacKey +-Xlinker --wrap=otLinkRawSetPromiscuous +-Xlinker --wrap=otLinkRawSetReceiveDone +-Xlinker --wrap=otLinkRawSetShortAddress +-Xlinker --wrap=otLinkRawSleep +-Xlinker --wrap=otLinkRawSrcMatchAddExtEntry +-Xlinker --wrap=otLinkRawSrcMatchAddShortEntry +-Xlinker --wrap=otLinkRawSrcMatchClearExtEntries +-Xlinker --wrap=otLinkRawSrcMatchClearExtEntry +-Xlinker --wrap=otLinkRawSrcMatchClearShortEntries +-Xlinker --wrap=otLinkRawSrcMatchClearShortEntry +-Xlinker --wrap=otLinkRawSrcMatchEnable +-Xlinker --wrap=otLinkRawTransmit +-Xlinker --wrap=otLinkRawGetCaps +-Xlinker --wrap=otLinkRawGetTransmitBuffer +-Xlinker --wrap=otLinkRawGetRadioTime +-Xlinker --wrap=otLoggingSetLevel +-Xlinker --wrap=otLoggingGetLevel +-Xlinker --wrap=otMdnsIsEnabled +-Xlinker --wrap=otMdnsIsQuestionUnicastAllowed +-Xlinker --wrap=otMdnsGetNextHost +-Xlinker --wrap=otMdnsGetNextKey +-Xlinker --wrap=otMdnsGetNextService +-Xlinker --wrap=otMdnsRegisterHost +-Xlinker --wrap=otMdnsRegisterKey +-Xlinker --wrap=otMdnsRegisterService +-Xlinker --wrap=otMdnsSetEnabled +-Xlinker --wrap=otMdnsStartBrowser +-Xlinker --wrap=otMdnsStartIp4AddressResolver +-Xlinker --wrap=otMdnsStartIp6AddressResolver +-Xlinker --wrap=otMdnsStartSrvResolver +-Xlinker --wrap=otMdnsStartTxtResolver +-Xlinker --wrap=otMdnsStopBrowser +-Xlinker --wrap=otMdnsStopIp4AddressResolver +-Xlinker --wrap=otMdnsStopIp6AddressResolver +-Xlinker --wrap=otMdnsStopSrvResolver +-Xlinker --wrap=otMdnsStopTxtResolver +-Xlinker --wrap=otMdnsUnregisterHost +-Xlinker --wrap=otMdnsUnregisterKey +-Xlinker --wrap=otMdnsUnregisterService +-Xlinker --wrap=otMdnsAllocateIterator +-Xlinker --wrap=otMdnsFreeIterator +-Xlinker --wrap=otMdnsSetConflictCallback +-Xlinker --wrap=otMdnsSetQuestionUnicastAllowed +-Xlinker --wrap=otMeshDiagDiscoverTopology +-Xlinker --wrap=otMeshDiagGetNextChildInfo +-Xlinker --wrap=otMeshDiagGetNextIp6Address +-Xlinker --wrap=otMeshDiagQueryChildTable +-Xlinker --wrap=otMeshDiagQueryChildrenIp6Addrs +-Xlinker --wrap=otMeshDiagQueryRouterNeighborTable +-Xlinker --wrap=otMeshDiagCancel +-Xlinker --wrap=otMessageIsLinkSecurityEnabled +-Xlinker --wrap=otMessageIsLoopbackToHostAllowed +-Xlinker --wrap=otMessageIsMulticastLoopEnabled +-Xlinker --wrap=otMessageWrite +-Xlinker --wrap=otMessageGetRss +-Xlinker --wrap=otMessageAppend +-Xlinker --wrap=otMessageGetThreadLinkInfo +-Xlinker --wrap=otMessageSetLength +-Xlinker --wrap=otMessageQueueGetHead +-Xlinker --wrap=otMessageQueueGetNext +-Xlinker --wrap=otMessageGetOrigin +-Xlinker --wrap=otMessageGetLength +-Xlinker --wrap=otMessageGetOffset +-Xlinker --wrap=otMessageRead +-Xlinker --wrap=otMessageFree +-Xlinker --wrap=otMessageGetBufferInfo +-Xlinker --wrap=otMessageQueueDequeue +-Xlinker --wrap=otMessageQueueEnqueue +-Xlinker --wrap=otMessageQueueEnqueueAtHead +-Xlinker --wrap=otMessageQueueInit +-Xlinker --wrap=otMessageResetBufferInfo +-Xlinker --wrap=otMessageSetDirectTransmission +-Xlinker --wrap=otMessageSetLoopbackToHostAllowed +-Xlinker --wrap=otMessageSetMulticastLoopEnabled +-Xlinker --wrap=otMessageSetOffset +-Xlinker --wrap=otMessageSetOrigin +-Xlinker --wrap=otMultiRadioGetNeighborInfo +-Xlinker --wrap=otIp4IsAddressEqual +-Xlinker --wrap=otIp4AddressFromString +-Xlinker --wrap=otIp4CidrFromString +-Xlinker --wrap=otIp4FromIp4MappedIp6Address +-Xlinker --wrap=otNat64GetCidr +-Xlinker --wrap=otNat64GetNextAddressMapping +-Xlinker --wrap=otNat64Send +-Xlinker --wrap=otNat64SetIp4Cidr +-Xlinker --wrap=otNat64SynthesizeIp6Address +-Xlinker --wrap=otIp4NewMessage +-Xlinker --wrap=otNat64GetPrefixManagerState +-Xlinker --wrap=otNat64GetTranslatorState +-Xlinker --wrap=otIp4AddressToString +-Xlinker --wrap=otIp4CidrToString +-Xlinker --wrap=otIp4ExtractFromIp6Address +-Xlinker --wrap=otIp4ToIp4MappedIp6Address +-Xlinker --wrap=otNat64GetCounters +-Xlinker --wrap=otNat64GetErrorCounters +-Xlinker --wrap=otNat64InitAddressMappingIterator +-Xlinker --wrap=otNat64SetEnabled +-Xlinker --wrap=otNat64SetReceiveIp4Callback +-Xlinker --wrap=otNcpStreamWrite +-Xlinker --wrap=otNcpHdlcInit +-Xlinker --wrap=otNcpHdlcInitMulti +-Xlinker --wrap=otNcpHdlcReceive +-Xlinker --wrap=otNcpHdlcSendDone +-Xlinker --wrap=otNcpPlatLogv +-Xlinker --wrap=otNcpRegisterPeekPokeDelegates +-Xlinker --wrap=otNcpSpiInit +-Xlinker --wrap=otNetDataContainsOmrPrefix +-Xlinker --wrap=otNetDataGet +-Xlinker --wrap=otNetDataGetNextLowpanContextInfo +-Xlinker --wrap=otNetDataGetNextOnMeshPrefix +-Xlinker --wrap=otNetDataGetNextRoute +-Xlinker --wrap=otNetDataGetNextService +-Xlinker --wrap=otNetDataSteeringDataCheckJoiner +-Xlinker --wrap=otNetDataSteeringDataCheckJoinerWithDiscerner +-Xlinker --wrap=otNetDataGetLength +-Xlinker --wrap=otNetDataGetMaxLength +-Xlinker --wrap=otNetDataGetStableVersion +-Xlinker --wrap=otNetDataGetVersion +-Xlinker --wrap=otNetDataGetCommissioningDataset +-Xlinker --wrap=otNetDataResetMaxLength +-Xlinker --wrap=otNetDataIsDnsSrpServiceAdded +-Xlinker --wrap=otNetDataIsPrefixAdded +-Xlinker --wrap=otNetDataPublishExternalRoute +-Xlinker --wrap=otNetDataPublishOnMeshPrefix +-Xlinker --wrap=otNetDataReplacePublishedExternalRoute +-Xlinker --wrap=otNetDataUnpublishPrefix +-Xlinker --wrap=otNetDataPublishDnsSrpServiceAnycast +-Xlinker --wrap=otNetDataPublishDnsSrpServiceUnicast +-Xlinker --wrap=otNetDataPublishDnsSrpServiceUnicastMeshLocalEid +-Xlinker --wrap=otNetDataSetDnsSrpServicePublisherCallback +-Xlinker --wrap=otNetDataSetPrefixPublisherCallback +-Xlinker --wrap=otNetDataUnpublishDnsSrpService +-Xlinker --wrap=otThreadGetVendorAppUrl +-Xlinker --wrap=otThreadGetVendorModel +-Xlinker --wrap=otThreadGetVendorName +-Xlinker --wrap=otThreadGetVendorSwVersion +-Xlinker --wrap=otThreadGetNextDiagnosticTlv +-Xlinker --wrap=otThreadSendDiagnosticGet +-Xlinker --wrap=otThreadSendDiagnosticReset +-Xlinker --wrap=otThreadSetVendorAppUrl +-Xlinker --wrap=otThreadSetVendorModel +-Xlinker --wrap=otThreadSetVendorName +-Xlinker --wrap=otThreadSetVendorSwVersion +-Xlinker --wrap=otNetworkTimeSetSyncPeriod +-Xlinker --wrap=otNetworkTimeSetXtalThreshold +-Xlinker --wrap=otNetworkTimeGet +-Xlinker --wrap=otNetworkTimeGetSyncPeriod +-Xlinker --wrap=otNetworkTimeGetXtalThreshold +-Xlinker --wrap=otNetworkTimeSyncSetCallback +-Xlinker --wrap=otPingSenderPing +-Xlinker --wrap=otPingSenderStop +-Xlinker --wrap=otRadioTimeStatsGet +-Xlinker --wrap=otRadioTimeStatsReset +-Xlinker --wrap=otRandomCryptoFillBuffer +-Xlinker --wrap=otRandomNonCryptoGetUint16 +-Xlinker --wrap=otRandomNonCryptoGetUint16InRange +-Xlinker --wrap=otRandomNonCryptoAddJitter +-Xlinker --wrap=otRandomNonCryptoGetUint32 +-Xlinker --wrap=otRandomNonCryptoGetUint32InRange +-Xlinker --wrap=otRandomNonCryptoGetUint8 +-Xlinker --wrap=otRandomNonCryptoGetUint8InRange +-Xlinker --wrap=otRandomNonCryptoFillBuffer +-Xlinker --wrap=otServerAddService +-Xlinker --wrap=otServerGetNetDataLocal +-Xlinker --wrap=otServerGetNextService +-Xlinker --wrap=otServerRegister +-Xlinker --wrap=otServerRemoveService +-Xlinker --wrap=otSntpClientQuery +-Xlinker --wrap=otSntpClientSetUnixEra +-Xlinker --wrap=otSrpClientIsAutoStartModeEnabled +-Xlinker --wrap=otSrpClientIsRunning +-Xlinker --wrap=otSrpClientIsServiceKeyRecordEnabled +-Xlinker --wrap=otSrpClientGetDomainName +-Xlinker --wrap=otSrpClientItemStateToString +-Xlinker --wrap=otSrpClientGetServerAddress +-Xlinker --wrap=otSrpClientGetHostInfo +-Xlinker --wrap=otSrpClientGetServices +-Xlinker --wrap=otSrpClientAddService +-Xlinker --wrap=otSrpClientClearService +-Xlinker --wrap=otSrpClientEnableAutoHostAddress +-Xlinker --wrap=otSrpClientRemoveHostAndServices +-Xlinker --wrap=otSrpClientRemoveService +-Xlinker --wrap=otSrpClientSetDomainName +-Xlinker --wrap=otSrpClientSetHostAddresses +-Xlinker --wrap=otSrpClientSetHostName +-Xlinker --wrap=otSrpClientStart +-Xlinker --wrap=otSrpClientGetKeyLeaseInterval +-Xlinker --wrap=otSrpClientGetLeaseInterval +-Xlinker --wrap=otSrpClientGetTtl +-Xlinker --wrap=otSrpClientClearHostAndServices +-Xlinker --wrap=otSrpClientDisableAutoStartMode +-Xlinker --wrap=otSrpClientEnableAutoStartMode +-Xlinker --wrap=otSrpClientSetCallback +-Xlinker --wrap=otSrpClientSetKeyLeaseInterval +-Xlinker --wrap=otSrpClientSetLeaseInterval +-Xlinker --wrap=otSrpClientSetServiceKeyRecordEnabled +-Xlinker --wrap=otSrpClientSetTtl +-Xlinker --wrap=otSrpClientStop +-Xlinker --wrap=otSrpClientBuffersGetHostNameString +-Xlinker --wrap=otSrpClientBuffersGetServiceEntryInstanceNameString +-Xlinker --wrap=otSrpClientBuffersGetServiceEntryServiceNameString +-Xlinker --wrap=otSrpClientBuffersGetSubTypeLabelsArray +-Xlinker --wrap=otSrpClientBuffersGetHostAddressesArray +-Xlinker --wrap=otSrpClientBuffersAllocateService +-Xlinker --wrap=otSrpClientBuffersGetServiceEntryTxtBuffer +-Xlinker --wrap=otSrpClientBuffersFreeAllServices +-Xlinker --wrap=otSrpClientBuffersFreeService +-Xlinker --wrap=otSrpServerHostIsDeleted +-Xlinker --wrap=otSrpServerHostMatchesFullName +-Xlinker --wrap=otSrpServerIsAutoEnableMode +-Xlinker --wrap=otSrpServerServiceHasSubTypeServiceName +-Xlinker --wrap=otSrpServerServiceIsDeleted +-Xlinker --wrap=otSrpServerServiceMatchesInstanceName +-Xlinker --wrap=otSrpServerServiceMatchesServiceName +-Xlinker --wrap=otSrpServerGetDomain +-Xlinker --wrap=otSrpServerHostGetFullName +-Xlinker --wrap=otSrpServerServiceGetInstanceLabel +-Xlinker --wrap=otSrpServerServiceGetInstanceName +-Xlinker --wrap=otSrpServerServiceGetServiceName +-Xlinker --wrap=otSrpServerServiceGetSubTypeServiceNameAt +-Xlinker --wrap=otSrpServerHostGetAddresses +-Xlinker --wrap=otSrpServerGetNextHost +-Xlinker --wrap=otSrpServerServiceGetHost +-Xlinker --wrap=otSrpServerGetResponseCounters +-Xlinker --wrap=otSrpServerHostGetNextService +-Xlinker --wrap=otSrpServerServiceGetTxtData +-Xlinker --wrap=otSrpServerParseSubTypeServiceName +-Xlinker --wrap=otSrpServerSetAddressMode +-Xlinker --wrap=otSrpServerSetAnycastModeSequenceNumber +-Xlinker --wrap=otSrpServerSetDomain +-Xlinker --wrap=otSrpServerSetLeaseConfig +-Xlinker --wrap=otSrpServerSetTtlConfig +-Xlinker --wrap=otSrpServerGetAddressMode +-Xlinker --wrap=otSrpServerGetState +-Xlinker --wrap=otSrpServerGetPort +-Xlinker --wrap=otSrpServerServiceGetNumberOfSubTypes +-Xlinker --wrap=otSrpServerServiceGetPort +-Xlinker --wrap=otSrpServerServiceGetPriority +-Xlinker --wrap=otSrpServerServiceGetWeight +-Xlinker --wrap=otSrpServerServiceGetTtl +-Xlinker --wrap=otSrpServerGetAnycastModeSequenceNumber +-Xlinker --wrap=otSrpServerGetLeaseConfig +-Xlinker --wrap=otSrpServerGetTtlConfig +-Xlinker --wrap=otSrpServerHandleServiceUpdateResult +-Xlinker --wrap=otSrpServerHostGetLeaseInfo +-Xlinker --wrap=otSrpServerServiceGetLeaseInfo +-Xlinker --wrap=otSrpServerSetAutoEnableMode +-Xlinker --wrap=otSrpServerSetEnabled +-Xlinker --wrap=otSrpServerSetServiceUpdateHandler +-Xlinker --wrap=otTaskletsArePending +-Xlinker --wrap=otTaskletsProcess +-Xlinker --wrap=otTcpGetLocalAddress +-Xlinker --wrap=otTcpGetPeerAddress +-Xlinker --wrap=otTcpAbort +-Xlinker --wrap=otTcpBind +-Xlinker --wrap=otTcpCommitReceive +-Xlinker --wrap=otTcpConnect +-Xlinker --wrap=otTcpEndpointDeinitialize +-Xlinker --wrap=otTcpEndpointInitialize +-Xlinker --wrap=otTcpListen +-Xlinker --wrap=otTcpListenerDeinitialize +-Xlinker --wrap=otTcpListenerInitialize +-Xlinker --wrap=otTcpReceiveByReference +-Xlinker --wrap=otTcpReceiveContiguify +-Xlinker --wrap=otTcpSendByExtension +-Xlinker --wrap=otTcpSendByReference +-Xlinker --wrap=otTcpSendEndOfStream +-Xlinker --wrap=otTcpStopListening +-Xlinker --wrap=otTcpEndpointGetInstance +-Xlinker --wrap=otTcpListenerGetInstance +-Xlinker --wrap=otTcpEndpointGetContext +-Xlinker --wrap=otTcpListenerGetContext +-Xlinker --wrap=otTcpMbedTlsSslRecvCallback +-Xlinker --wrap=otTcpMbedTlsSslSendCallback +-Xlinker --wrap=otTcpCircularSendBufferDeinitialize +-Xlinker --wrap=otTcpCircularSendBufferWrite +-Xlinker --wrap=otTcpCircularSendBufferGetFreeSpace +-Xlinker --wrap=otTcpCircularSendBufferForceDiscardAll +-Xlinker --wrap=otTcpCircularSendBufferHandleForwardProgress +-Xlinker --wrap=otTcpCircularSendBufferInitialize +-Xlinker --wrap=otThreadIsAnycastLocateInProgress +-Xlinker --wrap=otThreadIsDiscoverInProgress +-Xlinker --wrap=otThreadIsSingleton +-Xlinker --wrap=otThreadDeviceRoleToString +-Xlinker --wrap=otThreadGetDomainName +-Xlinker --wrap=otThreadGetNetworkName +-Xlinker --wrap=otThreadGetExtendedPanId +-Xlinker --wrap=otThreadGetLinkLocalAllThreadNodesMulticastAddress +-Xlinker --wrap=otThreadGetLinkLocalIp6Address +-Xlinker --wrap=otThreadGetMeshLocalEid +-Xlinker --wrap=otThreadGetRealmLocalAllThreadNodesMulticastAddress +-Xlinker --wrap=otThreadGetRloc +-Xlinker --wrap=otThreadGetFixedDuaInterfaceIdentifier +-Xlinker --wrap=otThreadGetIp6Counters +-Xlinker --wrap=otThreadGetMeshLocalPrefix +-Xlinker --wrap=otThreadGetMleCounters +-Xlinker --wrap=otThreadGetTimeInQueueHistogram +-Xlinker --wrap=otThreadGetDeviceRole +-Xlinker --wrap=otThreadBecomeChild +-Xlinker --wrap=otThreadBecomeDetached +-Xlinker --wrap=otThreadDetachGracefully +-Xlinker --wrap=otThreadDiscover +-Xlinker --wrap=otThreadGetLeaderData +-Xlinker --wrap=otThreadGetLeaderRloc +-Xlinker --wrap=otThreadGetNextNeighborInfo +-Xlinker --wrap=otThreadGetParentAverageRssi +-Xlinker --wrap=otThreadGetParentInfo +-Xlinker --wrap=otThreadGetParentLastRssi +-Xlinker --wrap=otThreadGetServiceAloc +-Xlinker --wrap=otThreadLocateAnycastDestination +-Xlinker --wrap=otThreadSearchForBetterParent +-Xlinker --wrap=otThreadSendProactiveBackboneNotification +-Xlinker --wrap=otThreadSetDomainName +-Xlinker --wrap=otThreadSetEnabled +-Xlinker --wrap=otThreadSetExtendedPanId +-Xlinker --wrap=otThreadSetFixedDuaInterfaceIdentifier +-Xlinker --wrap=otThreadSetJoinerAdvertisement +-Xlinker --wrap=otThreadSetLinkMode +-Xlinker --wrap=otThreadSetMeshLocalPrefix +-Xlinker --wrap=otThreadSetNetworkKey +-Xlinker --wrap=otThreadSetNetworkKeyRef +-Xlinker --wrap=otThreadSetNetworkName +-Xlinker --wrap=otThreadGetLinkMode +-Xlinker --wrap=otThreadGetNetworkKeyRef +-Xlinker --wrap=otThreadGetKeySwitchGuardTime +-Xlinker --wrap=otThreadGetRloc16 +-Xlinker --wrap=otThreadGetVersion +-Xlinker --wrap=otThreadGetChildTimeout +-Xlinker --wrap=otThreadGetKeySequenceCounter +-Xlinker --wrap=otThreadGetMaxTimeInQueue +-Xlinker --wrap=otThreadGetPartitionId +-Xlinker --wrap=otThreadGetLeaderRouterId +-Xlinker --wrap=otThreadGetLeaderWeight +-Xlinker --wrap=otConvertDurationInSecondsToString +-Xlinker --wrap=otThreadGetNetworkKey +-Xlinker --wrap=otThreadRegisterParentResponseCallback +-Xlinker --wrap=otThreadResetIp6Counters +-Xlinker --wrap=otThreadResetMleCounters +-Xlinker --wrap=otThreadResetTimeInQueueStat +-Xlinker --wrap=otThreadSendAddressNotification +-Xlinker --wrap=otThreadSetChildTimeout +-Xlinker --wrap=otThreadSetDiscoveryRequestCallback +-Xlinker --wrap=otThreadSetKeySequenceCounter +-Xlinker --wrap=otThreadSetKeySwitchGuardTime +-Xlinker --wrap=otThreadIsRouterEligible +-Xlinker --wrap=otThreadIsRouterIdAllocated +-Xlinker --wrap=otThreadIsTmfOriginFilterEnabled +-Xlinker --wrap=otThreadGetDeviceProperties +-Xlinker --wrap=otThreadGetParentPriority +-Xlinker --wrap=otThreadBecomeLeader +-Xlinker --wrap=otThreadBecomeRouter +-Xlinker --wrap=otThreadGetChildInfoById +-Xlinker --wrap=otThreadGetChildInfoByIndex +-Xlinker --wrap=otThreadGetChildNextIp6Address +-Xlinker --wrap=otThreadGetNextCacheEntry +-Xlinker --wrap=otThreadGetRouterInfo +-Xlinker --wrap=otThreadReleaseRouterId +-Xlinker --wrap=otThreadSetChildRouterLinks +-Xlinker --wrap=otThreadSetJoinerUdpPort +-Xlinker --wrap=otThreadSetMaxAllowedChildren +-Xlinker --wrap=otThreadSetMaxChildIpAddresses +-Xlinker --wrap=otThreadSetParentPriority +-Xlinker --wrap=otThreadSetPreferredRouterId +-Xlinker --wrap=otThreadSetPskc +-Xlinker --wrap=otThreadSetPskcRef +-Xlinker --wrap=otThreadSetRouterEligible +-Xlinker --wrap=otThreadSetRouterIdRange +-Xlinker --wrap=otThreadGetPskcRef +-Xlinker --wrap=otThreadGetJoinerUdpPort +-Xlinker --wrap=otThreadGetMaxAllowedChildren +-Xlinker --wrap=otThreadGetAdvertisementTrickleIntervalMax +-Xlinker --wrap=otThreadGetContextIdReuseDelay +-Xlinker --wrap=otThreadGetPreferredLeaderPartitionId +-Xlinker --wrap=otThreadGetChildRouterLinks +-Xlinker --wrap=otThreadGetLocalLeaderWeight +-Xlinker --wrap=otThreadGetMaxChildIpAddresses +-Xlinker --wrap=otThreadGetMaxRouterId +-Xlinker --wrap=otThreadGetNetworkIdTimeout +-Xlinker --wrap=otThreadGetRouterDowngradeThreshold +-Xlinker --wrap=otThreadGetRouterIdSequence +-Xlinker --wrap=otThreadGetRouterSelectionJitter +-Xlinker --wrap=otThreadGetRouterUpgradeThreshold +-Xlinker --wrap=otThreadGetNextHopAndPathCost +-Xlinker --wrap=otThreadGetPskc +-Xlinker --wrap=otThreadGetRouterIdRange +-Xlinker --wrap=otThreadRegisterNeighborTableCallback +-Xlinker --wrap=otThreadSetCcmEnabled +-Xlinker --wrap=otThreadSetContextIdReuseDelay +-Xlinker --wrap=otThreadSetDeviceProperties +-Xlinker --wrap=otThreadSetLocalLeaderWeight +-Xlinker --wrap=otThreadSetNetworkIdTimeout +-Xlinker --wrap=otThreadSetPreferredLeaderPartitionId +-Xlinker --wrap=otThreadSetRouterDowngradeThreshold +-Xlinker --wrap=otThreadSetRouterSelectionJitter +-Xlinker --wrap=otThreadSetRouterUpgradeThreshold +-Xlinker --wrap=otThreadSetSteeringData +-Xlinker --wrap=otThreadSetThreadVersionCheckEnabled +-Xlinker --wrap=otThreadSetTmfOriginFilterEnabled +-Xlinker --wrap=otTrelIsEnabled +-Xlinker --wrap=otTrelIsFilterEnabled +-Xlinker --wrap=otTrelGetCounters +-Xlinker --wrap=otTrelGetNextPeer +-Xlinker --wrap=otTrelGetNumberOfPeers +-Xlinker --wrap=otTrelInitPeerIterator +-Xlinker --wrap=otTrelResetCounters +-Xlinker --wrap=otTrelSetEnabled +-Xlinker --wrap=otTrelSetFilterEnabled +-Xlinker --wrap=otUdpIsOpen +-Xlinker --wrap=otUdpIsPortInUse +-Xlinker --wrap=otUdpAddReceiver +-Xlinker --wrap=otUdpBind +-Xlinker --wrap=otUdpClose +-Xlinker --wrap=otUdpConnect +-Xlinker --wrap=otUdpOpen +-Xlinker --wrap=otUdpRemoveReceiver +-Xlinker --wrap=otUdpSend +-Xlinker --wrap=otUdpSendDatagram +-Xlinker --wrap=otUdpNewMessage +-Xlinker --wrap=otUdpGetSockets +-Xlinker --wrap=otUdpForwardReceive +-Xlinker --wrap=otUdpForwardSetForwarder +-Xlinker --wrap=otVerhoeffChecksumCalculate +-Xlinker --wrap=otVerhoeffChecksumValidate diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/main.c b/src/rcp-uart-802154-blehci_MGM240PA32VNN/main.c new file mode 100644 index 00000000..90610816 --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM240PA32VNN/main.c @@ -0,0 +1,74 @@ +/***************************************************************************//** + * @file + * @brief main() function. + ******************************************************************************* + * # License + * Copyright 2024 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +#include "sl_component_catalog.h" +#include "sl_system_init.h" +#include "app.h" +#if defined(SL_CATALOG_POWER_MANAGER_PRESENT) +#include "sl_power_manager.h" +#endif // SL_CATALOG_POWER_MANAGER_PRESENT +#if defined(SL_CATALOG_KERNEL_PRESENT) +#include "sl_system_kernel.h" +#else // !SL_CATALOG_KERNEL_PRESENT +#include "sl_system_process_action.h" +#endif // SL_CATALOG_KERNEL_PRESENT + +int main(void) +{ + // Initialize Silicon Labs device, system, service(s) and protocol stack(s). + // Note that if the kernel is present, processing task(s) will be created by + // this call. + sl_system_init(); + + // Initialize the application. For example, create periodic timer(s) or + // task(s) if the kernel is present. + app_init(); + +#if defined(SL_CATALOG_KERNEL_PRESENT) + // Start the kernel. Task(s) created in app_init() will start running. + sl_system_kernel_start(); +#else // SL_CATALOG_KERNEL_PRESENT + while (1) { + // Do not remove this call: Silicon Labs components process action routine + // must be called from the super loop. + sl_system_process_action(); + + // Application process. + app_process_action(); + +#if defined(SL_CATALOG_POWER_MANAGER_PRESENT) + // Let the CPU go to sleep if the system allows it. + sl_power_manager_sleep(); +#endif + } + // Clean-up when exiting the application. + app_exit(); +#endif // SL_CATALOG_KERNEL_PRESENT +} \ No newline at end of file diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/rcp-uart-802154-blehci_MGM240PA32VNN.slcp b/src/rcp-uart-802154-blehci_MGM240PA32VNN/rcp-uart-802154-blehci_MGM240PA32VNN.slcp new file mode 100644 index 00000000..86e430f0 --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM240PA32VNN/rcp-uart-802154-blehci_MGM240PA32VNN.slcp @@ -0,0 +1,86 @@ +# Silicon Labs Project Configuration Tools: slcp, v0, Component selection file. +project_name: rcp-uart-802154-blehci_MGM240PA32VNN +label: rcp-uart-802154-blehci_MGM240PA32VNN +description: | + This multiprotocol radio co-processor (RCP) application supports running OpenThread, Zigbee, and Bluetooth stacks simultaneously on a host processor. It uses concurrent multiprotocol (CMP) / multi-PAN functionality to run the 802.15.4 networks simultaneously on the same channel, and dynamic multiprotocol (DMP) to run the Bluetooth Link Layer simultaneously. The host stacks and the RCP communicate using the Co-Processor Communication protocol (CPC), which acts as a protocol multiplexer and serial transport layer. The host applications connect to the CPC daemon, which in turn connects to the EFR via a UART link. Refer to *AN1333: Running Zigbee, OpenThread, and Bluetooth Concurrently on a Linux Host with a Multiprotocol Co-processor* for more information on running the multiprotocol RCP with different host applications. +category: OpenThread Examples +filter: +- name: Capability + value: [Multiprotocol] +- name: Device Type + value: [RCP] +- name: Project Difficulty + value: [Advanced] +- name: Wireless Technology + value: [Bluetooth, Thread, Zigbee] +package: OpenThread +quality: production +readme: +- {path: README-MP-DMP-RCP.md} +- {path: README-MP-DMP-RCP.md} +source: +- {path: main.c} +- {path: app.c} +tag: [prebuilt_demo] +include: +- path: . + file_list: + - {path: app.h} + - {path: reset_util.h} +sdk: {id: simplicity_sdk, version: 2024.6.1} +toolchain_settings: [] +component: +- {id: MGM240PA32VNN} +- {id: bluetooth_controller} +- {id: bluetooth_feature_advertiser} +- {id: bluetooth_feature_connection} +- {id: bluetooth_feature_connection_phy_update} +- {id: bluetooth_feature_extended_advertiser} +- {id: bluetooth_feature_extended_scanner} +- {id: bluetooth_feature_legacy_scanner} +- {id: bluetooth_hci_cpc} +- {id: bootloader_interface} +- {id: clock_manager} +- instance: [vcom] + id: cpc_secondary_driver_uart_usart +- {id: freertos} +- {id: freertos_heap_3} +- {id: ot_crash_handler} +- {id: ot_ncp_cpc} +- {id: ot_stack_rcp} +- {id: rail_lib_multiprotocol} +- {id: rail_util_pti} +template_contribution: +- {name: component_catalog, priority: 0, value: bluetooth_ncp} +configuration: +- {name: SL_BT_CONFIG_USER_ADVERTISERS, value: '3'} +- {name: SL_STACK_SIZE, value: '2752'} +- {name: SL_HEAP_SIZE, value: '15700'} +- condition: [device_sdid_200] + name: SL_DEVICE_INIT_LFXO_TIMEOUT + value: cmuLfxoStartupDelay_4KCycles +- condition: [device_sdid_205] + name: SL_DEVICE_INIT_LFXO_TIMEOUT + value: cmuLfxoStartupDelay_4KCycles +- condition: [psa_crypto] + name: SL_PSA_KEY_USER_SLOT_COUNT + value: '0' +- {name: SL_BOARD_ENABLE_VCOM, value: '1'} +- {name: SL_CPC_DRV_UART_VCOM_BAUDRATE, value: '115200'} +- {name: SL_CPC_DRV_UART_VCOM_FLOW_CONTROL_TYPE, value: usartHwFlowControlCtsAndRts} +- {name: OPENTHREAD_CONFIG_HEAP_EXTERNAL_ENABLE, value: '0'} +- {name: OPENTHREAD_CONFIG_LOG_OUTPUT, value: OPENTHREAD_CONFIG_LOG_OUTPUT_NONE} +- {name: OPENTHREAD_CONFIG_MULTIPAN_RCP_ENABLE, value: '1'} +- {name: OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_ENABLE, value: '1'} +- {name: OPENTHREAD_CONFIG_MULTIPLE_STATIC_INSTANCE_ENABLE, value: '1'} +- {name: OPENTHREAD_CONFIG_DIAG_ENABLE, value: '1'} +- {name: OPENTHREAD_CONFIG_PLATFORM_KEY_REFERENCES_ENABLE, value: '0'} +- {name: OPENTHREAD_CONFIG_MAC_CSL_RECEIVER_ENABLE, value: '0'} +- {name: OPENTHREAD_CONFIG_MAC_CSL_AUTO_SYNC_ENABLE, value: '0'} +- {name: SL_CPC_RX_BUFFER_MAX_COUNT, value: '15'} +- {name: SL_CPC_TX_QUEUE_ITEM_MAX_COUNT, value: '15'} +- {name: CIRCULAR_QUEUE_LEN_MAX, value: '16'} +ui_hints: + highlight: + - {path: ./README-MP-DMP-RCP.md, focus: true} + diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/rcp-uart-802154-blehci_MGM240PA32VNN.slps b/src/rcp-uart-802154-blehci_MGM240PA32VNN/rcp-uart-802154-blehci_MGM240PA32VNN.slps new file mode 100644 index 00000000..b911e467 --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM240PA32VNN/rcp-uart-802154-blehci_MGM240PA32VNN.slps @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/reset_util.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/reset_util.h new file mode 100644 index 00000000..56e75da9 --- /dev/null +++ b/src/rcp-uart-802154-blehci_MGM240PA32VNN/reset_util.h @@ -0,0 +1,69 @@ +/* + * Copyright (c) 2022, The OpenThread Authors. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holder nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef OT_LIB_PLATFORM_RESET_UTIL_H_ +#define OT_LIB_PLATFORM_RESET_UTIL_H_ + +#if defined(OPENTHREAD_ENABLE_COVERAGE) && OPENTHREAD_ENABLE_COVERAGE && defined(__GNUC__) +#if __GNUC__ >= 11 || (defined(__clang__) && (defined(__APPLE__) && (__clang_major__ >= 13)) || \ + (!defined(__APPLE__) && (__clang_major__ >= 12))) +void __gcov_dump(void); +void __gcov_reset(void); + +static void flush_gcov(void) +{ + __gcov_dump(); + __gcov_reset(); +} +#else +void __gcov_flush(void); +#define flush_gcov __gcov_flush +#endif /* __GNUC__ >= 11 || (defined(__clang__) && (defined(__APPLE__) && (__clang_major__ >= 13)) || \ + (!defined(__APPLE__) && (__clang_major__ >= 12))) */ +#else +#define flush_gcov() +#endif // defined(OPENTHREAD_ENABLE_COVERAGE) && OPENTHREAD_ENABLE_COVERAGE && defined(__GNUC__) + +#if defined(__linux__) || defined(__APPLE__) +#include +#include +jmp_buf gResetJump; + +#define OT_SETUP_RESET_JUMP(kArgv) \ + if (setjmp(gResetJump)) \ + { \ + alarm(0); \ + flush_gcov(); \ + execvp(kArgv[0], kArgv); \ + } + +#else +#define OT_SETUP_RESET_JUMP(ARGV) +#endif // defined(__linux__) || defined(__APPLE__) + +#endif // OT_LIB_PLATFORM_RESET_UTIL_H_