sf: winbond: add support for W25Q16/32/128 parts
authorWojtek Skulski <skulski@pas.rochester.edu>
Tue, 7 Dec 2010 06:07:45 +0000 (01:07 -0500)
committerMike Frysinger <vapier@gentoo.org>
Fri, 17 Dec 2010 13:53:55 +0000 (08:53 -0500)
While we're here, cut out the useless id defines too.

Signed-off-by: Wojtek Skulski <skulski@pas.rochester.edu>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
drivers/mtd/spi/winbond.c

index de3aeb8..4452355 100644 (file)
 #define CMD_W25_DP             0xb9    /* Deep Power-down */
 #define CMD_W25_RES            0xab    /* Release from DP, and Read Signature */
 
-#define WINBOND_ID_W25X16              0x3015
-#define WINBOND_ID_W25X32              0x3016
-#define WINBOND_ID_W25X64              0x3017
-#define WINBOND_ID_W25Q64              0x4017
-
 #define WINBOND_SR_WIP         (1 << 0)        /* Write-in-Progress */
 
 struct winbond_spi_flash_params {
@@ -37,7 +32,7 @@ struct winbond_spi_flash_params {
        uint8_t         l2_page_size;
        uint16_t        pages_per_sector;
        uint16_t        sectors_per_block;
-       uint8_t         nr_blocks;
+       uint16_t        nr_blocks;
        const char      *name;
 };
 
@@ -55,7 +50,7 @@ to_winbond_spi_flash(struct spi_flash *flash)
 
 static const struct winbond_spi_flash_params winbond_spi_flash_table[] = {
        {
-               .id                     = WINBOND_ID_W25X16,
+               .id                     = 0x3015,
                .l2_page_size           = 8,
                .pages_per_sector       = 16,
                .sectors_per_block      = 16,
@@ -63,7 +58,7 @@ static const struct winbond_spi_flash_params winbond_spi_flash_table[] = {
                .name                   = "W25X16",
        },
        {
-               .id                     = WINBOND_ID_W25X32,
+               .id                     = 0x3016,
                .l2_page_size           = 8,
                .pages_per_sector       = 16,
                .sectors_per_block      = 16,
@@ -71,7 +66,7 @@ static const struct winbond_spi_flash_params winbond_spi_flash_table[] = {
                .name                   = "W25X32",
        },
        {
-               .id                     = WINBOND_ID_W25X64,
+               .id                     = 0x3017,
                .l2_page_size           = 8,
                .pages_per_sector       = 16,
                .sectors_per_block      = 16,
@@ -79,13 +74,37 @@ static const struct winbond_spi_flash_params winbond_spi_flash_table[] = {
                .name                   = "W25X64",
        },
        {
-               .id                     = WINBOND_ID_W25Q64,
+               .id                     = 0x4015,
+               .l2_page_size           = 8,
+               .pages_per_sector       = 16,
+               .sectors_per_block      = 16,
+               .nr_blocks              = 32,
+               .name                   = "W25Q16",
+       },
+       {
+               .id                     = 0x4016,
+               .l2_page_size           = 8,
+               .pages_per_sector       = 16,
+               .sectors_per_block      = 16,
+               .nr_blocks              = 64,
+               .name                   = "W25Q32",
+       },
+       {
+               .id                     = 0x4017,
                .l2_page_size           = 8,
                .pages_per_sector       = 16,
                .sectors_per_block      = 16,
                .nr_blocks              = 128,
                .name                   = "W25Q64",
        },
+       {
+               .id                     = 0x4018,
+               .l2_page_size           = 8,
+               .pages_per_sector       = 16,
+               .sectors_per_block      = 16,
+               .nr_blocks              = 256,
+               .name                   = "W25Q128",
+       },
 };
 
 static int winbond_wait_ready(struct spi_flash *flash, unsigned long timeout)