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.