| ospipsv Vitis Drivers API Documentation

- Overview
- Data Structures
- APIs
- File List
- Examples

Data Structures | Macros | Typedefs | Functions | Variables
xospipsv.h File Reference

## Data Structures
struct | XOspiPsv_Msg
| This typedef contains configuration information for a flash message. More...
struct | XOspiPsv_Config
| This typedef contains configuration information for the device. More...
struct | XOspiPsv
| The XOspiPsv driver instance data. More...

## Macros
#define | XOSPIPSV_H_
| < prevent circular inclusions More...
#define | XOSPIPSV_RXADDR_OVER_32BIT 0x100000000U
| < Macro used for more than 32-bit address More...
#define | XOSPIPSV_TAP_GRAN_SEL_MIN_FREQ 120000000U
| Minimum frequency for Tap grain selection. More...
Configuration options
#define | XOSPIPSV_DAC_EN_OPTION 0x1U
| User configuration options. More...
#define | XOSPIPSV_IDAC_EN_OPTION 0x2U
#define | XOSPIPSV_STIG_EN_OPTION 0x4U
#define | XOSPIPSV_CLK_POL_OPTION 0x8U
#define | XOSPIPSV_CLK_PHASE_OPTION 0x10U
#define | XOSPIPSV_PHY_EN_OPTION 0x20U
#define | XOSPIPSV_LEGIP_EN_OPTION 0x40U
#define | XOSPIPSV_DTR_EN_OPTION 0x80U
#define | XOSPIPSV_CRC_EN_OPTION 0x100U
#define | XOSPIPSV_DB_OP_EN_OPTION 0x200U
Low-level memory read/write
#define | XOspiPsv_ReadReg(BaseAddress, RegOffset) Xil_In32((BaseAddress) + (u32)(RegOffset))
| Low level macros to read/write memory. More...
#define | XOspiPsv_WriteReg(BaseAddress, RegOffset, RegisterValue) Xil_Out32((BaseAddress) + (u32)(RegOffset), (u32)(RegisterValue))
Modes of operation selection
#define | XOSPIPSV_IDAC_MODE 0x0U
| Macros to select INDAC and DAC modes. More...
#define | XOSPIPSV_DAC_MODE 0x1U
Transfer type selection
#define | XOSPIPSV_MSG_FLAG_RX 0x2U
| Macros to select RX and TX transfer flags. More...
#define | XOSPIPSV_MSG_FLAG_TX 0x4U
Prototype(Bus width: Cmd_Addr_Data) selection
#define | XOSPIPSV_READ_1_1_1 0U
| Macros to select Read and Write prototype. More...
#define | XOSPIPSV_READ_1_0_1 1U
#define | XOSPIPSV_READ_1_1_2 2U
#define | XOSPIPSV_READ_1_1_8 3U
#define | XOSPIPSV_READ_1_8_8 4U
#define | XOSPIPSV_READ_8_8_8 5U
#define | XOSPIPSV_READ_8_0_0 6U
#define | XOSPIPSV_READ_8_8_0 7U
#define | XOSPIPSV_READ_8_0_8 8U
#define | XOSPIPSV_READ_1_1_4 9U
#define | XOSPIPSV_READ_4_4_4 10U
#define | XOSPIPSV_WRITE_1_1_1 0U
#define | XOSPIPSV_WRITE_1_0_1 1U
#define | XOSPIPSV_WRITE_1_1_2 2U
#define | XOSPIPSV_WRITE_1_1_8 3U
#define | XOSPIPSV_WRITE_1_8_8 4U
#define | XOSPIPSV_WRITE_8_8_8 5U
#define | XOSPIPSV_WRITE_8_0_0 6U
#define | XOSPIPSV_WRITE_8_8_0 7U
#define | XOSPIPSV_WRITE_8_0_8 8U
#define | XOSPIPSV_WRITE_1_1_4 9U
#define | XOSPIPSV_WRITE_4_4_4 10U
Chip Select selection
#define | XOSPIPSV_SELECT_FLASH_CS0 0
| Macros to select CS0 and CS1. More...
#define | XOSPIPSV_SELECT_FLASH_CS1 1
Prescaler selection
#define | XOSPIPSV_CLK_PRESCALE_2 0U
| Macros to select different baud rate divisors. More...
#define | XOSPIPSV_CLK_PRESCALE_4 1U
#define | XOSPIPSV_CLK_PRESCALE_6 2U
#define | XOSPIPSV_CLK_PRESCALE_8 3U
#define | XOSPIPSV_CLK_PRESCALE_10 4U
#define | XOSPIPSV_CLK_PRESCALE_12 5U
#define | XOSPIPSV_CLK_PRESCALE_14 6U
#define | XOSPIPSV_CLK_PRESCALE_16 7U
#define | XOSPIPSV_CLK_PRESCALE_18 8U
#define | XOSPIPSV_CLK_PRESCALE_20 9U
#define | XOSPIPSV_CLK_PRESCALE_22 10U
#define | XOSPIPSV_CLK_PRESCALE_24 11U
#define | XOSPIPSV_CLK_PRESCALE_26 12U
#define | XOSPIPSV_CLK_PRESCALE_28 13U
#define | XOSPIPSV_CLK_PRESCALE_30 14U
#define | XOSPIPSV_CLK_PRESCALE_32 15U
#define | XOSPIPSV_CR_PRESC_MAXIMUM 15U
Default configuration selection
#define | XOSPIPSV_NO_SLAVE_SELCT_VALUE 0xFU
| Macros to select default OSPI configuration. More...
#define | XOSPIPSV_DISABLE_DAC_VALUE 0x0U
#define | XOSPIPSV_SPI_DISABLE_VALUE 0x0U
#define | XOSPIPSV_CONFIG_INIT_VALUE
#define | XOSPIPSV_POLL_CNT_FLD_PHY 0x3U
#define | XOSPIPSV_POLL_CNT_FLD_NON_PHY 0x1U
#define | XOSPIPSV_MIN_PHY_FREQ 50000000
#define | XOSPIPSV_DDR_STATS_REG_DUMMY 0x8U
#define | XOSPIPSV_REMAP_ADDR_VAL 0x40000000U
#define | XOSPIPSV_NON_PHY_RD_DLY 0x1U
Edge mode selection
#define | XOSPIPSV_EDGE_MODE_SDR_PHY 0x0U
| Macros to select different edge modes like SDR+NON-PHY, SDR+PHY and DDR+PHY. More...
#define | XOSPIPSV_EDGE_MODE_SDR_NON_PHY 0x1U
#define | XOSPIPSV_EDGE_MODE_DDR_PHY 0x2U
DLL delay selection
#define | XOSPIPSV_SDR_TX_VAL 0x5U
| Macros to select TX DLL delays. More...
#define | XOSPIPSV_DDR_TX_VAL 0x0U
#define | XOSPIPSV_DDR_TX_VAL_MASTER 0x1EU
#define | XOSPIPSV_SDR_TX_VAL_MASTER 0x3CU
#define | XOSPIPSV_DLL_MAX_TAPS 0x7FU
OSPI Device reset selection
#define | XOSPIPSV_HWPIN_RESET 0x0U
| Macros to select HWPIN and INBAND resets. More...
#define | XOSPIPSV_INBAND_RESET 0x1U
DLL mode selection
#define | XOSPIPSV_DLL_BYPASS_MODE 0x0U
| Macros to select DLL BYPASS and MASTER modes. More...
#define | XOSPIPSV_DLL_MASTER_MODE 0x1U
Connection mode selection
#define | XOSPIPSV_CONNECTION_MODE_SINGLE 0x0U
| Macros to select SINGLE and STACKED connection modes. More...
#define | XOSPIPSV_CONNECTION_MODE_STACKED 0x1U
Dual Byte opcode selection
#define | XOSPIPSV_DUAL_BYTE_OP_DISABLE 0x0U
| Macros to enable/disable Dual Byte opcode. More...
#define | XOSPIPSV_DUAL_BYTE_OP_ENABLE 0x1U
#define | XOSPIPSV_DUAL_BYTE_OP_SAME 0x2U

