mtd: nand: Samsung MLC - new OOB sizes
Subsystems (2)
PATCH 1/1 mtd: nand: Samsung MLC - new OOB sizes
There are some additions to the detection scheme used by Samsung MLC NAND. These simple changes to support the 400- and 436-byte OOB are found in the following data sheet:
Samsung K9GBG08U0M (p.40)
Signed-off-by Brian Norris <[email protected]>
--- drivers/mtd/nand/nand_base.c | 17 +++++++++++++++-- 1 files changed, 15 insertions(+), 2 deletions(-)
drivers/mtd/nand/nand_base.c +15 -2
@@ -2859,7 +2859,7 @@ static struct nand_flash_dev *nand_get_flash_type(struct mtd_info *mtd,/* * Field definitions are in the following datasheets: * Old style (4,5 byte ID): Samsung K9GAG08U0M (p.32) -* New style (6 byte ID): Samsung K9GAG08U0D (p.40) +* New style (6 byte ID): Samsung K9GBG08U0M (p.40) * * Check for wraparound + Samsung ID + nonzero 6th byte * to decide what to do.
@@ -2871,7 +2871,20 @@ static struct nand_flash_dev *nand_get_flash_type(struct mtd_info *mtd, mtd->writesize =2048 << (extid &0x03 ); extid >>=2 ;/* Calc oobsize */ - mtd->oobsize = (extid &0x03 ) ==0x01 ?128 :218 ; +switch (extid &0x03 ) { +case 1 : + mtd->oobsize =128 ; +break ; +case 2 : + mtd->oobsize =218 ; +break ; +case 3 : + mtd->oobsize =400 ; +break ; +default : + mtd->oobsize =436 ; +break ; + } extid >>=2 ;/* Calc blocksize */ mtd->erasesize = (128 * 1024) <<
Signature · 1 line
1.7.0.4
Quoted 10 lines · Brian Norris
There are some additions to the detection scheme used by Samsung MLC NAND. These simple changes to support the 400- and 436-byte OOB are found in the following data sheet:
Samsung K9GBG08U0M (p.40)
Signed-off-by Brian Norris <[email protected]>--- drivers/mtd/nand/nand_base.c | 17 +++++++++++++++-- 1 files changed, 15 insertions(+), 2 deletions(-)
Thanks, pushed to l2-mtd-2.6.git / dunno
Signature · 2 lines
Best Regards, Artem Bityutskiy (Битюцкий Артём)