Skip to content

Commit

Permalink
[MTD] [NAND] S3C2410: Allow the machine code to get the BBT table fro…
Browse files Browse the repository at this point in the history
…m 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>
  • Loading branch information
Michel Pollet authored and Ben Dooks committed Jun 8, 2009
1 parent a4536b1 commit 9db41f9
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 0 deletions.
5 changes: 5 additions & 0 deletions arch/arm/plat-s3c/include/plat/nand.h
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,10 @@
/**
* struct s3c2410_nand_set - define a set of one or more nand chips
* @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_partitions: Number of partitions pointed to by @partitions
* @name: Name of set (optional)
Expand All @@ -25,6 +29,7 @@
*/
struct s3c2410_nand_set {
unsigned int disable_ecc:1;
unsigned int flash_bbt:1;

int nr_chips;
int nr_partitions;
Expand Down
6 changes: 6 additions & 0 deletions drivers/mtd/nand/s3c2410.c
Original file line number Diff line number Diff line change
Expand Up @@ -845,6 +845,12 @@ static void s3c2410_nand_init_chip(struct s3c2410_nand_info *info,
dev_info(info->device, "NAND ECC UNKNOWN\n");
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;
}

/**
Expand Down

0 comments on commit 9db41f9

Please sign in to comment.