summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeroen Hofstee <dasuboot@myspectrum.nl>2012-08-14 10:39:29 +0000
committerAlbert ARIBAUD <albert.u.boot@aribaud.net>2012-09-01 14:58:19 +0200
commitd43950463c4801cf32d05da313b8e0dcc8ae00f2 (patch)
tree76bc801faf568b17727439ebff9a731a832dc75a
parent1bb0946b5cd2d39762f178b3d98f5e2da4dbb4aa (diff)
downloadu-boot-imx-d43950463c4801cf32d05da313b8e0dcc8ae00f2.zip
u-boot-imx-d43950463c4801cf32d05da313b8e0dcc8ae00f2.tar.gz
u-boot-imx-d43950463c4801cf32d05da313b8e0dcc8ae00f2.tar.bz2
arm: omap: Fix switching back to nandecc sw.
Orjan Friberg wrote at [1]: "For the beagleboard, ecc.size is not explicitly set when doing 'nandecc sw'. If it's not set for the NAND_ECC_SOFT case in nand_scan_tail, it's set to 256 bytes. When doing 'nandecc hw', ecc.size is set to 512 bytes. Hence, when changing back to 'nandecc sw' ecc.size remains at 512 bytes and suddenly the format has changed." No patch has been submitted and the issue was still present. This patch adds the mentioned solution. Tested on a tam3517 board. [1] http://lists.denx.de/pipermail/u-boot/2012-February/119002.html cc: Orjan Friberg <of@flatfrog.com> Acked-by: Igor Grinberg <grinberg@compulab.co.il> Acked-by: Nikita Kiryanov <nikita@compulab.co.il> Signed-off-by: Jeroen Hofstee <jhofstee@victronenergy.com>
-rw-r--r--drivers/mtd/nand/omap_gpmc.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/mtd/nand/omap_gpmc.c b/drivers/mtd/nand/omap_gpmc.c
index ca868ef..f1469d1 100644
--- a/drivers/mtd/nand/omap_gpmc.c
+++ b/drivers/mtd/nand/omap_gpmc.c
@@ -283,6 +283,7 @@ void omap_nand_switch_ecc(int32_t hardware)
nand->ecc.mode = NAND_ECC_SOFT;
/* Use mtd default settings */
nand->ecc.layout = NULL;
+ nand->ecc.size = 0;
printf("SW ECC selected\n");
}