kernel/eka/drivers/medmmc/toc.h
changeset 300 1d28c8722707
parent 202 9aca3be14c27
equal deleted inserted replaced
293:0659d0e1a03c 300:1d28c8722707
    63 const TText8  KTocRofs5Generic[]    = "ROFS5";
    63 const TText8  KTocRofs5Generic[]    = "ROFS5";
    64 const TText8  KTocRofs6Generic[]    = "ROFS6";
    64 const TText8  KTocRofs6Generic[]    = "ROFS6";
    65 const TUint   KNoOfROFSPartitions   = 6;
    65 const TUint   KNoOfROFSPartitions   = 6;
    66 
    66 
    67 const TInt    KSectorShift          = 9;
    67 const TInt    KSectorShift          = 9;
       
    68 
       
    69 // Version Info const and enums
       
    70 
       
    71 enum
       
    72      {
       
    73      EHalGroupNandMedia = 28
       
    74      };
       
    75  
       
    76  
       
    77  /**
       
    78      The number of nand media attributes.
       
    79  
       
    80      It is simply defined by its position in the enumeration.
       
    81  */ 
       
    82  enum TNandMediaHalFunction
       
    83      {
       
    84      EEraseBlockSize=1,           /// nand device block size
       
    85      EIsEraseNeedBeforeWrite,     /// erase command is mandatory before write
       
    86      EAtomicWriteSize,            /// minimal size of data what can be written
       
    87      
       
    88      EGetVersionInfoItems=0x10,   ///  total amount of items in version info structure
       
    89      EGetVersionInfo              ///  get version info structure array from media driver
       
    90      };
       
    91  
       
    92  
       
    93  /**
       
    94      The nand media devices enumeration.
       
    95  
       
    96  */ 
       
    97  enum 
       
    98      {
       
    99      ENandMediaDevice1=1          /// nand device1
       
   100      };
       
   101 
       
   102 
       
   103 const TUint8  KMaxSectionItems     = 32;
       
   104 const TUint8  KMaxSectionNameLen   = 12;
       
   105 const TUint8  KMaxVersionInfoLen   = 28;
       
   106 
       
   107 const TUint32 KImageHeaderMagic    = 0x31DEEAE8UL;
       
   108 
       
   109 // Image header always located after BB5_CommonHeader
       
   110 const TUint32  KImageHeaderOffset  = 0x3D0;
       
   111 
       
   112 struct TVersionInfoItem
       
   113      {
       
   114      TText8  iSectionName[KMaxSectionNameLen];
       
   115      TUint32 iSectionMaxSize;
       
   116      TUint32 iImageCompressedSize;
       
   117      TUint32 iImageSize;
       
   118      TText8  iVersion[KMaxVersionInfoLen];
       
   119      };
       
   120 
       
   121 
       
   122 // Image header
       
   123 // It is added after BB5_Common_Header
       
   124 struct TImageHeader
       
   125      {
       
   126      TUint32 iMagic;
       
   127      TUint32 iImageCompressedSize;
       
   128      TUint32 iImageSize;
       
   129      TUint32 iLoadAddress;
       
   130      TUint32 iReserved;
       
   131      TText8  iVersion[KMaxVersionInfoLen];
       
   132      };
       
   133 
       
   134 
    68 /**
   135 /**
    69 TOC access for kernel side clients.
   136 TOC access for kernel side clients.
    70 */
   137 */
    71 class Toc
   138 class Toc
    72     {
   139     {