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

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

?? nand.h

?? U-boot latest tarball
?? H
?? 第 1 頁 / 共 2 頁
字號:
/* *  linux/include/linux/mtd/nand.h * *  Copyright (c) 2000 David Woodhouse <dwmw2@infradead.org> *                     Steven J. Hill <sjhill@realitydiluted.com> *		       Thomas Gleixner <tglx@linutronix.de> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. * * Info: *	Contains standard defines and IDs for NAND flash devices * * Changelog: *	See git changelog. */#ifndef __LINUX_MTD_NAND_H#define __LINUX_MTD_NAND_H/* XXX U-BOOT XXX */#if 0#include <linux/wait.h>#include <linux/spinlock.h>#include <linux/mtd/mtd.h>#endif#include "config.h"#include "linux/mtd/compat.h"#include "linux/mtd/mtd.h"#include "linux/mtd/bbm.h"struct mtd_info;/* Scan and identify a NAND device */extern int nand_scan (struct mtd_info *mtd, int max_chips);/* Separate phases of nand_scan(), allowing board driver to intervene * and override command or ECC setup according to flash type */extern int nand_scan_ident(struct mtd_info *mtd, int max_chips);extern int nand_scan_tail(struct mtd_info *mtd);/* Free resources held by the NAND device */extern void nand_release (struct mtd_info *mtd);/* Internal helper for board drivers which need to override command function */extern void nand_wait_ready(struct mtd_info *mtd);/* This constant declares the max. oobsize / page, which * is supported now. If you add a chip with bigger oobsize/page * adjust this accordingly. */#define NAND_MAX_OOBSIZE	128#define NAND_MAX_PAGESIZE	4096/* * Constants for hardware specific CLE/ALE/NCE function * * These are bits which can be or'ed to set/clear multiple * bits in one go. *//* Select the chip by setting nCE to low */#define NAND_NCE		0x01/* Select the command latch by setting CLE to high */#define NAND_CLE		0x02/* Select the address latch by setting ALE to high */#define NAND_ALE		0x04#define NAND_CTRL_CLE		(NAND_NCE | NAND_CLE)#define NAND_CTRL_ALE		(NAND_NCE | NAND_ALE)#define NAND_CTRL_CHANGE	0x80/* * Standard NAND flash commands */#define NAND_CMD_READ0		0#define NAND_CMD_READ1		1#define NAND_CMD_RNDOUT		5#define NAND_CMD_PAGEPROG	0x10#define NAND_CMD_READOOB	0x50#define NAND_CMD_ERASE1		0x60#define NAND_CMD_STATUS		0x70#define NAND_CMD_STATUS_MULTI	0x71#define NAND_CMD_SEQIN		0x80#define NAND_CMD_RNDIN		0x85#define NAND_CMD_READID		0x90#define NAND_CMD_ERASE2		0xd0#define NAND_CMD_RESET		0xff/* Extended commands for large page devices */#define NAND_CMD_READSTART	0x30#define NAND_CMD_RNDOUTSTART	0xE0#define NAND_CMD_CACHEDPROG	0x15/* Extended commands for AG-AND device *//* * Note: the command for NAND_CMD_DEPLETE1 is really 0x00 but *       there is no way to distinguish that from NAND_CMD_READ0 *       until the remaining sequence of commands has been completed *       so add a high order bit and mask it off in the command. */#define NAND_CMD_DEPLETE1	0x100#define NAND_CMD_DEPLETE2	0x38#define NAND_CMD_STATUS_MULTI	0x71#define NAND_CMD_STATUS_ERROR	0x72/* multi-bank error status (banks 0-3) */#define NAND_CMD_STATUS_ERROR0	0x73#define NAND_CMD_STATUS_ERROR1	0x74#define NAND_CMD_STATUS_ERROR2	0x75#define NAND_CMD_STATUS_ERROR3	0x76#define NAND_CMD_STATUS_RESET	0x7f#define NAND_CMD_STATUS_CLEAR	0xff#define NAND_CMD_NONE		-1/* Status bits */#define NAND_STATUS_FAIL	0x01#define NAND_STATUS_FAIL_N1	0x02#define NAND_STATUS_TRUE_READY	0x20#define NAND_STATUS_READY	0x40#define NAND_STATUS_WP		0x80/* * Constants for ECC_MODES */typedef enum {	NAND_ECC_NONE,	NAND_ECC_SOFT,	NAND_ECC_HW,	NAND_ECC_HW_SYNDROME,} nand_ecc_modes_t;/* * Constants for Hardware ECC *//* Reset Hardware ECC for read */#define NAND_ECC_READ		0/* Reset Hardware ECC for write */#define NAND_ECC_WRITE		1/* Enable Hardware ECC before syndrom is read back from flash */#define NAND_ECC_READSYN	2/* Bit mask for flags passed to do_nand_read_ecc */#define NAND_GET_DEVICE		0x80/* Option constants for bizarre disfunctionality and real*  features*//* Chip can not auto increment pages */#define NAND_NO_AUTOINCR	0x00000001/* Buswitdh is 16 bit */#define NAND_BUSWIDTH_16	0x00000002/* Device supports partial programming without padding */#define NAND_NO_PADDING		0x00000004/* Chip has cache program function */#define NAND_CACHEPRG		0x00000008/* Chip has copy back function */#define NAND_COPYBACK		0x00000010/* AND Chip which has 4 banks and a confusing page / block * assignment. See Renesas datasheet for further information */#define NAND_IS_AND		0x00000020/* Chip has a array of 4 pages which can be read without * additional ready /busy waits */#define NAND_4PAGE_ARRAY	0x00000040/* Chip requires that BBT is periodically rewritten to prevent * bits from adjacent blocks from 'leaking' in altering data. * This happens with the Renesas AG-AND chips, possibly others.  */#define BBT_AUTO_REFRESH	0x00000080/* Chip does not require ready check on read. True * for all large page devices, as they do not support * autoincrement.*/#define NAND_NO_READRDY		0x00000100/* Chip does not allow subpage writes */#define NAND_NO_SUBPAGE_WRITE	0x00000200/* Options valid for Samsung large page devices */#define NAND_SAMSUNG_LP_OPTIONS \	(NAND_NO_PADDING | NAND_CACHEPRG | NAND_COPYBACK)/* Macros to identify the above */#define NAND_CANAUTOINCR(chip) (!(chip->options & NAND_NO_AUTOINCR))#define NAND_MUST_PAD(chip) (!(chip->options & NAND_NO_PADDING))#define NAND_HAS_CACHEPROG(chip) ((chip->options & NAND_CACHEPRG))#define NAND_HAS_COPYBACK(chip) ((chip->options & NAND_COPYBACK))/* Large page NAND with SOFT_ECC should support subpage reads */#define NAND_SUBPAGE_READ(chip) ((chip->ecc.mode == NAND_ECC_SOFT) \					&& (chip->page_shift > 9))/* Mask to zero out the chip options, which come from the id table */#define NAND_CHIPOPTIONS_MSK	(0x0000ffff & ~NAND_NO_AUTOINCR)/* Non chip related options *//* Use a flash based bad block table. This option is passed to the * default bad block table function. */#define NAND_USE_FLASH_BBT	0x00010000/* This option skips the bbt scan during initialization. */#define NAND_SKIP_BBTSCAN	0x00020000/* This option is defined if the board driver allocates its own buffers   (e.g. because it needs them DMA-coherent */#define NAND_OWN_BUFFERS	0x00040000/* Options set by nand scan *//* bbt has already been read */#define NAND_BBT_SCANNED	0x40000000/* Nand scan has allocated controller struct */#define NAND_CONTROLLER_ALLOC	0x80000000/* Cell info constants */#define NAND_CI_CHIPNR_MSK	0x03#define NAND_CI_CELLTYPE_MSK	0x0C/* Keep gcc happy */struct nand_chip;/** * struct nand_hw_control - Control structure for hardware controller (e.g ECC generator) shared among independent devices * @lock:               protection lock * @active:		the mtd device which holds the controller currently * @wq:			wait queue to sleep on if a NAND operation is in progress *                      used instead of the per chip wait queue when a hw controller is available */struct nand_hw_control {/* XXX U-BOOT XXX */#if 0	spinlock_t	 lock;	wait_queue_head_t wq;#endif	struct nand_chip *active;};/** * struct nand_ecc_ctrl - Control structure for ecc * @mode:	ecc mode * @steps:	number of ecc steps per page * @size:	data bytes per ecc step * @bytes:	ecc bytes per step * @total:	total number of ecc bytes per page * @prepad:	padding information for syndrome based ecc generators * @postpad:	padding information for syndrome based ecc generators * @layout:	ECC layout control struct pointer * @hwctl:	function to control hardware ecc generator. Must only *		be provided if an hardware ECC is available * @calculate:	function for ecc calculation or readback from ecc hardware * @correct:	function for ecc correction, matching to ecc generator (sw/hw) * @read_page_raw:	function to read a raw page without ECC * @write_page_raw:	function to write a raw page without ECC * @read_page:	function to read a page according to the ecc generator requirements * @write_page:	function to write a page according to the ecc generator requirements * @read_oob:	function to read chip OOB data * @write_oob:	function to write chip OOB data */struct nand_ecc_ctrl {	nand_ecc_modes_t	mode;	int			steps;	int			size;	int			bytes;	int			total;	int			prepad;	int			postpad;	struct nand_ecclayout	*layout;	void			(*hwctl)(struct mtd_info *mtd, int mode);	int			(*calculate)(struct mtd_info *mtd,					     const uint8_t *dat,					     uint8_t *ecc_code);	int			(*correct)(struct mtd_info *mtd, uint8_t *dat,					   uint8_t *read_ecc,					   uint8_t *calc_ecc);	int			(*read_page_raw)(struct mtd_info *mtd,						 struct nand_chip *chip,						 uint8_t *buf);	void			(*write_page_raw)(struct mtd_info *mtd,						  struct nand_chip *chip,						  const uint8_t *buf);	int			(*read_page)(struct mtd_info *mtd,					     struct nand_chip *chip,					     uint8_t *buf);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩亚洲欧美在线观看| 黑人巨大精品欧美黑白配亚洲| jlzzjlzz国产精品久久| 日韩精品亚洲专区| 国产精品久久久久久福利一牛影视 | 91网址在线看| 欧美一区二区三区啪啪| 91在线码无精品| 成人h精品动漫一区二区三区| 丰满白嫩尤物一区二区| 国产高清精品久久久久| 韩国av一区二区| 欧美在线不卡一区| 欧美视频你懂的| 欧美一级免费大片| 有坂深雪av一区二区精品| 亚洲精品一卡二卡| 久久99久久精品欧美| 日韩理论片中文av| 亚洲美女视频在线| 日韩电影免费在线| 国产一区二区视频在线| 94色蜜桃网一区二区三区| 26uuuu精品一区二区| 久久精品亚洲精品国产欧美| 中文字幕二三区不卡| 亚洲伦在线观看| 成人动漫中文字幕| 久久一区二区视频| 久久成人免费网站| 日韩一区和二区| 免费在线看成人av| 成人教育av在线| 久久久久久99精品| 亚洲国产日产av| 玖玖九九国产精品| 欧美一区二区视频在线观看2020| 亚洲国产日韩av| 欧美精选一区二区| 日本一区二区三区久久久久久久久不 | 久久网站热最新地址| 精品一区二区三区日韩| 精品免费一区二区三区| 亚洲欧洲av在线| 蜜桃久久av一区| 在线亚洲高清视频| 国产在线视频精品一区| 久久亚洲私人国产精品va媚药| 极品尤物av久久免费看| 国产日韩欧美高清| 粉嫩一区二区三区性色av| 国产精品久久久久久亚洲毛片| aaa欧美大片| 亚洲成人高清在线| 99久久99久久精品免费观看 | 美女高潮久久久| 久久综合色鬼综合色| jlzzjlzz亚洲日本少妇| 亚洲成人777| 国产欧美一区二区精品婷婷 | 97久久超碰国产精品电影| 一区二区在线免费| 欧美一区二区三区免费大片| 国产成人在线免费观看| 亚洲国产日韩精品| 欧美精品一区二区三区很污很色的 | 在线日韩国产精品| 久久夜色精品一区| 色一情一乱一乱一91av| 在线视频综合导航| 午夜免费久久看| 92国产精品观看| 亚洲第四色夜色| 日韩精品一区二区三区在线播放| 亚洲欧美日韩电影| 精品婷婷伊人一区三区三| 欧美激情综合在线| 成人午夜电影久久影院| 亚洲乱码中文字幕| 日韩欧美激情在线| 99re这里只有精品首页| 亚洲欧美一区二区久久| 7777女厕盗摄久久久| 亚洲影视在线播放| 91热门视频在线观看| 午夜视黄欧洲亚洲| 欧美成人精品福利| 9l国产精品久久久久麻豆| 亚洲成人自拍网| 欧美一区二区三区男人的天堂| 91视视频在线观看入口直接观看www | 亚洲久草在线视频| 欧美v亚洲v综合ⅴ国产v| 成人国产亚洲欧美成人综合网| 亚洲成人在线免费| 国产肉丝袜一区二区| 欧美亚洲日本国产| 国产寡妇亲子伦一区二区| 亚洲一二三区在线观看| 久久综合视频网| 精品成人a区在线观看| 成人午夜在线免费| 免费成人在线观看视频| 一区二区免费在线| 久久久777精品电影网影网 | 在线免费精品视频| 国产精品一二三四区| 日韩综合在线视频| 国产精品网曝门| 蜜桃视频在线观看一区| 亚洲综合免费观看高清完整版 | 亚洲国产精品久久不卡毛片 | 欧美久久久影院| 99精品视频在线观看免费| 久久国产精品免费| 婷婷综合五月天| 玉米视频成人免费看| 国产精品乱码一区二区三区软件| 精品久久久网站| 91精品一区二区三区久久久久久 | 国产视频一区在线播放| 欧美性感一类影片在线播放| 色综合天天综合| 亚洲一区精品在线| 国产精品成人免费| 欧美激情中文字幕| 久久久久久久久蜜桃| 91精品国产综合久久久久久漫画| 在线欧美一区二区| 成人午夜电影小说| 一本一道波多野结衣一区二区| 成人三级伦理片| 国产.欧美.日韩| 成人久久18免费网站麻豆| 国产91精品一区二区| 国产99久久久久久免费看农村| 久久草av在线| 麻豆精品久久久| 国产成人精品aa毛片| 国产精品自拍一区| 岛国一区二区三区| 9久草视频在线视频精品| jvid福利写真一区二区三区| 成人av免费在线| 欧美日韩国产一级| 91精品在线观看入口| 337p亚洲精品色噜噜噜| 91麻豆精品91久久久久同性| 精品成人一区二区三区四区| 久久久不卡影院| 国产欧美久久久精品影院| 亚洲精品国产一区二区精华液| 一二三区精品视频| 首页国产丝袜综合| 久久成人综合网| www.色综合.com| 欧洲国产伦久久久久久久| 欧美日韩国产综合一区二区三区| 精品视频一区三区九区| 国产精品欧美一级免费| 樱花草国产18久久久久| 午夜欧美2019年伦理| 国产毛片一区二区| 91社区在线播放| 日韩欧美在线不卡| 中文字幕一区二区三区精华液| 亚洲大型综合色站| 国内成人免费视频| 色网站国产精品| 久久这里都是精品| 亚洲一区二区三区四区五区中文| 蜜臀精品久久久久久蜜臀| 99久久免费精品| 日韩欧美不卡一区| 一区二区三区高清不卡| 激情亚洲综合在线| 91黄视频在线| 久久久亚洲欧洲日产国码αv| 樱桃国产成人精品视频| 成人做爰69片免费看网站| 69p69国产精品| 日韩毛片一二三区| 狠狠色伊人亚洲综合成人| 色视频成人在线观看免| 久久综合久久鬼色| 精品一区二区三区免费观看 | 久草在线在线精品观看| 91在线视频免费观看| 精品国产一区二区国模嫣然| 亚洲综合一区二区精品导航| 国产成人在线观看| 在线视频亚洲一区| 一区二区三区久久久| 国产91精品一区二区| 日韩午夜激情视频| 亚洲3atv精品一区二区三区| 91免费看视频| 亚洲一区二区在线观看视频| 成人污污视频在线观看| 欧美精品自拍偷拍动漫精品|