## Typedefs
typedef void(* | XOspiPsv_StatusHandler )(void *CallBackRef, u32 StatusEvent)
| The handler data type allows the user to define a callback function to handle the asynchronous processing for the OSPIPSV device. More...

## Functions
XOspiPsv_Config * | XOspiPsv_LookupConfig (u16 DeviceId)
| Looks up the device configuration based on the unique device ID. More...
u32 | XOspiPsv_CfgInitialize (XOspiPsv *InstancePtr, const XOspiPsv_Config *ConfigPtr)
| Initializes a specific XOspiPsv instance so that the driver is ready to use. More...
void | XOspiPsv_Reset (XOspiPsv *InstancePtr)
| Resets the configuration register. More...
u32 | XOspiPsv_SetClkPrescaler (XOspiPsv *InstancePtr, u8 Prescaler)
| Configures the clock according to the prescaler passed. More...
u32 | XOspiPsv_SelectFlash (XOspiPsv *InstancePtr, u8 chip_select)
| Used to signify the OSPIPSV driver that the Hardware flash configuration being used. More...
u32 | XOspiPsv_SetOptions (XOspiPsv *InstancePtr, u32 Options)
| Sets the options for the OSPIPSV device driver.The options control how the device behaves relative to the OSPIPSV bus. More...
u32 | XOspiPsv_GetOptions (const XOspiPsv *InstancePtr)
| Gets the options for the OSPIPSV device. More...
u32 | XOspiPsv_PollTransfer (XOspiPsv *InstancePtr, XOspiPsv_Msg *Msg)
| Performs a transfer on the bus in polled mode. More...
u32 | XOspiPsv_IntrTransfer (XOspiPsv *InstancePtr, XOspiPsv_Msg *Msg)
| Performs a transfer on the bus in interrupt mode. More...
u32 | XOspiPsv_IntrHandler (XOspiPsv *InstancePtr)
| Handles interrupt based transfers. More...
void | XOspiPsv_SetStatusHandler (XOspiPsv *InstancePtr, void *CallBackRef, XOspiPsv_StatusHandler FuncPointer)
| Sets the status callback function, the status handler, which the driver calls when it encounters conditions that should be reported to upper layer software. More...
u32 | XOspiPsv_SetSdrDdrMode (XOspiPsv *InstancePtr, u32 Mode)
| Configures the edge mode (SDR or DDR). More...
void | XOspiPsv_ConfigureAutoPolling (const XOspiPsv *InstancePtr, u32 FlashMode)
| Configures how the controller will poll the device following a write transfer in DAC mode. More...
void | XOspiPsv_Idle (const XOspiPsv *InstancePtr)
| Stops the transfer of data to internal DST FIFO from stream interface and also stops the issuing of new write commands to memory. More...
u32 | XOspiPsv_DeviceReset (u8 Type)
| Reset the OSPI flash device. More...
u32 | XOspiPsv_DeviceResetViaOspi (const XOspiPsv *InstancePtr, u8 Type)
| Resets the OSPI flash device via OSPI controller. More...
u32 | XOspiPsv_StartDmaTransfer (XOspiPsv *InstancePtr, XOspiPsv_Msg *Msg)
| Starts a DMA transfer. More...
u32 | XOspiPsv_CheckDmaDone (XOspiPsv *InstancePtr)
| Checks for DMA transfer complete. More...
u32 | XOspiPsv_SetDllDelay (XOspiPsv *InstancePtr)
| Configures TX and RX DLL Delay. More...
u32 | XOspiPsv_ConfigDualByteOpcode (XOspiPsv *InstancePtr, u8 Enable)
| Configures the dual-byte opcode mode. More...

## Variables
XOspiPsv_Config | XOspiPsv_ConfigTable []
| The configuration table for devices. More...