nandpsu
Vitis Drivers API Documentation
xnandpsu_bbm.h File Reference

Macros

#define XNANDPSU_BLOCK_GOOD   0x0U
 Block is good. More...
 
#define XNANDPSU_BLOCK_BAD   0x1U
 Block is bad. More...
 
#define XNANDPSU_BLOCK_RESERVED   0x2U
 Reserved block. More...
 
#define XNANDPSU_BLOCK_FACTORY_BAD   0x3U
 Factory marked bad block. More...
 
#define XNANDPSU_FLASH_BLOCK_GOOD   0x3U
 Block is good. More...
 
#define XNANDPSU_FLASH_BLOCK_BAD   0x2U
 Block is bad. More...
 
#define XNANDPSU_FLASH_BLOCK_RESERVED   0x1U
 Reserved block. More...
 
#define XNANDPSU_FLASH_BLOCK_FAC_BAD   0x0U
 Factory marked bad block. More...
 
#define XNANDPSU_BBT_SCAN_2ND_PAGE   0x00000001U
 Scan the second page for bad block information. More...
 
#define XNANDPSU_BBT_DESC_PAGE_OFFSET   0U
 Page offset of Bad Block Table Desc. More...
 
#define XNANDPSU_BBT_DESC_SIG_OFFSET   8U
 Bad Block Table signature offset. More...
 
#define XNANDPSU_BBT_DESC_VER_OFFSET   12U
 Bad block Table version offset. More...
 
#define XNANDPSU_NO_OOB_BBT_DESC_SIG_OFFSET   0U
 Bad Block Table signature offset in page memory. More...
 
#define XNANDPSU_NO_OOB_BBT_DESC_VER_OFFSET   4U
 Bad block Table version offset in page memory. More...
 
#define XNANDPSU_BBT_DESC_SIG_LEN   4U
 Bad block Table signature length. More...
 
#define XNANDPSU_BBT_DESC_MAX_BLOCKS   64U
 Bad block Table max blocks. More...
 
#define XNANDPSU_BBT_BLOCK_SHIFT   2U
 Block shift value for a block in BBT. More...
 
#define XNANDPSU_BBT_ENTRY_NUM_BLOCKS   4U
 Num of blocks in one BBT entry. More...
 
#define XNANDPSU_BB_PTRN_OFF_SML_PAGE   5U
 Bad block pattern offset in a page. More...
 
#define XNANDPSU_BB_PTRN_LEN_SML_PAGE   1U
 Bad block pattern length. More...
 
#define XNANDPSU_BB_PTRN_OFF_LARGE_PAGE   0U
 Bad block pattern offset in a large page. More...
 
#define XNANDPSU_BB_PTRN_LEN_LARGE_PAGE   2U
 Bad block pattern length. More...
 
#define XNANDPSU_BB_PATTERN   0xFFU
 Bad block pattern to search in a page. More...
 
#define XNANDPSU_BLOCK_TYPE_MASK   0x03U
 Block type mask. More...
 
#define XNANDPSU_BLOCK_SHIFT_MASK   0x06U
 Block shift mask for a Bad Block Table entry byte. More...
 
#define XNandPsu_BbtBlockShift(Block)   (u8)(((Block) * 2U) & XNANDPSU_BLOCK_SHIFT_MASK)
 This macro returns the Block shift value corresponding to a Block. More...
 

Functions

void XNandPsu_InitBbtDesc (XNandPsu *InstancePtr)
 This function initializes the Bad Block Table(BBT) descriptors with a predefined pattern for searching Bad Block Table(BBT) in flash. More...
 
s32 XNandPsu_IsBlockBad (XNandPsu *InstancePtr, u32 Block)
 This function checks whether a block is bad or not. More...