亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? nand_dev_tbl.h

?? MTK手機平臺下載工具FLASHTOOL驅動源碼
?? H
字號:
/*******************************************************************************
*  Copyright Statement:
*  --------------------
*  This software is protected by Copyright and the information contained
*  herein is confidential. The software may not be copied and the information
*  contained herein may not be used or disclosed except with the written
*  permission of MediaTek Inc. (C) 2004
*
*******************************************************************************/

/*******************************************************************************
 *
 * Filename:
 * ---------
 *	  nand_dev_tbl.h 
 *
 * Project:
 * --------
 *    FlashTool Download Agent 
 *
 * Description:
 * ------------
 *    NAND flash device table 
 *
 * Author:
 * -------
 *	  Amos Hsu 
 *
 *==============================================================================
 * 				HISTORY
 * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
 *------------------------------------------------------------------------------
 * $Revision:   1.1  $
 * $Modtime:   Dec 06 2005 12:20:06  $
 * $Log:   //mtkvs01/vmdata/new_flash_tool/archives/DA/INC/nand_dev_tbl.h-arc  $
 * 
 *    Rev 1.1   Dec 29 2005 10:55:36   mtk00539
 *  1. [DA] Add pre-process callback function to unlock all the blocks to meet ST NAND flash requirement. 
 * Resolution for 156: [FlashTool v2.7.1013][BUG FIX] Fix BootROM start command failure while manually selecting NMT6226 or MT6227 baseband chip.
 * 
 *    Rev 1.0   Oct 19 2005 14:40:20   mtk00539
 * Initial revision.
 * Resolution for 140: [BROM_DLL v2.7.1008][New] Support NFB download and many new features.
 * 
 *------------------------------------------------------------------------------
 * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
 *==============================================================================
 *******************************************************************************/
#ifndef _NAND_DEV_TBL_H_
#define _NAND_DEV_TBL_H_

#include "SW_TYPES.H"
#include "DOWNLOAD.H"

