PDK API Guide for J721E
SPI.h File Reference

Introduction

SPI driver interface.

============================================================================

The SPI header file should be included in an application as follows:

#include <ti/drv/spi/SPI.h>

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...