[U-Boot] [U-Boot, v2, 1/3] am33xx: elm: add support for BCH16_ECC - ELM driver updates

Scott Wood scottwood at freescale.com
Thu Nov 14 01:35:57 CET 2013


On Tue, Sep 10, 2013 at 12:55:06PM +0530, pekon gupta wrote:
> With increase in NAND flash densities occurence of bit-flips has increased.
> Thus stronger ECC schemes are required for detecting and correcting multiple
> simultaneous bit-flips in same NAND page. But stronger ECC schemes have large
> ECC syndrome which require more space in OOB/Spare.
> This patch add support for BCH16_ECC:
> (a) BCH16_ECC can correct 16 bit-flips per 512Bytes of data.
> (b) BCH16_ECC generates 26-bytes of ECC syndrome / 512B.
> 
> Due to (b) this scheme can only be used with NAND devices which have enough
> OOB to satisfy following equation:
> OOBsize per page >= 26 * (page-size / 512)
> 
> Signed-off-by: Pekon Gupta <pekon at ti.com>
> 
> ---
> arch/arm/cpu/armv7/am33xx/elm.c        | 95 ++++++++++++++++++++++------------
>  arch/arm/include/asm/arch-am33xx/elm.h | 16 +++---
>  2 files changed, 69 insertions(+), 42 deletions(-)

omap_gpmc.c: In function 'omap_correct_data_bch':
omap_gpmc.c:550:19: error: conversion to incomplete type

It looks like this is fixed in patch 2/3, but this breaks bisectability.

Also, does this code really belong under arch/arm rather than
drivers/mtd/nand?

-Scott



More information about the U-Boot mailing list