Zephyr API Documentation 4.3.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
SPI Driver Backend API

Data Structures

struct  spi_driver_api
  Driver Operations SPI driver operations More...

Typedefs

typedef int(* spi_api_io) (const struct device *dev, const struct spi_config *config, const struct spi_buf_set *tx_bufs, const struct spi_buf_set *rx_bufs)
 Callback API for I/O.
typedef void(* spi_callback_t) (const struct device *dev, int result, void *data)
 SPI callback for asynchronous transfer requests.
typedef int(* spi_api_io_async) (const struct device *dev, const struct spi_config *config, const struct spi_buf_set *tx_bufs, const struct spi_buf_set *rx_bufs, spi_callback_t cb, void *userdata)
 Callback API for asynchronous I/O.
typedef void(* spi_api_iodev_submit) (const struct device *dev, struct rtio_iodev_sqe *iodev_sqe)
 Callback API for submitting work to a SPI device with RTIO.
typedef int(* spi_api_release) (const struct device *dev, const struct spi_config *config)
 Callback API for unlocking SPI device.

Detailed Description

This group contains the API type definitions, callback signatures, and other helpers required to implement a SPI driver.

Typedef Documentation

◆ spi_api_io

typedef int(* spi_api_io) (const struct device *dev, const struct spi_config *config, const struct spi_buf_set *tx_bufs, const struct spi_buf_set *rx_bufs)

#include <zephyr/drivers/spi.h>

Callback API for I/O.

See spi_transceive() for argument descriptions

◆ spi_api_io_async

typedef int(* spi_api_io_async) (const struct device *dev, const struct spi_config *config, const struct spi_buf_set *tx_bufs, const struct spi_buf_set *rx_bufs, spi_callback_t cb, void *userdata)

#include <zephyr/drivers/spi.h>

Callback API for asynchronous I/O.

See spi_transceive_signal() for argument descriptions

◆ spi_api_iodev_submit

typedef void(* spi_api_iodev_submit) (const struct device *dev, struct rtio_iodev_sqe *iodev_sqe)

#include <zephyr/drivers/spi.h>

Callback API for submitting work to a SPI device with RTIO.

◆ spi_api_release

typedef int(* spi_api_release) (const struct device *dev, const struct spi_config *config)

#include <zephyr/drivers/spi.h>

Callback API for unlocking SPI device.

See spi_release() for argument descriptions

◆ spi_callback_t

typedef void(* spi_callback_t) (const struct device *dev, int result, void *data)

#include <zephyr/drivers/spi.h>

SPI callback for asynchronous transfer requests.

Parameters
devSPI device which is notifying of transfer completion or error
resultResult code of the transfer request. 0 is success, -errno for failure.
dataTransfer requester supplied data which is passed along to the callback.