public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [PATCH v7 0/5] mtd: nand: omap: optimize and clean-up of OMAP NAND driver
@ 2013-09-30 14:13 Pekon Gupta
  2013-09-30 14:13 ` [U-Boot] [PATCH v7 1/5] mtd: nand: omap: enable BCH ECC scheme using ELM for generic platform Pekon Gupta
                   ` (6 more replies)
  0 siblings, 7 replies; 21+ messages in thread
From: Pekon Gupta @ 2013-09-30 14:13 UTC (permalink / raw)
  To: u-boot

*changes in v7*
[PATCH 1/5]
	- omap_gpmc.c: fix: free bytes in OOB (ecclayout->oobfree[0].length)
	- omap_gpmc.c: cleanup: redundant code added in previous patch versions
	- am335x_evm.h: cleanup: redundant code added in previous patch versions
	- tricorder.h: fix: CONFIG_NAND_OMAP_ECCSCHEME
[PATCH 2/5] removed: re-configuration of gpmc.config1[dev_width] added in
		previous version of patch
[PATCH 3/5] <no update>
[PATCH 4/5] <no update>
[PATCH 5/5] minor fix: missing '$' in ${loadaddr}

 
*changes in v6*
[PATCH 1/5] incorporated feedbacks from Scott Wood <scottwood@freescale.com>
	- renamed CONFIG_SYS_NAND_ECCSCHEME to CONFIG_NAND_OMAP_ECCSCHEME
	- updated omap_select_ecc_scheme() to handle error conditions without
		depending on caller.
	- renamed OMAP_ECC_HAM1_CODE_HW_ROMCODE to OMAP_ECC_HAM1_CODE_HW 
		to keep it naming compatible to linux kernel
	- updated doc/README.nand and doc/README.omap3
[PATCH 2/5] minor code clean-up
[PATCH 3/5] minor code clean-up 
[PATCH 4/5] <no update>
[PATCH 5/5] <moved CONFIG_NAND_OMAP_ECCSCHEME description to README.nand>


*changes in v5*
This version of patch is tested on am335x-evm with x8 NAND device, and boots
SPL and u-boot from NAND
[PATCH 1/5]
	- re-added omap_read_page_bch(): needed proper sequence of while reading
	DATA and ECC from NAND page, so that calc_ecc generated from GPMC
	is understood by ELM.
	- added check to see if NAND OOB can accomodate ECC for entire page
[PATCH 2/5] fixed device-width in GPMC_CONFIG1_X to support x16 devices
[PATCH 3/5] code clean-up for OMAP_ECC_BCH8_CODE_HW_DETECTION_SW mode
[PATCH 4/5]
	- fixed omap_correct_data_bch() for correcting bit-flips using ELM
	- code-cleanup + added omap_reverse_list()
[PATCH 5/5] incorporated feedbacks from Peter Korsgaard <jacmet@sunsite.dk>


*changes in v4*
[PATCH 1/5]
	- removed omap_read_page_bch(): chip->ecc.read_page uses default API
		nand_read_page_hwecc() in nand_base.c
	- updated tricorder.h: added new CONFIGS for ECCSCHEME & ONFI_DETECTION
	- converted printf("ECC-SCHEME") to debug("ECC-SCHEME")
[PATCH 2/5] minor code clean-up
[PATCH 3/5] <no update>
[PATCH 4/5] <no update>
[PATCH 5/5] updated README as per feedbacks from trini at ti.com


*changes in v3*
[PATCH 1/5] (complete change) 
	- ecc-scheme is selection is controller by s/w, not CONFIG_NAND_xx
	- added omap_select_ecc_scheme(), as common function to handle all
	  ecc-scheme related configurations for both board_nand_init() &
	  omap_nand_switch_ecc().
	- removed un-used defines from asm/arch-am33xx/omap_gpmc.h
	- updated doc/REAME.nand
[PATCH 2/5] removed un-used defines from asm/omap_gpmc.h
[PATCH 3/5] removed omap_calculate_ecc_bch_sw() and omap_calculate_ecc()
		and merged their logic into omap_calculate_ecc_bch()
[PATCH 4/5] updated return error-code in-case of invalid conditions
[PATCH 5/5] (new) for board/ti/am335x/README


*changes in v2*
- added documentation for CONFIG_NAND_OMAP_xx in doc/README.nand
- added CONFIG_BCH along with CONFIG_NAND_OMAP_ECC_BCH8_CODE_HW_DETECTION_SW
  to include software library lib/bch.c
- fixed board_nand_init() and omap_enable_hwecc()


*original v1*
This patch series updates BCH8_ECC schemes in mtd/nand/omap_gpmc.c driver
- adds scalability for higher ECC schemes in future.
- removes CONFIG_AM335x and it makes it generic for all platforms.
- optimizes read_data paths

