root/include/uapi/mtd/inftl-user.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


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

/* [<][>][^][v][top][bottom][index][help] */