WiSeConnect - SiWx91x Platform SDK Version 4.0.0 (Jan 22, 2026) - Release Notes#

Wi-Fi 6 + BLE (WiSeConnect) SDK Version 4.0.0

Simplicity SDK Version 2025.12.0

The SiWx91x Platform Software Development Kit (SDK) provides platform features for Silicon Labs SiWx91x microcontrollers, including peripherals, drivers, and services.

Click here for earlier releases.

Release Summary#

Key Features | API Changes | Bug Fixes | Chip Enablement

Key Features#

  • Enhanced the SSI peripheral driver with support for Dual and Quad modes.

  • Added CMake build system support for VS Code and the command line interface (CLI).

  • Added secure zone support for all SiWx917 applications.

API Changes#

  • Added APIs for the newly introduced logger feature.

  • Added new APIs for the following peripherals:

    • GPIO, USART, I2S, PCM, HSPI, SYSRTC, GPDMA, LittleFS, Clock Manager, GSPI, DMA, eFuse, Power Manager, Memory Manager, SDIO Secondary, and Logger.

Bug Fixes#

  • Improved stability and functionality for DMA, QEI, SSI, and RHT sensor drivers.

  • Enhanced DEBUGOUT macro documentation with guidance to append \r\n for proper terminal log output.

Chip Enablement#

None

Key Features#

New Features | Enhancements | Removed Features | Deprecated Features

Note: See Feature Matrix for a list of any applicable APIs, examples, software variants, modes, hardware, and host interfaces applicable for each feature.

New Features#

  • Implemented additional features for existing peripherals:

    • SSI Dual and Quad modes

    • SYSRTC

    • PRS

  • Added CMake build system support.

  • Added Debug Logger support in the SDK.

Enhancements#

  • Improved the PWM example to show dead-time insertion and added documentation for center-aligned, lead-edge, and tail-edge modes.

  • Updated README files for all peripheral examples with clear descriptions and better usage instructions.

  • Enhanced Timer documentation with improved explanations and usage details.

  • Added validation checks to EPIO APIs to ensure valid port and pin configurations.

  • Improved RAM and flash overflow detection with better linker checks and enhanced stack/heap validation.

  • Enhanced LittleFS example with step-by-step API usage including write and erase operations.

  • Updated ADC documentation with configuration steps and temperature calculation formula.

  • Optimized SDIO DMA performance for faster data transmission and reception.

  • Enhanced SDIO interrupt handler with improved event handling and GPDMA support.

  • Added flexible memory allocation options with a heap-specific memory manager.

  • Improved I2C driver with updated naming conventions.

  • Added clock output configuration API for consistent clock management.

  • Introduced sl_si91x_i2s_deinit_v2 to enhance the deinitialization process of the I2S interface.

  • Improved component descriptions for analog peripherals (ADC, DAC, Analog Comparator, OPAMP), SSI, I2C, and ULP Timer for better clarity.

Removed Features#

  • None

Deprecated Features#

  • None

API Changes#

New APIs | Modified APIs | Removed APIs | Deprecated APIs

New APIs#

New API Signature

Deprecated API replaced by this (if any)

sl_si91x_button_toggle_state

sl_si91x_button_state_toggle

sl_si91x_button_set_state

sl_si91x_button_state_set

sl_si91x_button_get_state

sl_si91x_button_state_get

sl_si91x_button_state

sl_si91x_button_pin_state

sl_si91x_gpio_driver_mask_clear_uulp_npss_interrupt

sl_si91x_gpio_driver_unmask_uulp_npss_interrupt

sl_si91x_gpio_driver_mask_set_uulp_npss_interrupt

sl_si91x_gpio_driver_mask_uulp_npss_interrupt

sl_si91x_gpio_driver_clear_uulp_npss_interrupt

sl_si91x_gpio_driver_clear_uulp_interrupt

sl_si91x_usart_multiple_instance_register_event_callback

sl_si91x_usart_register_event_callback

sl_si91x_i2s_deinit_v2

sl_si91x_i2s_deinit

sl_si91x_pcm_deinit_v2

sl_si91x_pcm_deinit

sl_si91x_hspi_secondary_deinit

sl_si91x_gpio_driver_select_ulp_pad_schmitt_trigger

sl_si91x_gpio_driver_enable_ulp_pad_power_on_start

