gta02: Disable hardware ECC unless we get instructed to enable it
authorHolger Freyther <zecke@openmoko.org>
Wed, 19 Nov 2008 17:10:51 +0000 (17:10 +0000)
committerLars-Peter Clausen <lars@metafoo.de>
Mon, 17 May 2010 18:59:35 +0000 (20:59 +0200)
Early verions off uboot used for the gta02 flashed the nand with ecc information
incompatible to s3c2440 hardware ecc. Disable hardware error correction by
default, unless the bootloader explicitly enables it.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
arch/arm/mach-s3c2440/mach-gta02.c

index c73421c..0e195f9 100644 (file)
@@ -455,6 +455,7 @@ static struct s3c2410_platform_nand __initdata gta02_nand_info = {
        .twrph1         = 15,
        .nr_sets        = ARRAY_SIZE(gta02_nand_sets),
        .sets           = gta02_nand_sets,
+       .software_ecc   = 1,
 };
 
 
@@ -808,6 +809,18 @@ static void gta02_hijack_gpb(void)
        s3c24xx_gpios[1].chip.get = gta02_gpb_get;
 }
 
+/*
+ * Allow the bootloader to enable hw ecc
+ * hardware_ecc=1|0
+ */
+static int __init hardware_ecc_setup(char *str)
+{
+       if (str && str[0] == '1')
+               gta02_nand_info.software_ecc = 0;
+       return 1;
+}
+__setup("hardware_ecc=", hardware_ecc_setup);
+
 static void gta02_request_gpios(void)
 {
        int ret;