• pekon gupta's avatar
    mtd: nand: omap: enable BCH ECC scheme using ELM for generic platform · d016dc42
    pekon gupta authored
    
    
    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. During device probe ecc-scheme is selected based
    	on CONFIG_NAND_OMAP_ELM or CONFIG_NAND_OMAP_BCH8
    - enables CONFIG_BCH
    	S/W library (lib/bch.c) required by OMAP_ECC_BCHx_CODE_HW_DETECTION_SW
      	is enabled by CONFIG_BCH.
    - enables CONFIG_SYS_NAND_ONFI_DETECTION
    	for auto-detection of ONFI compliant NAND devices
    - updates following README doc
    	doc/README.nand
    	board/ti/am335x/README
    	doc/README.omap3
    Signed-off-by: default avatarPekon Gupta <pekon@ti.com>
    [scottwood@freescale.com: fixed unused variable warning]
    Signed-off-by: default avatarScott Wood <scottwood@freescale.com>
    d016dc42
omap_gpmc.c 28.8 KB