| nandps Vitis Drivers API Documentation

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

- Data Structures
- Data Fields

Data Fields
XNandPsTag Struct Reference
Overview

The XNandPs driver instance data. More...

## Data Fields
u32 | IsReady
| Device is initialized and ready. More...
XNandPs_Config | Config
| XNandPs_Config of current device. More...
XNandPs_Geometry | Geometry
| Part geometry. More...
XNandPs_Features | Features
| Features and Optional commands. More...
u32 | CommandPhaseAddr
| NAND command phase address. More...
u32 | DataPhaseAddr
| NAND Data phase address. More...
XNandPs_EccConfig | EccConfig
| ECC configuration parameters. More...
XNandPs_BbtDesc | BbtDesc
| Bad block table descriptor. More...
XNandPs_BbtDesc | BbtMirrorDesc
| Mirror BBT descriptor. More...
XNandPs_BadBlockPattern | BbPattern
| Bad block pattern to search. More...
u8 | Bbt [XNANDPS_MAX_BLOCKS >> 2]
| Bad block table array. More...
u8 | FlashBbt [XNANDPS_MAX_BLOCKS >> 2]
| BBT buffer for partial read/writes. More...
u8 | DataBuf [XNANDPS_MAX_PAGE_SIZE+XNANDPS_MAX_SPARE_SIZE]
| Data buffer for partial read/writes. More...
u8 * | SpareBufPtr
| Pointer to store spare buffer. More...
u8 | EccCalc [XNANDPS_MAX_SPARE_SIZE]
| Buffer for calculated ECC. More...
u8 | EccCode [XNANDPS_MAX_SPARE_SIZE]
| Buffer for stored ECC. More...
XNandPs_EccMode | EccMode
| ECC Mode. More...
int(* | ReadPage )(struct XNandPsTag *InstancePtr, u8 *DstPtr)
| Read Page routine. More...
int(* | WritePage )(struct XNandPsTag *InstancePtr, u8 *SrcPtr)
| Write Page routine. More...

## Detailed Description

The XNandPs driver instance data.

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

## Field Documentation

XNandPs_BadBlockPattern XNandPsTag::BbPattern

Bad block pattern to search.

Referenced by XNandPs_InitBbtDesc().

u8 XNandPsTag::Bbt[XNANDPS_MAX_BLOCKS >> 2]

Bad block table array.

Referenced by XNandPs_IsBlockBad(), and XNandPs_MarkBlockBad().

XNandPs_BbtDesc XNandPsTag::BbtDesc

Bad block table descriptor.

Referenced by XNandPs_InitBbtDesc(), and XNandPs_ScanBbt().

XNandPs_BbtDesc XNandPsTag::BbtMirrorDesc

Mirror BBT descriptor.

Referenced by XNandPs_InitBbtDesc(), and XNandPs_ScanBbt().

u32 XNandPsTag::CommandPhaseAddr

NAND command phase address.

Referenced by XNandPs_SendCommand().

XNandPs_Config XNandPsTag::Config

XNandPs_Config of current device.

Referenced by Onfi_CmdReadStatus(), XNandPs_CfgInitialize(), XNandPs_EraseBlock(), XNandPs_Read(), XNandPs_ReadCache(), XNandPs_ReadSpareBytes(), XNandPs_SendCommand(), and XNandPs_WriteSpareBytes().

u8 XNandPsTag::DataBuf[XNANDPS_MAX_PAGE_SIZE+XNANDPS_MAX_SPARE_SIZE]

Data buffer for partial read/writes.

Referenced by XNandPs_CfgInitialize(), XNandPs_Read(), XNandPs_ReadCache(), XNandPs_Write(), and XNandPs_WriteCache().

u32 XNandPsTag::DataPhaseAddr

NAND Data phase address.

Referenced by Onfi_CmdReadStatus(), XNandPs_ReadSpareBytes(), XNandPs_SendCommand(), and XNandPs_WriteSpareBytes().

u8 XNandPsTag::EccCalc[XNANDPS_MAX_SPARE_SIZE]

Buffer for calculated ECC.

u8 XNandPsTag::EccCode[XNANDPS_MAX_SPARE_SIZE]

Buffer for stored ECC.

XNandPs_EccConfig XNandPsTag::EccConfig

ECC configuration parameters.

XNandPs_EccMode XNandPsTag::EccMode

ECC Mode.

Referenced by Onfi_NandInit(), XNandPs_CfgInitialize(), XNandPs_InitBbtDesc(), XNandPs_ReadSpareBytes(), and XNandPs_WriteSpareBytes().

XNandPs_Features XNandPsTag::Features

Features and Optional commands.

Referenced by Onfi_NandInit(), and XNandPs_ReadCache().

u8 XNandPsTag::FlashBbt[XNANDPS_MAX_BLOCKS >> 2]

BBT buffer for partial read/writes.

XNandPs_Geometry XNandPsTag::Geometry

Part geometry.

Referenced by NandReadWriteCacheExample(), NandReadWriteExample(), Onfi_NandInit(), XNandPs_CalculateLength(), XNandPs_CfgInitialize(), XNandPs_EraseBlock(), XNandPs_InitBbtDesc(), XNandPs_Read(), XNandPs_ReadCache(), XNandPs_ReadSpareBytes(), XNandPs_SendCommand(), XNandPs_SkipErase(), XNandPs_SkipRead(), XNandPs_SkipWrite(), XNandPs_Write(), XNandPs_WriteCache(), and XNandPs_WriteSpareBytes().

u32 XNandPsTag::IsReady

Device is initialized and ready.

Referenced by XNandPs_CfgInitialize(), XNandPs_EraseBlock(), XNandPs_InitBbtDesc(), XNandPs_IsBlockBad(), XNandPs_MarkBlockBad(), XNandPs_Read(), XNandPs_ReadCache(), XNandPs_ScanBbt(), XNandPs_Write(), and XNandPs_WriteCache().

int(* XNandPsTag::ReadPage)(struct XNandPsTag *InstancePtr, u8 *DstPtr)

Read Page routine.

Referenced by XNandPs_CfgInitialize(), XNandPs_Read(), and XNandPs_ReadCache().

u8* XNandPsTag::SpareBufPtr

Pointer to store spare buffer.

Referenced by XNandPs_CfgInitialize(), XNandPs_Read(), XNandPs_ReadCache(), XNandPs_Write(), and XNandPs_WriteCache().

int(* XNandPsTag::WritePage)(struct XNandPsTag *InstancePtr, u8 *SrcPtr)

Write Page routine.

Referenced by XNandPs_CfgInitialize(), XNandPs_Write(), and XNandPs_WriteCache().