OSPI Driver API/interface file.
Go to the source code of this file.
Data Structures | |
struct | OSPI_Transaction |
Data structure used with OSPI_Transfers - OSPI_readDirect, OSPI_writeDirect, OSPI_readIndirect, OSPI_writeIndirect. More... | |
struct | OSPI_WriteCmdParams |
struct | OSPI_ReadCmdParams |
struct | OSPI_Params |
OSPI Parameters. More... | |
struct | OSPI_Attrs |
OSPI instance attributes - used during init time. More... | |
struct | OSPI_Object |
OSPI driver object. More... | |
struct | OSPI_Config |
Macros | |
Transfer Status Code | |
#define | OSPI_TRANSFER_COMPLETED (0U) |
#define | OSPI_TRANSFER_STARTED (1U) |
#define | OSPI_TRANSFER_CANCELLED (2U) |
#define | OSPI_TRANSFER_FAILED (3U) |
#define | OSPI_TRANSFER_CSN_DEASSERT (4U) |
#define | OSPI_TRANSFER_TIMEOUT (5U) |
Transfer Mode | |
This determines whether the driver operates synchronously or asynchronously In OSPI_TRANSFER_MODE_BLOCKING OSPI_Transfers block code execution until the transaction has completed In OSPI_TRANSFER_MODE_CALLBACK OSPI_Transfers does not block code execution and instead calls a callback function when the transaction has completed | |
#define | OSPI_TRANSFER_MODE_BLOCKING (0U) |
OSPI_Transfers blocks execution. This mode can only be used when called within a Task context and is interrupt based More... | |
#define | OSPI_TRANSFER_MODE_CALLBACK (1U) |
OSPI_Transfers does not block code execution and will call a callback function. This mode can be used in a Task, Swi, or Hwi context More... | |
#define | OSPI_TRANSFER_MODE_POLLING (2U) |
OSPI_Transfers blocks execution. This mode can only be used when called within a Task context and is polling based. More... | |
Frame Format | |
#define | OSPI_FF_POL0_PHA0 (0U) |
#define | OSPI_FF_POL0_PHA1 (CSL_OSPI_FLASH_CFG_CONFIG_REG_SEL_CLK_PHASE_FLD_MASK | 0U) |
#define | OSPI_FF_POL1_PHA0 (0U | CSL_OSPI_FLASH_CFG_CONFIG_REG_SEL_CLK_POL_FLD_MASK) |
#define | OSPI_FF_POL1_PHA1 |
Transfer Lines Number | |
#define | OSPI_XFER_LINES_SINGLE (0U) |
#define | OSPI_XFER_LINES_DUAL (1U) |
#define | OSPI_XFER_LINES_QUAD (2U) |
#define | OSPI_XFER_LINES_OCTAL (3U) |
Chip Selects | |
#define | OSPI_CS0 (0U) |
#define | OSPI_CS1 (1U) |
#define | OSPI_CS2 (2U) |
#define | OSPI_CS3 (3U) |
#define | OSPI_CHIP_SELECT(x) ((~((1U) << (x))) & 0xFU) |
Decoder Chip Selects | |
#define | OSPI_DECODER_SELECT4 ((uint32_t) 0U) |
#define | OSPI_DECODER_SELECT16 ((uint32_t) 1U) |
Typedefs | |
typedef void * | OSPI_Handle |
A handle that is returned from a OSPI_open() call. More... | |
Functions | |
void | OSPI_init (void) |
This function initializes the OSPI module. More... | |
void | OSPI_deinit (void) |
This function de-initializes the OSPI module. More... | |
void | OSPI_Params_init (OSPI_Params *ospiParams) |
Initialize data structure with defaults. More... | |
OSPI_Handle | OSPI_open (uint32_t index, const OSPI_Params *openParams) |
This function opens a given OSPI peripheral. More... | |
void | OSPI_close (OSPI_Handle handle) |
Function to close a OSPI peripheral specified by the OSPI handle. More... | |
OSPI_Handle | OSPI_getHandle (uint32_t index) |
This function returns the handle of an open OSPI Instance from the instance index. More... | |
int32_t | OSPI_readCmd (OSPI_Handle handle, OSPI_ReadCmdParams *rdParams) |
Function to send specific commands and receive related data from flash. More... | |
int32_t | OSPI_writeCmd (OSPI_Handle handle, OSPI_WriteCmdParams *wrParams) |
Function to send specific commands and related data to flash. More... | |
void | OSPI_Transaction_init (OSPI_Transaction *trans) |
Function to initialize the OSPI_Transaction structure. More... | |
void | OSPI_ReadCmdParams_init (OSPI_ReadCmdParams *rdParams) |
Function to initialize the OSPI_Transaction structure. More... | |
void | OSPI_WriteCmdParams_init (OSPI_WriteCmdParams *wrParams) |
Function to initialize the OSPI_Transaction structure. More... | |
uint32_t | OSPI_isDacEnable (OSPI_Handle handle) |
This function checks if the Direct Access Controller is enabled. More... | |
uint32_t | OSPI_isDmaEnable (OSPI_Handle handle) |
This function checks if DMA is enabled for reads. More... | |
uint32_t | OSPI_isIntrEnable (OSPI_Handle handle) |
This function checks if interrupts are enabled. More... | |
uint32_t | OSPI_isPhyEnable (OSPI_Handle handle) |
This function checks if the OSPI PHY controller is enabled. More... | |
uint32_t | OSPI_isDtrEnable (OSPI_Handle handle) |
This function checks if the Dual Transfer Rate (Sampling on both rising and falling edge of the clock) is enabled. More... | |
uint32_t | OSPI_isXipEnable (OSPI_Handle handle) |
This function checks if the eXecute In Place (XIP) mode is enabled. More... | |
uint32_t | OSPI_getXferLines (OSPI_Handle handle) |
This function returns the number of transfer lines enabled for the OSPI communication. More... | |
int32_t | OSPI_enableModeDDR (OSPI_Handle handle, uint32_t cmd, uint32_t addr, uint32_t data) |
This function enables the Dual Data Rate (DDR) More... | |
int32_t | OSPI_enableModeSDR (OSPI_Handle handle, uint32_t cmd, uint32_t addr, uint32_t data) |
This function enables the Single Data Rate (DDR) More... | |
int32_t | OSPI_enableModeXIP (OSPI_Handle handle, uint32_t cmd, uint32_t addr, uint32_t data) |
This function enables the eXecute In Place (XIP) mode. More... | |
int32_t | OSPI_setDummyCycle (OSPI_Handle handle, uint32_t cmd, uint32_t addr, uint32_t data) |
This function sets appropriate dummy cycles to the flash controller. More... | |
void | OSPI_setReadDummyCycles (OSPI_Handle handle, uint32_t dummyCycles) |
This function sets appropriate dummy cycles to the OSPI object to be used for flash read. More... | |
void | OSPI_setExtReadDummyCycles (OSPI_Handle handle, uint32_t dummyCycles) |
This function sets appropriate dummy cycles to the OSPI object to be used for flash extended read. More... | |
void | OSPI_setXferLines (OSPI_Handle handle, uint32_t xferLines) |
This function sets the number of transfer lines to the flash device configuration registers. More... | |
void | OSPI_setXferOpCode (OSPI_Handle handle, uint32_t readCmd, uint32_t pageProgCmd, uint32_t readStatusCmd) |
This function sets the transfer opcodes required for correct read and write operations to the flash. More... | |
void | OSPI_setXferOpCodeExt (OSPI_Handle handle, uint32_t *cmd, uint32_t cmdLen) |
This function sets the transfer opcodes required for correct read and write operations to the flash for extended dual opcode mode. More... | |
int32_t | OSPI_enableDacMode (OSPI_Handle handle) |
This function enables the Direct Access Mode. More... | |
int32_t | OSPI_disableDacMode (OSPI_Handle handle) |
This function disables the Direct Access Mode. More... | |
uint32_t | OSPI_getFlashDataBaseAddr (OSPI_Handle handle) |
This function gets the SOC mapped data base address of the flash. More... | |
Different OSPI Transfer functions | |
int32_t | OSPI_readDirect (OSPI_Handle handle, OSPI_Transaction *trans) |
Function to perform direct reads from the flash using DAC controller. More... | |
int32_t | OSPI_readIndirect (OSPI_Handle handle, OSPI_Transaction *trans) |
Function to perform indirect reads from the flash using INDAC controller. More... | |
int32_t | OSPI_writeDirect (OSPI_Handle handle, OSPI_Transaction *trans) |
Function to perform direct writes to the flash using DAC controller. More... | |
int32_t | OSPI_writeIndirect (OSPI_Handle handle, OSPI_Transaction *trans) |
Function to perform indirect writes to the flash using INDAC controller. More... | |
Variables | |
OSPI_Config | gOspiConfig [] |
Externally defined driver configuration array. More... | |
uint32_t | gOspiConfigNum |
Externally defined driver configuration array size. More... | |