summaryrefslogtreecommitdiff
path: root/target/linux/s3c24xx/patches/0005-s3c2410-bbt.patch.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/s3c24xx/patches/0005-s3c2410-bbt.patch.patch')
-rwxr-xr-xtarget/linux/s3c24xx/patches/0005-s3c2410-bbt.patch.patch56
1 files changed, 56 insertions, 0 deletions
diff --git a/target/linux/s3c24xx/patches/0005-s3c2410-bbt.patch.patch b/target/linux/s3c24xx/patches/0005-s3c2410-bbt.patch.patch
new file mode 100755
index 0000000000..598c4bb55b
--- /dev/null
+++ b/target/linux/s3c24xx/patches/0005-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
+