From ed03f41778c7a11adf81816278c92dfae23d6d77 Mon Sep 17 00:00:00 2001 From: Kuo-Jung Su Date: Thu, 23 May 2013 15:09:49 +0000 Subject: [PATCH] sf: winbond: Add support for W25PXX SPI flash Add support for Winbond's W25PXX SPI flash. These devices is used on Faraday A369 evaluation board. Signed-off-by: Kuo-Jung Su CC: Jagannadha Sutradharudu Teki CC: Tom Rini Reviewed-by: Jagannadha Sutradharudu Teki --- drivers/mtd/spi/winbond.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/drivers/mtd/spi/winbond.c b/drivers/mtd/spi/winbond.c index 3b39ba7589..cb57ce0436 100644 --- a/drivers/mtd/spi/winbond.c +++ b/drivers/mtd/spi/winbond.c @@ -17,6 +17,21 @@ struct winbond_spi_flash_params { }; static const struct winbond_spi_flash_params winbond_spi_flash_table[] = { + { + .id = 0x2014, + .nr_blocks = 16, + .name = "W25P80", + }, + { + .id = 0x2015, + .nr_blocks = 32, + .name = "W25P16", + }, + { + .id = 0x2016, + .nr_blocks = 64, + .name = "W25P32", + }, { .id = 0x3013, .nr_blocks = 8, @@ -109,7 +124,7 @@ struct spi_flash *spi_flash_probe_winbond(struct spi_slave *spi, u8 *idcode) } flash->page_size = 256; - flash->sector_size = 4096; + flash->sector_size = (idcode[1] == 0x20) ? 65536 : 4096; flash->size = 4096 * 16 * params->nr_blocks; return flash;