Messages in this thread Patch in this message | | | From | bpqw <> | Subject | [PATCH 1/1] mtd: cfi_cmdset_0002:add fixup for Micron M29EW after erase operation | Date | Mon, 1 Sep 2014 02:20:52 +0000 |
| |
For Micron M29EW,20ms delay is needed after erase operation.
Signed-off-by: BeanHuo <bpqw@micron.com> --- drivers/mtd/chips/cfi_cmdset_0002.c | 11 +++++++++++ 1 file changed, 11 insertions(+)
diff --git a/drivers/mtd/chips/cfi_cmdset_0002.c b/drivers/mtd/chips/cfi_cmdset_0002.c index 5a4bfe3..9b0de91 100644 --- a/drivers/mtd/chips/cfi_cmdset_0002.c +++ b/drivers/mtd/chips/cfi_cmdset_0002.c @@ -509,6 +509,16 @@ static void cfi_fixup_m29ew_delay_after_resume(struct cfi_private *cfi) cfi_udelay(500); } +static void cfi_fixup_m29ew_delay_after_erase(struct cfi_private *cfi) +{ + /* + * Resolving the Delay After ERASE Issue @low temperature. + * 20ms delay is needed after erase operation. + */ + if (is_m29ew(cfi)) + cfi_udelay(20000); +} + struct mtd_info *cfi_cmdset_0002(struct map_info *map, int primary) { struct cfi_private *cfi = map->fldrv_priv; @@ -2397,6 +2407,7 @@ static int __xipram do_erase_oneblock(struct map_info *map, struct flchip *chip, ret = -EIO; } + cfi_fixup_m29ew_delay_after_erase(cfi); chip->state = FL_READY; DISABLE_VPP(map); put_chip(map, chip, adr); -- 1.7.9.5
| |