⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fcu_nand.h

📁 Zoran V966 DVD 解码 Soc芯片的源程序
💻 H
字号:
/**
%file Fcu_nand.h
%desc
Header file for NAND FCU driver.
%author Ofir Alon
*/

#ifndef __FCUNAND_H
#define __FCUNAND_H

#include "Config.h"		// Global Configuration - do not remove!
#ifdef INTERNAL_MEM_CARD_READER

////////////////////////////////////////////////////////////////////////////////
// Specific information.
////////////////////////////////////////////////////////////////////////////////

#define FCU_NAND_ID_SIZE                  8

#define FCU_NAND_TYPE_A                   0
#define FCU_NAND_TYPE_B                   1
#define FCU_NAND_TYPE_C                   2
#define FCU_NAND_TYPE_D                   3

////////////////////////////////////////////////////////////////////////////////
// FCU command & values.
////////////////////////////////////////////////////////////////////////////////

typedef struct tagUFCUNANDCOMMAND
{
    BYTE  byStatus;
    BYTE  byLocation;
    BYTE  byBytes;
    BYTE  bySectors;
    ULONG ulFlashAddr;
    BYTE  byCommand;
    BYTE  byOpType;
    BYTE  byRedundant;
    BYTE  byAddressBytes;
    BYTE  byPageSize;
    BYTE  byRedundantBytes;
    BYTE  byChannel;
    BYTE  byNonSeqRead;

} SFCUNANDCOMMAND, *PSFCUNANDCOMMAND;

// Operation types.
#define FCU_NAND_OP_TYPE_READ            0x00
#define FCU_NAND_OP_TYPE_WRITE           0x01

// Command codes.
#define FCU_NAND_CMND_READ               0x00
#define FCU_NAND_CMND_WRITE              0x00
#define FCU_NAND_CMND_READ_RDNDT         0x50
#define FCU_NAND_CMND_WRITE_RDNDT        0x50
#define FCU_NAND_CMND_ERASE              0xD0
#define FCU_NAND_CMND_READ_ID            0x90

// Special byRedundant values.
#define FCU_NAND_DATA_AND_RDNDT          0x00
#define FCU_NAND_RDNDT_ONLY              0x01

// Special byRedundantBytes values.
#define FCU_NAND_3_BYTE_ADDRESS          0x00
#define FCU_NAND_4_BYTE_ADDRESS          0x01

// Special byPageSize values.
#define FCU_NAND_PAGE_256                0x02
#define FCU_NAND_PAGE_512                0x01

// Special byPageSize values (for erase).
#define FCU_NAND_BLOCK_32                0x20
#define FCU_NAND_BLOCK_16                0x10

// Special byRedundantBytes values.
#define FCU_NAND_RDNDT_8                 0x08
#define FCU_NAND_RDNDT_16                0x10

#define FCU_NAND_TYPE_SEQ_READ           0x00
#define FCU_NAND_TYPE_NON_SEQ_READ       0x01

#define FCU_NAND_READ_RDNDT_TO_SHARED_RAM 0x0
#define FCU_NAND_READ_RDNDT_TO_DATA_RAM 0x2

////////////////////////////////////////////////////////////////////////////////
// Function declarations.
////////////////////////////////////////////////////////////////////////////////

UINT
FcuNandOperation( FX_MEDIA* psMedia,
                  UINT      uiOpId,
                  ULONG     ulLogicalSector,
                  ULONG     ulNumOfSectors,
                  PBYTE     pbyBuffer,
                  PBYTE     pbyExtraBuffer );

#endif // INTERNAL_MEM_CARD_READER

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -