| ospipsv Vitis Drivers API Documentation

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

- Data Structures
- Data Fields

Public Member Functions | Data Fields
XOspiPsv Struct Reference
OSPIPSV APIs

The XOspiPsv driver instance data. More...

## Public Member Functions
u8 UnalignReadBuffer[4] | __attribute__ ((aligned(64)))
| Read Buffer. More...

## Data Fields
XOspiPsv_Config | Config
| Configuration structure. More...
u32 | IsReady
| Device is initialized and ready. More...
u8 * | SendBufferPtr
| Buffer to send (state) More...
u8 * | RecvBufferPtr
| Buffer to receive (state) More...
u32 | TxBytes
| Number of bytes to transfer (state) More...
u32 | RxBytes
| Number of bytes left to transfer(state) More...
u32 | IsBusy
| A transfer is in progress (state) More...
u32 | OpMode
| Operating Mode DAC or INDAC. More...
u32 | SdrDdrMode
| Edge mode can be SDR or DDR. More...
u8 | ChipSelect
| Chip select information. More...
XOspiPsv_Msg * | Msg
| Pointer to the Flash Message structure. More...
XOspiPsv_StatusHandler | StatusHandler
| Status/Callback handler. More...
void * | StatusRef
| Callback reference for status handler. More...
u8 | IsUnaligned
| Flag used to indicate bytecnt is aligned or not. More...
u32 | DeviceIdData
| Contains Device Id Data information. More...
u8 | Extra_DummyCycle
| Contains extra dummy cycle data. More...
u8 | DllMode
| DLL mode. More...
u8 | DualByteOpcodeEn
| Flag to indicate Dual Byte Opcode 0 - DualByte opcode is disabled 1 - DualByte opcode is enabled with inverted opcode 2 - DualByte opcode is enabled with same opcode. More...

## Detailed Description

The XOspiPsv driver instance data.

The user is required to allocate a variable of this type for every OSPIPSV device in the system. A pointer to a variable of this type is then passed to the driver API functions.

## Member Function Documentation

u8 UnalignReadBuffer [4] XOspiPsv::__attribute__ | ( | (aligned(64)) |  | ) |

Read Buffer.

## Field Documentation

u8 XOspiPsv::ChipSelect

Chip select information.

Referenced by XOspiPsv_SelectFlash().

XOspiPsv_Config XOspiPsv::Config

Configuration structure.

Referenced by FlashErase(), FlashRead(), FlashSetSDRDDRMode(), GetRealAddr(), OspiPsvFlashNonBlockingReadExample(), OspiPsvInterruptFlashExample(), OspiPsvPolledFlashExample(), XOspiPsv_CalculateRxTap(), XOspiPsv_CfgInitialize(), XOspiPsv_CheckDmaDone(), XOspiPsv_CheckOspiIdle(), XOspiPsv_Config_Dma(), XOspiPsv_Config_IndirectAhb(), XOspiPsv_ConfigDualByteOpcode(), XOspiPsv_ConfigureAutoPolling(), XOspiPsv_ConfigureTaps(), XOspiPsv_DeviceResetViaOspi(), XOspiPsv_Dma_Read(), XOspiPsv_Exec_Dma(), XOspiPsv_Exec_Flash_Cmd(), XOspiPsv_ExecuteRxTuning(), XOspiPsv_FifoRead(), XOspiPsv_FifoWrite(), XOspiPsv_GetOptions(), XOspiPsv_IDac_Write(), XOspiPsv_Idle(), XOspiPsv_IntrHandler(), XOspiPsv_IntrTransfer(), XOspiPsv_PollTransfer(), XOspiPsv_Reset(), XOspiPsv_SetClkPrescaler(), XOspiPsv_SetDllDelay(), XOspiPsv_SetOptions(), XOspiPsv_SetSdrDdrMode(), XOspiPsv_Setup_Dev_Read_Instr_Reg(), XOspiPsv_Setup_Dev_Write_Instr_Reg(), XOspiPsv_Setup_Devsize(), XOspiPsv_Setup_Stig_Ctrl(), XOspiPsv_Start_Indr_RdTransfer(), XOspiPsv_StartDmaTransfer(), XOspiPsv_Stig_Read(), XOspiPsv_Stig_Write(), and XOspiPsv_WaitForLock().

u32 XOspiPsv::DeviceIdData

Contains Device Id Data information.

Referenced by FlashReadID(), FlashSetSDRDDRMode(), XOspiPsv_CalculateRxTap(), and XOspiPsv_CfgInitialize().

u8 XOspiPsv::DllMode

DLL mode.

Referenced by XOspiPsv_CalculateRxTap(), XOspiPsv_CfgInitialize(), XOspiPsv_ConfigureTaps(), XOspiPsv_ExecuteRxTuning(), and XOspiPsv_SetDllDelay().

u8 XOspiPsv::DualByteOpcodeEn

Flag to indicate Dual Byte Opcode 0 - DualByte opcode is disabled 1 - DualByte opcode is enabled with inverted opcode 2 - DualByte opcode is enabled with same opcode.

Buffer used to read the unaligned bytes in DMA