sl_si91x_gpio_driver_enable_pad_power_on_start

sl_si91x_gpio_driver_select_pad_schmitt_trigger

sl_si91x_sysrtc_set_compare_output_prs_gpio

sl_si91x_sysrtc_set_capture_input_prs_gpio

sl_si91x_gpdma_deinit

sli_si91x_usart_send_data_blocking

sl_si91x_littefs_dir_list

sl_si91x_clock_manager_mcu_clk_out

sl_si91x_gspi_receive_data_blocking

sl_si91x_gspi_send_data_blocking

sl_si91x_gspi_transfer_data_blocking

sl_si91x_get_dma_handle

sl_si91x_efuse_write_bit_v2

sl_si91x_efuse_write_bit

sl_si91x_power_manager_ps2_pre_check

sl_si91x_memory_get_used_heap_size

sl_si91x_memory_get_heap_high_watermark

sl_si91x_memory_get_free_heap_size

sl_si91x_memory_reset_heap_high_watermark

sl_si91x_sdio_secondary_request_to_send

sl_log_init

SL_PRINT_STRING_INFO

SL_PRINT_STRING_DEBUG

SL_PRINT_STRING_WARN

SL_PRINT_STRING_ERROR

SL_PRINT_EVENT_INFO

SL_PRINT_EVENT_DEBUG

SL_PRINT_EVENT_WARN

SL_PRINT_EVENT_ERROR

sl_log_flush

Modified APIs#

  • None

Removed APIs#

  • None

Deprecated APIs#

Deprecated API Name

Planned Removal Date

void sl_si91x_button_state_toggle(uint8_t pin)

2026-06

void sl_si91x_button_state_set(uint8_t pin, int8_t state)

2026-06

int8_t sl_si91x_button_state_get(uint8_t pin)

2026-06

int8_t sl_si91x_button_pin_state(uint8_t pin)

2026-06

sl_status_t sl_si91x_adc_configure_clock(sl_adc_clock_config_t *clock_configuration)

2027-06

sl_status_t sl_si91x_calendar_set_configuration(sl_calendar_clock_t clock_type)

2027-06

sl_status_t sl_si91x_calendar_rcclk_calibration(clock_calibration_config_t *clock_calibration_config)

2027-06

sl_status_t sl_si91x_calendar_roclk_calibration(clock_calibration_config_t *clock_calibration_config)

2027-06

sl_status_t sl_si91x_efuse_write_bit(uint16_t address, uint8_t bit_pos, uint32_t hold_time)

2027-06

sl_status_t sl_si91x_gspi_configure_clock(sl_gspi_clock_config_t *clock_configuration)

2027-06

sl_i2c_status_t sl_i2c_driver_receive_data_non_blocking(sl_i2c_instance_t i2c_instance, uint16_t address, uint8_t *rx_buffer, uint32_t rx_len, sl_i2c_dma_config_t *p_dma_config)

2027-06

sl_status_t sl_si91x_ssi_configure_clock(sl_ssi_clock_config_t *clock_config)

2027-06

sl_status_t sl_si91x_usart_register_event_callback (sl_usart_signal_event_t callback_event)

2027-06

sl_status_t sl_si91x_watchdog_configure_clock(watchdog_timer_clock_config_t *timer_clk_config_ptr)

2027-06

sl_status_t sl_si91x_usart_set_configuration(sl_usart_handle_t usart_handle, sl_si91x_usart_control_config_t *control_configuration)

2027-06

sl_status_t sl_si91x_gpio_driver_unmask_uulp_npss_interrupt(uint8_t npssgpio_interrupt)

2027-06

sl_status_t sl_si91x_gpio_driver_clear_uulp_interrupt(uint8_t npssgpio_interrupt)

2027-06

Bug Fixes#

Note: See the Feature Matrix section for a list of all hardware parts that work with the WiSeConnect SDK.

ID Issue Description GitHub / Salesforce Reference (if any) Affected Software Variants, Hardware, Modes, Host Interfaces
1463912 Resolved issue with AES encryption with NWP power save is enabled. None
  • Firmware variants: Standard and Lite
  • OPNs: All
  • Boards: All
  • Modes: SoC
  • Host interfaces: SPI, UART
