Skip to content

Commit ff2e9b5

Browse files
fimohamefabiobaltieri
authored andcommitted
modules: wiseconnect: kernel sleeptimer bug fix siwx91x
The fix resolves the drift test failure as part of kernel timer behaviour and timer api test suite. Moved sleeptimer-related source files to RAM using zephyr_code_relocate when CONFIG_SILABS_SISDK_SLEEPTIMER is enabled, and removed duplicate listing from PMGR backend.Updated Kconfig to select SRAM_VECTOR_TABLE and CODE_DATA_RELOCATION_SRAM for the sleeptimer service. Signed-off-by: S Mohamed Fiaz <[email protected]>
1 parent 67bc635 commit ff2e9b5

File tree

3 files changed

+9
-5
lines changed

3 files changed

+9
-5
lines changed

modules/hal_silabs/wiseconnect/CMakeLists.txt

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -216,6 +216,13 @@ if(CONFIG_SILABS_SISDK_SLEEPTIMER)
216216
SL_CODE_COMPONENT_SLEEPTIMER=sleeptimer
217217
SL_CODE_COMPONENT_HAL_SYSRTC=hal_sysrtc
218218
)
219+
zephyr_code_relocate(FILES
220+
${WISECONNECT_DIR}/components/device/silabs/si91x/mcu/drivers/service/sleeptimer/src/sl_sleeptimer_hal_si91x_sysrtc.c
221+
${WISECONNECT_DIR}/components/device/silabs/si91x/mcu/drivers/peripheral_drivers/src/rsi_sysrtc.c
222+
${SISDK_DIR}/platform/service/sleeptimer/src/sl_sleeptimer.c
223+
${ZEPHYR_BASE}/arch/arm/core/cortex_m/isr_wrapper.c
224+
LOCATION RAM
225+
)
219226
endif() # CONFIG_SILABS_SISDK_SLEEPTIMER
220227

221228
if(CONFIG_SOC_SIWX91X_PM_BACKEND_PMGR)
@@ -246,9 +253,6 @@ if(CONFIG_SOC_SIWX91X_PM_BACKEND_PMGR)
246253
${WISECONNECT_DIR}/components/device/silabs/si91x/mcu/core/chip/src/rsi_deepsleep_soc.c
247254
${WISECONNECT_DIR}/components/device/silabs/si91x/mcu/drivers/service/power_manager/src/sl_si91x_power_manager.c
248255
${WISECONNECT_DIR}/components/device/silabs/si91x/mcu/drivers/service/power_manager/src/sli_si91x_power_manager.c
249-
${WISECONNECT_DIR}/components/device/silabs/si91x/mcu/drivers/service/sleeptimer/src/sl_sleeptimer_hal_si91x_sysrtc.c
250-
${WISECONNECT_DIR}/components/device/silabs/si91x/mcu/drivers/peripheral_drivers/src/rsi_sysrtc.c
251-
${SISDK_DIR}/platform/service/sleeptimer/src/sl_sleeptimer.c
252256
${WISECONNECT_DIR}/components/device/silabs/si91x/wireless/ahb_interface/src/rsi_hal_mcu_m4_ram.c
253257
${WISECONNECT_DIR}/components/device/silabs/si91x/wireless/ahb_interface/src/rsi_hal_mcu_m4_rom.c
254258
${ZEPHYR_BASE}/drivers/gpio/*.c

modules/hal_silabs/wiseconnect/Kconfig

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ menu "WiSeConnect configuration"
66

77
config SILABS_SISDK_SLEEPTIMER
88
bool "Sleeptimer service"
9+
select SRAM_VECTOR_TABLE
10+
select CODE_DATA_RELOCATION_SRAM
911
help
1012
Set if the Sleeptimer HAL module is used.
1113

soc/silabs/silabs_siwx91x/Kconfig

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,6 @@ config SOC_SIWX91X_PM_BACKEND_PMGR
3232
bool
3333
select SILABS_SIWX91X_NWP
3434
select SILABS_SLEEPTIMER_TIMER
35-
select SRAM_VECTOR_TABLE
36-
select CODE_DATA_RELOCATION_SRAM
3735
default y if PM
3836
help
3937
Implement PM using sl_power_manager service from Gecko SDK

0 commit comments

Comments
 (0)