Special GPIO Use Cases#

In addition to standard general-purpose input/output functionality, certain GPIO pins on the SiWG917 device are dedicated for specialized hardware functions that interface directly with critical subsystems.
These pins should be used with care, as they are essential for RF control, debugging, and system programming.

This section highlights three commonly used special GPIO applications:

  1. External RF Switch Control

  2. NWP (Network Processor) Debug Prints

  3. ISP (In-System Programming) Interface

External RF Switch Control#

Many SiWG917-based designs use an external RF front-end module (RFFE) or RF switch to control the routing of RF signals between transmission paths (e.g., WLAN TX/RX or BLE operation).

To facilitate this, specific GPIOs from the ULP (Ultra-Low Power) domain are dedicated for RF switch control.

The SiWG917 reserves the following GPIOs for this purpose:

Function

GPIOs Used

Power Domain

RF Switch Control

ULP_GPIO_0, ULP_GPIO_4, ULP_GPIO_5

ULP_IO_VDD

Notes:

  • These GPIOs are dedicated for RF switch control and should not be repurposed for general I/O or alternate peripheral functions in the application.

  • This section is not applicable to ICs with internal switch.

NWP Debug Prints#

The Network Wireless Processor (NWP) subsystem in the SiWG917 provides a UART-based debug interface that outputs runtime diagnostic messages, system logs, and status information. These logs are highly valuable during troubleshooting NWP issues.

Dedicated GPIOs are mapped to serve as UART TX/RX lines for the NWP’s debug output.

Signal

GPIO Assignment

Function

NWP_UART_TX

GPIO_9 / ULP_GPIO_9

Transmit Debug Data

NWP_UART_RX

GPIO_8

Receive Debug Data

Usage#

ISP (In-System Programming) Interface#

The SiWG917 supports In-System Programming (ISP) for firmware flashing, updates, and system recovery.
During ISP mode, the SoC bootloader communicates with the host via UART, SPI, or SDIO interfaces.

Specific GPIOs are used to implement these communication interfaces and to signal entry into ISP mode.

Programming Interface

GPIO Assignments

UART ISP

GPIO_9, GPIO_8

SPI ISP

GPIO_25, GPIO_26, GPIO_27, GPIO_28

SDIO ISP

GPIO_25, GPIO_26, GPIO_27, GPIO_28, GPIO_29, GPIO_30

Note:

  • Users should keep GPIO_8 (RX) and GPIO_9 (TX) available for UART ISP functionality, ensuring a reliable fallback method for firmware programming or recovery — especially when security features are enabled or JTAG access is disabled.

  • Refer to Datasheet for detailed pin mapping of UART/SPI/SDIO

Typical Use Cases#

  • Firmware download or upgrade during production.

  • Field recovery for corrupted or failed firmware images.

  • Maintenance or recovery access when JTAG is locked by security settings.

ISP Entry and Control#

To enter ISP mode, a dedicated boot configuration GPIO (GPIO_34) is used.
Pulling this pin low during device reset forces the SoC into ISP boot mode.

Signal

GPIO Assignment

Function

ISP Entry Pin

GPIO_34 (BOOT_MODE)

Triggers ISP mode entry on reset

DEBUG Interface#

The SiWG917 supports both Serial Wire Debug (SWD) and JTAG interfaces for debug and development purposes.
These interfaces allow developers to perform on-chip debugging, firmware programming, and real-time system monitoring.

Both SWD and JTAG provide access to the internal ARM® Cortex®-M4 core for debugging firmware execution and inspecting memory/registers during runtime.
By default, the debug interface is enabled on power-up unless explicitly disabled in firmware or through fuse configuration.

Debug Pin Mapping#

Debug Function

GPIO Assignment

Description

SWDIO / TMS

GPIO_33

Serial Wire Debug I/O (Data / Mode Select)

SWCLK / TCK

GPIO_31

Serial Wire Debug Clock

TDI

GPIO_32

JTAG Test Data Input

TDO

GPIO_34

JTAG Test Data Output

Notes:

  • Debug access is lost when the firmware reconfigures SWD or JTAG pins for GPIO functionality.

  • To restore debug access, the firmware must reconfigure the pins back to SWD/JTAG mode, or the device must be booted into ISP mode.