[PATCH 1/1] mtd: cfi_cmdset_0002:add fixup for Micron M29EW after erase operation
Christian Riesch
christian.riesch at omicron.at
Mon Sep 1 01:04:03 PDT 2014
On Mon, Sep 1, 2014 at 4:20 AM, bpqw <bpqw at micron.com> wrote:
> For Micron M29EW,20ms delay is needed after erase operation.
>
> Signed-off-by: BeanHuo <bpqw at 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
>
> ______________________________________________________
> Linux MTD discussion mailing list
> http://lists.infradead.org/mailman/listinfo/linux-mtd/
More information about the linux-mtd
mailing list