 |
AM263x MCU+ SDK
11.00.00
|
|
Go to the documentation of this file.
57 #include <drivers/hw_include/cslr_qspi.h>
92 #define QSPI_NOT_IN_USE(x) (void) 0
99 #define QSPI_LLD_CMD_INVALID_ADDR (0xFFFFFFFFU)
111 #define QSPI_RX_LINES_SINGLE (0U)
112 #define QSPI_RX_LINES_DUAL (1U)
113 #define QSPI_RX_LINES_QUAD (2U)
130 #define QSPI_FF_POL0_PHA0 ((CSL_QSPI_SPI_DC_REG_CKPH0_CKP_0_SHIFT_OUT_FALLING_EDGE \
131 << CSL_QSPI_SPI_DC_REG_CKPH0_SHIFT) | \
132 (CSL_QSPI_SPI_DC_REG_CKP0_DATA_INACTIVE << \
133 CSL_QSPI_SPI_DC_REG_CKP0_SHIFT))
134 #define QSPI_FF_POL0_PHA1 ((CSL_QSPI_SPI_DC_REG_CKPH0_CKP_0_SHIFT_OUT_RISING_EDGE \
135 << CSL_QSPI_SPI_DC_REG_CKPH0_SHIFT) | \
136 (CSL_QSPI_SPI_DC_REG_CKP0_DATA_INACTIVE << \
137 CSL_QSPI_SPI_DC_REG_CKP0_SHIFT))
138 #define QSPI_FF_POL1_PHA0 ((CSL_QSPI_SPI_DC_REG_CKPH0_CKP_1_SHIFT_OUT_RISING_EDGE \
139 << CSL_QSPI_SPI_DC_REG_CKPH0_SHIFT) | \
140 (CSL_QSPI_SPI_DC_REG_CKP0_DATA_ACTIVE << \
141 CSL_QSPI_SPI_DC_REG_CKP0_SHIFT))
142 #define QSPI_FF_POL1_PHA1 ((CSL_QSPI_SPI_DC_REG_CKPH0_CKP_1_SHIFT_OUT_FALLING_EDGE \
143 << CSL_QSPI_SPI_DC_REG_CKPH0_SHIFT) | \
144 (CSL_QSPI_SPI_DC_REG_CKP0_DATA_ACTIVE << \
145 CSL_QSPI_SPI_DC_REG_CKP0_SHIFT))
156 #define QSPI_CS_POL_ACTIVE_LOW (CSL_QSPI_SPI_DC_REG_CSP0_ACTIVE_LOW)
157 #define QSPI_CS_POL_ACTIVE_HIGH (CSL_QSPI_SPI_DC_REG_CSP0_ACTIVE_HIGH)
168 #define QSPI_DATA_DELAY_0 (CSL_QSPI_SPI_DC_REG_DD0_CS_TO_DATA_DELAY_0)
169 #define QSPI_DATA_DELAY_1 (CSL_QSPI_SPI_DC_REG_DD0_CS_TO_DATA_DELAY_1)
170 #define QSPI_DATA_DELAY_2 (CSL_QSPI_SPI_DC_REG_DD0_CS_TO_DATA_DELAY_2)
171 #define QSPI_DATA_DELAY_3 (CSL_QSPI_SPI_DC_REG_DD0_CS_TO_DATA_DELAY_3)
183 #define QSPI_MEM_MAP_PORT_SEL_CFG_PORT \
184 (CSL_QSPI_SPI_SWITCH_REG_MMPT_S_SEL_CFG_PORT)
185 #define QSPI_MEM_MAP_PORT_SEL_MEM_MAP_PORT \
186 (CSL_QSPI_SPI_SWITCH_REG_MMPT_S_SEL_MM_PORT)
190 #define QSPI_MAX_WORD_LENGTH (128U)
198 #define QSPI_SYSTEM_SUCCESS ((int32_t )0)
203 #define QSPI_SYSTEM_FAILURE ((int32_t)-1)
208 #define QSPI_TIMEOUT ((int32_t)-2)
213 #define QSPI_LLD_INVALID_PARAM ((int32_t)-3)
218 #define QSPI_BUSY ((int32_t)-4)
223 #define QSPI_INVALID_STATE ((int32_t)-5)
233 #define QSPI_STATE_RESET (0U)
238 #define QSPI_STATE_READY (1U)
243 #define QSPI_STATE_BUSY (2U)
248 #define QSPI_STATE_ERROR (3U)
258 #define QSPI_STATE_IDLE (0U)
262 #define QSPI_STATE_ADDRESS_WRITE (1U)
266 #define QSPI_STATE_DATA_WRITE (2U)
270 #define QSPI_STATE_DATA_READ (3U)
274 #define QSPI_STATE_BLOCK (4U)
278 #define QSPI_STATE_NON_BLOCK (5U)
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.
void * dataBuf
Definition: qspi_lld.h:377
uint32_t memMapBaseAddr
Definition: qspi_lld.h:388
void * args
Definition: qspi_lld.h:452
bool readWriteFlag
Definition: qspi_lld.h:349
void * args
Definition: hsmclient_msg.h:4
uint32_t inputClkFreq
Definition: qspi_lld.h:390
bool wordIntr
Definition: qspi_lld.h:414
uint8_t readCmd
Definition: qspi_lld.h:438
int32_t QSPI_lld_setRxLines(QSPILLD_Handle hQspi, uint32_t rxLines)
Set QSPI Rx lines in the QSPI object.
QSPI_Clock_usecToTicks Clock_usecToTicks
Definition: qspi_lld.h:424
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.
QSPI Driver Transaction.
Definition: qspi_lld.h:338
uint8_t intrPriority
Definition: qspi_lld.h:418
struct QSPILLD_Transaction * QSPILLD_TransactionHandle
uint32_t wlen
Definition: qspi_lld.h:359
uint32_t wrdLen
Definition: qspi_lld.h:402
bool dmaEnable
Definition: qspi_lld.h:420
int32_t QSPI_lld_getInputClk(QSPILLD_Handle hQspi, uint32_t *inputClk)
This function returns the input clock at which QSPI was programmed.
uint32_t cmdRegVal
Definition: qspi_lld.h:351
int32_t QSPI_lld_setReadCmd(QSPILLD_Handle hQspi, uint8_t command)
Function to set read command to be used.
void * buf
Definition: qspi_lld.h:343
QSPILLD_Transaction * transaction
Definition: qspi_lld.h:454
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.
uint32_t baseAddr
Definition: qspi_lld.h:436
QSPI driver initialization object.
Definition: qspi_lld.h:387
void(* QSPI_lld_InterruptCallback)(void *args)
The definition of a interrupt completion callback function used by the QSPI driver.
Definition: qspi_lld.h:313
uint32_t dataLen
Definition: qspi_lld.h:379
void QSPI_lld_isr(void *args)
QSPI ISR for Read and Write Functionality.
uint32_t qspiClockDiv
Definition: qspi_lld.h:392
bool status
Definition: qspi_lld.h:347
uint8_t writeCmd
Definition: qspi_lld.h:440
QSPI_lld_InterruptCallback interruptCallback
Definition: qspi_lld.h:458
uint32_t intrNum
Definition: qspi_lld.h:410
uint32_t csPol
Definition: qspi_lld.h:396
struct QSPILLD_Object * QSPILLD_Handle
uint32_t cmdAddr
Definition: qspi_lld.h:372
void(* QSPI_lld_dma_readCompleteCallback)(void *args)
The definition of a dma read completion callback function used by the QSPI driver.
Definition: qspi_lld.h:321
uint8_t numAddrBytes
Definition: qspi_lld.h:357
uint32_t chipSelect
Definition: qspi_lld.h:394
EDMA_Handle QSPI_DmaHandle
The handle for DMA instance used with QSPI.
Definition: qspi_lld.h:70
uint32_t frmLength
Definition: qspi_lld.h:442
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.
QSPI driver object.
Definition: qspi_lld.h:432
QSPI_lld_dma_readCompleteCallback readCompleteCallback
Definition: qspi_lld.h:460
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 microse...
Definition: qspi_lld.h:304
QSPI_DmaHandle qspiDmaHandle
Definition: qspi_lld.h:406
uint32_t currentIndex
Definition: qspi_lld.h:353
bool intrEnable
Definition: qspi_lld.h:412
uint8_t cmd
Definition: qspi_lld.h:370
uint32_t numDummyBits
Definition: qspi_lld.h:446
int32_t QSPI_lld_setDummyBitCount(QSPILLD_Handle hQspi, uint32_t count)
Function to set number of dummy bits to be used.
int32_t QSPI_lld_writeCmd(QSPILLD_Handle hQspi, QSPILLD_WriteCmdParams *writeMsg)
Function to send specific commands and write data into flash in configuration mode.
uint32_t addrOffset
Definition: qspi_lld.h:345
int32_t QSPI_lld_setWriteCmd(QSPILLD_Handle hQspi, uint8_t command)
Function to set write command to be used.
uint32_t dataDelay
Definition: qspi_lld.h:400
int32_t QSPI_lld_initDma(QSPILLD_Handle hQspi)
This function initializes the QSPI module in DMA Mode.
uint8_t numAddrBytes
Definition: qspi_lld.h:375
QSPI Transaction Info.
Definition: qspi_lld.h:369
uint8_t cmd
Definition: qspi_lld.h:355
int32_t QSPI_lld_setMemAddrSpace(QSPILLD_Handle hQspi, uint32_t memMappedPortSwitch)
This function is used to switch between memory mapped and configuration mode.
void * EDMA_Handle
A handle that is returned from a EDMA_open() call.
Definition: edma/v0/edma.h:596
QSPI_Clock_getTicks Clock_getTicks
Definition: qspi_lld.h:422
int32_t QSPI_lld_setPreScaler(QSPILLD_Handle hQspi, uint32_t clkDividerVal)
Set the QSPI clock register divider value.
QSPILLD_InitHandle hQspiInit
Definition: qspi_lld.h:448
bool frameIntr
Definition: qspi_lld.h:416
uint32_t(* QSPI_Clock_getTicks)(void)
The definition of a get System Tick function used by the QSPI driver to keep track of time.
Definition: qspi_lld.h:293
int32_t QSPI_lld_setAddressByteCount(QSPILLD_Handle hQspi, uint32_t count)
Function to set number of address bytes to be used.
uint32_t dataLen
Definition: qspi_lld.h:341
int32_t QSPI_lld_deInit(QSPILLD_Handle hQspi)
This function de-initializes the QSPI module.
int32_t QSPI_lld_deInitDma(QSPILLD_Handle hQspi)
This function de-initializes the QSPI module in DMA Mode.
struct QSPI_EdmaParams_s * QSPI_DmaChConfig
A handle that holds DMA configuration parameters for QSPI.
Definition: qspi_lld.h:73
uint32_t rxLines
Definition: qspi_lld.h:404
uint32_t count
Definition: qspi_lld.h:339
uint32_t state
Definition: qspi_lld.h:450
uint32_t frmFmt
Definition: qspi_lld.h:398
QSPILLD_Transaction trans
Definition: qspi_lld.h:456
void QSPI_lld_readCompleteCallback(void *args)
QSPI Read complete callback for DMA mode.
uint32_t QSPI_lld_getRxLines(QSPILLD_Handle hQspi)
Get QSPI Rx lines in the QSPI object.
int32_t QSPI_lld_init(QSPILLD_Handle hQspi)
This function initializes the QSPI module.
uint32_t numAddrBytes
Definition: qspi_lld.h:444
uint32_t state
Definition: qspi_lld.h:361
QSPI_DmaChConfig qspiDmaChConfig
Definition: qspi_lld.h:408
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.
struct QSPILLD_InitObject * QSPILLD_InitHandle