Referenced by BulkErase(), DieErase(), FlashEnterExit4BAddMode(), FlashErase(), FlashIoWrite(), FlashLinearWrite(), FlashRead(), FlashReadID(), FlashSetSDRDDRMode(), MxConfigDummy(), SetBlockProtect(), SpansionSetEccMode(), XOspiPsv_CfgInitialize(), XOspiPsv_ConfigDualByteOpcode(), XOspiPsv_SetDllDelay(), XOspiPsv_Setup_Dev_Read_Instr_Reg(), XOspiPsv_Setup_Dev_Write_Instr_Reg(), XOspiPsv_Stig_Read(), and XOspiPsv_Stig_Write().

u8 XOspiPsv::Extra_DummyCycle

Contains extra dummy cycle data.

Referenced by BulkErase(), DieErase(), FlashEnterExit4BAddMode(), FlashErase(), FlashIoWrite(), FlashRead(), FlashReadID(), FlashSetSDRDDRMode(), MxConfigDummy(), SetBlockProtect(), SpansionSetEccMode(), XOspiPsv_CalculateRxTap(), XOspiPsv_CfgInitialize(), XOspiPsv_ConfigureAutoPolling(), and XOspiPsv_SetDllDelay().

u32 XOspiPsv::IsBusy

A transfer is in progress (state)

Referenced by XOspiPsv_CfgInitialize(), XOspiPsv_CheckDmaDone(), XOspiPsv_IntrHandler(), XOspiPsv_IntrTransfer(), XOspiPsv_PollTransfer(), XOspiPsv_Reset(), XOspiPsv_SetClkPrescaler(), XOspiPsv_SetOptions(), and XOspiPsv_StartDmaTransfer().

u32 XOspiPsv::IsReady

Device is initialized and ready.

Referenced by XOspiPsv_CfgInitialize(), XOspiPsv_ConfigDualByteOpcode(), XOspiPsv_GetOptions(), XOspiPsv_IntrTransfer(), XOspiPsv_PollTransfer(), XOspiPsv_SetClkPrescaler(), XOspiPsv_SetOptions(), XOspiPsv_SetStatusHandler(), and XOspiPsv_StartDmaTransfer().

u8 XOspiPsv::IsUnaligned

Flag used to indicate bytecnt is aligned or not.

Referenced by XOspiPsv_CfgInitialize(), XOspiPsv_Dma_Read(), XOspiPsv_IntrHandler(), and XOspiPsv_IntrTransfer().

XOspiPsv_Msg* XOspiPsv::Msg

Pointer to the Flash Message structure.

Referenced by XOspiPsv_CheckDmaDone(), XOspiPsv_IntrHandler(), XOspiPsv_IntrTransfer(), XOspiPsv_PollTransfer(), and XOspiPsv_StartDmaTransfer().

u32 XOspiPsv::OpMode

Operating Mode DAC or INDAC.

Referenced by FlashSetSDRDDRMode(), XOspiPsv_CfgInitialize(), XOspiPsv_Get_Proto(), XOspiPsv_IntrTransfer(), XOspiPsv_PollTransfer(), XOspiPsv_SetOptions(), and XOspiPsv_StartDmaTransfer().

u8* XOspiPsv::RecvBufferPtr

Buffer to receive (state)

Referenced by XOspiPsv_CfgInitialize(), XOspiPsv_Dma_Read(), XOspiPsv_IntrHandler(), XOspiPsv_IntrTransfer(), XOspiPsv_PollTransfer(), and XOspiPsv_StartDmaTransfer().

u32 XOspiPsv::RxBytes

Number of bytes left to transfer(state)

Referenced by XOspiPsv_CfgInitialize(), XOspiPsv_Dac_Read(), XOspiPsv_Dma_Read(), XOspiPsv_FifoRead(), XOspiPsv_IntrHandler(), XOspiPsv_IntrTransfer(), XOspiPsv_PollTransfer(), XOspiPsv_StartDmaTransfer(), and XOspiPsv_Stig_Read().

u32 XOspiPsv::SdrDdrMode

Edge mode can be SDR or DDR.

Referenced by BulkErase(), DieErase(), FlashEnterExit4BAddMode(), FlashErase(), FlashIoWrite(), FlashLinearWrite(), FlashRead(), FlashReadID(), FlashSetSDRDDRMode(), MxConfigDummy(), SetBlockProtect(), SpansionSetEccMode(), XOspiPsv_CfgInitialize(), XOspiPsv_SetClkPrescaler(), XOspiPsv_SetDllDelay(), XOspiPsv_SetSdrDdrMode(), and XOspiPsv_Setup_Dev_Read_Instr_Reg().

u8* XOspiPsv::SendBufferPtr

Buffer to send (state)

Referenced by XOspiPsv_CfgInitialize(), XOspiPsv_IntrTransfer(), XOspiPsv_PollTransfer(), and XOspiPsv_StartDmaTransfer().

XOspiPsv_StatusHandler XOspiPsv::StatusHandler

Status/Callback handler.

Referenced by XOspiPsv_CfgInitialize(), XOspiPsv_IntrHandler(), and XOspiPsv_SetStatusHandler().

void* XOspiPsv::StatusRef

Callback reference for status handler.

Referenced by XOspiPsv_IntrHandler(), and XOspiPsv_SetStatusHandler().

u32 XOspiPsv::TxBytes

Number of bytes to transfer (state)

Referenced by XOspiPsv_CfgInitialize(), XOspiPsv_Dac_Write(), XOspiPsv_FifoWrite(), XOspiPsv_IntrTransfer(), XOspiPsv_PollTransfer(), and XOspiPsv_Stig_Write().