summaryrefslogtreecommitdiff
path: root/meta/packages/uboot/u-boot-mkimage-openmoko-native/bbt-scan-second.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/packages/uboot/u-boot-mkimage-openmoko-native/bbt-scan-second.patch')
-rw-r--r--meta/packages/uboot/u-boot-mkimage-openmoko-native/bbt-scan-second.patch69
1 files changed, 0 insertions, 69 deletions
diff --git a/meta/packages/uboot/u-boot-mkimage-openmoko-native/bbt-scan-second.patch b/meta/packages/uboot/u-boot-mkimage-openmoko-native/bbt-scan-second.patch
deleted file mode 100644
index 37b280790..000000000
--- a/meta/packages/uboot/u-boot-mkimage-openmoko-native/bbt-scan-second.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-Scan also the second OOB page for bad block information.
-
-board/neo1973/gta01/nand.c (board_nand_init): added board-specific badblock
- pattern which sets NAND_BBT_SCAN2NDPAGE
-drivers/nand/nand_base.c (nand_block_bad): also consider the second page in a
- block if NAND_BBT_SCAN2NDPAGE is set
-
-- Werner Almesberger <werner@openmoko.org>
-
-Index: u-boot/board/neo1973/gta01/nand.c
-===================================================================
---- u-boot.orig/board/neo1973/gta01/nand.c
-+++ u-boot/board/neo1973/gta01/nand.c
-@@ -113,9 +113,23 @@
- }
-
-
-+/* Derived from drivers/nand/nand_bbt.c:smallpage_flashbased */
-+
-+static uint8_t scan_ff_pattern[] = { 0xff, 0xff };
-+
-+static struct nand_bbt_descr badblock_pattern = {
-+ .options =
-+ NAND_BBT_SCANEMPTY | NAND_BBT_SCANALLPAGES | NAND_BBT_SCAN2NDPAGE,
-+ .offs = 5,
-+ .len = 1,
-+ .pattern = scan_ff_pattern
-+};
-+
-+
- int board_nand_init(struct nand_chip *nand)
- {
- nand->read_otp = samsung_nand_read_otp;
- nand->write_otp = samsung_nand_write_otp;
-+ nand->badblock_pattern = &badblock_pattern;
- return s3c24x0_nand_init(nand);
- }
-Index: u-boot/drivers/nand/nand_base.c
-===================================================================
---- u-boot.orig/drivers/nand/nand_base.c
-+++ u-boot/drivers/nand/nand_base.c
-@@ -421,7 +421,7 @@
- *
- * Check, if the block is bad.
- */
--static int nand_block_bad(struct mtd_info *mtd, loff_t ofs, int getchip)
-+static int nand_block_bad_page(struct mtd_info *mtd, loff_t ofs, int getchip)
- {
- int page, chipnr, res = 0;
- struct nand_chip *this = mtd->priv;
-@@ -460,6 +460,18 @@
- return res;
- }
-
-+static int nand_block_bad(struct mtd_info *mtd, loff_t ofs, int getchip)
-+{
-+ struct nand_chip *this = mtd->priv;
-+
-+ if (nand_block_bad_page(mtd, ofs, getchip))
-+ return 1;
-+ if (this->badblock_pattern->options & NAND_BBT_SCAN2NDPAGE &&
-+ nand_block_bad_page(mtd, ofs+(1 << this->page_shift), getchip))
-+ return 1;
-+ return 0;
-+}
-+
- /**
- * nand_default_block_markbad - [DEFAULT] mark a block bad
- * @mtd: MTD device structure