blob: e311b233cb81f4ed2dac2886834da52d7ad8c092 [file] [log] [blame]
The Android Open Source Project1dc9e472009-03-03 19:28:35 -08001/****************************************************************************
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
Ben Cheng4b29af02012-03-07 16:14:53 -080014
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080015#define NAND_MAX_CHIPS 8
Ben Cheng4b29af02012-03-07 16:14:53 -080016
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080017struct 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};
Ben Cheng4b29af02012-03-07 16:14:53 -080028
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080029#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
Ben Cheng4b29af02012-03-07 16:14:53 -080034
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080035#define NAND_BBT_LASTBLOCK 0x00000010
Ben Cheng4b29af02012-03-07 16:14:53 -080036
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080037#define NAND_BBT_ABSPAGE 0x00000020
Ben Cheng4b29af02012-03-07 16:14:53 -080038
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080039#define NAND_BBT_SEARCH 0x00000040
Ben Cheng4b29af02012-03-07 16:14:53 -080040
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080041#define NAND_BBT_PERCHIP 0x00000080
Ben Cheng4b29af02012-03-07 16:14:53 -080042
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080043#define NAND_BBT_VERSION 0x00000100
Ben Cheng4b29af02012-03-07 16:14:53 -080044
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080045#define NAND_BBT_CREATE 0x00000200
Ben Cheng4b29af02012-03-07 16:14:53 -080046
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080047#define NAND_BBT_SCANALLPAGES 0x00000400
Ben Cheng4b29af02012-03-07 16:14:53 -080048
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080049#define NAND_BBT_SCANEMPTY 0x00000800
Ben Cheng4b29af02012-03-07 16:14:53 -080050
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080051#define NAND_BBT_WRITE 0x00001000
Ben Cheng4b29af02012-03-07 16:14:53 -080052
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080053#define NAND_BBT_SAVECONTENT 0x00002000
Ben Cheng4b29af02012-03-07 16:14:53 -080054
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080055#define NAND_BBT_SCAN2NDPAGE 0x00004000
Ben Cheng4b29af02012-03-07 16:14:53 -080056
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080057#define NAND_BBT_SCAN_MAXBLOCKS 4
Ben Cheng4b29af02012-03-07 16:14:53 -080058
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080059#define ONENAND_BADBLOCK_POS 0
Ben Cheng4b29af02012-03-07 16:14:53 -080060
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080061struct bbm_info {
62 int bbt_erase_shift;
63 int badblockpos;
64 int options;
Ben Cheng4b29af02012-03-07 16:14:53 -080065
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080066 uint8_t *bbt;
Ben Cheng4b29af02012-03-07 16:14:53 -080067
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080068 int (*isbad_bbt)(struct mtd_info *mtd, loff_t ofs, int allowbbt);
Ben Cheng4b29af02012-03-07 16:14:53 -080069
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080070 struct nand_bbt_descr *badblock_pattern;
Ben Cheng4b29af02012-03-07 16:14:53 -080071
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080072 void *priv;
73};
Ben Cheng4b29af02012-03-07 16:14:53 -080074
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080075#endif