1497836 Fixed SysTick timing precision issue in RTOS applications when low-power mode is disabled. None
  • Firmware variants: Standard and Lite
  • OPNs: All
  • Boards: All
  • Modes: SoC
  • Host interfaces: SPI, UART
1482392 Resolved SDC maximum sampling threshold alignment to 15 and 16. None
  • Firmware variants: Standard and Lite
  • OPNs: All
  • Boards: All
  • Modes: SoC
  • Host interfaces: N/A
1479665 Fixed SSI application failure issue observed at lower frequencies (1 MHz/2 MHz). None
  • Firmware variants: Standard and Lite
  • OPNs: All
  • Boards: All
  • Modes: SoC
  • Host interfaces: N/A
1479624 Removed low configuration (less than 1ms) values for WDT manager timeout. None
  • Firmware variants: Standard and Lite
  • OPNs: All
  • Boards: All
  • Modes: SoC
  • Host interfaces: N/A
1478520 Fixed UART IRQ handler issues by introducing sl_si91x_usart_multiple_instance_register_event_callback() API for improved event callback registration, adding null pointer checks, and requiring pull-up resistors to be enabled on unconnected UART Rx pins to prevent spurious interrupts. None
  • Firmware variants: Standard and Lite
  • OPNs: All
  • Boards: All
  • Modes: SoC
  • Host interfaces: N/A
1476728 Fixed structure type definitions in the Power Manager driver for accurate configuration handling. None
  • Firmware variants: Standard and Lite
  • OPNs: All
  • Boards: All
  • Modes: SoC
  • Host interfaces: N/A
1487369 Fixed GSPI maximum baud rate constant by updating it to 116 MHz. None
  • Firmware variants: Standard and Lite
  • OPNs: All
  • Boards: All
  • Modes: SoC
  • Host interfaces: N/A
1504610 Correct the uDMA instance mapping to ensure reliable UART operation when multiple UARTs are configured with DMA. None
  • Firmware variants: Standard and Lite
  • OPNs: All
  • Boards: All
  • Modes: SoC
  • Host interfaces: N/A
1451220 Fixed incorrect temperature and motion sensor readings on the dev kit (SiWx917-DK2605A) by resolving the ICM initialization issue and addressing the SSI DMA init hang. None
  • Firmware variants: Standard and Lite
  • OPNs: All
  • Boards: All
  • Modes: SoC
  • Host interfaces: N/A
1475019 Added a usage note in the Software Reference Manual for the DEBUGOUT macro, advising developers to append \r\n to ensure logs are properly flushed to the terminal. None
  • Firmware variants: Standard and Lite
  • OPNs: All
  • Boards: All
  • Modes: SoC, NCP
  • Host interfaces: SPI, UART
1488458 Fixed ADC FIFO example to read correct data for multiple channels by moving ping_pong_memory_read array from local to global scope and resetting it during deinit/reset. None
  • Firmware variants: Standard and Lite
  • OPNs: All
  • Boards: All
  • Modes: SoC
  • Host interfaces: N/A
1519194 Reduced RAM usage by approximately 500 bytes by declaring sl_bjt_config and sl_bjt_channel_config as constant variables. None
  • Firmware variants: Standard and Lite
  • OPNs: All
  • Boards: All
  • Modes: SoC
  • Host interfaces: N/A
1511613 Added mode validation in sl_si91x_usart_async_receive_data() to ensure that only USART instances configured in asynchronous mode can use the asynchronous receive API, preventing incorrect behavior when called in synchronous mode. None
  • Firmware variants: Standard and Lite
  • OPNs: All
  • Boards: All
  • Modes: SoC
  • Host interfaces: N/A
1509195 Fixed LittleFS component to allow flexible heap selection. Previously, LittleFS had a hard dependency on freertos_heap_4, preventing users from choosing alternative heap implementations such as Heap_5. This restriction has been removed, enabling customers to select any heap component for their projects. None
  • Firmware variants: Standard and Lite
  • OPNs: All
  • Boards: All
  • Modes: SoC
  • Host interfaces: N/A
1424316 Fixed GSPI transfer inefficiency by adding a blocking API to improve byte-transfer performance. None
  • Firmware variants: Standard and Lite
  • OPNs: All
  • Boards: All
  • Modes: SoC
  • Host interfaces: N/A
