11dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/****************************************************************************
21dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ****************************************************************************
31dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ***
41dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ***   This header was automatically generated from a Linux kernel header
51dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ***   of the same name, to make information necessary for userspace to
61dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ***   call into the kernel available to libc.  It contains only constants,
71dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ***   structures, and macros generated from the original header, and thus,
81dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ***   contains no copyrightable information.
91dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ***
10654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng ***   To edit the content of this header, modify the corresponding
11654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng ***   source file (e.g. under external/kernel-headers/original/) then
12654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng ***   run bionic/libc/kernel/tools/update_all.py
13654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng ***
14654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng ***   Any manual change here will be lost the next time this script will
15654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng ***   be run. You've been warned!
16654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng ***
171dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ****************************************************************************
181dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ****************************************************************************/
191dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#ifndef __LINUX_MTD_BBM_H
201dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define __LINUX_MTD_BBM_H
211dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define NAND_MAX_CHIPS 8
221dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectstruct nand_bbt_descr {
23654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
241dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project int options;
251dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project int pages[NAND_MAX_CHIPS];
261dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project int offs;
271dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project int veroffs;
28654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
291dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project uint8_t version[NAND_MAX_CHIPS];
301dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project int len;
311dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project int maxblocks;
321dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project int reserved_block_code;
33654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
341dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project uint8_t *pattern;
351dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project};
361dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define NAND_BBT_NRBITS_MSK 0x0000000F
371dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define NAND_BBT_1BIT 0x00000001
38654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
391dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define NAND_BBT_2BIT 0x00000002
401dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define NAND_BBT_4BIT 0x00000004
411dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define NAND_BBT_8BIT 0x00000008
421dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define NAND_BBT_LASTBLOCK 0x00000010
43654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
441dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define NAND_BBT_ABSPAGE 0x00000020
451dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define NAND_BBT_SEARCH 0x00000040
461dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define NAND_BBT_PERCHIP 0x00000080
471dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define NAND_BBT_VERSION 0x00000100
48654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
491dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define NAND_BBT_CREATE 0x00000200
501dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define NAND_BBT_SCANALLPAGES 0x00000400
511dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define NAND_BBT_SCANEMPTY 0x00000800
521dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define NAND_BBT_WRITE 0x00001000
53654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
541dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define NAND_BBT_SAVECONTENT 0x00002000
551dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define NAND_BBT_SCAN2NDPAGE 0x00004000
561dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define NAND_BBT_SCAN_MAXBLOCKS 4
571dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define ONENAND_BADBLOCK_POS 0
58654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
591dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectstruct bbm_info {
601dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project int bbt_erase_shift;
611dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project int badblockpos;
621dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project int options;
63654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
641dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project uint8_t *bbt;
651dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project int (*isbad_bbt)(struct mtd_info *mtd, loff_t ofs, int allowbbt);
661dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct nand_bbt_descr *badblock_pattern;
671dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project void *priv;
68654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
691dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project};
701dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#endif
71