AM263Px MCU+ SDK: ospi_lld.h File Reference

| AM263Px MCU+ SDK 26.00.00 |

Data Structures | Macros | Typedefs | Functions
ospi_lld.h File Reference
APIs for SOC Specific Device Drivers » APIs for OSPI LLD

## Introduction

OSPI LLD Driver API/interface file.

Go to the source code of this file.

## Data Structures
struct | OSPI_Transaction
| Data structure used with OSPI_Transfers - OSPI_lld_readDirect, OSPI_lld_writeDirect, OSPI_lld_readIndirect, OSPI_lld_writeIndirect. More...
struct | OSPI_WriteCmdParams
| OSPI Instance Write Command Structure. More...
struct | OSPI_ReadCmdParams
| OSPI Instance Read Command Structure. More...
struct | OSPI_AddrRegion
| OSPI Address Region. More...
struct | OSPI_Params
| OSPI Parameters. More...
struct | OSPI_PhyWindowParams
| OSPI PHY Tuning Window Parameters. More...
struct | OSPI_PhyConfiguration
| OSPI PHY Configuration. More...
struct | OSPILLD_InitObject
| OSPI driver initialization object. More...
struct | OSPILLD_Object
| OSPI driver object. More...

## Macros
#define | OSPI_RESETPIN_DQ3 (0U)
#define | OSPI_RESETPIN_DEDICATED (1U)
#define | CSL_OSPI_BAUD_RATE_DIVISOR(x) (((x) - 2U) >> 1U)
| OSPI controller controller mode baud rate divisor. OSPI baud rate = controller_ref_clk/BD, where BD is: 0000 = /2 0001 = /4 0010 = /6 ... 1111 = /32. More...
#define | MAX_BAUDRATE_DIVIDER (32U)
#define | CSL_OSPI_BAUD_RATE_DIVISOR_DEFAULT (CSL_OSPI_BAUD_RATE_DIVISOR(MAX_BAUDRATE_DIVIDER))
Transfer Status Code
Status codes that are set by the OSPI driver
#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
Definitions for various SPI data frame formats POL0 = OSPICLK is held low during the INACTIVE state POL1 = OSPICLK is held high during the INACTIVE state PHA0 = Data launch is on the falling edge of OSPICLK PHA1 = Data launch is on the rising edge of OSPICLK
#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
Macros for invalid commands
Macros for invalid commands
#define | OSPI_CMD_INVALID_OPCODE (0xFFU)
#define | OSPI_CMD_INVALID_DUMMY (0xFFU)
#define | OSPI_CMD_INVALID_ADDR (0xFFFFFFFFU)
Macros for command extension types
Macros for command extension types
#define | OSPI_CMD_EXT_TYPE_REPEAT (0x00U)
#define | OSPI_CMD_EXT_TYPE_INVERSE (0x01U)
#define | OSPI_CMD_EXT_TYPE_NONE (0x02U)
Macros for OSPI protocol types
Macros for protocol types
#define | OSPI_NOR_PROTOCOL(cmd, addr, data, dtr)
#define | OSPI_NOR_PROTOCOL_INVALID (uint32_t)(0xFFFFFFFF)
#define | OSPI_PROTO_1S_1S_1S (0x0001)
#define | OSPI_PROTO_1S_1S_2S (0x0002)
#define | OSPI_PROTO_1S_1S_4S (0x0003)
#define | OSPI_PROTO_1S_1S_8S (0x0004)
#define | OSPI_PROTO_1S_8S_8S (0x000A)
#define | OSPI_PROTO_4S_4S_4S (0x0005)
#define | OSPI_PROTO_4S_4D_4D (0x0006)
#define | OSPI_PROTO_8S_8S_8S (0x0007)
#define | OSPI_PROTO_8D_8D_8D (0x0008)
#define | OSPI_PROTO_CUSTOM (0x0009)
#define | OSPI_NAND_PROTOCOL(cmd, addr, data, dtr)
#define | OSPI_NAND_PROTOCOL_INVALID (uint32_t)(0xFFFFFFFF)
Chip Selects
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)
| OSPI Chip select macro. More...
Decoder Chip Selects
Decoder Chip selects
#define | OSPI_DECODER_SELECT4 ((uint32_t) 0U)
#define | OSPI_DECODER_SELECT16 ((uint32_t) 1U)
OSPI Driver states
#define | OSPI_STATE_RESET ((uint32_t) 0U)
| OSPI driver is in Reset State prior to driver init and post driver deinit. More...
#define | OSPI_STATE_IDLE ((uint32_t) 1U)
| OSPI driver accepts runtime APIs only Ready State, otherwise return error. More...
#define | OSPI_STATE_BUSY ((uint32_t) 2U)
| OSPI driver is busy performing operation with peripherals, return error when APIs are invoked. More...
#define | OSPI_STATE_ERROR ((uint32_t) 3U)
| OSPI driver ran into error, returns error for all APIs other than deinit in this state. More...
OSPI Driver Return status
#define | OSPI_SYSTEM_SUCCESS ((int32_t )0)
| Return status when the API execution was successful. More...
#define | OSPI_SYSTEM_FAILURE ((int32_t)-1)
| Return status when the API execution was not successful due to a failure. More...
#define | OSPI_TIMEOUT ((int32_t)-2)
| Return status when the API execution was not successful due to a time out. More...
#define | OSPI_LLD_INVALID_PARAM ((int32_t)-3)
| Return status when the API execution failed due invalid parameters. More...
#define | OSPI_BUSY ((int32_t)-4)
| Return status when the API execution failed due to driver busy. More...
#define | OSPI_INVALID_STATE ((int32_t)-5)
| Return status when the API execution failed due to invalid LLD state. More...
OSPI Driver Timeout values
#define | OSPI_NO_WAIT ((uint32_t)0)
| Value to use when needing a timeout of zero or NO timeout, return immediately on resource not available. More...
#define | OSPI_WAIT_FOREVER ((uint32_t)-1)
| Value to use when needing a timeout of infinity or wait forver until resource is available. More...
OSPI Driver Transaction State
#define | OSPI_TRANS_IDLE ((uint32_t)0)
| Indicates that the transaction is IDLE. More...
#define | OSPI_TRANS_READ ((uint32_t)1)
| Indicates the Read transaction. More...
#define | OSPI_TRANS_WRITE ((uint32_t)2)
| Indicates the Write transaction. More...
OSPI PHY Control Mode
Controls the bypass mode of the Initiator and Target DLLs. If this bit is set, the bypass mode is intended to be used only for debug. 0h = Initiator operational mode DLL works in normal mode of operation where the Target delay line settings are used as fractional delay of the Initiator delay line encoder reading of the number of delays in one cycle. 1h = Bypass mode Initiator DLL is disabled with only 1 delay element in its delay line. The Target delay lines decode delays in absolute delay elements rather than as fractional delays.
#define | OSPI_FLASH_CFG_PHY_MASTER_CONTROL_REG_PHY_MASTER_MODE (0U)
#define | OSPI_FLASH_CFG_PHY_MASTER_CONTROL_REG_PHY_BYPASS_MODE (1U)
OSPI PHY DLL Lock
Determines if the Initiator delay line locks on a full cycle or half cycle of delay. This bit need not be written by software. Force DLL lock mode with this setting.
#define | OSPI_PHY_DLL_FULL_CYCLE_LOCK ((uint16_t) 0U)
#define | OSPI_PHY_DLL_HALF_CYCLE_LOCK ((uint16_t) 1U)
OSPI Flash Attack Vector
Indicates the size of the Attack Vector Array
#define | OSPI_FLASH_ATTACK_VECTOR_SIZE (128U)

