Pekon, On Thu, Oct 24, 2013 at 06:20:16PM +0530, Pekon Gupta wrote: > *changes v10 -> v11* > - [PATCH v10 04/10] replaced with newer [PATCH v11 04/11] so that > nand_scan_ident() is called only once. > discussion thread with Brian Norris <computersforpeace@xxxxxxxxx> > <http://lists.infradead.org/pipermail/linux-mtd/2013-October/049335.html> > - No change in any other patch > > > *changes v9 -> v10* > [PATCH 1/10], [PATCH 2/10] > swapped [PATCH v9 1/9] and [PATCH v9 2/9] so that DT parsing updates > (with backward compatibility) happen before the deprecation of DT values. > This way DTB does not break functionally between the patches. > [PATCH 3/10] <no update> > [PATCH 4/10] > dropped [PATCH v9 4/9] introducing NAND_BUSWIDTH_AUTO, instead > using DT 'nand-bus-width' for device bus-width. Refer discussion thread > <http://lists.infradead.org/pipermail/linux-mtd/2013-October/049198.html> > [PATCH 5/10] <no update> > [PATCH 6/10] <no update> > [PATCH 7/10] > separated out drivers/mtd/nand/Kconfig updates into separate [PATCH v10 10/10] > cleanup: s/info->nand\./nand_chip-> > [PATCH 8/10] <no update> > [PATCH 9/10] cleanup: s/out_release_mem_region/return_error > [PATCH 10/10] <new> spawned from [PATCH v9 8/9] for Kconfig updates > > > *changes v8 -> v9* > [PATCH 1/9] <no update from [PATCH v8 1/6]> > [PATCH 2/9] <only commit log updated from [PATCH v8 2/6]> > As per feedbacks from Brian Norris <computersforpeace@xxxxxxxxx> previous > revision [PATCH v8 3/6] and [PATCH 4/6] are split into following sub-patches: > - [PATCH 3/9] <new> replaces local reference with generic names (mtd, nand_chip) > - [PATCH 4/9] <new> enables auto-detection of bus-width > - [PATCH 5/9] <new> removes omap3_init_bch: populates ecc-scheme data > - [PATCH 6/9] <new> removes omap3_init_bch_tail: populates ecc-layout > - [PATCH 7/9] <new> replaces lib/bch.c with nand_bch.c wrapper > [PATCH 8/9] <no update same as [PATCH v8 5/6] > [PATCH 9/9] removed devm_free_xx functions > > > *Changes v7 -> v8* > [PATCH 1/6] <no updates> > [PATCH 2/6] > - updated DT parsing of "ti,nand-ecc-opts" so that its "ham1" remains > compatible to "sw","hw","hw-romcode" > - updated DT parsing of "ti,elm-id" to retain compatibility to "elm_id" > - using of_parse_phandle() to get ELM device pointer from DT > [PATCH 3..6/6] <commit log updates> > > > *Changes v6 -> v7* > [PATCH 1/6] <NEW> split from [PATCH v6 2/4] as per feedbacks from Brian Norris <computersforpeace@xxxxxxxxx> > [PATCH 2/6] incorporated feedbacks from DT maintainers > [PATCH 3/6] cleaned and incorporated feedbacks from Brian Norris <computersforpeace@xxxxxxxxx> > [PATCH 4/6] rebasing changes and cleanup > [PATCH 5/6] updated omap3430-sdp.dts > [PATCH 6/6] <NEW> updated for devm_xx > > > *Changes v5 -> v6* > [PATCH 1/4]: > - updated DT binding for gpmc-nand based on 'Olof Johansson's feedbacks > http://lists.infradead.org/pipermail/linux-mtd/2013-August/048394.html > - detection of ELM device via ti,elm-id DT node, moved to gpmc.c driver > [PATCH 2/4] > - removed: support for following obselete ECC schemes > OMAP_ECC_HAMMING_CODE_DEFAULT (S/W based 1-bit Hamming ECC) > OMAP_ECC_HAMMING_CODE_HW_ROMCODE (H/W based 1-bit Hamming ECC scheme) > - updated: using omap_oobinfo as chip->ecc.layout for all ecc-schemes > - clean: error messages > [PATCH 3/4] cleaned to include changes for OMAP_ECC_BCH8_CODE_HW only > [PATCH 4/4] updated to include DT property changes > > > *Changes v4 -> v5* > - Rebased to linux-next > IMPORTANT: Need to revert commit fb1585b, [PATCH 2/4] part of previous version > http://lists.infradead.org/pipermail/linux-mtd/2013-July/047441.html > > - Swapped PATCH-1 & PATCH-2 to maintain bisectibility & compilation dependency > http://lists.infradead.org/pipermail/linux-mtd/2013-July/047461.html > > - PATCH-2: re-ordered call to is_elm_present() for later updates ELM driver > - dropped changes in include/linux/platform_data/elm.h (not needed) > - PATCH-3: re-ordered call to is_elm_present() for later updates ELM driver > - Re-formated patch description (replaced tabs with white-spaces) > > > *Changes v3 -> v4* > (Resent with CC: devicetree-discuss@xxxxxxxxxxxxxxxx) > - [Patch 1/3] removed MTD_NAND_OMAP_BCH8 & MTD_NAND_OMAP_BCH4 from nand/Kconfig > ECC scheme selectable via nand DT (nand-ecc-opt). > - [*] rebased for l2-mtd.git > > > *Changes v2 -> v3* > (Resent with Author Name fixed) > - PATCH-1: re-arranged code to remove redundancy, added NAND_BUSWIDTH_AUTO > - PATCH-2: updated nand-ecc-opt DT mapping and Documentation > - PATCH-3: code-cleaning + changes to match PATCH-1 > - PATCH-4 <DROPPED> update DT attribute for ti,nand-ecc-opt > - received feedback to keep DT mapping independent of linuxism > - PATCH-4:<NEW> : ARM: dts: AM33xx: updated default ECC scheme in nand-ecc-opt > - independent patch for AM335x-evm.dts update based on PATCH-2 > > > *Changes v1 -> v2* > added [PATCH 3/4] and [PATCH 4/4] > > > After this patch series, omap2-nand driver will supports following ECC schemes: > +---------------------------------------+---------------+---------------+ > | ECC scheme |ECC calculation|Error detection| > +---------------------------------------+---------------+---------------+ > |OMAP_ECC_HAM1_CODE_HW |H/W (GPMC) |S/W | > +---------------------------------------+---------------+---------------+ > |OMAP_ECC_BCH4_CODE_HW_DETECTION_SW |H/W (GPMC) |S/W (lib/bch.c)| > | (needs CONFIG_MTD_NAND_ECC_BCH) | | | > | | | | > |OMAP_ECC_BCH4_CODE_HW |H/W (GPMC) |H/W (ELM) | > | (needs CONFIG_MTD_NAND_OMAP_BCH && | | | > | ti,elm-id) | | | > +---------------------------------------+---------------+---------------+ > |OMAP_ECC_BCH8_CODE_HW_DETECTION_SW |H/W (GPMC) |S/W (lib/bch.c)| > | (needs CONFIG_MTD_NAND_ECC_BCH) | | | > | | | | > |OMAP_ECC_BCH8_CODE_HW |H/W (GPMC) |H/W (ELM) | > | (needs CONFIG_MTD_NAND_OMAP_BCH && | | | > | ti,elm-id) | | | > +---------------------------------------+---------------+---------------+ > > > Pekon Gupta (10): > ARM: OMAP2+: cleaned-up DT support of various ECC schemes > mtd: nand: omap: combine different flavours of 1-bit hamming ecc > schemes > mtd: nand: omap: cleanup: replace local references with generic > framework names > mtd: nand: omap: use DT specified bus-width only for scanning NAND > device > mtd:nand:omap2: clean-up BCHx_HW and BCHx_SW ECC configurations in > device_probe > mtd: nand: omap: clean-up ecc layout for BCH ecc schemes > mtd: nand: omap: use drivers/mtd/nand/nand_bch.c wrapper for BCH ECC > instead of lib/bch.c > ARM: dts: AM33xx: updated default ECC scheme in nand-ecc-opt > mtd: nand: omap: updated devm_xx for all resource allocation and free > calls > mtd: nand: omap: remove selection of BCH ecc-scheme via KConfig > > .../devicetree/bindings/mtd/gpmc-nand.txt | 16 +- > arch/arm/boot/dts/am335x-evm.dts | 3 +- > arch/arm/boot/dts/omap3430-sdp.dts | 2 +- > arch/arm/mach-omap2/board-flash.c | 2 +- > arch/arm/mach-omap2/gpmc.c | 48 +- > drivers/mtd/nand/Kconfig | 40 +- > drivers/mtd/nand/omap2.c | 641 +++++++++------------ > include/linux/platform_data/mtd-nand-omap2.h | 18 +- > 8 files changed, 348 insertions(+), 422 deletions(-) > I tested this using the AM335x device tree you posted earlier with the 16-bit NAND Beaglebone cape. For all the patches: Tested-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> The ECC bindings look much much cleaner now, nice job! -- Ezequiel García, Free Electrons Embedded Linux, Kernel and Android Engineering http://free-electrons.com -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html