2 * Parts of INFTL headers shared with userspace
6 #ifndef __MTD_INFTL_USER_H__
7 #define __MTD_INFTL_USER_H__
9 #include <linux/types.h>
11 #define OSAK_VERSION 0x5120
12 #define PERCENTUSED 98
14 #define SECTORSIZE 512
16 /* Block Control Information */
22 } __attribute__((packed));
24 struct inftl_unithead1 {
25 uint16_t virtualUnitNo;
29 uint8_t parityPerField;
31 } __attribute__((packed));
33 struct inftl_unithead2 {
34 uint8_t parityPerField;
37 uint16_t virtualUnitNo;
40 } __attribute__((packed));
42 struct inftl_unittail {
46 } __attribute__((packed));
49 struct inftl_unithead1 a;
50 struct inftl_unithead2 b;
51 struct inftl_unittail c;
60 /* INFTL Media Header */
62 struct INFTLPartition {
70 } __attribute__((packed));
72 struct INFTLMediaHeader {
74 __u32 NoOfBootImageBlocks;
75 __u32 NoOfBinaryPartitions;
76 __u32 NoOfBDTLPartitions;
77 __u32 BlockMultiplierBits;
81 struct INFTLPartition Partitions[4];
82 } __attribute__((packed));
84 /* Partition flag types */
85 #define INFTL_BINARY 0x20000000
86 #define INFTL_BDTL 0x40000000
87 #define INFTL_LAST 0x80000000
89 #endif /* __MTD_INFTL_USER_H__ */