## Typedefs
typedef uint32_t(* | OSPI_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(* | OSPI_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(* | OSPI_Clock_usec) (uint32_t usecs)
| Sleep for user specified usecs. More...
typedef void(* | OSPI_lld_InterruptCallback) (void *args)
| The definition of a interrupt completion callback function used by the QSPI driver. More...
typedef void(* | OSPI_lld_dma_readCompleteCallback) (void *args)
| The definition of a dma read completion callback function used by the QSPI driver. More...
typedef struct OSPILLD_InitObject * | OSPILLD_InitHandle
typedef struct OSPILLD_Object * | OSPILLD_Handle

## Functions
int32_t | OSPI_lld_init (OSPILLD_Handle hOspi)
| This function opens a given OSPI peripheral. More...
int32_t | OSPI_lld_initDma (OSPILLD_Handle hOspi)
| This function opens a given OSPI peripheral in DMA mode. More...
int32_t | OSPI_lld_deInit (OSPILLD_Handle hOspi)
| Function to close a OSPI peripheral specified by the OSPI handle. More...
int32_t | OSPI_lld_deInitDma (OSPILLD_Handle hOspi)
| Function to close a OSPI peripheral specified by the OSPI handle in DMA mode. More...
int32_t | OSPI_lld_readCmd (OSPILLD_Handle handle, OSPI_ReadCmdParams *rdParams)
| Function to send specific commands and receive related data from flash. More...
int32_t | OSPI_lld_writeCmd (OSPILLD_Handle handle, OSPI_WriteCmdParams *wrParams)
| Function to send specific commands and related data to flash. More...
void | OSPI_lld_isr (void *args)
| QSPI ISR for Read and Write Functionality. More...
void | OSPI_lld_readCompleteCallback (void *args)
| QSPI Read complete callback for DMA mode. More...
void | OSPI_lld_Transaction_init (OSPI_Transaction *trans)
| Function to initialize the OSPI_Transaction structure. More...
void | OSPI_lld_readCmdParams_init (OSPI_ReadCmdParams *rdParams)
| Function to initialize the OSPI_ReadCmdParams structure. More...
void | OSPI_lld_writeCmdParams_init (OSPI_WriteCmdParams *wrParams)
| Function to initialize the OSPI_WriteCmdParams structure. More...
uint32_t | OSPI_lld_getInputClk (OSPILLD_Handle handle)
| This function returns the input clk frequency OSPI was programmed at. More...
uint32_t | OSPI_lld_isDacEnable (OSPILLD_Handle handle)
| This function checks if the Direct Access Controller is enabled. More...
uint32_t | OSPI_lld_isDmaEnable (OSPILLD_Handle handle)
| This function checks if DMA is enabled for reads. More...
uint32_t | OSPI_lld_isIntrEnable (OSPILLD_Handle handle)
| This function checks if interrupts are enabled. More...
uint32_t | OSPI_lld_isPhyEnable (OSPILLD_Handle handle)
| This function checks if the OSPI PHY controller is enabled. More...
int32_t | OSPI_lld_enableDDR (OSPILLD_Handle handle)
| This function enables the Dual Data Rate (DDR) More...
int32_t | OSPI_lld_enableSDR (OSPILLD_Handle handle)
| This function enables the Single Data Rate (SDR) More...
int32_t | OSPI_lld_enableDdrRdCmds (OSPILLD_Handle handle)
| This function sets DDR bit in INSTR_RD register for RD commands. More...
int32_t | OSPI_lld_setRdDataCaptureDelay (OSPILLD_Handle handle, uint32_t rdDataCapDelay)
| This function sets read data capture cycles in the OSPI controller. More...
void | OSPI_lld_setNumAddrBytes (OSPILLD_Handle handle, uint32_t numAddrBytes)
| This function set the number of bytes used to send address while reading or writing to flash memory. More...
void | OSPI_lld_setDeviceSize (OSPILLD_Handle handle, uint32_t pageSize, uint32_t blkSize)
| This function sets the block size and page size of the flash to the device size register in OSPI. More...
void | OSPI_lld_setCmdDummyCycles (OSPILLD_Handle handle, uint32_t cmdDummyCycles)
| This function sets appropriate dummy cycles to be used while sending STIG commands to flash. More...
void | OSPI_lld_setReadDummyCycles (OSPILLD_Handle handle, uint32_t dummyCycles)
| This function sets appropriate dummy cycles for flash read. More...
void | OSPI_lld_setWriteDummyCycles (OSPILLD_Handle handle, uint32_t dummyCycles)
| This function sets appropriate dummy cycles for flash write. More...
void | OSPI_lld_setPhyEnableSuccess (OSPILLD_Handle handle, uint32_t success)
| This function sets the phyEnableSuccess field in OSPILLD_Object. Has to be called from flash driver. More...
void | OSPI_lld_setModeBits (OSPILLD_Handle handle, uint32_t modeBits)
| This function sets mode bits in the mode bit field of OSPI config register. More...
void | OSPI_lld_enableModeBitsCmd (OSPILLD_Handle handle)
| This function enables mode bits transmission while sending CMDs. More...
void | OSPI_lld_enableModeBitsRead (OSPILLD_Handle handle)
| This function enables mode bits transmission while reading. More...
uint32_t | OSPI_lld_getPhyEnableSuccess (OSPILLD_Handle handle)
| This function fetches the phyEnableSuccess field in OSPILLD_Object. More...
uint32_t | OSPI_lld_getProtocol (OSPILLD_Handle handle)
| This function returns the current protocol for which the transfer lines in OSPI driver is configured for. More...
void | OSPI_lld_setProtocol (OSPILLD_Handle handle, uint32_t protocol)
| This function sets the number of transfer lines in the OSPI driver to set the requested protocol. More...
void | OSPI_lld_setDualOpCodeMode (OSPILLD_Handle handle)
| This function sets OSPI controller to use dual byte opcodes. More...
void | OSPI_lld_clearDualOpCodeMode (OSPILLD_Handle handle)
| This function sets OSPI controller to not use dual byte opcodes. More...
void | OSPI_lld_setXferOpCodes (OSPILLD_Handle handle, uint8_t readCmd, uint8_t pageProgCmd)
| This function sets the opcodes for reading and page programming the flash. More...
void | OSPI_lld_setCmdExtType (OSPILLD_Handle handle, uint32_t cmdExtType)
| This function sets the type of command extension used in dual byte opcode mode. More...
int32_t | OSPI_lld_enableDacMode (OSPILLD_Handle handle)
| This function enables the Direct Access Mode. More...
int32_t | OSPI_lld_disableDacMode (OSPILLD_Handle handle)
| This function disables the Direct Access Mode. More...
uint32_t | OSPI_lld_getFlashDataBaseAddr (OSPILLD_Handle handle)
| This function gets the SOC mapped data base address of the flash. More...
int32_t | OSPI_lld_phyTuneDDR (OSPILLD_Handle handle, uint32_t flashOffset)
| This function tunes the OSPI PHY for DDR mode to set optimal PHY parameters. More...
int32_t | OSPI_lld_phyTuneSDR (OSPILLD_Handle handle, uint32_t flashOffset)
| This function tunes the OSPI PHY for SDR mode to set optimal PHY parameters. More...
int32_t | OSPI_lld_phyTuneGrapher (OSPILLD_Handle handle, uint32_t flashOffset, uint8_t arrays[5][128][128])
| This function takes a 4x128x128 array and fills it with TX RX DLL data for graphing purpose. More...
void | OSPI_lld_phyGetTuningData (uint32_t *tuningData, uint32_t *tuningDataSize)
| This function returns the address to the attack vector buf required for tuning the PHY. More...
int32_t | OSPI_lld_phyReadAttackVector (OSPILLD_Handle handle, uint32_t offset)
| This function checks if the attack vector, or the data used for tuning the PHY is present at an offset in the flash. More...
int32_t | OSPI_lld_enablePhy (OSPILLD_Handle handle)
| This function enables the PHY. More...
int32_t | OSPI_lld_disablePhy (OSPILLD_Handle handle)
| This function disables the PHY. More...
int32_t | OSPI_lld_enablePhyPipeline (OSPILLD_Handle handle)
| This function enables the PHY Pipeline. More...
int32_t | OSPI_lld_disablePhyPipeline (OSPILLD_Handle handle)
| This function disables the PHY Pipeline. More...
int32_t | OSPI_lld_norFlashInit1s1s1s (OSPILLD_Handle handle)
| This function initializes the NOR flash to work in 1-1-1 mode. More...
void | OSPI_lld_norFlashSetCmds (uint8_t rdCmd, uint8_t wrCmd, uint8_t eraseCmd)
| This function sets up internal bookkeeping variables for read, write and erase commands. This API has to be called immediately before OSPI_lld_norFlashInit1s1s1s. More...
int32_t | OSPI_lld_norFlashReadId (OSPILLD_Handle handle, uint32_t *manufacturerId, uint32_t *deviceId)
| This function tries to read the JEDEC ID from the NOR flash connected to the OSPI peripheral. More...
int32_t | OSPI_lld_norFlashWrite (OSPILLD_Handle handle, uint32_t offset, uint8_t *buf, uint32_t len)
| This function writes data to the flash at a specified offset. More...
int32_t | OSPI_lld_norFlashRead (OSPILLD_Handle handle, uint32_t offset, uint8_t *buf, uint32_t len)
| This function reads data from the flash from a specified offset in DAC mode. More...
int32_t | OSPI_lld_norFlashReadIndirect (OSPILLD_Handle handle, uint32_t offset, uint8_t *buf, uint32_t len)
| This function reads data from the flash from a specified offset in INDAC mode. More...
int32_t | OSPI_lld_norFlashReadSfdp (OSPILLD_Handle handle, uint32_t offset, uint8_t *buf, uint32_t len)
| This function reads SFDP table from the flash from a specified offset. More...
int32_t | OSPI_lld_norFlashErase (OSPILLD_Handle handle, uint32_t address)
| This function erases 1 block of data starting from a provided address. More...
int32_t | OSPI_lld_configResetPin (OSPILLD_Handle handle, uint32_t config)
| This function configures reset functionality. More...
int32_t | OSPI_lld_configBaudrate (OSPILLD_Handle handle, uint32_t baud)
| Configures baud divider. More...
int32_t | OSPI_lld_readBaudRateDivFromReg (OSPILLD_Handle handle, uint32_t *baudDiv)
| Return value of baudrate that is programmed in IP register. More...
int32_t | OSPI_lld_getBaudRateDivFromObj (OSPILLD_Handle handle, uint32_t *baudDiv)
| Return value of baudrate that is saved in OSPI Object. More...
int32_t | OSPI_lld_setResetPinStatus (OSPILLD_Handle hOspi, uint32_t pinStatus)
| This function activates the RESET pin feature. More...
int32_t | OSPI_dmaOpen (OSPILLD_Handle hOspi)
| API to open an OSPI DMA channel. More...
int32_t | OSPI_dmaClose (OSPILLD_Handle handle)
| API to close an OSPI DMA channel. More...
int32_t | OSPI_dmaCopy (OSPILLD_Handle handle, void *dst, void *src, uint32_t length, uint32_t timeout)
| API to do a DMA Copy using appropriate DMA Channel opened. More...
int32_t | OSPI_isDmaInterruptEnabled (OSPILLD_Handle handle)
| API to get the DMA Interrupt status. More...
int32_t | OSPI_lld_phyValidateTuningPoint (OSPILLD_Handle hOspi, uint32_t flashOffset)
| Validates a tuning point for the OSPI physical interface. More...
uint32_t | OSPI_lld_isValidateOtpEnable (OSPILLD_Handle hOspi)
| Checks if OTP validation is enabled for the OSPI controller. More...
int32_t | OSPI_lld_setFrequency (OSPILLD_Handle hOspi, uint64_t inputClkFreq)
| Sets the operating frequency for the OSPI peripheral. More...
int32_t | OSPI_lld_setDelays (OSPILLD_Handle hOspi, uint32_t inputClkFreq)
| Sets timing delays for the OSPI interface based on input clock frequency. More...
int32_t | OSPI_lld_setBaudRateDiv (OSPILLD_Handle hOspi, uint32_t baudRateDiv)
| Sets the baud rate divider for OSPI communication. More...
int32_t | OSPI_lld_disableDdrRdCmds (OSPILLD_Handle hOspi)
| This function resets DDR bit in INSTR_RD register for RD commands. More...
int32_t | OSPI_lld_set1sProtocol (OSPILLD_Handle hOspi)
| Resets the OSPI controller to operate in 1S-1S-1S mode. More...
Different OSPI Transfer functions
int32_t | OSPI_lld_readDirect (OSPILLD_Handle handle, OSPI_Transaction *trans)
| Function to perform direct reads from the flash using DAC controller. More...
int32_t | OSPI_lld_readDirectDma (OSPILLD_Handle handle, OSPI_Transaction *trans)
| Function to perform direct reads from the flash using DAC controller in DMA mode. More...
int32_t | OSPI_lld_readIndirect (OSPILLD_Handle handle, OSPI_Transaction *trans)
| Function to perform indirect reads from the flash using INDAC controller. More...
int32_t | OSPI_lld_writeDirect (OSPILLD_Handle handle, OSPI_Transaction *trans)
| Function to perform direct writes to the flash using DAC controller. More...
int32_t | OSPI_lld_writeIndirect (OSPILLD_Handle handle, OSPI_Transaction *trans)
| Function to perform indirect writes to the flash using INDAC controller. More...

## Macro Definition Documentation

## ◆ OSPI_STATE_RESET

#define OSPI_STATE_RESET ((uint32_t) 0U)

OSPI driver is in Reset State prior to driver init and post driver deinit.

## ◆ OSPI_STATE_IDLE

#define OSPI_STATE_IDLE ((uint32_t) 1U)

OSPI driver accepts runtime APIs only Ready State, otherwise return error.

## ◆ OSPI_STATE_BUSY

#define OSPI_STATE_BUSY ((uint32_t) 2U)

OSPI driver is busy performing operation with peripherals, return error when APIs are invoked.

## ◆ OSPI_STATE_ERROR

#define OSPI_STATE_ERROR ((uint32_t) 3U)

OSPI driver ran into error, returns error for all APIs other than deinit in this state.

## ◆ OSPI_SYSTEM_SUCCESS

#define OSPI_SYSTEM_SUCCESS ((int32_t )0)

Return status when the API execution was successful.

## ◆ OSPI_SYSTEM_FAILURE

#define OSPI_SYSTEM_FAILURE ((int32_t)-1)

Return status when the API execution was not successful due to a failure.

## ◆ OSPI_TIMEOUT

#define OSPI_TIMEOUT ((int32_t)-2)

Return status when the API execution was not successful due to a time out.

## ◆ OSPI_LLD_INVALID_PARAM

#define OSPI_LLD_INVALID_PARAM ((int32_t)-3)

Return status when the API execution failed due invalid parameters.

## ◆ OSPI_BUSY

#define OSPI_BUSY ((int32_t)-4)

Return status when the API execution failed due to driver busy.

## ◆ OSPI_INVALID_STATE

#define OSPI_INVALID_STATE ((int32_t)-5)

Return status when the API execution failed due to invalid LLD state.

## ◆ OSPI_NO_WAIT

#define OSPI_NO_WAIT ((uint32_t)0)

Value to use when needing a timeout of zero or NO timeout, return immediately on resource not available.

## ◆ OSPI_WAIT_FOREVER

#define OSPI_WAIT_FOREVER ((uint32_t)-1)

Value to use when needing a timeout of infinity or wait forver until resource is available.

## ◆ OSPI_TRANS_IDLE

#define OSPI_TRANS_IDLE ((uint32_t)0)

Indicates that the transaction is IDLE.

## ◆ OSPI_TRANS_READ

#define OSPI_TRANS_READ ((uint32_t)1)

Indicates the Read transaction.

## ◆ OSPI_TRANS_WRITE

#define OSPI_TRANS_WRITE ((uint32_t)2)

Indicates the Write transaction.

## ◆ OSPI_FLASH_CFG_PHY_MASTER_CONTROL_REG_PHY_MASTER_MODE

#define OSPI_FLASH_CFG_PHY_MASTER_CONTROL_REG_PHY_MASTER_MODE (0U)

## ◆ OSPI_FLASH_CFG_PHY_MASTER_CONTROL_REG_PHY_BYPASS_MODE

#define OSPI_FLASH_CFG_PHY_MASTER_CONTROL_REG_PHY_BYPASS_MODE (1U)

## ◆ OSPI_PHY_DLL_FULL_CYCLE_LOCK

#define OSPI_PHY_DLL_FULL_CYCLE_LOCK ((uint16_t) 0U)

## ◆ OSPI_PHY_DLL_HALF_CYCLE_LOCK

#define OSPI_PHY_DLL_HALF_CYCLE_LOCK ((uint16_t) 1U)

## ◆ OSPI_FLASH_ATTACK_VECTOR_SIZE

#define OSPI_FLASH_ATTACK_VECTOR_SIZE (128U)

## Typedef Documentation

## ◆ OSPI_Clock_getTicks

typedef uint32_t(* OSPI_Clock_getTicks) (void)

The definition of a get System Tick function used by the QSPI driver to keep track of time.

Returns
  Returns system ticks in 32-bit unsigned int format

## ◆ OSPI_Clock_usecToTicks

typedef uint32_t(* OSPI_Clock_usecToTicks) (uint64_t usecs)

The definition of a micro seconds to ticks function used by the QSPI driver to get ticks from microseconds.

Parameters

  usecs | Micro Seconds

Returns
  Returns system ticks in 32-bit unsigned int format

## ◆ OSPI_Clock_usec

typedef void(* OSPI_Clock_usec) (uint32_t usecs)

Sleep for user specified usecs.

Parameters

  usecs | Micro Seconds

## ◆ OSPI_lld_InterruptCallback

typedef void(* OSPI_lld_InterruptCallback) (void *args)

The definition of a interrupt completion callback function used by the QSPI driver.

Parameters

  args | Void Pointer

## ◆ OSPI_lld_dma_readCompleteCallback

typedef void(* OSPI_lld_dma_readCompleteCallback) (void *args)

The definition of a dma read completion callback function used by the QSPI driver.

Parameters

  args | Void Pointer

## ◆ OSPILLD_InitHandle

typedef struct OSPILLD_InitObject * OSPILLD_InitHandle

## ◆ OSPILLD_Handle

typedef struct OSPILLD_Object * OSPILLD_Handle

## Function Documentation

## ◆ OSPI_lld_init()

int32_t OSPI_lld_init | ( | OSPILLD_Handle | hOspi | ) |

This function opens a given OSPI peripheral.

Precondition
  OSPI controller has been initialized using OSPI_init()

Parameters

  hOspi | OSPI Handle

Returns
  A OSPILLD_Handle on success or a NULL on an error or if it has been opened already

See also
  OSPI_init()
  OSPI_close()

## ◆ OSPI_lld_initDma()

int32_t OSPI_lld_initDma | ( | OSPILLD_Handle | hOspi | ) |

This function opens a given OSPI peripheral in DMA mode.

Precondition
  OSPI controller has been initialized using OSPI_init()

Parameters

  hOspi | OSPI Handle

Returns
  A OSPILLD_Handle on success or a NULL on an error or if it has been opened already

See also
  OSPI_init()
  OSPI_close()

## ◆ OSPI_lld_deInit()

int32_t OSPI_lld_deInit | ( | OSPILLD_Handle | hOspi | ) |

Function to close a OSPI peripheral specified by the OSPI handle.

Precondition
  OSPI_open() has to be called first

Parameters

  hOspi | OSPILLD_Handle returned from OSPI_open()

See also
  OSPI_open()

## ◆ OSPI_lld_deInitDma()

int32_t OSPI_lld_deInitDma | ( | OSPILLD_Handle | hOspi | ) |

Function to close a OSPI peripheral specified by the OSPI handle in DMA mode.

Precondition
  OSPI_open() has to be called first

Parameters

  hOspi | OSPILLD_Handle returned from OSPI_open()

See also
  OSPI_open()

## ◆ OSPI_lld_writeCmdParams_init()

void OSPI_lld_writeCmdParams_init | ( | OSPI_WriteCmdParams * | wrParams | ) |

Function to initialize the OSPI_WriteCmdParams structure.

Parameters

  wrParams | Pointer to a OSPI_WriteCmdParams