cpp-d1064d
[cross.git] / i686-linux-gnu-4.7 / usr / include / mtd / inftl-user.h
diff --git a/i686-linux-gnu-4.7/usr/include/mtd/inftl-user.h b/i686-linux-gnu-4.7/usr/include/mtd/inftl-user.h
new file mode 100644 (file)
index 0000000..8d5044e
--- /dev/null
@@ -0,0 +1,92 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+/*
+ * 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__ */
+
+