Pekon Gupta (5):
[PATCH 1/5] mtd: nand: omap: enable BCH ECC scheme using ELM for generic platform
[PATCH 2/5] mtd: nand: omap: optimize chip->ecc.hwctl() for H/W ECC schemes
[PATCH 3/5] mtd: nand: omap: optimize chip->ecc.calculate() for H/W ECC schemes
[PATCH 4/5] mtd: nand: omap: optimized chip->ecc.correct() for H/W ECC schemes
[PATCH 5/5] board/ti/am335x/README: update for NAND boot

 arch/arm/include/asm/arch-am33xx/omap_gpmc.h |  52 +-
 arch/arm/include/asm/omap_gpmc.h             |   7 -
 board/ti/am335x/README                       |  53 +-
 doc/README.nand                              |  30 +
 doc/README.omap3                             |   4 +-
 drivers/mtd/nand/omap_gpmc.c                 | 822 +++++++++++----------------
 include/configs/am335x_evm.h                 |  11 +-
 include/configs/tricorder.h                  |   3 +-
 8 files changed, 416 insertions(+), 566 deletions(-)

-- 
1.8.1

^ permalink raw reply	[flat|nested] 21+ messages in thread
* [U-Boot] [PATCH v7 1/5] mtd: nand: omap: enable BCH ECC scheme using ELM for generic platform
@ 2013-09-30 17:53 Gupta, Pekon
  2013-09-30 18:31 ` Gupta, Pekon
  0 siblings, 1 reply; 21+ messages in thread
From: Gupta, Pekon @ 2013-09-30 17:53 UTC (permalink / raw)
  To: u-boot

Hi Stefan,

> From: Stefan Roese [mailto:sr at denx.de]
> > On 30.09.2013 16:13, 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.
> 
> Do you have an overview, which TI devices actually have this ELM h/w
> engine integrated? Especially if its integrated in the OMAP3530 SoC? I'm
> currently scanning the users manual and can't find any reference to this
> IP block.
> 
As per my knowledge, omap device families from omap44xx onwards
have ELM hardware. Example: omap44xx, omap54xx. But earlier omap
devices like omap2xxx, omap34xx and omap35xx do not have ELM engine.

So, If you are using omap34xx, omap35xx devices then please select
OMAP_ECC_BCH8_CODE_HW_DETECTION_SW ecc-scheme.
In this ecc-scheme, ECC error correction would require lib/bch.c
which needs to be enabled via CONFIG_BCH.


with regards, pekon

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

end of thread, other threads:[~2013-10-17 17:24 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-09-30 14:13 [U-Boot] [PATCH v7 0/5] mtd: nand: omap: optimize and clean-up of OMAP NAND driver Pekon Gupta
2013-09-30 14:13 ` [U-Boot] [PATCH v7 1/5] mtd: nand: omap: enable BCH ECC scheme using ELM for generic platform Pekon Gupta
2013-09-30 15:11   ` Stefan Roese
2013-10-04 22:30   ` Scott Wood
2013-10-05  6:11     ` Gupta, Pekon
2013-10-08  1:06       ` Scott Wood
2013-10-08  1:59         ` Tom Rini
2013-10-08  5:30         ` Gupta, Pekon
2013-10-08 16:52           ` Scott Wood
2013-10-08 17:38             ` Scott Wood
2013-10-08 19:06               ` Gupta, Pekon
2013-09-30 14:13 ` [U-Boot] [PATCH v7 2/5] mtd: nand: omap: optimize chip->ecc.hwctl() for H/W ECC schemes Pekon Gupta
2013-09-30 14:13 ` [U-Boot] [PATCH v7 3/5] mtd: nand: omap: optimize chip->ecc.calculate() " Pekon Gupta
2013-10-08 17:28   ` Scott Wood
2013-09-30 14:13 ` [U-Boot] [PATCH v7 4/5] mtd: nand: omap: optimized chip->ecc.correct() " Pekon Gupta
2013-10-08 17:35   ` Scott Wood
2013-09-30 14:13 ` [U-Boot] [PATCH v7 5/5] board/ti/am335x/README: update for NAND boot Pekon Gupta
2013-10-04 20:19 ` [U-Boot] [PATCH v7 0/5] mtd: nand: omap: optimize and clean-up of OMAP NAND driver Gupta, Pekon
2013-10-17 17:24 ` Tom Rini
  -- strict thread matches above, loose matches on Subject: below --
2013-09-30 17:53 [U-Boot] [PATCH v7 1/5] mtd: nand: omap: enable BCH ECC scheme using ELM for generic platform Gupta, Pekon
2013-09-30 18:31 ` Gupta, Pekon

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