]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
Xilinx: ARM: Added support for Spansion S25FL256S QSPI device
authorKevin Keryk <kevin.keryk@avnet.com>
Fri, 1 Jun 2012 00:24:30 +0000 (17:24 -0700)
committerJohn Linn <john.linn@xilinx.com>
Fri, 1 Jun 2012 23:43:39 +0000 (16:43 -0700)
This patch allows the Spansion S25FL256S QSPI device on ZedBoard to be accessed.
Read, write, and erase commands verified on ZedBoard Rev. B hardware.

Signed-off-by: Kevin Keryk <kevin.keryk@avnet.com>
drivers/mtd/spi/spansion.c

index 16111c7444034413449f29277f5167352c9e5a8b..b4cdc9016389ad1b5bfc8b45e6bbd014c186ea9e 100755 (executable)
 #define SPSN_ID_S25FL064A      0x0216
 #define SPSN_ID_S25FL128P      0x2018
 #define SPSN_ID_S25FL129P       0x2018
+#define SPSN_ID_S25FL256S      0x0219
 #define SPSN_EXT_ID_S25FL128P_256KB    0x0300
 #define SPSN_EXT_ID_S25FL128P_64KB     0x0301
 #define SPSN_EXT_ID_S25FL129P_256KB     0x4d00
+#define SPSN_EXT_ID_S25FL256S_256KB    0x4d00
 #define SPSN_EXT_ID_S25FL129P_64KB      0x4d01
 #define SPSN_EXT_ID_S25FL032P          0x4d00
+#define SPSN_EXT_ID_S25FL256S_4KB_64KB 0x4d01  /* Actually JEDEC CFI for this part,
+                                                   4-kB parameter sectors with uniform
+                                                   64-kB sectors. */
 
 #define SPANSION_SR_WIP                (1 << 0)        /* Write-in-Progress */
 
@@ -158,6 +163,22 @@ static const struct spansion_spi_flash_params spansion_spi_flash_table[] = {
                .nr_sectors = 64,
                .name = "S25FL032P",
        },
+       {
+               .idcode1 = SPSN_ID_S25FL256S,
+               .idcode2 = SPSN_EXT_ID_S25FL256S_256KB,
+               .page_size = 512,
+               .pages_per_sector = 512,
+               .nr_sectors = 128,
+               .name = "S25FL256S_256KB",
+       },
+       {
+               .idcode1 = SPSN_ID_S25FL256S,
+               .idcode2 = SPSN_EXT_ID_S25FL256S_4KB_64KB,
+               .page_size = 256,
+               .pages_per_sector = 16,
+               .nr_sectors = 32,
+               .name = "S25FL256S_4KB_64KB",
+       },
 };
 
 static inline void span_addr2cmd(struct spansion_spi_flash *spsn,