Hi Pekon, Thanks to Tom Rini's hint I have tried to execute your patch sets ( http://patchwork.ozlabs.org/project/uboot/list/?submitter=17320&state=*) in order to get Linux and U-Boot working with same NAND flash. Set-up is pretty much like Mathias has before in this chain. Latest problem I faced with is that last versions of 1) "[U-Boot,v8,3/5] mtd: nand: omap: optimize chip->ecc.calculate() for H/W ECC schemes<http://patchwork.ozlabs.org/patch/282206/>" and 2) "[U-Boot,v2,2/3] mtd: nand: omap: add support for BCH16_ECC - NAND driver updates" <http://patchwork.ozlabs.org/patch/273769> are not compatible any more. As I told in https://groups.google.com/forum/#!topic/beagleboard/7ofbE_Rrn_s versions v5..v7 of 1) could possibly be compatible. Regards, Matti
2013/11/1 Matthias Fuchs <mfu...@ma-fu.de> > Hi Pekon, > > should I consider the U-Boot and Linux am335x NAND implementation to be > compatible? > So are the ECC schemes in a way identical that I can nandwrite a kernel > image from > Linux and "nand read" it from U-Boot? I tested with the 3.8.13 beaglebone > kernel (which > is of course not very representative) and it does not work. If it should > work, > do you know it that was already the case before your patches and with > which Linux kernel? > > Regards, > Matthias > > On 10/10/2013 01:00 PM, Pekon Gupta wrote: > > *changes in v8* > > [PATCH 1/5] incorporated following feedbacks from Scott Wood < > scottw...@freescale.com> > > - using symbolic names (enums) as values of > CONFIG_NAND_OMAP_ECCSCHEME > > - updated omap_select_ecc_scheme(): perform ecc-scheme > compatibility > > checks before updating nand_chip.ecc fields. This avoids > > corrupting of existing ecc-scheme in case of switching > failures. > > - code clean-up (removed fall-back on omap_select_ecc_scheme() > failures) > > [PATCH 2/5], [PATCH 3/5], [PATCH 4/5] minor code clean-up > > [PATCH 5/5] <no update> > > > > > > *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 < > scottw...@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 < > jac...@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 tr...@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 | 38 ++ > > doc/README.omap3 | 4 +- > > drivers/mtd/nand/omap_gpmc.c | 843 > +++++++++++---------------- > > include/configs/am335x_evm.h | 11 +- > > include/configs/tricorder.h | 3 +- > > 8 files changed, 446 insertions(+), 565 deletions(-) > > > > _______________________________________________ > U-Boot mailing list > U-Boot@lists.denx.de > http://lists.denx.de/mailman/listinfo/u-boot >
_______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot