AM273x MCU+ SDK  09.02.00

Introduction

QSPI LLD Driver API/interface file.

Go to the source code of this file.

Data Structures

struct  QSPILLD_Transaction
 QSPI Driver Transaction. More...
 
struct  QSPILLD_WriteCmdParams
 QSPI Transaction Info. More...
 
struct  QSPILLD_InitObject
 QSPI driver initialization object. More...
 
struct  QSPILLD_Object
 QSPI driver object. More...
 

Macros

#define QSPI_NOT_IN_USE(x)   (void) 0
 NOT_IN_USE macro to highlight unused parameters. More...
 
#define QSPI_MAX_WORD_LENGTH   (128U)
 Maximum QSPI Word length. More...
 
Chip Selects

Chip selects

#define QSPI_CS0   (0U)
 
#define QSPI_CS1   (1U)
 
#define QSPI_CS2   (2U)
 
#define QSPI_CS3   (3U)
 
#define QSPI_LLD_CMD_INVALID_ADDR   (0xFFFFFFFFU)
 Macros for invalid commands. More...
 
Transfer Lines Number

Number of lines used for QSPI read transaction

#define QSPI_RX_LINES_SINGLE   (0U)
 
#define QSPI_RX_LINES_DUAL   (1U)
 
#define QSPI_RX_LINES_QUAD   (2U)
 
Frame Format

Definitions for various SPI data frame formats

POL0 = QSPICLK is held low during the INACTIVE state POL1 = QSPICLK is held high during the INACTIVE state

PHA0 = Data launch is on the falling edge of QSPICLK PHA1 = Data launch is on the rising edge of QSPICLK

#define QSPI_FF_POL0_PHA0
 
#define QSPI_FF_POL0_PHA1
 
#define QSPI_FF_POL1_PHA0
 
#define QSPI_FF_POL1_PHA1
 
Chip select polarity

Polarity of Chip Select

#define QSPI_CS_POL_ACTIVE_LOW   (CSL_QSPI_SPI_DC_REG_CSP0_ACTIVE_LOW)
 
#define QSPI_CS_POL_ACTIVE_HIGH   (CSL_QSPI_SPI_DC_REG_CSP0_ACTIVE_HIGH)
 
Data Delay

Value of delay in data output after CS goes active.

#define QSPI_DATA_DELAY_0   (CSL_QSPI_SPI_DC_REG_DD0_CS_TO_DATA_DELAY_0)
 
#define QSPI_DATA_DELAY_1   (CSL_QSPI_SPI_DC_REG_DD0_CS_TO_DATA_DELAY_1)
 
#define QSPI_DATA_DELAY_2   (CSL_QSPI_SPI_DC_REG_DD0_CS_TO_DATA_DELAY_2)
 
#define QSPI_DATA_DELAY_3   (CSL_QSPI_SPI_DC_REG_DD0_CS_TO_DATA_DELAY_3)
 
Operation Mode

Operation Mode for read and write.

#define QSPI_MEM_MAP_PORT_SEL_CFG_PORT    (CSL_QSPI_SPI_SWITCH_REG_MMPT_S_SEL_CFG_PORT)
 QSPI Operation mode- Configuration or memory mapped mode. More...
 
#define QSPI_MEM_MAP_PORT_SEL_MEM_MAP_PORT    (CSL_QSPI_SPI_SWITCH_REG_MMPT_S_SEL_MM_PORT)
 
Return status
#define QSPI_SYSTEM_SUCCESS   ((int32_t )0)
 Return status when the API execution was successful. More...
 
#define QSPI_SYSTEM_FAILURE   ((int32_t)-1)
 Return status when the API execution was not successful due to a failure. More...
 
#define QSPI_TIMEOUT   ((int32_t)-2)
 Return status when the API execution was not successful due to a time out. More...
 
#define QSPI_LLD_INVALID_PARAM   ((int32_t)-3)
 Return status when the API execution failed due invalid parameters. More...
 
#define QSPI_BUSY   ((int32_t)-4)
 Return status when the API execution failed due to driver busy. More...
 
#define QSPI_INVALID_STATE   ((int32_t)-5)
 Return status when the API execution failed due to invalid LLD state. More...
 
LLD (Low Level Driver) states
#define QSPI_STATE_RESET   (0U)
 LLD is in Reset State prior to driver init and post driver deinit. More...
 
#define QSPI_STATE_READY   (1U)
 LLD accepts runtime APIs only Ready State, otherwise return error. More...
 
#define QSPI_STATE_BUSY   (2U)
 LLD is busy performing operation with peripherals, return error when APIs are invoked. More...
 
#define QSPI_STATE_ERROR   (3U)
 LLD ran into error, returns error for all APIs other than deinit in this state. More...
 
LLD (Low Level Driver) Transaction states
#define QSPI_STATE_IDLE   (0U)
 Transaction is in idle state. More...
 
#define QSPI_STATE_ADDRESS_WRITE   (1U)
 This transaction state indicates address to be transferred. More...
 
