Overview#
Peripheral drivers provide a simple, generic and feature oriented APIs, using which the peripherals on Si91x device could be controlled.
Peripheral driver provides polling, interrupt and DMA programming models. It provides Support for multi-instance of a peripheral by allowing concurrent API calls for multiple instances of a given peripheral (Ex: I2C0/I2C1 and or UART0/USART0).
All the interrupt configuration APIs provides user callback feature.
Note: For additional details about the status codes of API Documentation, please refer to the Status Code Documentation.
Peripheral Overview: I2C, SPI, UART, I2S#
The following sections list the various types of I2C, SPI, UART, and I2S peripherals that are available.
For more information on the architecture, usage, and configuration of the peripherals, see the MCU Peripherals section of the SiWx91x Reference Manual.
For information on configuring the muliplexed pins for different functions, see the GPIO Pin Multiplexing section in the SiWG917 Datasheet.
I2C Peripherals:#
I2C0 and I2C1: I2C interfaces supporting both Primary and Secondary modes.
ULP_I2C: Ultra-Low Power I2C, supporting both Primary and Secondary modes for energy-sensitive applications.
SPI Peripherals:#
Primary Interfaces:
GSPI: General-purpose SPI that supports Mode 0 and Mode 3 with a maximum speed of 116 MHz, making it suitable for high-speed applications requiring efficient communication.
SSI: Synchronous Serial Interface supports all four modes (Mode 0, 1, 2, 3) and operates at a maximum speed of 40 MHz in primary mode. It is mainly designed for synchronized data transfers in both primary and secondary roles, where timing precision and full-duplex communication are essential.
SSI_ULP: Ultra-Low Power SSI for energy-efficient, synchronous operations in low-power systems.
Secondary Interfaces:
SSI: Secondary Synchronous Serial Interface for additional connectivity.
HSPI Secondary: High-Speed SPI for faster communication.
UART Peripherals:#
USART (UART0/USART0): Universal Synchronous/Asynchronous Receiver-Transmitter.
UART (UART1): Standard Universal Asynchronous Receiver-Transmitter.
ULP_UART: Ultra-Low Power UART for energy-efficient serial communication.
I2S Peripherals:#
I2S: Inter-IC Sound for audio communication.
ULP_I2S: Ultra-Low Power I2S for low-power audio interfaces.