Blame view

kernel/linux-imx6_3.14.28/include/uapi/mtd/inftl-user.h 1.54 KB
6b13f685e   김민수   BSP 최초 추가
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
  /*
   * Parts of INFTL headers shared with userspace
   *
   */
  
  #ifndef __MTD_INFTL_USER_H__
  #define __MTD_INFTL_USER_H__
  
  #include <linux/types.h>
  
  #define	OSAK_VERSION	0x5120
  #define	PERCENTUSED	98
  
  #define	SECTORSIZE	512
  
  /* Block Control Information */
  
  struct inftl_bci {
  	__u8 ECCsig[6];
  	__u8 Status;
  	__u8 Status1;
  } __attribute__((packed));
  
  struct inftl_unithead1 {
  	__u16 virtualUnitNo;
  	__u16 prevUnitNo;
  	__u8 ANAC;
  	__u8 NACs;
  	__u8 parityPerField;
  	__u8 discarded;
  } __attribute__((packed));
  
  struct inftl_unithead2 {
  	__u8 parityPerField;
  	__u8 ANAC;
  	__u16 prevUnitNo;
  	__u16 virtualUnitNo;
  	__u8 NACs;
  	__u8 discarded;
  } __attribute__((packed));
  
  struct inftl_unittail {
  	__u8 Reserved[4];
  	__u16 EraseMark;
  	__u16 EraseMark1;
  } __attribute__((packed));
  
  union inftl_uci {
  	struct inftl_unithead1 a;
  	struct inftl_unithead2 b;
  	struct inftl_unittail c;
  };
  
  struct inftl_oob {
  	struct inftl_bci b;
  	union inftl_uci u;
  };
  
  
  /* INFTL Media Header */
  
  struct INFTLPartition {
  	__u32 virtualUnits;
  	__u32 firstUnit;
  	__u32 lastUnit;
  	__u32 flags;
  	__u32 spareUnits;
  	__u32 Reserved0;
  	__u32 Reserved1;
  } __attribute__((packed));
  
  struct INFTLMediaHeader {
  	char bootRecordID[8];
  	__u32 NoOfBootImageBlocks;
  	__u32 NoOfBinaryPartitions;
  	__u32 NoOfBDTLPartitions;
  	__u32 BlockMultiplierBits;
  	__u32 FormatFlags;
  	__u32 OsakVersion;
  	__u32 PercentUsed;
  	struct INFTLPartition Partitions[4];
  } __attribute__((packed));
  
  /* Partition flag types */
  #define	INFTL_BINARY	0x20000000
  #define	INFTL_BDTL	0x40000000
  #define	INFTL_LAST	0x80000000
  
  #endif /* __MTD_INFTL_USER_H__ */