@@ -445,6 +445,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,
};
@@ -563,6 +564,14 @@ static void gta02_poweroff(void)
pcf50633_reg_set_bit_mask(gta02_pcf, PCF50633_REG_OOCSHDWN, 1, 1);
}
+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 __init gta02_machine_init(void)
{
/* Set the panic callback to turn AUX LED on or off. */
Early versions of 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 | 9 +++++++++ 1 files changed, 9 insertions(+), 0 deletions(-)