Home | History | Annotate | Download | only in mtd
      1 /****************************************************************************
      2  ****************************************************************************
      3  ***
      4  ***   This header was automatically generated from a Linux kernel header
      5  ***   of the same name, to make information necessary for userspace to
      6  ***   call into the kernel available to libc.  It contains only constants,
      7  ***   structures, and macros generated from the original header, and thus,
      8  ***   contains no copyrightable information.
      9  ***
     10  ****************************************************************************
     11  ****************************************************************************/
     12 #ifndef __LINUX_MTD_BBM_H
     13 #define __LINUX_MTD_BBM_H
     14 
     15 #define NAND_MAX_CHIPS 8
     16 
     17 struct nand_bbt_descr {
     18  int options;
     19  int pages[NAND_MAX_CHIPS];
     20  int offs;
     21  int veroffs;
     22  uint8_t version[NAND_MAX_CHIPS];
     23  int len;
     24  int maxblocks;
     25  int reserved_block_code;
     26  uint8_t *pattern;
     27 };
     28 
     29 #define NAND_BBT_NRBITS_MSK 0x0000000F
     30 #define NAND_BBT_1BIT 0x00000001
     31 #define NAND_BBT_2BIT 0x00000002
     32 #define NAND_BBT_4BIT 0x00000004
     33 #define NAND_BBT_8BIT 0x00000008
     34 
     35 #define NAND_BBT_LASTBLOCK 0x00000010
     36 
     37 #define NAND_BBT_ABSPAGE 0x00000020
     38 
     39 #define NAND_BBT_SEARCH 0x00000040
     40 
     41 #define NAND_BBT_PERCHIP 0x00000080
     42 
     43 #define NAND_BBT_VERSION 0x00000100
     44 
     45 #define NAND_BBT_CREATE 0x00000200
     46 
     47 #define NAND_BBT_SCANALLPAGES 0x00000400
     48 
     49 #define NAND_BBT_SCANEMPTY 0x00000800
     50 
     51 #define NAND_BBT_WRITE 0x00001000
     52 
     53 #define NAND_BBT_SAVECONTENT 0x00002000
     54 
     55 #define NAND_BBT_SCAN2NDPAGE 0x00004000
     56 
     57 #define NAND_BBT_SCAN_MAXBLOCKS 4
     58 
     59 #define ONENAND_BADBLOCK_POS 0
     60 
     61 struct bbm_info {
     62  int bbt_erase_shift;
     63  int badblockpos;
     64  int options;
     65 
     66  uint8_t *bbt;
     67 
     68  int (*isbad_bbt)(struct mtd_info *mtd, loff_t ofs, int allowbbt);
     69 
     70  struct nand_bbt_descr *badblock_pattern;
     71 
     72  void *priv;
     73 };
     74 
     75 #endif
     76