summaryrefslogtreecommitdiff
path: root/drivers/mtd/nand/omap_gpmc.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/mtd/nand/omap_gpmc.c')
-rw-r--r--drivers/mtd/nand/omap_gpmc.c24
1 files changed, 10 insertions, 14 deletions
diff --git a/drivers/mtd/nand/omap_gpmc.c b/drivers/mtd/nand/omap_gpmc.c
index b60fa958f9..b746c4b375 100644
--- a/drivers/mtd/nand/omap_gpmc.c
+++ b/drivers/mtd/nand/omap_gpmc.c
@@ -301,16 +301,6 @@ void omap_nand_switch_ecc(int32_t hardware)
* explanation
*/
-#ifdef CONFIG_OMAP3_LV_SOM
-static uint8_t omap3_lv_som_scan_ff_pattern[] = { 0xff, 0xff };
-static struct nand_bbt_descr omap3_lv_som_largepage_memorybased = {
- .options = 0,
- .offs = 0,
- .len = 1, /* to match LoLo, only first byte is looked at */
- .pattern = omap3_lv_som_scan_ff_pattern
-};
-#endif
-
int board_nand_init(struct nand_chip *nand)
{
int32_t gpmc_config = 0;
@@ -360,11 +350,17 @@ int board_nand_init(struct nand_chip *nand)
nand->chip_delay = 100;
/* Default ECC mode */
+#if 0
+ nand->ecc.mode = NAND_ECC_HW;
+ nand->ecc.layout = &hw_nand_oob;
+ nand->ecc.size = 512;
+ nand->ecc.bytes = 3;
+ nand->ecc.hwctl = omap_enable_hwecc;
+ nand->ecc.correct = omap_correct_data;
+ nand->ecc.calculate = omap_calculate_ecc;
+ omap_hwecc_init(nand);
+#else
nand->ecc.mode = NAND_ECC_SOFT;
-
-#ifdef CONFIG_OMAP3_LV_SOM
- /* Use our specific bad-block definition (first byte only) */
- nand->badblock_pattern = &omap3_lv_som_largepage_memorybased;
#endif
return 0;