[PATCH] mtd: m25p80: Disable 4K erase for s25sl032p, s25sl064p
Marek Vasut
marex at denx.de
Mon Sep 17 10:09:56 EDT 2012
Bump, do you think this can be queued for 3.7 please?
> Quoting from the datasheet for S25FL064P, rev. 05, Nov 18 2011,
> section 9.17:
>
> A 64 kB sector erase (D8h) command issued on 4 kB or 8 kB erase
> sectors will erase all sectors in the specified 64 kB region.
> However, please note that a 4 kB sector erase (20h) or 8 kB
> sector erase (40h) command will not work on a 64 kB sector.
>
> Refering further to Table 8.1 and Table 8.2, it is clearly seen
> that most of the sectors are 64kB, therefore disable this 4K
> erase support since it's valid only on first/last sectors.
>
> Signed-off-by: Marek Vasut <marex at denx.de>
> Cc: Artem Bityutskiy <artem.bityutskiy at linux.intel.com>
> Cc: David Woodhouse <david.woodhouse at intel.com>
> ---
> drivers/mtd/devices/m25p80.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/mtd/devices/m25p80.c b/drivers/mtd/devices/m25p80.c
> index c433051..9930e23 100644
> --- a/drivers/mtd/devices/m25p80.c
> +++ b/drivers/mtd/devices/m25p80.c
> @@ -661,8 +661,8 @@ static const struct spi_device_id m25p_ids[] = {
> /* Spansion -- single (large) sector size only, at least
> * for the chips listed here (without boot sectors).
> */
> - { "s25sl032p", INFO(0x010215, 0x4d00, 64 * 1024, 64, SECT_4K) },
> - { "s25sl064p", INFO(0x010216, 0x4d00, 64 * 1024, 128, SECT_4K) },
> + { "s25sl032p", INFO(0x010215, 0x4d00, 64 * 1024, 64, 0) },
> + { "s25sl064p", INFO(0x010216, 0x4d00, 64 * 1024, 128, 0) },
> { "s25fl256s0", INFO(0x010219, 0x4d00, 256 * 1024, 128, 0) },
> { "s25fl256s1", INFO(0x010219, 0x4d01, 64 * 1024, 512, 0) },
> { "s25fl512s", INFO(0x010220, 0x4d00, 256 * 1024, 256, 0) },
Best regards,
Marek Vasut
More information about the linux-mtd
mailing list