3
3
4
4
set (SISDK_DIR ${ZEPHYR_HAL_SILABS_MODULE_DIR} /simplicity_sdk )
5
5
set (WISECONNECT_DIR ${ZEPHYR_HAL_SILABS_MODULE_DIR} /wiseconnect )
6
+ set (COMMON_DIR ${ZEPHYR_HAL_SILABS_MODULE_DIR} /simplicity_sdk/platform/common )
6
7
7
8
# Keep these values sync with
8
9
# components/device/silabs/si91x/mcu/core/chip/component/siwg917*.slcc
@@ -23,16 +24,25 @@ zephyr_include_directories(
23
24
${SISDK_DIR} /platform/common/inc
24
25
${SISDK_DIR} /platform/common/config
25
26
${SISDK_DIR} /platform/service/mem_pool/inc
26
- ${WISECONNECT_DIR} /components/board/silabs/inc
27
+ # Wiseconnect do not provide generic RTE_Device_917.h. However, all the boards
28
+ # share more-or-less the same definitions. So we could take any of them.
29
+ # In addtion, this file is only required for the compilation, but none the
30
+ # symbols are normally used by Zephyr (it is required to compile CMSIS API
31
+ # which is not not used).
32
+ ${WISECONNECT_DIR} /components/board/silabs/config/brd4342a
27
33
${WISECONNECT_DIR} /components/device/silabs/si91x/mcu/core/config
28
34
${WISECONNECT_DIR} /components/device/silabs/si91x/mcu/core/chip/inc
29
35
${WISECONNECT_DIR} /components/device/silabs/si91x/mcu/core/chip/config
36
+ ${WISECONNECT_DIR} /components/device/silabs/si91x/mcu/core/common/inc
30
37
${WISECONNECT_DIR} /components/device/silabs/si91x/mcu/drivers/rom_driver/inc
31
38
${WISECONNECT_DIR} /components/device/silabs/si91x/mcu/drivers/peripheral_drivers/inc
32
39
${WISECONNECT_DIR} /components/device/silabs/si91x/mcu/drivers/service/clock_manager/inc
40
+ ${WISECONNECT_DIR} /components/device/silabs/si91x/mcu/drivers/service/power_manager/inc
41
+ ${WISECONNECT_DIR} /components/device/silabs/si91x/mcu/drivers/service/power_manager/config
33
42
${WISECONNECT_DIR} /components/device/silabs/si91x/mcu/drivers/systemlevel/inc
34
43
${WISECONNECT_DIR} /components/device/silabs/si91x/mcu/drivers/unified_api/inc
35
44
${WISECONNECT_DIR} /components/device/silabs/si91x/mcu/drivers/unified_api/config
45
+ ${WISECONNECT_DIR} /components/device/silabs/si91x/mcu/drivers/unified_api/config/sl_i2s_config
36
46
${WISECONNECT_DIR} /components/device/silabs/si91x/mcu/drivers/unified_peripheral_drivers/inc
37
47
${WISECONNECT_DIR} /components/device/silabs/si91x/mcu/drivers/cmsis_driver/config
38
48
${WISECONNECT_DIR} /components/device/silabs/si91x/mcu/drivers/cmsis_driver
@@ -141,7 +151,7 @@ endif() # CONFIG_BT_SILABS_SIWX91X
141
151
if (CONFIG_WISECONNECT_NETWORK_STACK )
142
152
zephyr_compile_definitions (
143
153
SLI_SI91X_ENABLE_OS
144
- SL_SI91X_SI917_RAM_MEM_CONFIG=1
154
+ SL_SI91X_SI917_RAM_MEM_CONFIG=2
145
155
SL_WIFI_COMPONENT_INCLUDED # Depite de the name, required for everything
146
156
)
147
157
zephyr_include_directories (
@@ -198,5 +208,49 @@ if(CONFIG_SOC_SILABS_SLEEPTIMER)
198
208
)
199
209
endif () # CONFIG_SOC_SILABS_SLEEPTIMER
200
210
211
+ if (CONFIG_SOC_SIWX91X_PM_BACKEND_PMGR )
212
+ zephyr_library_sources (
213
+ ${WISECONNECT_DIR} /components/device/silabs/si91x/mcu/core/common/src/rsi_debug.c
214
+ ${WISECONNECT_DIR} /components/device/silabs/si91x/mcu/core/chip/src/rsi_ps_ram_func.c
215
+ ${WISECONNECT_DIR} /components/device/silabs/si91x/mcu/drivers/cmsis_driver/USART.c
216
+ ${WISECONNECT_DIR} /components/device/silabs/si91x/mcu/drivers/cmsis_driver/UDMA.c
217
+ ${WISECONNECT_DIR} /components/device/silabs/si91x/mcu/drivers/cmsis_driver/SAI.c
218
+ ${WISECONNECT_DIR} /components/device/silabs/si91x/mcu/drivers/peripheral_drivers/src/sl_si91x_m4_ps.c
219
+ ${WISECONNECT_DIR} /components/device/silabs/si91x/mcu/drivers/peripheral_drivers/src/rsi_usart.c
220
+ ${WISECONNECT_DIR} /components/device/silabs/si91x/mcu/drivers/peripheral_drivers/src/rsi_udma_wrapper.c
221
+ ${WISECONNECT_DIR} /components/device/silabs/si91x/mcu/drivers/peripheral_drivers/src/rsi_udma.c
222
+ ${WISECONNECT_DIR} /components/device/silabs/si91x/mcu/drivers/service/power_manager/src/sl_si91x_power_manager.c
223
+ ${WISECONNECT_DIR} /components/device/silabs/si91x/mcu/drivers/service/power_manager/src/sli_si91x_power_manager.c
224
+ ${WISECONNECT_DIR} /components/device/silabs/si91x/mcu/drivers/service/clock_manager/src/sli_si91x_clock_manager.c
225
+ ${WISECONNECT_DIR} /components/device/silabs/si91x/mcu/drivers/systemlevel/src/rsi_temp_sensor.c
226
+ ${COMMON_DIR} /src/sl_slist.c
227
+ )
228
+ zephyr_include_directories (
229
+ ${COMMON_DIR} /inc
230
+ )
231
+ zephyr_compile_definitions (
232
+ SL_CODE_COMPONENT_POWER_MANAGER=power_manager
233
+ SL_SI91X_TICKLESS_MODE
234
+ SL_SLEEP_TIMER
235
+ SL_SI91X_SI917_RAM_MEM_CONFIG=2
236
+ SL_CODE_COMPONENT_CORE=core
237
+ DEBUG_ENABLE
238
+ DEBUG_UART
239
+ SLI_WIRELESS_COMPONENT_PRESENT
240
+ )
241
+ zephyr_code_relocate (FILES
242
+ ${WISECONNECT_DIR} /components/device/silabs/si91x/mcu/core/chip/src/rsi_deepsleep_soc.c
243
+ ${WISECONNECT_DIR} /components/device/silabs/si91x/mcu/drivers/service/power_manager/src/sl_si91x_power_manager.c
244
+ ${WISECONNECT_DIR} /components/device/silabs/si91x/mcu/drivers/service/power_manager/src/sli_si91x_power_manager.c
245
+ ${WISECONNECT_DIR} /components/device/silabs/si91x/mcu/drivers/service/sleeptimer/src/sl_sleeptimer_hal_si91x_sysrtc.c
246
+ ${WISECONNECT_DIR} /components/device/silabs/si91x/mcu/drivers/peripheral_drivers/src/rsi_sysrtc.c
247
+ ${SISDK_DIR} /platform/service/sleeptimer/src/sl_sleeptimer.c
248
+ ${WISECONNECT_DIR} /components/device/silabs/si91x/wireless/ahb_interface/src/rsi_hal_mcu_m4_ram.c
249
+ ${WISECONNECT_DIR} /components/device/silabs/si91x/wireless/ahb_interface/src/rsi_hal_mcu_m4_rom.c
250
+ ${ZEPHYR_BASE} /drivers/gpio/*.c
251
+ LOCATION RAM
252
+ )
253
+ endif () # CONFIG_SOC_SIWX91X_PM_BACKEND_PMGR
254
+
201
255
zephyr_linker_sources (ROM_SECTIONS linker/code_classification_text.ld )
202
256
zephyr_linker_sources (RAMFUNC_SECTION linker/code_classification_ramfunc.ld )
0 commit comments