#ifdef __cplusplus
extern "C" {
#endif

#define NAND_MAX_SPARE_SIZE_BYTE	64

// DO NOT modify the IO BITS value, because it must be the same as BootROM definition 
#define NAND_IO_8BITS				0
#define NAND_IO_16BITS				1

typedef struct {
	uint16		m_maker_code;
	uint16		m_device_code;
} NAND_ID_S;

typedef struct {
	uint16		m_enable;
	uint16		m_cmd;
} NAND_Command_S;

typedef struct {
	NAND_Command_S		m_read_id;
	NAND_Command_S		m_status;
	NAND_Command_S		m_reset;
	NAND_Command_S		m_read;
	NAND_Command_S		m_read_spare;
	NAND_Command_S		m_read_cnf;
	NAND_Command_S		m_program_1st_half_page;
	NAND_Command_S		m_program;
	NAND_Command_S		m_program_cnf;
	NAND_Command_S		m_erase;
	NAND_Command_S		m_erase_cnf;
	NAND_Command_S		m_copyback_read;
	NAND_Command_S		m_copyback_read_cnf;
	NAND_Command_S		m_copyback_program;
	NAND_Command_S		m_copyback_program_cnf;
} NAND_CommandSet_S;

struct _NAND_DeviceInfo_S;
typedef struct _NAND_DeviceInfo_S  NAND_DeviceInfo_S;
typedef STATUS_E  (*FP_CB_NAND_READ_ID_T)(const NAND_DeviceInfo_S  *nand_info, const uint32  c_timeout, uint16  *p_maker_code, uint16  *p_device_code, uint16  *p_ext_code1, uint16  *p_ext_code2);
typedef STATUS_E  (*FP_CB_NAND_RESET_T)(const NAND_DeviceInfo_S  *nand_info, const uint32  c_timeout);
typedef STATUS_E  (*FP_CB_NAND_PRE_PROCESS_T)(const NAND_DeviceInfo_S  *nand_info, const uint32  c_timeout);
typedef STATUS_E  (*FP_CB_NAND_READ_STATUS_T)(const NAND_DeviceInfo_S  *nand_info, const uint32  c_timeout);
typedef STATUS_E  (*FP_CB_NAND_BLOCK_ERASE_T)(const NAND_DeviceInfo_S  *nand_info, const uint32  row_addr);
typedef STATUS_E  (*FP_CB_NAND_BAD_BLOCK_SYMBOL_CHECK_T)(const NAND_DeviceInfo_S  *nand_info, const uint32  *p_spare32);
typedef STATUS_E  (*FP_CB_NAND_BAD_BLOCK_SYMBOL_SET_T)(const NAND_DeviceInfo_S  *nand_info, uint32  *p_spare32);
typedef STATUS_E  (*FP_CB_NAND_PAGE_READ_T)(const NAND_DeviceInfo_S  *nand_info, const uint32  c_timeout, const uint32 row_addr, uint32 *p_data32, uint32  ecc_parity_from_reg[4]);
typedef STATUS_E  (*FP_CB_NAND_PAGE_PROGRAM_T)(const NAND_DeviceInfo_S  *nand_info, const uint32  c_timeout, const uint32 row_addr, const uint32 *p_data32, uint32  ecc_parity_from_reg[4]);
typedef STATUS_E  (*FP_CB_NAND_SPARE_READ_T)(const NAND_DeviceInfo_S  *nand_info, const uint32  c_timeout, const uint32 row_addr, uint32 *p_spare32);
typedef STATUS_E  (*FP_CB_NAND_SPARE_PROGRAM_T)(const NAND_DeviceInfo_S  *nand_info, const uint32  c_timeout, const uint32 row_addr, const uint32 *p_spare32);
typedef STATUS_E  (*FP_CB_NAND_COPYBACK_T)(const NAND_DeviceInfo_S  *nand_info, const uint32  c_timeout, const uint32 src_row_addr, const uint32 dest_row_addr);

typedef struct {
	FP_CB_NAND_READ_ID_T					m_cb_read_id;
	FP_CB_NAND_RESET_T						m_cb_reset;
	FP_CB_NAND_PRE_PROCESS_T				m_cb_pre_process;
	FP_CB_NAND_READ_STATUS_T				m_cb_read_status;
	FP_CB_NAND_BLOCK_ERASE_T				m_cb_block_erase;
	FP_CB_NAND_BAD_BLOCK_SYMBOL_CHECK_T		m_cb_bad_block_symbol_check;
	FP_CB_NAND_BAD_BLOCK_SYMBOL_SET_T		m_cb_bad_block_symbol_set;
	FP_CB_NAND_PAGE_READ_T					m_cb_page_read;
	FP_CB_NAND_PAGE_PROGRAM_T				m_cb_page_program;
	FP_CB_NAND_SPARE_READ_T					m_cb_spare_read;
	FP_CB_NAND_SPARE_PROGRAM_T				m_cb_spare_program;
	FP_CB_NAND_COPYBACK_T					m_cb_copyback;
} NAND_CMD_Callback_S;

typedef struct {

	// nand flash H/W manufacture id and device code 
	NAND_ID_S	m_id;

	// total size in MB 
	uint32		m_total_size_in_mb;
	// pages per block 
	uint32		m_pages_per_block;
	// page size in Byte 
	uint32		m_page_size;
	// I/O interface: 8bits or 16bits 
	uint32		m_io_interface;
	// address cycle 
	uint32		m_addr_cycle;

	// copyback src and dest addr mask 
	uint32		m_copyback_plane_rowaddr_mask;

} NAND_HW_Info_S;

typedef struct {

	// nand flash id 
	NAND_DeviceID_E			m_id;
	// NAND flash device H/W info 
	NAND_HW_Info_S				m_hw_info;
	// command set 
	const NAND_CommandSet_S		*m_cmd_set;
	// callback function set 
	const NAND_CMD_Callback_S	*m_cb_func_set;

} NAND_Device_S;

struct _NAND_DeviceInfo_S {

	// total page count 
	uint32				m_total_pages;
	// total block count 
	uint32				m_total_blocks;
	// block size in Byte 
	uint32				m_block_size;
	// spare size in Byte 
	uint32				m_spare_size;
	// page addr shift bits 
	uint32				m_page_addr_shift_bits;
	// block addr shift bits 
	uint32				m_block_addr_shift_bits;

	// NAND flash H/W info 
	const NAND_Device_S		*m_dev;
};

typedef struct {
	uint8	m_data[512];
	uint8	m_spare[16];
} NAND_Page512_8_S;

typedef struct {
	uint16	m_data[256];
	uint16	m_spare[8];
} NAND_Page512_16_S;

typedef struct {
	uint32	m_data[128];
	uint32	m_spare[4];
} NAND_Page512_32_S;

typedef struct {
	uint8	m_data[2048];
	uint8	m_spare[64];
} NAND_Page2048_8_S;

typedef struct {
	uint16	m_data[1024];
	uint16	m_spare[32];
} NAND_Page2048_16_S;

typedef struct {
	uint32	m_data[512];
	uint32	m_spare[16];
} NAND_Page2048_32_S;

typedef union {
	uint8				m_raw8[512+16];
	uint16				m_raw16[256+8];
	uint32				m_raw32[128+4];

	NAND_Page512_8_S	m_pagespare8;
	NAND_Page512_16_S	m_pagespare16;
	NAND_Page512_32_S	m_pagespare32;
} NAND_Page512_U;

typedef union {
	uint8				m_raw8[2048+64];
	uint16				m_raw16[1024+32];
	uint32				m_raw32[512+16];

	NAND_Page2048_8_S	m_pagespare8;
	NAND_Page2048_16_S	m_pagespare16;
	NAND_Page2048_32_S	m_pagespare32;
} NAND_Page2048_U;

typedef union {
	NAND_Page512_U		m_512;
	NAND_Page2048_U		m_2048;
} NAND_PageBuffer_U;

typedef struct {
	NAND_PageBuffer_U	m_page[64];
	bool				m_page_dirty[64];
} NAND_BlockBuffer_S;

typedef union {
	uint8	d8[4];
	uint16	d16[2];
	uint32	d32;
} UnionData_U;

extern const NAND_Device_S 	g_NandFlashDevTbl[];
extern NAND_DeviceInfo_S	g_NandFlashInfo;
extern NAND_DeviceInfo_S	*g_pNandInfo;

#ifdef __cplusplus
}
#endif

