
On Thu, Aug 29, 2013 at 04:26:41PM +0530, Pekon Gupta wrote:
BCH8_ECC scheme implemented in omap_gpmc.c driver has following favours +-----------------------------------+-----------------+-----------------+ |ECC Scheme | ECC Calculation | Error Detection | +-----------------------------------+-----------------+-----------------+ |OMAP_ECC_BCH8_CODE_HW |GPMC |ELM H/W engine | |OMAP_ECC_BCH8_CODE_HW_DETECTION_SW |GPMC |S/W BCH library | +-----------------------------------+-----------------+-----------------+
Current implementation limits the BCH8_CODE_HW only for AM33xx device family. (using CONFIG_AM33XX). However, other SoC families (like TI81xx) also have ELM hardware module, and can support ECC error detection using ELM.
This patch
- removes CONFIG_AM33xx Thus this driver can be reused by all devices having ELM h/w engine.
- adds omap_select_ecc_scheme() A common function to handle ecc-scheme related configurations. This can be used both during device-probe and via user-space u-boot commads to change ecc-scheme.
- adds CONFIG_BCH S/W library (lib/bch.c) required by OMAP_ECC_BCH8_CODE_HW_DETECTION_SW is enabled by CONFIG_BCH.
- adds CONFIG_SYS_NAND_ECCSCHEME (new) user specified CONFIG to determine ecc-scheme used during boot
- adds CONFIG_SYS_NAND_ONFI_DETECTION enable auto-detection of ONFI compliant devices
Signed-off-by: Pekon Gupta pekon@ti.com
arch/arm/include/asm/arch-am33xx/omap_gpmc.h | 48 +---- doc/README.nand | 13 ++ drivers/mtd/nand/omap_gpmc.c | 291 ++++++++++++++++----------- include/configs/am335x_evm.h | 2 + 4 files changed, 195 insertions(+), 159 deletions(-)
For the am33xx related parts: Reviewed-by: Tom Rini trini@ti.com