1525464 Fixed WiseConnect WDT Manager causing immediate watchdog reset when compiled with GCC optimization level -Og by explicitly initializing configuration variables. None
  • Firmware variants: Standard and Lite
  • OPNs: All
  • Boards: All
  • Modes: SoC
  • Host interfaces: N/A
1543056 Fixed SDIO Secondary callback to correctly trigger HOST_INTR_SEND_EVENT by handling SEND and CMD52 events. None
  • Firmware variants: Standard and Lite
  • OPNs: All
  • Boards: All
  • Modes: SoC
  • Host interfaces: N/A
1542490 Fixed ADC sampling rate being set incorrectly for sampling rates of 76Hz or below in SL_ADC_FIFO_MODE and ULP_ADC examples. None
  • Firmware variants: Standard and Lite
  • OPNs: All
  • Boards: All
  • Modes: SoC
  • Host interfaces: N/A
1534303 Fixed PSRAM linker file to prevent NOLOAD sections from occupying binary space by removing default .text and .data dependencies. None
  • Firmware variants: Standard and Lite
  • OPNs: All
  • Boards: All
  • Modes: SoC
  • Host interfaces: N/A
1532873 Fixed I2S clock frequency issue for 24-bit, 8 kHz resolution by calculating and applying a custom division factor instead of using fixed PLL values. None
  • Firmware variants: Standard and Lite
  • OPNs: All
  • Boards: All
  • Modes: SoC
  • Host interfaces: N/A
1511606 Resolved issue in HSPI Primary mode where data transfer completion events are not triggered while verifying deinit functionality when TEST_MEMORY_READ_WRITES is enabled. None
  • Firmware variants: Standard and Lite
  • OPNs: All
  • Boards: All
  • Modes: SoC
  • Host interfaces: N/A
1529088 Fixed PSRAM Software Components display in UI to hide unsupported configuration (HEAP, BSS, and STACK) options. These options have been hidden to prevent runtime failures. None
  • Firmware variants: Standard and Lite
  • OPNs: All
  • Boards: All
  • Modes: SoC
  • Host interfaces: N/A
1488092 Fixed incorrect visibility of BRD4338A radio board component in Simplicity Studio. The visibility has been set to "none" to hide this component from the UI, preventing unintended modifications by users. None
  • Firmware variants: Standard and Lite
  • OPNs: All
  • Boards: All
  • Modes: SoC
  • Host interfaces: N/A
1489303 Fixed an issue where writing calibration data to common flash caused the M4 to hang when the power manager was enabled. None
  • Firmware variants: Standard and Lite
  • OPNs: All
  • Boards: All
  • Modes: SoC
  • Host interfaces: N/A
1514940 Fixed hang issue during initialization when firmware fallback component and M4 power save were both enabled in the application. None
  • OPNs: SiWG917M111MGTBA, SiWG917M100MGTBA, SIWG917Y111MGNBA, SIWG917Y121MGNBA, SIWG917Y111MGABA, SIWG917Y121MGABA
  • Boards: All
  • Modes: SoC
  • Host interfaces: N/A
1437906 Fixed issue where BOD (Brown-Out Detection) interrupt was triggered at 1.9 V instead of the documented minimum threshold voltage of 1.75 V as specified in the SiWx917 Family Reference Manual. None
  • OPNs: All
  • Boards: All
  • Modes: SoC
  • Host interfaces: N/A
1492363 Fixed an issue in the Pin Tool that prevented GPIO mode pin configurations from generating the correct macros for SDK usage. These pins are now correctly translated into macros compatible with the SDK. None
  • OPNs: All
  • Boards: All
  • Modes: SoC
  • Host interfaces: N/A
1475668 Fixed configuration validation to prevent errors when selecting three OPAMPs in Cascaded Inverting PGA, Cascaded Non-Inverting PGA, or two OPAMPs Differential Amplifier modes. These modes now correctly enforce the requirement to select exactly two OPAMPs. None
  • OPNs: All
  • Boards: All
  • Modes: SoC
  • Host interfaces: N/A
1504651 Fixed voltage drop issue when using GPIO_29 as VinP input for OPAMP3 Trans-Impedance Amplifier with current source input. None
  • OPNs: All
  • Boards: All
  • Modes: SoC
  • Host interfaces: N/A
