aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Banon <mikebdp2@gmail.com>2019-01-12 12:37:35 +0300
committerKyösti Mälkki <kyosti.malkki@gmail.com>2019-01-14 02:24:13 +0000
commit3c3351306cb1454c029822de0b308210369e9bfb (patch)
tree5b20d296d68f934788228b7fb736d846adf4337f
parent1d4f936f614d591a7994fb9cfbf7a9f32c9a7f7e (diff)
drivers/spi/spansion.c: Add more Spansion S25FL_K chips
Add S25FL208K (ID 0x4014), S25FL132K (ID 0x4016) and S25FL164K (ID 0x4017) chips in a way similar to S25FL116K (ID 0x4015) chip from the same family. Signed-off-by: Mike Banon <mikebdp2@gmail.com> Change-Id: I9bf7197bbc0d12797c8ed100c673628de9c140f7 Reviewed-on: https://review.coreboot.org/c/30874 Reviewed-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
-rw-r--r--src/drivers/spi/spansion.c39
1 files changed, 36 insertions, 3 deletions
diff --git a/src/drivers/spi/spansion.c b/src/drivers/spi/spansion.c
index 16c5180011..2e924343e6 100644
--- a/src/drivers/spi/spansion.c
+++ b/src/drivers/spi/spansion.c
@@ -39,14 +39,17 @@
#define CMD_S25FLXX_DP 0xb9 /* Deep Power-down */
#define CMD_S25FLXX_RES 0xab /* Release from DP, and Read Signature */
-#define SPSN_MANUFACTURER_ID_S25FL116K 0x01
+#define SPSN_MANUFACTURER_ID_S25FL_K 0x01
#define SPSN_ID_S25FL008A 0x0213
#define SPSN_ID_S25FL016A 0x0214
#define SPSN_ID_S25FL032A 0x0215
#define SPSN_ID_S25FL064A 0x0216
#define SPSN_ID_S25FL128S 0x0219
#define SPSN_ID_S25FL128P 0x2018
+#define SPSN_ID_S25FL208K 0x4014
#define SPSN_ID_S25FL116K 0x4015
+#define SPSN_ID_S25FL132K 0x4016
+#define SPSN_ID_S25FL164K 0x4017
#define SPSN_EXT_ID_S25FL128P_256KB 0x0300
#define SPSN_EXT_ID_S25FL128P_64KB 0x0301
#define SPSN_EXT_ID_S25FL032P 0x4d00
@@ -176,10 +179,20 @@ static const struct spansion_spi_flash_params spansion_spi_flash_table[] = {
.page_size = 256,
.pages_per_sector = 256,
.nr_sectors = 256,
- .name = "25FS128S",
+ .name = "S25FS128S",
},
{
- .idcode0 = SPSN_MANUFACTURER_ID_S25FL116K,
+ .idcode0 = SPSN_MANUFACTURER_ID_S25FL_K,
+ .idcode1 = SPSN_ID_S25FL208K,
+ .idcode2 = 0,
+ .identify = identify_123,
+ .page_size = 256,
+ .pages_per_sector = 256,
+ .nr_sectors = 16,
+ .name = "S25FL208K",
+ },
+ {
+ .idcode0 = SPSN_MANUFACTURER_ID_S25FL_K,
.idcode1 = SPSN_ID_S25FL116K,
.idcode2 = 0,
.identify = identify_123,
@@ -188,6 +201,26 @@ static const struct spansion_spi_flash_params spansion_spi_flash_table[] = {
.nr_sectors = 32,
.name = "S25FL116K_16M",
},
+ {
+ .idcode0 = SPSN_MANUFACTURER_ID_S25FL_K,
+ .idcode1 = SPSN_ID_S25FL132K,
+ .idcode2 = 0,
+ .identify = identify_123,
+ .page_size = 256,
+ .pages_per_sector = 256,
+ .nr_sectors = 64,
+ .name = "S25FL132K",
+ },
+ {
+ .idcode0 = SPSN_MANUFACTURER_ID_S25FL_K,
+ .idcode1 = SPSN_ID_S25FL164K,
+ .idcode2 = 0,
+ .identify = identify_123,
+ .page_size = 256,
+ .pages_per_sector = 256,
+ .nr_sectors = 128,
+ .name = "S25FL164K",
+ },
};
static int spansion_write(const struct spi_flash *flash, u32 offset, size_t len,