#define QSPI_STATE_DATA_WRITE   (2U)
 This transaction state indicates write functionality. More...
 
#define QSPI_STATE_DATA_READ   (3U)
 This transaction state indicates read functionality. More...
 

Typedefs

typedef void * QSPI_DmaHandle
 The handle for DMA instance used with QSPI. More...
 
typedef void * QSPI_DmaChConfig
 A handle that holds DMA configuration parameters for QSPI. More...
 
typedef uint32_t(* QSPI_Clock_getTicks) (void)
 The definition of a get System Tick function used by the QSPI driver to keep track of time. More...
 
typedef uint32_t(* QSPI_Clock_usecToTicks) (uint64_t usecs)
 The definition of a micro seconds to ticks function used by the QSPI driver to get ticks from microseconds. More...
 
typedef void(* QSPI_lld_InterruptCallback) (void *args)
 The definition of a interrupt completion callback function used by the QSPI driver. More...
 
typedef void(* QSPI_lld_dma_readCompleteCallback) (void *args)
 The definition of a dma read completion callback function used by the QSPI driver. More...
 
QSPI Driver Initialization Structure

Status codes that are set by the QSPI driver

typedef struct QSPILLD_TransactionQSPILLD_TransactionHandle
 
typedef struct QSPILLD_InitObjectQSPILLD_InitHandle
 
typedef struct QSPILLD_ObjectQSPILLD_Handle
 

Functions

int32_t QSPI_lld_init (QSPILLD_Handle hQspi)
 This function initializes the QSPI module. More...
 
int32_t QSPI_lld_initDma (QSPILLD_Handle hQspi)
 This function initializes the QSPI module in DMA Mode. More...
 
int32_t QSPI_lld_deInit (QSPILLD_Handle hQspi)
 This function de-initializes the QSPI module. More...
 
int32_t QSPI_lld_deInitDma (QSPILLD_Handle hQspi)
 This function de-initializes the QSPI module in DMA Mode. More...
 
int32_t QSPI_lld_readCmd (QSPILLD_Handle hQspi, QSPILLD_WriteCmdParams *writeMsg)
 Function to send specific commands and receive related data from flash in configuration mode. More...
 
int32_t QSPI_lld_readCmdIntr (QSPILLD_Handle hQspi, const QSPILLD_WriteCmdParams *msg)
 Function to send specific commands and receive related data from flash in interrupt mode. More...
 
int32_t QSPI_lld_writeCmd (QSPILLD_Handle hQspi, QSPILLD_WriteCmdParams *writeMsg)
 Function to send specific commands and write data into flash in configuration mode. More...
 
int32_t QSPI_lld_writeCmdIntr (QSPILLD_Handle hQspi, const QSPILLD_WriteCmdParams *msg)
 Function to send specific commands and write data into flash in interrupt mode. More...
 
int32_t QSPI_lld_read (QSPILLD_Handle hQspi, uint32_t count, void *rxBuf, uint32_t addrOffset, uint32_t timeout)
 Function to perform reads from the flash in memory map mode. More...
 
int32_t QSPI_lld_readDma (QSPILLD_Handle hQspi, uint32_t count, void *rxBuf, uint32_t addrOffset, uint32_t timeout)
 Function to perform read from the flash in DMA mode. More...
 
int32_t QSPI_lld_setWriteCmd (QSPILLD_Handle hQspi, uint8_t command)
 Function to set write command to be used. More...
 
int32_t QSPI_lld_setReadCmd (QSPILLD_Handle hQspi, uint8_t command)
 Function to set read command to be used. More...
 
int32_t QSPI_lld_setAddressByteCount (QSPILLD_Handle hQspi, uint32_t count)
 Function to set number of address bytes to be used. More...
 
int32_t QSPI_lld_setDummyBitCount (QSPILLD_Handle hQspi, uint32_t count)
 Function to set number of dummy bits to be used. More...
 
int32_t QSPI_lld_setMemAddrSpace (QSPILLD_Handle hQspi, uint32_t memMappedPortSwitch)
 This function is used to switch between memory mapped and configuration mode. More...
 
int32_t QSPI_lld_setRxLines (QSPILLD_Handle hQspi, uint32_t rxLines)
 Set QSPI Rx lines in the QSPI object. More...
 
int32_t QSPI_lld_setPreScaler (QSPILLD_Handle hQspi, uint32_t clkDividerVal)
 Set the QSPI clock register divider value. More...
 
int32_t QSPI_lld_getInputClk (QSPILLD_Handle hQspi, uint32_t *inputClk)
 This function returns the input clock at which QSPI was programmed. More...
 
uint32_t QSPI_lld_getRxLines (QSPILLD_Handle hQspi)
 Get QSPI Rx lines in the QSPI object. More...
 
void QSPI_lld_isr (void *args)
 QSPI ISR for Read and Write Functionality. More...
 
void QSPI_lld_readCompleteCallback (void *args)
 QSPI Read complete callback for DMA mode. More...