aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/mtd
diff options
context:
space:
mode:
authorMika Korhonen <ext-mika.2.korhonen@nokia.com>2009-10-23 07:50:43 +0200
committerDavid Woodhouse <David.Woodhouse@intel.com>2009-11-30 09:43:18 +0000
commit72073027ee95d059eb5a064da4a978efab36d4ab (patch)
treea7ee5f24092602d7fda6c34db6781c3de2d415d8 /include/linux/mtd
parent73885aeaca046a21183db598c2da46529e46fdab (diff)
downloadkernel_samsung_smdk4412-72073027ee95d059eb5a064da4a978efab36d4ab.zip
kernel_samsung_smdk4412-72073027ee95d059eb5a064da4a978efab36d4ab.tar.gz
kernel_samsung_smdk4412-72073027ee95d059eb5a064da4a978efab36d4ab.tar.bz2
mtd: OneNAND: multiblock erase support
Add support for multiblock erase command. OneNANDs (excluding Flex-OneNAND) are capable of simultaneous erase of up to 64 eraseblocks which is much faster. This changes the erase requests for regions covering multiple eraseblocks to be performed using multiblock erase. Signed-off-by: Mika Korhonen <ext-mika.2.korhonen@nokia.com> Reviewed-by: Adrian Hunter <adrian.hunter@nokia.com> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Diffstat (limited to 'include/linux/mtd')
-rw-r--r--include/linux/mtd/flashchip.h4
-rw-r--r--include/linux/mtd/onenand_regs.h2
2 files changed, 5 insertions, 1 deletions
diff --git a/include/linux/mtd/flashchip.h b/include/linux/mtd/flashchip.h
index f350a48..d0bf422 100644
--- a/include/linux/mtd/flashchip.h
+++ b/include/linux/mtd/flashchip.h
@@ -41,9 +41,11 @@ typedef enum {
/* These 2 come from nand_state_t, which has been unified here */
FL_READING,
FL_CACHEDPRG,
- /* These 2 come from onenand_state_t, which has been unified here */
+ /* These 4 come from onenand_state_t, which has been unified here */
FL_RESETING,
FL_OTPING,
+ FL_PREPARING_ERASE,
+ FL_VERIFYING_ERASE,
FL_UNKNOWN
} flstate_t;
diff --git a/include/linux/mtd/onenand_regs.h b/include/linux/mtd/onenand_regs.h
index acadbf5..cd6f3b4 100644
--- a/include/linux/mtd/onenand_regs.h
+++ b/include/linux/mtd/onenand_regs.h
@@ -131,6 +131,8 @@
#define ONENAND_CMD_LOCK_TIGHT (0x2C)
#define ONENAND_CMD_UNLOCK_ALL (0x27)
#define ONENAND_CMD_ERASE (0x94)
+#define ONENAND_CMD_MULTIBLOCK_ERASE (0x95)
+#define ONENAND_CMD_ERASE_VERIFY (0x71)
#define ONENAND_CMD_RESET (0xF0)
#define ONENAND_CMD_OTP_ACCESS (0x65)
#define ONENAND_CMD_READID (0x90)