mirror of
				https://github.com/smaeul/u-boot.git
				synced 2025-11-04 05:50:17 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			77 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			77 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/*
 | 
						|
 * $Id: nftl-user.h,v 1.2 2005/11/07 11:14:56 gleixner Exp $
 | 
						|
 *
 | 
						|
 * Parts of NFTL headers shared with userspace
 | 
						|
 *
 | 
						|
 */
 | 
						|
 | 
						|
#ifndef __MTD_NFTL_USER_H__
 | 
						|
#define __MTD_NFTL_USER_H__
 | 
						|
 | 
						|
/* Block Control Information */
 | 
						|
 | 
						|
struct nftl_bci {
 | 
						|
	unsigned char ECCSig[6];
 | 
						|
	uint8_t Status;
 | 
						|
	uint8_t Status1;
 | 
						|
}__attribute__((packed));
 | 
						|
 | 
						|
/* Unit Control Information */
 | 
						|
 | 
						|
struct nftl_uci0 {
 | 
						|
	uint16_t VirtUnitNum;
 | 
						|
	uint16_t ReplUnitNum;
 | 
						|
	uint16_t SpareVirtUnitNum;
 | 
						|
	uint16_t SpareReplUnitNum;
 | 
						|
} __attribute__((packed));
 | 
						|
 | 
						|
struct nftl_uci1 {
 | 
						|
	uint32_t WearInfo;
 | 
						|
	uint16_t EraseMark;
 | 
						|
	uint16_t EraseMark1;
 | 
						|
} __attribute__((packed));
 | 
						|
 | 
						|
struct nftl_uci2 {
 | 
						|
	uint16_t FoldMark;
 | 
						|
	uint16_t FoldMark1;
 | 
						|
	uint32_t unused;
 | 
						|
} __attribute__((packed));
 | 
						|
 | 
						|
union nftl_uci {
 | 
						|
	struct nftl_uci0 a;
 | 
						|
	struct nftl_uci1 b;
 | 
						|
	struct nftl_uci2 c;
 | 
						|
};
 | 
						|
 | 
						|
struct nftl_oob {
 | 
						|
	struct nftl_bci b;
 | 
						|
	union nftl_uci u;
 | 
						|
};
 | 
						|
 | 
						|
/* NFTL Media Header */
 | 
						|
 | 
						|
struct NFTLMediaHeader {
 | 
						|
	char DataOrgID[6];
 | 
						|
	uint16_t NumEraseUnits;
 | 
						|
	uint16_t FirstPhysicalEUN;
 | 
						|
	uint32_t FormattedSize;
 | 
						|
	unsigned char UnitSizeFactor;
 | 
						|
} __attribute__((packed));
 | 
						|
 | 
						|
#define MAX_ERASE_ZONES (8192 - 512)
 | 
						|
 | 
						|
#define ERASE_MARK 0x3c69
 | 
						|
#define SECTOR_FREE 0xff
 | 
						|
#define SECTOR_USED 0x55
 | 
						|
#define SECTOR_IGNORE 0x11
 | 
						|
#define SECTOR_DELETED 0x00
 | 
						|
 | 
						|
#define FOLD_MARK_IN_PROGRESS 0x5555
 | 
						|
 | 
						|
#define ZONE_GOOD 0xff
 | 
						|
#define ZONE_BAD_ORIGINAL 0
 | 
						|
#define ZONE_BAD_MARKED 7
 | 
						|
 | 
						|
 | 
						|
#endif /* __MTD_NFTL_USER_H__ */
 |