RE: [PATCH v2] mtd: spi-nor: Add s25fs256s1 spi-nor flash support

From: Yunhui Cui
Date: Wed Aug 17 2016 - 06:30:08 EST



On Monday, August 08, 2016 3:22 AM, Jagan Teki wrote:

> Add Spansion s25fs256s1 spi-nor flash to the list of spi_nor_ids.
>
> In spansion S25FS-S family the physical sectors are grouped as normal and
> parameter sectors. Parameter sectors are 4kB in size with 8 set located
> at the bottom or top address of a device.
> Normal sectors are similar to other flash family with sizes of 64kB or 32
> kB.
>
> To erase whole flash using sector erase(D8h or DCh) won't effect the
> parameter sectors, so in order to erase these we must use 4K sector erase
> commands (20h or 21h) separately.
>
> So better to erase the whole flash using 4K sector erase instead of
> detecting these family parts again and do two different erase operations.
>
> Cc: Brian Norris <computersforpeace@xxxxxxxxx>
> Cc: Yunhui Cui <yunhui.cui@xxxxxxx>
> Cc: Michael Trimarchi <michael@xxxxxxxxxxxxxxxxxxxx>
> Signed-off-by: Jagan Teki <jteki@xxxxxxxxxxxx>
> ---
> Changes for v2:
> - Fix wrong vendor name in commit message

[Yunhui] Actually, This flash is belongs to S25FS-S Family, besides,
S25FS128S 128 Mbit (16 Mbyte)
S25FS256S 256 Mbit (32 Mbyte)
S25FS512S 512 Mbit (64 Mbyte)
They need some specific operations, not the Spansion S25FL128S Family. Thanks

>
> drivers/mtd/spi-nor/spi-nor.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-
> nor.c index d0fc165..6ad7779 100644
> --- a/drivers/mtd/spi-nor/spi-nor.c
> +++ b/drivers/mtd/spi-nor/spi-nor.c
> @@ -901,6 +901,7 @@ static const struct flash_info spi_nor_ids[] = {
> { "s25sl064p", INFO(0x010216, 0x4d00, 64 * 1024, 128,
> SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
> { "s25fl256s0", INFO(0x010219, 0x4d00, 256 * 1024, 128, 0) },
> { "s25fl256s1", INFO(0x010219, 0x4d01, 64 * 1024, 512,
> SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
> + { "s25fs256s1", INFO6(0x010219, 0x4d0181, 64 * 1024, 512,
> SECT_4K) },
> { "s25fl512s", INFO(0x010220, 0x4d00, 256 * 1024, 256,
> SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
> { "s70fl01gs", INFO(0x010221, 0x4d00, 256 * 1024, 256, 0) },
> { "s25sl12800", INFO(0x012018, 0x0300, 256 * 1024, 64, 0) },
> --
> 2.7.4