[PATCH 0/9] mtd: nand: improve NAND ID detection

Brian Norris computersforpeace at gmail.com
Mon Sep 24 23:40:46 EDT 2012


Hi all,

I've been working on some changes to nand_base.c's nand_get_flash_type()
routine for improving its structure and readability as well as to detect some
new chips. Generally, this patch series does the following:

(1) split several of the big blocks of detection code into separate functions,
    each designated with different tasks
(2) add support for several "new" Hynix and Samsung NAND, which have new
    decoding tables
(3) provide a better baseline on which I or others can make future changes
    (esp., the "generic READ ID length calculation" is useful for detecting
    other patterns that will determine BB marker options)

I have tested this patch series for regressions against a few chips:

  Samsung K9GAG08U0D
  Samsung K9LBG08U0E
  Hynix H27U8G8G5D
  Micron MT29F32G08CBACA

Additionally, I used a test harness for nand_get_flash_type() provided Angus
Clark to test for both regressions and proper fixes (contact Angus if you need
the suite; I'm not sure I have permission to redistribute). The test uses some
data from:

  http://www.linux-mtd.infradead.org/nand-data/nanddata.html

I do not have actual samples of most of the new Samsung and Hynix but have
largely relied on datasheets and support from others who have these chips. Any
testing -- with either old or new chips -- is appreciated.

Thanks,
Brian

Brian Norris (9):
  mtd: nand: remove unnecessary variable
  mtd: nand: remove redundant ID read
  mtd: nand: split BB marker options decoding into its own function
  mtd: nand: split extended ID decoding into its own function
  mtd: nand: split simple ID decode into its own function
  mtd: nand: add generic READ ID length calculation functions
  mtd: nand: increase max OOB size to 640
  mtd: nand: decode Hynix MLC, 6-byte ID length
  mtd: nand: detect Samsung K9GBG08U0A, K9GAG08U0F ID

 drivers/mtd/nand/nand_base.c | 360 +++++++++++++++++++++++++++++--------------
 include/linux/mtd/nand.h     |   2 +-
 2 files changed, 248 insertions(+), 114 deletions(-)

-- 
1.7.11.3




More information about the linux-mtd mailing list