1504649 Fixed voltage drop issue when using GPIO_27 or DAC as VinP input for OPAMP1 Trans-Impedance Amplifier with current source input. None
  • OPNs: All
  • Boards: All
  • Modes: SoC
  • Host interfaces: N/A
1500145 Fixed issue where output voltage exceeded OPAMP Reference Voltage (2.5 V) when R1=R2=20K for Instrumentation Amplifier configuration. None
  • OPNs: All
  • Boards: All
  • Modes: SoC
  • Host interfaces: N/A
1438016 Fixed issue where BOD (Brown-Out Detection) was non-functional in ULP power state PS2. None
  • OPNs: All
  • Boards: All
  • Modes: SoC
  • Host interfaces: N/A
1455245 Blackout reset fails to occur on module board SiW917Y-RB4343A Rev. A07. None
  • OPNs: All
  • Boards: All
  • Modes: SoC
  • Host interfaces: N/A
1364360 Fixed issue where Simplicity Studio's "Add New Instance" feature for peripherals with multiple instances suggested default instance names (e.g., inst0, inst1) that differed from the instance names supported in the reference documentation and application examples. Instance naming has been aligned with peripheral-specific documentation conventions. None
  • OPNs: All
  • Boards: All
  • Modes: SoC
  • Host interfaces: N/A
1417168 Fixed issue where PSA components were not visible in the Simplicity Studio GUI, preventing users from adding security modules to their projects. Both mbedTLS and SI91X-PSA driver components are now properly displayed alongside PSA components. None
  • OPNs: All
  • Boards: All
  • Modes: SoC
  • Host interfaces: N/A
1496318 Fixed issue where DUT hang was observed during firmware download over TCP OTA when using the firmware fallback feature. None
  • OPNs: SiWG917M111MGTBA, SiWG917M100MGTBA, SIWG917Y111MGNBA, SIWG917Y121MGNBA, SIWG917Y111MGABA, SIWG917Y121MGABA
  • Boards: All
  • Modes: SoC
  • Host interfaces: N/A
1483509 Fixed issue where the NWP firmware fallback feature required the default slot image to be set using the sl_si91x_select_default_nwp_fw API before calling sl_net_init. The API now automatically handles default slot selection. None
  • OPNs: SiWG917M111MGTBA, SiWG917M100MGTBA, SIWG917Y111MGNBA, SIWG917Y121MGNBA, SIWG917Y111MGABA, SIWG917Y121MGABA
  • Boards: All
  • Modes: SoC
  • Host interfaces: N/A
1462701 Fixed issue where erasing an inactive image slot would take approximately 14 seconds, during which wireless tasks were blocked, potentially causing AP disconnection and protocol disruptions. None
  • OPNs: SiWG917M111MGTBA, SiWG917M100MGTBA, SIWG917Y111MGNBA, SIWG917Y121MGNBA, SIWG917Y111MGABA, SIWG917Y121MGABA
  • Boards: All
  • Modes: SoC
  • Host interfaces: N/A
1513362

Updated Power Save pin nomenclature to align with NCP data sheet conventions.

In NCP Power Save Examples with EFR32 host, Power Save pins (UULP_VBAT_GPIO_0 and UULP_VBAT_GPIO_2) are now properly configured to enable correct SiWx917 wake-up and sleep operation in GPIO-Based Power Save Mode-2.

None
  • Firmware variants: Standard and Lite
  • OPNs: All NCP OPNs only
  • Boards: All NCP boards only
  • Modes: NCP
  • Host interfaces: SPI, UART
1476840 Replaced manual millisecond-to-tick conversions with SLI_SYSTEM_MS_TO_TICKS macro for accurate OS delays. None
  • Firmware variants: Standard and Lite
  • OPNs: All
  • Boards: All
  • Modes: SoC, NCP
  • Host interfaces: SPI, UART
1517330 Fixed sl_si91x_set_nwp_config_request() API error; host can now configure XTAL/PMU good time prior to sl_net_init(). None
  • Firmware variants: Standard and Lite
  • OPNs: All
  • Boards: All
  • Modes: SoC, NCP
  • Host interfaces: SPI, UART

Chip Enablement#

None

Application Example Changes#

New Examples | Modified Examples | Removed Examples | Deprecated Examples

Note: See the Feature Matrix section for a list of all hardware parts that work with the WiSeConnect SDK.

