Skip to content

Commit d87b287

Browse files
committed
modules: Update to rebased hal_silabs
Update to latest upstream (4.0.0-rc1) and a rebased hal_silabs tree. Signed-off-by: Johan Hedberg <[email protected]>
1 parent cb16010 commit d87b287

File tree

5 files changed

+144
-2
lines changed

5 files changed

+144
-2
lines changed

CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,6 @@
66

77
add_subdirectory(drivers)
88

9+
add_subdirectory(modules)
10+
911
zephyr_include_directories(include)

modules/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
add_subdirectory(hal_silabs)

modules/hal_silabs/CMakeLists.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# Copyright (c) 2024 Silicon Laboratories Inc.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
add_subdirectory_ifdef(CONFIG_HAS_SILABS_WISECONNECT wiseconnect)
Lines changed: 135 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,135 @@
1+
# Copyright (c) 2024 Silicon Laboratories Inc.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
set(COMMON_DIR ${ZEPHYR_HAL_SILABS_MODULE_DIR}/wiseconnect/components/common)
5+
set(DEVICE_DIR ${ZEPHYR_HAL_SILABS_MODULE_DIR}/wiseconnect/components/device)
6+
set(SERVICE_DIR ${ZEPHYR_HAL_SILABS_MODULE_DIR}/wiseconnect/components/service)
7+
set(PROTOCOL_DIR ${ZEPHYR_HAL_SILABS_MODULE_DIR}/wiseconnect/components/protocol)
8+
set(DEFAULTS_DIR ${ZEPHYR_HAL_SILABS_MODULE_DIR}/wiseconnect/resources/defaults)
9+
set(GECKO_COMMON_DIR ${ZEPHYR_HAL_SILABS_MODULE_DIR}/gecko/common)
10+
11+
zephyr_include_directories(
12+
${GECKO_COMMON_DIR}/inc
13+
${DEVICE_DIR}/silabs/si91x/mcu/core/config
14+
${DEVICE_DIR}/silabs/si91x/mcu/core/chip/inc
15+
${DEVICE_DIR}/silabs/si91x/mcu/drivers/rom_driver/inc
16+
${DEVICE_DIR}/silabs/si91x/mcu/drivers/peripheral_drivers/inc
17+
${DEVICE_DIR}/silabs/si91x/mcu/drivers/service/clock_manager/inc
18+
${DEVICE_DIR}/silabs/si91x/mcu/drivers/systemlevel/inc
19+
${DEVICE_DIR}/silabs/si91x/mcu/drivers/unified_api/inc
20+
${DEVICE_DIR}/silabs/si91x/mcu/drivers/unified_peripheral_drivers/inc
21+
${DEVICE_DIR}/silabs/si91x/mcu/drivers/cmsis_driver/config
22+
${DEVICE_DIR}/silabs/si91x/mcu/drivers/cmsis_driver
23+
${DEVICE_DIR}/silabs/si91x/mcu/drivers/cmsis_driver/CMSIS/Driver/Include
24+
)
25+
26+
# Keep these values sync with
27+
# components/device/silabs/si91x/mcu/core/chip/component/siwg917*.slcc
28+
zephyr_compile_definitions(
29+
SL_SI91X_ENABLE_LITTLE_ENDIAN
30+
SLI_SI91X_MCU_CONFIG_RADIO_BOARD_VER2
31+
SLI_SI91X_MCU_CONFIG_RADIO_BOARD_BASE_VER
32+
SLI_SI91X_MCU_ENABLE_FLASH_BASED_EXECUTION
33+
SLI_SI91X_MCU_ENABLE_IPMU_APIS
34+
SLI_SI91X_MCU_INTERFACE
35+
SLI_SI917
36+
SLI_SI917B0
37+
CLOCK_ROMDRIVER_PRESENT
38+
)
39+
40+
zephyr_compile_definitions_ifdef(CONFIG_SIWX917_FLASH_MODE_COMMON
41+
SLI_SI91X_MCU_COMMON_FLASH_MODE=1
42+
)
43+
44+
zephyr_library_sources(
45+
${DEVICE_DIR}/silabs/si91x/mcu/core/chip/src/rsi_deepsleep_soc.c
46+
${DEVICE_DIR}/silabs/si91x/mcu/core/chip/src/system_si91x.c
47+
${DEVICE_DIR}/silabs/si91x/mcu/drivers/systemlevel/src/rsi_ipmu.c
48+
${DEVICE_DIR}/silabs/si91x/mcu/drivers/systemlevel/src/rsi_pll.c
49+
${DEVICE_DIR}/silabs/si91x/mcu/drivers/systemlevel/src/rsi_ulpss_clk.c
50+
${DEVICE_DIR}/silabs/si91x/mcu/drivers/service/clock_manager/src/sl_si91x_clock_manager.c
51+
${DEVICE_DIR}/silabs/si91x/mcu/drivers/unified_api/src/sl_si91x_driver_gpio.c
52+
${DEVICE_DIR}/silabs/si91x/mcu/drivers/unified_peripheral_drivers/src/sl_si91x_peripheral_gpio.c
53+
${DEVICE_DIR}/silabs/si91x/mcu/core/chip/src/iPMU_prog/iPMU_dotc/ipmu_apis.c
54+
${DEVICE_DIR}/silabs/si91x/mcu/core/chip/src/iPMU_prog/iPMU_dotc/rsi_system_config_917.c
55+
)
56+
57+
zephyr_library_sources_ifdef(CONFIG_ENTROPY_SILABS_SIWX917
58+
${DEVICE_DIR}/silabs/si91x/mcu/drivers/peripheral_drivers/src/rsi_rng.c
59+
)
60+
61+
if(CONFIG_WIFI_SIWX917)
62+
63+
zephyr_compile_definitions_ifdef(CONFIG_NET_IPV6
64+
SLI_SI91X_ENABLE_IPV6
65+
)
66+
zephyr_compile_definitions_ifdef(CONFIG_WIFI_SIWX917_NET_STACK_OFFLOAD
67+
SLI_SI91X_OFFLOAD_NETWORK_STACK
68+
SLI_SI91X_SOCKETS
69+
)
70+
zephyr_include_directories(
71+
${DEFAULTS_DIR}
72+
)
73+
zephyr_library_sources(
74+
${DEVICE_DIR}/silabs/si91x/wireless/sl_net/src/sl_si91x_net_credentials.c
75+
${DEVICE_DIR}/silabs/si91x/wireless/sl_net/src/sl_si91x_net_internal_stack.c
76+
${DEVICE_DIR}/silabs/si91x/wireless/sl_net/src/sl_net_si91x_integration_handler.c
77+
${DEVICE_DIR}/silabs/si91x/wireless/sl_net/src/sl_net_rsi_utility.c
78+
${DEVICE_DIR}/silabs/si91x/wireless/socket/src/sl_si91x_socket_utility.c
79+
${DEVICE_DIR}/silabs/si91x/wireless/asynchronous_socket/src/sl_si91x_socket.c
80+
${SERVICE_DIR}/network_manager/si91x/sl_net_si91x.c
81+
${SERVICE_DIR}/network_manager/src/sl_net_basic_credentials.c
82+
${SERVICE_DIR}/network_manager/src/sl_net_basic_profiles.c
83+
${SERVICE_DIR}/network_manager/src/sl_net.c
84+
)
85+
86+
endif() # CONFIG_WIFI_SIWX917
87+
88+
zephyr_compile_definitions_ifdef(CONFIG_BT_SIWX917
89+
SLI_SI91X_ENABLE_BLE=1
90+
)
91+
zephyr_include_directories_ifdef(CONFIG_BT_SIWX917
92+
${DEVICE_DIR}/silabs/si91x/wireless/ble/inc
93+
)
94+
zephyr_library_sources_ifdef(CONFIG_BT_SIWX917
95+
${DEVICE_DIR}/silabs/si91x/wireless/ble/src/rsi_bt_ble.c
96+
${DEVICE_DIR}/silabs/si91x/wireless/ble/src/rsi_common_apis.c
97+
${DEVICE_DIR}/silabs/si91x/wireless/ble/src/rsi_utils.c
98+
)
99+
100+
zephyr_include_directories_ifdef(CONFIG_WISECONNECT_NETWORK_STACK
101+
# FIXME: find why this directory is not included when CMSIS_RTOS_V2=y
102+
${ZEPHYR_BASE}/include/zephyr/posix
103+
${ZEPHYR_BASE}/include/zephyr/portability
104+
${COMMON_DIR}/inc
105+
${DEVICE_DIR}/silabs/si91x/wireless/inc
106+
${DEVICE_DIR}/silabs/si91x/wireless/sl_net/inc
107+
${DEVICE_DIR}/silabs/si91x/wireless/socket/inc
108+
${DEVICE_DIR}/silabs/si91x/wireless/asynchronous_socket/inc
109+
${DEVICE_DIR}/silabs/si91x/wireless/ahb_interface/inc
110+
${DEVICE_DIR}/silabs/si91x/mcu/core/chip/config
111+
${PROTOCOL_DIR}/wifi/inc
112+
${SERVICE_DIR}/network_manager/inc
113+
)
114+
zephyr_compile_definitions_ifdef(CONFIG_WISECONNECT_NETWORK_STACK
115+
SLI_SI91X_ENABLE_OS
116+
SL_SI91X_SI917_RAM_MEM_CONFIG=1
117+
SL_WIFI_COMPONENT_INCLUDED #Needed for BT as well...
118+
)
119+
zephyr_library_sources_ifdef(CONFIG_WISECONNECT_NETWORK_STACK
120+
${COMMON_DIR}/src/sl_utility.c
121+
${DEVICE_DIR}/silabs/si91x/wireless/ahb_interface/src/rsi_hal_mcu_m4_ram.c
122+
${DEVICE_DIR}/silabs/si91x/wireless/ahb_interface/src/rsi_hal_mcu_m4_rom.c
123+
${DEVICE_DIR}/silabs/si91x/wireless/ahb_interface/src/sli_siwx917_soc.c
124+
${DEVICE_DIR}/silabs/si91x/wireless/ahb_interface/src/sl_platform.c
125+
${DEVICE_DIR}/silabs/si91x/wireless/ahb_interface/src/sl_platform_wireless.c
126+
${DEVICE_DIR}/silabs/si91x/wireless/ahb_interface/src/sl_si91x_bus.c
127+
${DEVICE_DIR}/silabs/si91x/wireless/host_mcu/si91x/siwx917_soc_ncp_host.c
128+
${DEVICE_DIR}/silabs/si91x/wireless/memory/malloc_buffers.c
129+
${DEVICE_DIR}/silabs/si91x/wireless/src/sl_rsi_utility.c
130+
${DEVICE_DIR}/silabs/si91x/wireless/src/sl_si91x_callback_framework.c
131+
${DEVICE_DIR}/silabs/si91x/wireless/src/sl_si91x_driver.c
132+
${DEVICE_DIR}/silabs/si91x/wireless/threading/sli_si91x_multithreaded.c
133+
${PROTOCOL_DIR}/wifi/si91x/sl_wifi.c
134+
${PROTOCOL_DIR}/wifi/src/sl_wifi_callback_framework.c
135+
)

west.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,11 @@ manifest:
1111
projects:
1212
- name: hal_silabs
1313
remote: silabs
14-
revision: ca720524a33c4bb55446ceb7e94502e37153d941
14+
revision: 72fb0e677fb0ab09981c1217e38c4246ad4b5dcd
1515
path: modules/hal/silabs
1616
- name: zephyr
1717
remote: zephyrproject-rtos
18-
revision: a2ac676a106a757fe4cb2664bab35ea985da95f9
18+
revision: 9f93dede369c365c68b5618844e3d31e35327bc2
1919
import:
2020
# By using name-allowlist we can clone only the modules that are
2121
# strictly needed by the application.

0 commit comments

Comments
 (0)