[PATCH v3 0/3] mtd: nand: omap: fix ecc-layout

Pekon Gupta pekon at ti.com
Mon Feb 17 02:41:22 EST 2014


*changes v2 -> v3*
 - re-ordered the patch-set so that eccpos[] is fixed before 'oobfree'
 - marked for stable 3.13.x+


*changes v1 -> v2*
[PATCH 1/3] fix oobfree->offset calculation + adjust for reserved-marker of last sector
[PATCH 2/3] <new patch>
[PATCH 3/3] refactor code as suggested by Brian Norris <computersforpeace at gmail.com>

 
*original v1*
[PATCH 1/2] http://lists.infradead.org/pipermail/linux-mtd/2013-December/050946.html
[PATCH 2/2] http://lists.infradead.org/pipermail/linux-mtd/2013-December/050945.html

This patch-set is tested on AM335x-EVM using following end-to-end boot sequence
with appropriate u-boot configs [1]

    (BCH8_HW)      (HAM1_HW)         (HAM1_HW)         (HAM1_HW)  (UBIFS)
ROM ---------> SPL ---------> U-Boot ---------> Kernel ---------> File-System

    (BCH8_HW)      (BCH8_SW)         (BCH8_SW)         (BCH8_SW)  (UBIFS)
ROM ---------> SPL ---------> U-Boot ---------> Kernel ---------> File-System

    (BCH8_HW)      (BCH8_HW)         (BCH8_HW)         (BCH8_HW)  (UBIFS)
ROM ---------> SPL ---------> U-Boot ---------> Kernel ---------> File-System


Test1: flash ubi image from u-boot and boot the kernel
   u-boot> mw 0x82000000 0xff <u-boot.img size aligned to NAND block boundary>
   u-boot> fatload mmc 0 0x82000000 u-boot.img
   u-boot> nand erase <u-boot_offset> <u-boot.img size>
   u-boot> nand write 0x82000000  <u-boot_offset> <u-boot.img size>
   u-boot> setenv bootargs 'console=ttyO0,115200n8 noinitrd mem=256M \
                root=ubi0 rw rootfstype=ubifs ubi.mtd=<mtdpart-of-rootfs>,\
                <page-size> ip=off init=/init'
   u-boot> bootm <kernel_offset>

Test2: update u-boot.img from kernel and re-boot
   kernel> flash_erase /dev/<mtdpart-of-u-boot>  0 0
   kernel> nandwrite -s 0  /dev/<mtdpart-of-u-boot>   u-boot.img
   kernel> reboot

[1] u-boot configurations to match above ecc-layout are documented at
    https://processors.wiki.ti.com/index.php/Linux_Core_NAND_User%27s_Guide


Pekon Gupta (3):
  mtd: nand: omap: fix ecclayout to be in sync with u-boot NAND driver
  mtd: nand: omap: fix ecclayout->oobfree->offset
  mtd: nand: omap: fix ecclayout->oobfree->length

 drivers/mtd/nand/omap2.c | 61 +++++++++++++++++++++++++++++++-----------------
 1 file changed, 40 insertions(+), 21 deletions(-)

-- 
1.8.5.1.163.gd7aced9




More information about the linux-mtd mailing list