Просмотр исходного кода

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 <dantesu@faraday-tech.com>
CC: Jagannadha Sutradharudu Teki <jagannadh.teki@gmail.com>
CC: Tom Rini <trini@ti.com>
Reviewed-by: Jagannadha Sutradharudu Teki <jagannadh.teki@gmail.com>
Kuo-Jung Su 12 лет назад
Родитель
Сommit
ed03f41778
1 измененных файлов с 16 добавлено и 1 удалено
  1. 16 1
      drivers/mtd/spi/winbond.c

+ 16 - 1
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[] = {
 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,
 		.id			= 0x3013,
 		.nr_blocks		= 8,
 		.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->page_size = 256;
-	flash->sector_size = 4096;
+	flash->sector_size = (idcode[1] == 0x20) ? 65536 : 4096;
 	flash->size = 4096 * 16 * params->nr_blocks;
 	flash->size = 4096 * 16 * params->nr_blocks;
 
 
 	return flash;
 	return flash;