Skip to content

Commit 9ee617a

Browse files
ragurram26jerome-pouiller
authored andcommitted
soc: silabs: siwx91x: Expose firmware upgrade API
siwx91x require a specific API to communicate with the bootloader in order to achieve firmware upgrade. This commit introduces the configuration symbol to import the helper library. [Jérôme: split commits, reword the commit log] Co-authored-by: Jérôme Pouiller <[email protected]> Signed-off-by: Jérôme Pouiller <[email protected]> Signed-off-by: Rahul Gurram <[email protected]>
1 parent b781386 commit 9ee617a

File tree

2 files changed

+21
-0
lines changed

2 files changed

+21
-0
lines changed

modules/hal_silabs/wiseconnect/CMakeLists.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -194,6 +194,9 @@ if(CONFIG_WISECONNECT_NETWORK_STACK)
194194
${WISECONNECT_DIR}/components/sli_si91x_wifi_event_handler/src/sli_si91x_wifi_event_handler.c
195195
${WISECONNECT_DIR}/components/sli_wifi_command_engine/src/sli_wifi_command_engine.c
196196
)
197+
zephyr_library_sources_ifdef(CONFIG_SIWX91X_FIRMWARE_UPGRADE
198+
${WISECONNECT_DIR}/components/device/silabs/si91x/wireless/firmware_upgrade/firmware_upgradation.c
199+
)
197200
endif() # CONFIG_WISECONNECT_NETWORK_STACK
198201

199202
if(CONFIG_SOC_SILABS_SLEEPTIMER)

soc/silabs/silabs_siwx91x/Kconfig

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,4 +62,22 @@ config SIWX91X_ENCRYPT
6262
The key used is the value of CONFIG_SIWX91X_MIC_KEY. This value is
6363
passed as-is to the command "commander rps convert".
6464

65+
config SIWX91X_FIRMWARE_UPGRADE
66+
bool "Support for firmware upgrade"
67+
select WISECONNECT_NETWORK_STACK
68+
help
69+
The firmware upgrade process for SiWx91x devices involves coordinated
70+
communication with both the Network Co-Processor (NCP) and the ROM
71+
bootloader. The NCP is responsible for writing the firmware image to
72+
flash memory, while the ROM bootloader handles the A/B upgrade logic
73+
to ensure reliable firmware switching.
74+
This option provides the necessary APIs to perform these upgrade tasks
75+
and is agnostic to the underlying transport protocol. It does not handle
76+
firmware retrieval directly; instead, the application layer is responsible
77+
for acquiring the firmware image (e.g., via an HTTP client or other means)
78+
and invoking the appropriate APIs to initiate and complete the upgrade
79+
process.
80+
For more information, visit:
81+
https://docs.silabs.com/wiseconnect/latest/wiseconnect-api-reference-guide-si91x-driver/si91-x-firmware-update-from-host-functions#sl-si91x-fwup-load
82+
6583
endif # SOC_FAMILY_SILABS_SIWX91X

0 commit comments

Comments
 (0)