@@ -1493,6 +1493,8 @@ static int __devinit gpmi_nfc_init(struct gpmi_nand_data *this)
chip->ecc.mode = NAND_ECC_HW;
chip->ecc.size = 1;
chip->ecc.layout = &gpmi_hw_ecclayout;
+ if (pdata->enable_bbt)
+ chip->bbt_options = NAND_BBT_USE_FLASH | NAND_BBT_NO_OOB;
/* Allocate a temporary DMA buffer for reading ID in the nand_scan() */
this->bch_geometry.payload_size = 1024;
@@ -51,6 +51,7 @@
* @partitions: An optional pointer to an array of partition
* descriptions.
* @partition_count: The number of elements in the partitions array.
+ * @enable_bbt: Enable the BBT or not.
*/
struct gpmi_nand_platform_data {
/* SoC hardware information. */
@@ -64,5 +65,6 @@ struct gpmi_nand_platform_data {
/* Medium information. */
struct mtd_partition *partitions;
unsigned partition_count;
+ int enable_bbt;
};
#endif
Add a new field to gpmi_nand_platform_data{}. Make the BBT support to board specific. Signed-off-by: Huang Shijie <b32955@freescale.com> --- drivers/mtd/nand/gpmi-nand/gpmi-nand.c | 2 ++ include/linux/mtd/gpmi-nand.h | 2 ++ 2 files changed, 4 insertions(+), 0 deletions(-)