PDK API Guide for J721E
|
SPI driver interface.
============================================================================
The SPI header file should be included in an application as follows:
Go to the source code of this file.
Data Structures | |
struct | SPI_Transaction |
A SPI_Transaction data structure is used with SPI_transfer(). It indicates how many SPI_FrameFormat frames are sent and received from the buffers pointed to txBuf and rxBuf. The arg variable is an user-definable argument which gets passed to the SPI_CallbackFxn when the SPI driver is in SPI_MODE_CALLBACK. More... | |
struct | SPI_Params |
SPI Parameters. More... | |
struct | SPI_FxnTable |
The definition of a SPI function table that contains the required set of functions to control a specific SPI driver implementation. More... | |
struct | SPI_Config |
SPI Global configuration. More... | |
Macros | |
#define | SPI_CMD_RESERVED (32U) |
#define | SPI_STATUS_RESERVED (-((int32_t)32)) |
#define | SPI_STATUS_SUCCESS (int32_t)(0) |
Successful status code returned by SPI_control(). More... | |
#define | SPI_STATUS_ERROR (-((int32_t)1)) |
Generic error status code returned by SPI_control(). More... | |
#define | SPI_STATUS_UNDEFINEDCMD (-((int32_t)2)) |
An error status code returned by SPI_control() for undefined command codes. More... | |
#define | SPI_WAIT_FOREVER (~(0U)) |
Wait forever define. More... | |
#define | SPI_MAX_CONFIG_CNT (8U) |
Typedefs | |
typedef struct SPI_Config_s * | SPI_Handle |
A handle that is returned from a SPI_open() call. More... | |
typedef void(* | SPI_CallbackFxn) (SPI_Handle handle, SPI_Transaction *transaction) |
The definition of a callback function used by the SPI driver when used in SPI_MODE_CALLBACK. More... | |
typedef void(* | SPI_CloseFxn) (SPI_Handle handle) |
A function pointer to a driver specific implementation of SPI_close(). More... | |
typedef int32_t(* | SPI_ControlFxn) (SPI_Handle handle, uint32_t cmd, const void *arg) |
A function pointer to a driver specific implementation of SPI_control(). More... | |
typedef void(* | SPI_InitFxn) (SPI_Handle handle) |
A function pointer to a driver specific implementation of SPI_init(). More... | |
typedef SPI_Handle(* | SPI_OpenFxn) (SPI_Handle handle, const SPI_Params *params) |
A function pointer to a driver specific implementation of SPI_open(). More... | |
typedef void(* | SPI_ServiceISRFxn) (SPI_Handle handle) |
A function pointer to a driver specific implementation of SPI_serviceISR(). More... | |
typedef bool(* | SPI_TransferFxn) (SPI_Handle handle, SPI_Transaction *transaction) |
A function pointer to a driver specific implementation of SPI_transfer(). More... | |
typedef void(* | SPI_TransferCancelFxn) (SPI_Handle handle) |
A function pointer to a driver specific implementation of SPI_transferCancel(). More... | |
typedef SPI_Config | SPI_config_list[SPI_MAX_CONFIG_CNT] |
Enumerations | |
enum | SPI_Status { SPI_TRANSFER_COMPLETED = 0, SPI_TRANSFER_STARTED, SPI_TRANSFER_CANCELED, SPI_TRANSFER_FAILED, SPI_TRANSFER_CSN_DEASSERT, SPI_TRANSFER_TIMEOUT } |
Status codes that are set by the SPI driver. More... | |
enum | SPI_Mode { SPI_MASTER = 0, SPI_SLAVE = 1 } |
Definitions for various SPI modes of operation. More... | |
enum | SPI_FrameFormat { SPI_POL0_PHA0 = 0, SPI_POL0_PHA1 = 1, SPI_POL1_PHA0 = 2, SPI_POL1_PHA1 = 3, SPI_TI = 4, SPI_MW = 5 } |
Definitions for various SPI data frame formats. More... | |
enum | SPI_TransferMode { SPI_MODE_BLOCKING, SPI_MODE_CALLBACK } |
SPI transfer mode determines the whether the SPI controller operates synchronously or asynchronously. In SPI_MODE_BLOCKING mode SPI_transfer() blocks code execution until the SPI transaction has completed. In SPI_MODE_CALLBACK SPI_transfer() does not block code execution and instead calls a SPI_CallbackFxn callback function when the transaction has completed. More... | |
Functions | |
void | SPI_close (SPI_Handle handle) |
Function to close a SPI peripheral specified by the SPI handle. More... | |
int32_t | SPI_control (SPI_Handle handle, uint32_t cmd, void *arg) |
Function performs implementation specific features on a given SPI_Handle. More... | |
void | SPI_init (void) |
This function initializes the SPI module. More... | |
SPI_Handle | SPI_open (uint32_t idx, SPI_Params *params) |
This function opens a given SPI peripheral. More... | |
void | SPI_Params_init (SPI_Params *params) |
Function to initialize the SPI_Params struct to its defaults. More... | |
void | SPI_serviceISR (SPI_Handle handle) |
Function to service the SPI module's interrupt service routine. More... | |
bool | SPI_transfer (SPI_Handle handle, SPI_Transaction *spiTrans) |
Function to perform SPI transactions. More... | |
void | SPI_transferCancel (SPI_Handle handle) |
Function to cancel SPI transactions. More... | |