AM263Px MCU+ SDK  10.01.00

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, data, addr, 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_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 void * OSPI_DmaHandle
 The handle for DMA instance used with OSPI. More...
 
typedef void * OSPI_DmaChConfig
 A handle that holds DMA configuration parameters for OSPI. More...
 
typedef void * OSPI_DrvHandle
 
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_InitObjectOSPILLD_InitHandle
 
typedef struct OSPILLD_ObjectOSPILLD_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_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[4][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...
 
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
usecsMicro 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
usecsMicro 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
argsVoid 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
argsVoid Pointer

◆ 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
hOspiOSPI 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
hOspiOSPI 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
hOspiOSPILLD_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
hOspiOSPILLD_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
wrParamsPointer to a OSPI_WriteCmdParams