Generic Serial Peripheral Interface (GSPI) Developer Guide#
About This Guide#
This guide introduces the Generic Serial Peripheral Interface (GSPI) driver for SiWx917-based applications. It explains how to configure, use, and optimize the GSPI peripheral for high-speed serial communication between the SiWx917 device and external SPI-compatible peripherals.
You will learn how to:
Configure GSPI for your hardware and application requirements
Implement reliable and efficient SPI communication using GSPI APIs
Debug and optimize throughput using DMA and event-driven transfers
Apply best practices for clocking, timing, and power management
Whether you are creating a new design or migrating from a legacy SPI implementation, this guide provides practical steps and examples to help you confidently integrate GSPI into your embedded system.
Audience#
This document is intended for embedded software and firmware developers working on the SiWx917 platform. It provides guidance on configuring, integrating, and optimizing the GSPI driver.
After completing this guide, you will be able to:
Understand GSPI architecture and operating modes
Initialize, configure, and use GSPI driver APIs
Implement DMA-based data transfers for improved performance
Manage low-power operation and handle communication errors
Purpose#
The GSPI peripheral provides a dedicated, high-performance Serial Peripheral Interface (SPI) Primary. It enables fast and reliable communication between the SiWx917 and external SPI devices such as sensors, memory modules, and other microcontrollers.
GSPI allows applications to achieve high-speed, full-duplex communication with flexible configuration options. It is designed to minimize CPU overhead through interrupt and DMA support.
Scope#
This guide covers both conceptual and practical aspects of GSPI development on the SiWx917 platform, including:
Software implementation of GSPI communication
Using the WiSeConnect SDK with Simplicity Studio for development and build workflows
Initialization and configuration (clock source, baud rate, frame format, data width, clock polarity/phase [CPOL/CPHA])
API usage, low-power operation, and debugging
Best practices and examples for real-world integration
Hardware and Software Requirements#
To develop GSPI-based applications, ensure you have the following components:
Hardware#
SiWx917 or Si91x family SoC
Silicon Labs evaluation board or module
See supported hardwareSerial console for logging and command interface
Logic analyzer or oscilloscope for signal validation
Software#
Simplicity Studio IDE
Download Simplicity StudioWiSeConnect SDK
Access the SDK on GitHubSupported toolchain and compiler as listed in the SDK documentation
These tools provide the foundation for developing, building, and testing GSPI-enabled applications.
Note:
Always verify your SDK and Firmware versions match the GSPI API definitions described in this guide.
This guide adopts Primary/Secondary terminology in place of the legacy Master/Slave SPI terminology. However, where required for register names, signal identifiers (such as MOSI and MISO), or backward compatibility, the terms Master or Slave may still appear in technical references.