|
1 |
| -# Copyright (c) 2024 STMicroelectronics |
| 1 | +# Copyright (c) 2025 STMicroelectronics |
2 | 2 | #
|
3 | 3 | # SPDX-License-Identifier: Apache-2.0
|
4 |
| - |
5 | 4 | zephyr_include_directories(Common/WPAN/Interfaces)
|
6 | 5 | zephyr_include_directories(Common/WPAN/Modules)
|
7 | 6 | zephyr_include_directories(Common/WPAN/Modules/Flash)
|
8 | 7 | zephyr_include_directories(Common/WPAN/Modules/RTDebug)
|
9 | 8 | zephyr_include_directories(Common/WPAN/Modules/Log)
|
| 9 | +if(CONFIG_IEEE802154_STM32WBA) |
| 10 | + zephyr_include_directories(Common/WPAN/Modules/BasicAES) |
| 11 | +endif() |
10 | 12 | zephyr_include_directories(Utilities/misc)
|
11 | 13 | zephyr_include_directories(Utilities/tim_serv)
|
12 | 14 | zephyr_include_directories(Utilities/trace/adv_trace)
|
13 | 15 | zephyr_include_directories(STM32_WPAN)
|
14 | 16 |
|
15 |
| - |
16 | 17 | zephyr_sources(Common/WPAN/Modules/Log/log_module.c)
|
17 | 18 | zephyr_sources(Common/WPAN/Interfaces/hw_pka.c)
|
18 | 19 | zephyr_sources(Common/WPAN/Interfaces/hw_pka_p256.c)
|
19 | 20 | zephyr_sources(Common/WPAN/Modules/RTDebug/RTDebug.c)
|
20 | 21 |
|
21 |
| - |
22 | 22 | if(CONFIG_FLASH)
|
23 | 23 | zephyr_sources(Common/WPAN/Modules/Flash/flash_manager.c)
|
24 | 24 | zephyr_sources(Common/WPAN/Modules/Flash/flash_driver.c)
|
25 | 25 | zephyr_sources(Common/WPAN/Modules/stm_list.c)
|
26 | 26 | zephyr_sources(Common/WPAN/Modules/Flash/rf_timing_synchro.c)
|
27 | 27 | endif()
|
28 | 28 |
|
| 29 | +if(CONFIG_IEEE802154_STM32WBA) |
| 30 | + zephyr_sources(Common/WPAN/Modules/BasicAES/baes_ccm.c) |
| 31 | + zephyr_sources(Common/WPAN/Modules/BasicAES/baes_cmac.c) |
| 32 | + zephyr_sources(Common/WPAN/Modules/BasicAES/baes_ecb.c) |
| 33 | +endif() |
| 34 | + |
29 | 35 | set(STM32WBA_LIB_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../zephyr/blobs/stm32wba/lib)
|
30 | 36 |
|
31 | 37 | # select the type of BLE library
|
32 |
| -if (CONFIG_BT_EXT_ADV |
33 |
| - OR (CONFIG_BT_PER_ADV OR CONFIG_BT_PER_ADV_SYNC) |
34 |
| - OR CONFIG_BT_SCA_UPDATE |
35 |
| - OR (CONFIG_BT_DF_CTE_RX_AOA OR CONFIG_BT_CTLR_DF_ANT_SWITCH_RX OR CONFIG_BT_CTLR_DF_ANT_SWITCH_TX OR CONFIG_BT_DF_CTE_TX_AOD) |
36 |
| - OR (CONFIG_BT_PER_ADV_SYNC_TRANSFER_RECEIVER OR CONFIG_BT_PER_ADV_SYNC_TRANSFER_SENDER OR CONFIG_BT_CTLR_SYNC_PERIODIC) |
37 |
| - OR CONFIG_BT_ISO_UNICAST |
38 |
| - OR CONFIG_BT_ISO_BROADCASTER |
39 |
| - OR CONFIG_BT_ISO_SYNC_RECEIVER |
40 |
| - OR CONFIG_BT_TRANSMIT_POWER_CONTROL |
41 |
| - OR CONFIG_BT_SUBRATING |
42 |
| - OR CONFIG_BT_CTLR_ADV_PERIODIC_ADI_SUPPORT |
43 |
| - OR CONFIG_BT_EXT_ADV_CODING_SELECTION) |
44 |
| - message(STATUS "link layer FULL lib selected") |
45 |
| - set(BLE_LIB_TYPE "BLE_LIB_FULL") |
46 |
| -else() |
47 |
| - message(STATUS "link layer BASIC lib selected") |
48 |
| - set(BLE_LIB_TYPE "BLE_LIB_BASIC") |
49 |
| -endif() |
| 38 | +if(CONFIG_BT_STM32WBA) |
| 39 | + if(CONFIG_BT_EXT_ADV |
| 40 | + OR (CONFIG_BT_PER_ADV OR CONFIG_BT_PER_ADV_SYNC) |
| 41 | + OR CONFIG_BT_SCA_UPDATE |
| 42 | + OR (CONFIG_BT_DF_CTE_RX_AOA OR CONFIG_BT_CTLR_DF_ANT_SWITCH_RX OR CONFIG_BT_CTLR_DF_ANT_SWITCH_TX OR CONFIG_BT_DF_CTE_TX_AOD) |
| 43 | + OR (CONFIG_BT_PER_ADV_SYNC_TRANSFER_RECEIVER OR CONFIG_BT_PER_ADV_SYNC_TRANSFER_SENDER OR CONFIG_BT_CTLR_SYNC_PERIODIC) |
| 44 | + OR CONFIG_BT_ISO_UNICAST |
| 45 | + OR CONFIG_BT_ISO_BROADCASTER |
| 46 | + OR CONFIG_BT_ISO_SYNC_RECEIVER |
| 47 | + OR CONFIG_BT_TRANSMIT_POWER_CONTROL |
| 48 | + OR CONFIG_BT_SUBRATING |
| 49 | + OR CONFIG_BT_CTLR_ADV_PERIODIC_ADI_SUPPORT |
| 50 | + OR CONFIG_BT_EXT_ADV_CODING_SELECTION) |
| 51 | + message(STATUS "link layer FULL lib selected") |
| 52 | + set(BLE_LIB_TYPE "BLE_LIB_FULL") |
| 53 | + else() |
| 54 | + message(STATUS "link layer BASIC lib selected") |
| 55 | + set(BLE_LIB_TYPE "BLE_LIB_BASIC") |
| 56 | + endif() |
50 | 57 |
|
51 |
| -set(STM32WBA_BLE_LIB_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/STM32_WPAN/ble/stack) |
| 58 | + set(STM32WBA_BLE_LIB_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/STM32_WPAN/ble/stack) |
52 | 59 |
|
53 |
| -add_library(stm32wba_ble_lib STATIC IMPORTED GLOBAL) |
| 60 | + add_library(stm32wba_ble_lib STATIC IMPORTED GLOBAL) |
54 | 61 |
|
55 |
| -add_dependencies( |
56 |
| - stm32wba_ble_lib |
57 |
| - stm32wba_ll_lib |
58 |
| -) |
59 |
| -if (BLE_LIB_TYPE STREQUAL "BLE_LIB_BASIC") |
60 |
| - set_target_properties( |
61 |
| - stm32wba_ble_lib PROPERTIES IMPORTED_LOCATION ${STM32WBA_LIB_DIR}/stm32wba_ble_stack_llobasic.a |
62 |
| - ) |
63 |
| -elseif (BLE_LIB_TYPE STREQUAL "BLE_LIB_FULL") |
64 |
| - set_target_properties( |
65 |
| - stm32wba_ble_lib PROPERTIES IMPORTED_LOCATION ${STM32WBA_LIB_DIR}/stm32wba_ble_stack_llo.a |
| 62 | + add_dependencies( |
| 63 | + stm32wba_ble_lib |
| 64 | + stm32wba_ll_lib |
66 | 65 | )
|
67 |
| -endif() |
| 66 | + if(BLE_LIB_TYPE STREQUAL "BLE_LIB_BASIC") |
| 67 | + set_target_properties( |
| 68 | + stm32wba_ble_lib PROPERTIES IMPORTED_LOCATION ${STM32WBA_LIB_DIR}/stm32wba_ble_stack_llobasic.a |
| 69 | + ) |
| 70 | + elseif(BLE_LIB_TYPE STREQUAL "BLE_LIB_FULL") |
| 71 | + set_target_properties( |
| 72 | + stm32wba_ble_lib PROPERTIES IMPORTED_LOCATION ${STM32WBA_LIB_DIR}/stm32wba_ble_stack_llo.a |
| 73 | + ) |
| 74 | + endif() |
68 | 75 |
|
69 |
| -# Setting the right Cube define according to the Zephyr configuration |
70 |
| -if(NOT CONFIG_BT_STM32WBA_USE_TEMP_BASED_CALIB) |
71 |
| - zephyr_compile_definitions( -DUSE_TEMPERATURE_BASED_RADIO_CALIBRATION=0 ) |
72 |
| -endif() |
| 76 | + # Setting the right Cube define according to the Zephyr configuration |
| 77 | + if(NOT CONFIG_BT_STM32WBA_USE_TEMP_BASED_CALIB) |
| 78 | + zephyr_compile_definitions( -DUSE_TEMPERATURE_BASED_RADIO_CALIBRATION=0 ) |
| 79 | + endif() |
73 | 80 |
|
74 |
| -# Using the selected version of ble lib |
75 |
| -set_target_properties(stm32wba_ble_lib PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${STM32WBA_BLE_LIB_INCLUDE_DIR}) |
| 81 | + # Using the selected version of ble lib |
| 82 | + set_target_properties(stm32wba_ble_lib PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${STM32WBA_BLE_LIB_INCLUDE_DIR}) |
76 | 83 |
|
77 |
| -target_link_libraries(app PUBLIC stm32wba_ble_lib) |
| 84 | + target_link_libraries(app PUBLIC stm32wba_ble_lib) |
| 85 | +endif() |
78 | 86 |
|
79 | 87 | # Selecting the proper version of link layer lib
|
80 |
| -# Checking all the soc variants and not simply relying on board name |
81 |
| -if(CONFIG_SOC_STM32WBA65XX) |
82 |
| - message(STATUS "STM32WBA6 link layer lib selected") |
83 |
| - if (BLE_LIB_TYPE STREQUAL "BLE_LIB_BASIC") |
84 |
| - set(LL_LIB "WBA6_LinkLayer_BLE_Basic_lib.a") |
85 |
| - elseif (BLE_LIB_TYPE STREQUAL "BLE_LIB_FULL") |
86 |
| - set(LL_LIB "WBA6_LinkLayer_BLE_Full_lib.a") |
| 88 | +if(CONFIG_BT_STM32WBA) |
| 89 | + # Checking all the soc variants and not simply relying on board name |
| 90 | + if(CONFIG_SOC_STM32WBA65XX) |
| 91 | + message(STATUS "STM32WBA6 link layer lib selected") |
| 92 | + if (BLE_LIB_TYPE STREQUAL "BLE_LIB_BASIC") |
| 93 | + set(LL_LIB "WBA6_LinkLayer_BLE_Basic_lib.a") |
| 94 | + elseif (BLE_LIB_TYPE STREQUAL "BLE_LIB_FULL") |
| 95 | + set(LL_LIB "WBA6_LinkLayer_BLE_Full_lib.a") |
| 96 | + endif() |
87 | 97 | endif()
|
88 |
| -endif() |
89 | 98 |
|
90 |
| -if(CONFIG_SOC_STM32WBA55XX OR SOC_STM32WBA52XX) |
91 |
| - message(STATUS "STM32WBA5 link layer lib selected") |
92 |
| - if (BLE_LIB_TYPE STREQUAL "BLE_LIB_BASIC") |
93 |
| - set(LL_LIB "LinkLayer_BLE_Basic_lib.a") |
94 |
| - elseif (BLE_LIB_TYPE STREQUAL "BLE_LIB_FULL") |
95 |
| - set(LL_LIB "LinkLayer_BLE_Full_lib.a") |
| 99 | + if(CONFIG_SOC_STM32WBA55XX OR SOC_STM32WBA52XX) |
| 100 | + message(STATUS "STM32WBA5 link layer lib selected") |
| 101 | + if (BLE_LIB_TYPE STREQUAL "BLE_LIB_BASIC") |
| 102 | + set(LL_LIB "LinkLayer_BLE_Basic_lib.a") |
| 103 | + elseif (BLE_LIB_TYPE STREQUAL "BLE_LIB_FULL") |
| 104 | + set(LL_LIB "LinkLayer_BLE_Full_lib.a") |
| 105 | + endif() |
| 106 | + endif() |
| 107 | +elseif(CONFIG_IEEE802154_STM32WBA) |
| 108 | + if(CONFIG_SOC_STM32WBA65XX) |
| 109 | + if(CONFIG_OPENTHREAD) |
| 110 | + message(STATUS "WBA6_LinkLayer_Thread_lib_Zephyr.a lib selected") |
| 111 | + set(LL_LIB "WBA6_LinkLayer_Thread_lib_Zephyr.a") |
| 112 | + else() |
| 113 | + message(STATUS "WBA6_LinkLayer15_4_Zephyr.a lib selected") |
| 114 | + set(LL_LIB "WBA6_LinkLayer15_4_Zephyr.a") |
| 115 | + endif() |
96 | 116 | endif()
|
97 | 117 | endif()
|
98 | 118 |
|
99 |
| -add_library(stm32wba_ll_lib STATIC IMPORTED GLOBAL) |
100 |
| -set(STM32WBA_LL_LIB_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/STM32_WPAN/link_layer/ll_cmd_lib) |
101 |
| -set_target_properties(stm32wba_ll_lib PROPERTIES IMPORTED_LOCATION ${STM32WBA_LIB_DIR}/${LL_LIB}) |
102 |
| -set_target_properties(stm32wba_ll_lib PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${STM32WBA_LL_LIB_INCLUDE_DIR}) |
103 |
| -target_link_libraries(app PUBLIC stm32wba_ll_lib) |
| 119 | +if(CONFIG_BT_STM32WBA OR CONFIG_IEEE802154_STM32WBA) |
| 120 | + add_library(stm32wba_ll_lib STATIC IMPORTED GLOBAL) |
| 121 | + set(STM32WBA_LL_LIB_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/STM32_WPAN/link_layer/ll_cmd_lib) |
| 122 | + set_target_properties(stm32wba_ll_lib PROPERTIES IMPORTED_LOCATION ${STM32WBA_LIB_DIR}/${LL_LIB}) |
| 123 | + set_target_properties(stm32wba_ll_lib PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${STM32WBA_LL_LIB_INCLUDE_DIR}) |
| 124 | + target_link_libraries(app PUBLIC stm32wba_ll_lib) |
| 125 | +endif() |
104 | 126 |
|
105 | 127 | add_subdirectory(STM32_WPAN)
|
106 | 128 |
|
107 | 129 | add_subdirectory_ifdef(CONFIG_BT_STM32WBA ble)
|
| 130 | +add_subdirectory_ifdef(CONFIG_IEEE802154_STM32WBA IEEE802154) |
0 commit comments