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

📄 mtd-abi.h

📁 TP-LINK公司TL-WR941N无线路由器的Bootloader U_BOOT源代码
💻 H
字号:
/* * $Id: //depot/sw/src3/boot/u-boot/include/linux/mtd/mtd-abi.h#1 $ * * Portions of MTD ABI definition which are shared by kernel and user space */#ifndef __MTD_ABI_H__#define __MTD_ABI_H__struct erase_info_user {	uint32_t start;	uint32_t length;};struct mtd_oob_buf {	uint32_t start;	uint32_t length;	unsigned char *ptr;};#define MTD_ABSENT		0#define MTD_RAM			1#define MTD_ROM			2#define MTD_NORFLASH		3#define MTD_NANDFLASH		4#define MTD_PEROM		5#define MTD_OTHER		14#define MTD_UNKNOWN		15#define MTD_CLEAR_BITS		1       /* Bits can be cleared (flash) */#define MTD_SET_BITS		2       /* Bits can be set */#define MTD_ERASEABLE		4       /* Has an erase function */#define MTD_WRITEB_WRITEABLE	8       /* Direct IO is possible */#define MTD_VOLATILE		16      /* Set for RAMs */#define MTD_XIP			32	/* eXecute-In-Place possible */#define MTD_OOB			64	/* Out-of-band data (NAND flash) */#define MTD_ECC			128	/* Device capable of automatic ECC */#define MTD_NO_VIRTBLOCKS	256	/* Virtual blocks not allowed *//* Some common devices / combinations of capabilities */#define MTD_CAP_ROM		0#define MTD_CAP_RAM		(MTD_CLEAR_BITS|MTD_SET_BITS|MTD_WRITEB_WRITEABLE)#define MTD_CAP_NORFLASH        (MTD_CLEAR_BITS|MTD_ERASEABLE)#define MTD_CAP_NANDFLASH       (MTD_CLEAR_BITS|MTD_ERASEABLE|MTD_OOB)#define MTD_WRITEABLE		(MTD_CLEAR_BITS|MTD_SET_BITS)/* Types of automatic ECC/Checksum available */#define MTD_ECC_NONE		0 	/* No automatic ECC available */#define MTD_ECC_RS_DiskOnChip	1	/* Automatic ECC on DiskOnChip */#define MTD_ECC_SW		2	/* SW ECC for Toshiba & Samsung devices *//* ECC byte placement */#define MTD_NANDECC_OFF		0	/* Switch off ECC (Not recommended) */#define MTD_NANDECC_PLACE	1	/* Use the given placement in the structure (YAFFS1 legacy mode) */#define MTD_NANDECC_AUTOPLACE	2	/* Use the default placement scheme */#define MTD_NANDECC_PLACEONLY	3	/* Use the given placement in the structure (Do not store ecc result on read) */#define MTD_NANDECC_AUTOPL_USR 	4	/* Use the given autoplacement scheme rather than using the default */struct mtd_info_user {	uint8_t type;	uint32_t flags;	uint32_t size;	 /* Total size of the MTD */	uint32_t erasesize;	uint32_t oobblock;  /* Size of OOB blocks (e.g. 512) */	uint32_t oobsize;   /* Amount of OOB data per block (e.g. 16) */	uint32_t ecctype;	uint32_t eccsize;};struct region_info_user {	uint32_t offset;		/* At which this region starts,					 * from the beginning of the MTD */	uint32_t erasesize;		/* For this region */	uint32_t numblocks;		/* Number of blocks in this region */	uint32_t regionindex;};#define MEMGETINFO              _IOR('M', 1, struct mtd_info_user)#define MEMERASE                _IOW('M', 2, struct erase_info_user)#define MEMWRITEOOB             _IOWR('M', 3, struct mtd_oob_buf)#define MEMREADOOB              _IOWR('M', 4, struct mtd_oob_buf)#define MEMLOCK                 _IOW('M', 5, struct erase_info_user)#define MEMUNLOCK               _IOW('M', 6, struct erase_info_user)#define MEMGETREGIONCOUNT	_IOR('M', 7, int)#define MEMGETREGIONINFO	_IOWR('M', 8, struct region_info_user)#define MEMSETOOBSEL		_IOW('M', 9, struct nand_oobinfo)#define MEMGETOOBSEL		_IOR('M', 10, struct nand_oobinfo)#define MEMGETBADBLOCK		_IOW('M', 11, loff_t)#define MEMSETBADBLOCK		_IOW('M', 12, loff_t)struct nand_oobinfo {	uint32_t useecc;	uint32_t eccbytes;	uint32_t oobfree[8][2];	uint32_t eccpos[32];};#endif /* __MTD_ABI_H__ */

⌨️ 快捷键说明

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