[MTD] [NAND] S3C2410: Allow the machine code to get the BBT table from NAND
Added a flag to allow the machine code to tell the NAND subsystem that it should try to pickup a BBT from the flash, and also skip the NAND full scan at startup. Signed-off-by: Michel Pollet <buserror@gmail.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
This commit is contained in:
@ -13,6 +13,10 @@
|
|||||||
/**
|
/**
|
||||||
* struct s3c2410_nand_set - define a set of one or more nand chips
|
* struct s3c2410_nand_set - define a set of one or more nand chips
|
||||||
* @disable_ecc: Entirely disable ECC - Dangerous
|
* @disable_ecc: Entirely disable ECC - Dangerous
|
||||||
|
* @flash_bbt: Openmoko u-boot can create a Bad Block Table
|
||||||
|
* Setting this flag will allow the kernel to
|
||||||
|
* look for it at boot time and also skip the NAND
|
||||||
|
* scan.
|
||||||
* @nr_chips: Number of chips in this set
|
* @nr_chips: Number of chips in this set
|
||||||
* @nr_partitions: Number of partitions pointed to by @partitions
|
* @nr_partitions: Number of partitions pointed to by @partitions
|
||||||
* @name: Name of set (optional)
|
* @name: Name of set (optional)
|
||||||
@ -25,6 +29,7 @@
|
|||||||
*/
|
*/
|
||||||
struct s3c2410_nand_set {
|
struct s3c2410_nand_set {
|
||||||
unsigned int disable_ecc:1;
|
unsigned int disable_ecc:1;
|
||||||
|
unsigned int flash_bbt:1;
|
||||||
|
|
||||||
int nr_chips;
|
int nr_chips;
|
||||||
int nr_partitions;
|
int nr_partitions;
|
||||||
|
@ -845,6 +845,12 @@ static void s3c2410_nand_init_chip(struct s3c2410_nand_info *info,
|
|||||||
dev_info(info->device, "NAND ECC UNKNOWN\n");
|
dev_info(info->device, "NAND ECC UNKNOWN\n");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* If you use u-boot BBT creation code, specifying this flag will
|
||||||
|
* let the kernel fish out the BBT from the NAND, and also skip the
|
||||||
|
* full NAND scan that can take 1/2s or so. Little things... */
|
||||||
|
if (set->flash_bbt)
|
||||||
|
chip->options |= NAND_USE_FLASH_BBT | NAND_SKIP_BBTSCAN;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Reference in New Issue
Block a user