#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕一区二区三区在线不卡| 麻豆成人免费电影| 亚洲精品日韩一| 日韩激情视频在线观看| 国产精品自拍av| 欧美午夜电影在线播放| 26uuu成人网一区二区三区| 1024国产精品| 精品中文字幕一区二区小辣椒| 99久久久精品免费观看国产蜜| 欧美一级免费大片| 国产精品国产三级国产普通话蜜臀| 亚洲成a人片在线不卡一二三区 | 国产精品一二三四五| 色综合久久综合网97色综合| 精品久久久三级丝袜| 亚洲五月六月丁香激情| 成人午夜伦理影院| 精品国产一区二区亚洲人成毛片| 亚洲在线免费播放| 不卡的av电影在线观看| 久久综合久久鬼色中文字| 亚洲福利国产精品| 91丨九色丨尤物| 国产亚洲女人久久久久毛片| 视频在线在亚洲| 欧美亚洲国产怡红院影院| 国产精品久久99| 国产成人免费在线视频| 欧美变态tickling挠脚心| 亚洲一区在线看| 91行情网站电视在线观看高清版| 国产欧美一区二区精品忘忧草 | 国产精品麻豆视频| 国产在线视视频有精品| 3atv在线一区二区三区| 五月激情综合网| 欧美日本在线播放| 五月激情综合色| 欧美日韩成人一区二区| 亚瑟在线精品视频| 欧美日本国产视频| 日韩和欧美的一区| 日韩精品专区在线影院观看 | 亚洲免费色视频| 99国内精品久久| 亚洲欧美日韩久久精品| 99re66热这里只有精品3直播| 国产精品九色蝌蚪自拍| 99久精品国产| 一区二区欧美在线观看| 欧美怡红院视频| 亚洲超碰97人人做人人爱| 欧美性xxxxx极品少妇| 午夜伊人狠狠久久| 欧美一三区三区四区免费在线看| 日韩电影在线一区| 久久综合五月天婷婷伊人| 国产精品996| 自拍偷拍亚洲激情| 欧美少妇性性性| 精品一区二区三区日韩| 日本一区二区免费在线观看视频 | 日本久久精品电影| 亚洲成人午夜影院| 欧美成人国产一区二区| 成人高清免费观看| 亚洲国产日韩在线一区模特| 欧美一级免费观看| 成人一级视频在线观看| 一区二区高清免费观看影视大全| 欧美年轻男男videosbes| 极品少妇xxxx精品少妇偷拍| 国产精品久久免费看| 欧美日韩国产首页| 国产精品系列在线播放| 一区二区三区欧美久久| 欧美xxxxx牲另类人与| 99久久er热在这里只有精品15| 午夜精品福利一区二区三区av| 久久一区二区三区四区| 欧美综合亚洲图片综合区| 美女国产一区二区| 亚洲欧美福利一区二区| 日韩欧美亚洲另类制服综合在线| 波波电影院一区二区三区| 日韩成人av影视| ...xxx性欧美| 精品国产人成亚洲区| 91美女视频网站| 国产精品自产自拍| 日韩电影在线看| 亚洲欧美日韩系列| 国产人伦精品一区二区| 91精品国产91久久综合桃花| 91原创在线视频| 国产最新精品免费| 天天综合网天天综合色| 亚洲欧美日本韩国| 国产日韩欧美亚洲| 日韩精品一区二| 欧美日韩国产片| 99免费精品在线| 国产风韵犹存在线视精品| 亚洲成a人片综合在线| ...中文天堂在线一区| 久久精品夜色噜噜亚洲a∨| 在线成人小视频| 在线看一区二区| 99久久er热在这里只有精品66| 国产精品99久久久久久似苏梦涵 | 欧美日韩大陆在线| av在线播放不卡| 成人一二三区视频| 国产经典欧美精品| 国产在线精品视频| 激情五月激情综合网| 麻豆精品视频在线观看| 视频一区国产视频| 性做久久久久久免费观看欧美| 一区二区三区不卡视频| 亚洲精品美腿丝袜| 亚洲精品老司机| 一区二区久久久| 亚洲最大成人网4388xx| 亚洲综合色在线| 亚洲影院在线观看| 亚洲成人你懂的| 日韩成人精品视频| 久久精品国产亚洲高清剧情介绍| 蜜臀av一区二区在线观看 | 91精品国产综合久久婷婷香蕉| 欧美性色欧美a在线播放| 欧美视频一区在线| 欧美精品18+| 欧美一区二区三级| 精品少妇一区二区三区在线播放| 精品久久人人做人人爱| 久久众筹精品私拍模特| 国产色综合一区| 国产精品久99| 亚洲国产精品麻豆| 蜜乳av一区二区| 国产一区二区影院| 成人a免费在线看| 色狠狠综合天天综合综合| 欧美视频日韩视频在线观看| 欧美精品tushy高清| 久久中文娱乐网| 综合久久给合久久狠狠狠97色 | 色哟哟在线观看一区二区三区| 色女孩综合影院| 69堂精品视频| 国产日产亚洲精品系列| 亚洲女同ⅹxx女同tv| 天堂蜜桃91精品| 国产福利精品一区二区| 91福利区一区二区三区| 日韩欧美你懂的| 国产精品午夜免费| 亚洲高清视频中文字幕| 久久99久久久久久久久久久| 成人精品gif动图一区| 欧美日韩成人综合天天影院| 国产视频一区在线观看| 亚洲一区二区影院| 国产高清一区日本| 欧美日韩精品一区视频| 久久综合九色综合97婷婷| 亚洲视频一二三| 久久精品国产77777蜜臀| 91啪亚洲精品| 久久午夜国产精品| 亚洲一区二区五区| 成人久久18免费网站麻豆| 欧美午夜宅男影院| 国产精品免费av| 久久激五月天综合精品| 色婷婷综合久色| 日本一区二区综合亚洲| 全部av―极品视觉盛宴亚洲| 97精品超碰一区二区三区| 日韩精品一区在线| 亚洲午夜久久久久久久久电影院 | 99久久亚洲一区二区三区青草| 911精品国产一区二区在线| 国产精品无人区| 国模少妇一区二区三区| 欧美一区二区在线免费观看| 亚洲精品成人少妇| 成人免费视频一区| 久久综合成人精品亚洲另类欧美 | 毛片一区二区三区| 精品1区2区3区| 中文字幕综合网| 成人理论电影网| 日本一区二区免费在线| 国产一区二区主播在线| 日韩精品一区二区三区中文不卡 | 久久99国产精品免费网站|