u-boot-brain/arch
pekon gupta d016dc42ce mtd: nand: omap: enable BCH ECC scheme using ELM for generic platform
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: Pekon Gupta <pekon@ti.com>
[scottwood@freescale.com: fixed unused variable warning]
Signed-off-by: Scott Wood <scottwood@freescale.com>
2013-11-21 13:33:41 -06:00
..
arm mtd: nand: omap: enable BCH ECC scheme using ELM for generic platform 2013-11-21 13:33:41 -06:00
avr32 avr32: convert makefiles to Kbuild style 2013-10-31 13:26:45 -04:00
blackfin include: delete include/linux/config.h 2013-11-08 15:25:13 -05:00
m68k include: delete include/linux/config.h 2013-11-08 15:25:13 -05:00
microblaze include: delete include/linux/config.h 2013-11-08 15:25:13 -05:00
mips malta: arch/mips/include/asm/malta.h SPDX license tag 2013-11-11 12:32:58 +01:00
nds32 nds32: convert makefiles to Kbuild style 2013-11-01 11:42:11 -04:00
nios2 nios2: convert makefiles to Kbuild style 2013-11-01 11:42:11 -04:00
openrisc openrisc: convert makefiles to Kbuild style 2013-10-31 13:26:45 -04:00
powerpc mtd/ifc: Add support of 8K page size NAND flash 2013-11-21 13:33:40 -06:00
sandbox sandbox: convert makefiles to Kbuild style 2013-10-31 13:26:44 -04:00
sh sh: convert to common timer code 2013-11-04 11:08:10 -05:00
sparc include: delete include/linux/config.h 2013-11-08 15:25:13 -05:00
x86 cosmetic: remove empty lines at the top of file 2013-11-08 09:41:37 -05:00
.gitignore update include/asm/ gitignore after move 2010-05-07 00:17:30 +02:00