New Examples#

  • SL Si91x - SL_LOGGER_EXAMPLE - Demonstrates the logger service on the SiWx917 SoC device.

  • SL Si91x - WDT Manager - Demonstrates the Watchdog Timer Manager service on the SiWx917 SoC device.

Modified Examples#

None

Removed Examples#

  • CPC Secondary SDIO with Security - This example has been removed as it is no longer maintained in Simplicity SDK.

  • SL Si91x - Watchdog Timer - This example has been replaced by SL Si91x - WDT Manager, which provides enhanced watchdog timer management capabilities.

Deprecated Examples#

None

Known Issues and Limitations#

Note: See the Feature Matrix section for a list of all hardware parts that work with the WiSeConnect SDK.

ID Issue or Limitation Description GitHub / Salesforce Reference (if any) Workaround (if any) Affected Software Variants, Hardware, Modes, Host Interfaces
N/A FreeRTOS tick-less idle mode is currently not supported in the Sensor Hub example application. None None
  • Software variants: Standard and Lite
  • OPNs: All except IC's OPNs
  • Boards: All applicable boards
  • Modes: SoC, NCP
  • Host interfaces SPI, UART
N/A UART instances do not support different FIFO thresholds. None None
  • OPNs: All
  • Boards: All
  • Modes: SoC
  • Host interfaces: N/A
1475241 SDC cannot be used with OPAMP as its input. None None
  • OPNs: All
  • Boards: All
  • Modes: SoC
  • Host interfaces: N/A
N/A The ULP Timer may experience timer drifts due to the inaccuracy of the clock source (RC oscillator). None None
  • OPNs: All
  • Boards: All
  • Modes: SoC
  • Host interfaces: N/A
1527571 PSRAM access with Data Cache enabled may experience performance degradation ranging from 2× to 9× depending on memory access patterns and workload characteristics. This is due to software-based mitigation implemented to fix a data corruption issue during write-after-read sequences. A detailed user guide outlining the affected use cases, recommended access patterns, and performance trade-offs will be released in subsequent releases. None None
  • OPNs: All SiWx917 devices
  • Boards: All
  • Modes: SoC
  • Host interfaces: N/A
N/A Peripheral clock sources are currently fixed and cannot be configured by the user. None None
  • OPNs: All
  • Boards: All
  • Modes: SoC
  • Host interfaces: N/A
N/A GPDMA driver currently supports only memory-to-memory transfers. None None
  • OPNs: All
  • Boards: All
  • Modes: SoC
  • Host interfaces: N/A
N/A I2C receive operations using DMA may fail because the IC DATA CMD register must be programmed with a read command for each byte. Using two DMA channels—one for programming the register and one for data transfer—can lead to synchronization issues due to DMA flow control delays. None None
  • OPNs: All
  • Boards: All
  • Modes: SoC
  • Host interfaces: N/A
1567865 SSI Dual and Quad mode supports address lengths up to 32 bits only. None None
  • OPNs: All
  • Boards: All
  • Modes: SoC
  • Host interfaces: N/A
N/A The DMA controller does not support timeout or threshold interrupts for half-full or full states. For asynchronous transactions, the application must implement handshaking mechanisms to ensure proper synchronization and data transfer control. None None
  • OPNs: All
  • Boards: All
  • Modes: SoC
  • Host interfaces: N/A
N/A Only a few wakeup sources (ULP GPIO, ULP Timer, ULP ADC, ULP Comparator, and ULP UART) are currently supported for the PS1 state in the Power Manager. None None
  • OPNs: All
  • Boards: All
  • Modes: SoC
  • Host interfaces: N/A
1574418 Using slc generate --toolchain gcc or slc generate --with toolchain_gcc may fail with exclusivity errors due to the wiseconnect_toolchain_gcc_standard component incorrectly providing toolchain_gcc, resulting in a conflict with the SiSDK toolchain_gcc component. If using those two command line options results in exclusivity errors, then you can remove them, and note that in a future WiseConnect release, you might have to reintroduce the toolchain option on the command line. Refer to future WiseConnect release notes for updates on possible behavior changes. None None
  • Software variants: Standard and Lite
  • OPNs: All
  • Boards: All
  • Modes: SoC, NCP
  • Host interfaces: SPI, UART