xilsfl
Vitis Drivers API Documentation
xilsfl.h File Reference

Data Structures

struct  XSfl_Msg
 This typedef contains configuration information for a flash message. More...
 
struct  XSfl_FlashInfo
 This typedef contains configuration information for the flash device. More...
 
struct  XSfl_CntrlInfo
 This typedef contains configuration information for the device. More...
 
struct  XSfl_Interface
 This typedef contains interface information for a sfl library. More...
 
struct  XSfl
 This typedef contains information of the sfl library. More...
 
union  XSfl_UserConfig
 This typedef contains configuration information for a flash/controller device. More...
 

Macros

#define XSFL_RXADDR_OVER_32BIT   0x100000000U
 Rx address over 32 bit. More...
 
#define XSFL_CONFIG_REG2_VOLATILE_ADDR_MX   0x00000300
 Controller Type. More...
 
#define XSFL_OSPI_CNTRL   0x01
 Flag to use DMA or not. More...
 
#define XSFL_BROKEN_DMA   0x01
 Max Byte count in Stig Mode. More...
 
Dual Byte opcode selection
#define XSFL_DUAL_BYTE_OP_DISABLE   0x00
 Macros to enable/disable Dual Byte opcode. More...
 
#define XSFL_DUAL_BYTE_OP_INVERT   0x01
 
#define XSFL_DUAL_BYTE_OP_SAME   0x02
 
Edge mode selection
#define XSFL_EDGE_MODE_SDR_PHY   0x0U
 Macros to select different edge modes like SDR+NON-PHY, SDR+PHY and DDR+PHY. More...
 
#define XSFL_EDGE_MODE_SDR_NON_PHY   0x1U
 
#define XSFL_EDGE_MODE_DDR_PHY   0x2U
 
Chip Select selection
#define XSFL_SELECT_FLASH_CS0   0
 Macros to select CS0 and CS1. More...
 
#define XSFL_SELECT_FLASH_CS1   1
 
Connection mode selection
#define XSFL_CONNECTION_MODE_SINGLE   0x0U
 Macros to select SINGLE, STACKED and PARALLEL connection modes. More...
 
#define XSFL_CONNECTION_MODE_STACKED   0x1U
 

Prototype(Bus width: Cmd_Addr_Data) selection

#define XSFL_FLASH_PROTO_1_1_1   0U
 Macros to select Read and Write prototype. More...
 
#define XSFL_FLASH_PROTO_1_0_1   1U
 
#define XSFL_FLASH_PROTO_1_1_2   2U
 
#define XSFL_FLASH_PROTO_1_1_8   3U
 
#define XSFL_FLASH_PROTO_1_8_8   4U
 
#define XSFL_FLASH_PROTO_8_8_8   5U
 
#define XSFL_FLASH_PROTO_8_0_0   6U
 
#define XSFL_FLASH_PROTO_8_8_0   7U
 
#define XSFL_FLASH_PROTO_8_0_8   8U
 
#define XSFL_FLASH_PROTO_1_1_4   9U
 
#define XSFL_FLASH_PROTO_4_4_4   10U
 
#define XSFL_FLASH_ID   0U /* Flash Device jdec_id */
 
#define XSFL_DEVICE_SIZE
 
#define XSFL_SECT_SIZE
 
#define XSFL_PAGE_SIZE
 
#define XSFL_FLASH_TYPE   4U /* Flash Type (QSPI/OSPI) */
 
#define XSFL_X1_BUS_WIDTH   0x01
 
#define XSFL_X2_BUS_WIDTH   0x02
 
#define XSFL_X4_BUS_WIDTH   0x04
 
#define XSFL_X8_BUS_WIDTH   0x08
 
typedef union XSfl_UserConfig XSfl_UserConfig
 This typedef contains configuration information for a flash/controller device. More...
 
u32 XSfl_FlashInit (u8 *SflHandler, XSfl_UserConfig SflUserOptions, u8 ControllerInfo)
 This function initializes controller interface and serial nor flash connected. More...
 
u32 XSfl_FlashErase (u8 SflHandler, u32 Address, u32 ByteCount)
 This function erases the serial nor flash connected to the specific interface. More...
 
u32 XSfl_FlashWrite (u8 SflHandler, u32 Address, u32 ByteCount, u8 *WriteBfrPtr)
 This function writes to the serial nor flash connected to the interface driver. More...
 
u32 XSfl_FlashReadStart (u8 SflHandler, u32 Address, u32 ByteCount, u8 *ReadBfrPtr, u64 RxAddr64bit)
 This function reads from the flash connected to the specific interface. More...
 
u32 XSfl_FlashReadDone (u8 SflHandler)
 This function used to check read completion status of serial Flash connected to the Specific interface. More...
 
u32 XSfl_FlashGetInfo (u8 SflHandler, u8 Option, u32 *DataPtr)
 This function used to get details serial Flash connected to the Specific interface. More...
 
u32 XSfl_FlashRead (u8 SflHandler, u32 Address, u32 ByteCount, u8 *ReadBfrPtr, u64 RxAddr64bit)
 This function performs read from the flash. More...