public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] omap_gpmc: Do not default to HAM1 when SW ECC is selected
@ 2015-02-18  2:58 Adam YH Lee
  2015-02-18 14:14 ` Andreas Bießmann
  0 siblings, 1 reply; 6+ messages in thread
From: Adam YH Lee @ 2015-02-18  2:58 UTC (permalink / raw)
  To: u-boot

The ECC scheme selection algorithm in OMAP GPMC appears to be left untested when
BCH8 handling code was added. Running 'nandecc sw' defaults to HAM1 even if
the board is using another scheme (ex. OMAP_ECC_BCH8_CODE_HW_DETECTION_SW on
OMAP3). This results in unrecoverable ECC errors when reading data. This commit
fixes the behavior by checking for CONFIG_BCH and using the scheme defined by
CONFIG_NAND_OMAP_ECCSCHEME in the board configuration file.

This has been tested on Gumstix Overo (OMAP3).

Signed-off-by: Adam YH Lee <adam.yh.lee@gmail.com>
---
 drivers/mtd/nand/omap_gpmc.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/mtd/nand/omap_gpmc.c b/drivers/mtd/nand/omap_gpmc.c
index fc64f48..5daf932 100644
--- a/drivers/mtd/nand/omap_gpmc.c
+++ b/drivers/mtd/nand/omap_gpmc.c
@@ -901,8 +901,13 @@ int __maybe_unused omap_nand_switch_ecc(uint32_t hardware, uint32_t eccstrength)
 			return -EINVAL;
 		}
 	} else {
+		#ifdef CONFIG_BCH
+		err = omap_select_ecc_scheme(nand, CONFIG_NAND_OMAP_ECCSCHEME,
+					mtd->writesize, mtd->oobsize);
+		#else
 		err = omap_select_ecc_scheme(nand, OMAP_ECC_HAM1_CODE_SW,
 					mtd->writesize, mtd->oobsize);
+		#endif
 	}
 
 	/* Update NAND handling after ECC mode switch */
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2015-03-06 15:47 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-02-18  2:58 [U-Boot] omap_gpmc: Do not default to HAM1 when SW ECC is selected Adam YH Lee
2015-02-18 14:14 ` Andreas Bießmann
2015-02-18 17:33   ` Adam Lee
2015-02-18 19:04     ` Adam Lee
2015-02-18 19:25   ` [U-Boot] [PATCH] omap: gpmc: 'nandecc sw' can use HAM1 or BCH8 Ash Charles
2015-03-06 15:47     ` [U-Boot] " Tom Rini

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox