diff options
Diffstat (limited to 'target/linux/s3c24xx/patches-2.6.26/1005-s3c2410-bbt.patch.patch')
-rwxr-xr-x | target/linux/s3c24xx/patches-2.6.26/1005-s3c2410-bbt.patch.patch | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/target/linux/s3c24xx/patches-2.6.26/1005-s3c2410-bbt.patch.patch b/target/linux/s3c24xx/patches-2.6.26/1005-s3c2410-bbt.patch.patch new file mode 100755 index 0000000..598c4bb --- /dev/null +++ b/target/linux/s3c24xx/patches-2.6.26/1005-s3c2410-bbt.patch.patch @@ -0,0 +1,56 @@ +From ee782e877d8c50f3ed775aee8934565699a5fc99 Mon Sep 17 00:00:00 2001 +From: mokopatches <mokopatches@openmoko.org> +Date: Wed, 16 Jul 2008 14:44:10 +0100 +Subject: [PATCH] s3c2410-bbt.patch + [PATCH] Add Kconfig option to enable NAND bad-block-table support for s3c2410 + +This patch adds a new CONFIG_MTD_NAND_S3C2410_BBT which, if enabled, +asks the mtd NAND core to use a bad-block table. + +Signed-off-by: Harald Welte <laforge@openmoko.org> +--- + drivers/mtd/nand/s3c2410.c | 6 +++++- + include/asm-arm/plat-s3c/nand.h | 3 +++ + 2 files changed, 8 insertions(+), 1 deletions(-) + +diff --git a/drivers/mtd/nand/s3c2410.c b/drivers/mtd/nand/s3c2410.c +index 101b6b5..cd2e1da 100644 +--- a/drivers/mtd/nand/s3c2410.c ++++ b/drivers/mtd/nand/s3c2410.c +@@ -619,9 +619,13 @@ static void s3c2410_nand_init_chip(struct s3c2410_nand_info *info, + chip->select_chip = s3c2410_nand_select_chip; + chip->chip_delay = 50; + chip->priv = nmtd; +- chip->options = 0; + chip->controller = &info->controller; + ++ if (set->flags & S3C2410_NAND_BBT) ++ chip->options = NAND_USE_FLASH_BBT; ++ else ++ chip->options = 0; ++ + switch (info->cpu_type) { + case TYPE_S3C2410: + chip->IO_ADDR_W = regs + S3C2410_NFDATA; +diff --git a/include/asm-arm/plat-s3c/nand.h b/include/asm-arm/plat-s3c/nand.h +index ad6bbe9..54f479e 100644 +--- a/include/asm-arm/plat-s3c/nand.h ++++ b/include/asm-arm/plat-s3c/nand.h +@@ -21,11 +21,14 @@ + * partitions = mtd partition list + */ + ++#define S3C2410_NAND_BBT 0x0001 ++ + struct s3c2410_nand_set { + unsigned int disable_ecc : 1; + + int nr_chips; + int nr_partitions; ++ unsigned int flags; + char *name; + int *nr_map; + struct mtd_partition *partitions; +-- +1.5.6.3 + |