123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- /* 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__ */
|