[flashrom] [commit] r1114 - trunk
repository service
svn at flashrom.org
Thu Jul 29 00:20:20 CEST 2010
Author: hailfinger
Date: Thu Jul 29 00:20:20 2010
New Revision: 1114
URL: http://flashrom.org/trac/coreboot/changeset/1114
Log:
Cosmetics.
Fix alphabetic sort order for manufacturers in flashchips.c.
Rename a few EON chips to Eon.
Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006 at gmx.net>
Acked-by: Uwe Hermann <uwe at hermann-uwe.de>
Modified:
trunk/flashchips.c
Modified: trunk/flashchips.c
==============================================================================
--- trunk/flashchips.c Wed Jul 28 17:08:35 2010 (r1113)
+++ trunk/flashchips.c Thu Jul 29 00:20:20 2010 (r1114)
@@ -275,63 +275,59 @@
},
{
- .vendor = "ASD",
- .name = "AE49F2008",
- .bustype = CHIP_BUSTYPE_PARALLEL,
- .manufacture_id = ASD_ID,
- .model_id = ASD_AE49F2008,
- .total_size = 256,
- .page_size = 128,
- .feature_bits = FEATURE_EITHER_RESET,
+ .vendor = "AMIC",
+ .name = "A25L05PT",
+ .bustype = CHIP_BUSTYPE_SPI,
+ .manufacture_id = AMIC_ID,
+ .model_id = AMIC_A25L05PT,
+ .total_size = 64,
+ .page_size = 256,
.tested = TEST_UNTESTED,
- .probe = probe_jedec,
- .probe_timing = TIMING_FIXME,
+ .probe = probe_spi_rdid4,
+ .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
.eraseblocks = {
- {128 * 1024, 1},
- {96 * 1024, 1},
- {8 * 1024, 2},
+ {32 * 1024, 1},
{16 * 1024, 1},
+ {8 * 1024, 1},
+ {4 * 1024, 2},
},
- .block_erase = erase_sector_jedec,
+ .block_erase = spi_block_erase_d8,
}, {
- .eraseblocks = { {256 * 1024, 1} },
- .block_erase = erase_chip_block_jedec,
+ .eraseblocks = { {64 * 1024, 1} },
+ .block_erase = spi_block_erase_c7,
}
},
- .write = write_jedec,
- .read = read_memmapped,
+ .unlock = spi_disable_blockprotect,
+ .write = spi_chip_write_256,
+ .read = spi_chip_read,
},
{
- .vendor = "Atmel",
- .name = "AT25DF021",
+ .vendor = "AMIC",
+ .name = "A25L05PU",
.bustype = CHIP_BUSTYPE_SPI,
- .manufacture_id = ATMEL_ID,
- .model_id = AT_25DF021,
- .total_size = 256,
+ .manufacture_id = AMIC_ID,
+ .model_id = AMIC_A25L05PU,
+ .total_size = 64,
.page_size = 256,
.tested = TEST_UNTESTED,
- .probe = probe_spi_rdid,
+ .probe = probe_spi_rdid4,
.probe_timing = TIMING_ZERO,
.block_erasers =
{
{
- .eraseblocks = { {4 * 1024, 64} },
- .block_erase = spi_block_erase_20,
- }, {
- .eraseblocks = { {32 * 1024, 8} },
- .block_erase = spi_block_erase_52,
- }, {
- .eraseblocks = { {64 * 1024, 4} },
+ .eraseblocks = {
+ {4 * 1024, 2},
+ {8 * 1024, 1},
+ {16 * 1024, 1},
+ {32 * 1024, 1},
+ },
.block_erase = spi_block_erase_d8,
}, {
- .eraseblocks = { {256 * 1024, 1} },
- .block_erase = spi_block_erase_60,
- }, {
- .eraseblocks = { {256 * 1024, 1} },
+ .eraseblocks = { {64 * 1024, 1} },
.block_erase = spi_block_erase_c7,
}
},
@@ -341,32 +337,29 @@
},
{
- .vendor = "Atmel",
- .name = "AT25DF041A",
+ .vendor = "AMIC",
+ .name = "A25L10PT",
.bustype = CHIP_BUSTYPE_SPI,
- .manufacture_id = ATMEL_ID,
- .model_id = AT_25DF041A,
- .total_size = 512,
+ .manufacture_id = AMIC_ID,
+ .model_id = AMIC_A25L10PT,
+ .total_size = 128,
.page_size = 256,
.tested = TEST_UNTESTED,
- .probe = probe_spi_rdid,
+ .probe = probe_spi_rdid4,
.probe_timing = TIMING_ZERO,
.block_erasers =
{
{
- .eraseblocks = { {4 * 1024, 128} },
- .block_erase = spi_block_erase_20,
- }, {
- .eraseblocks = { {32 * 1024, 16} },
- .block_erase = spi_block_erase_52,
- }, {
- .eraseblocks = { {64 * 1024, 8} },
+ .eraseblocks = {
+ {64 * 1024, 1},
+ {32 * 1024, 1},
+ {16 * 1024, 1},
+ {8 * 1024, 1},
+ {4 * 1024, 2},
+ },
.block_erase = spi_block_erase_d8,
}, {
- .eraseblocks = { {512 * 1024, 1} },
- .block_erase = spi_block_erase_60,
- }, {
- .eraseblocks = { {512 * 1024, 1} },
+ .eraseblocks = { {128 * 1024, 1} },
.block_erase = spi_block_erase_c7,
}
},
@@ -376,32 +369,29 @@
},
{
- .vendor = "Atmel",
- .name = "AT25DF081",
+ .vendor = "AMIC",
+ .name = "A25L10PU",
.bustype = CHIP_BUSTYPE_SPI,
- .manufacture_id = ATMEL_ID,
- .model_id = AT_25DF081,
- .total_size = 1024,
+ .manufacture_id = AMIC_ID,
+ .model_id = AMIC_A25L10PU,
+ .total_size = 128,
.page_size = 256,
.tested = TEST_UNTESTED,
- .probe = probe_spi_rdid,
+ .probe = probe_spi_rdid4,
.probe_timing = TIMING_ZERO,
.block_erasers =
{
{
- .eraseblocks = { {4 * 1024, 256} },
- .block_erase = spi_block_erase_20,
- }, {
- .eraseblocks = { {32 * 1024, 32} },
- .block_erase = spi_block_erase_52,
- }, {
- .eraseblocks = { {64 * 1024, 16} },
+ .eraseblocks = {
+ {4 * 1024, 2},
+ {8 * 1024, 1},
+ {16 * 1024, 1},
+ {32 * 1024, 1},
+ {64 * 1024, 1},
+ },
.block_erase = spi_block_erase_d8,
}, {
- .eraseblocks = { {1024 * 1024, 1} },
- .block_erase = spi_block_erase_60,
- }, {
- .eraseblocks = { {1024 * 1024, 1} },
+ .eraseblocks = { {128 * 1024, 1} },
.block_erase = spi_block_erase_c7,
}
},
@@ -411,32 +401,29 @@
},
{
- .vendor = "Atmel",
- .name = "AT25DF161",
+ .vendor = "AMIC",
+ .name = "A25L20PT",
.bustype = CHIP_BUSTYPE_SPI,
- .manufacture_id = ATMEL_ID,
- .model_id = AT_25DF161,
- .total_size = 2048,
+ .manufacture_id = AMIC_ID,
+ .model_id = AMIC_A25L20PT,
+ .total_size = 256,
.page_size = 256,
.tested = TEST_UNTESTED,
- .probe = probe_spi_rdid,
+ .probe = probe_spi_rdid4,
.probe_timing = TIMING_ZERO,
.block_erasers =
{
{
- .eraseblocks = { {4 * 1024, 512} },
- .block_erase = spi_block_erase_20,
- }, {
- .eraseblocks = { {32 * 1024, 64} },
- .block_erase = spi_block_erase_52,
- }, {
- .eraseblocks = { {64 * 1024, 32} },
+ .eraseblocks = {
+ {64 * 1024, 3},
+ {32 * 1024, 1},
+ {16 * 1024, 1},
+ {8 * 1024, 1},
+ {4 * 1024, 2},
+ },
.block_erase = spi_block_erase_d8,
}, {
- .eraseblocks = { {2 * 1024 * 1024, 1} },
- .block_erase = spi_block_erase_60,
- }, {
- .eraseblocks = { {2 * 1024 * 1024, 1} },
+ .eraseblocks = { {256 * 1024, 1} },
.block_erase = spi_block_erase_c7,
}
},
@@ -446,32 +433,29 @@
},
{
- .vendor = "Atmel",
- .name = "AT25DF321",
+ .vendor = "AMIC",
+ .name = "A25L20PU",
.bustype = CHIP_BUSTYPE_SPI,
- .manufacture_id = ATMEL_ID,
- .model_id = AT_25DF321,
- .total_size = 4096,
+ .manufacture_id = AMIC_ID,
+ .model_id = AMIC_A25L20PU,
+ .total_size = 256,
.page_size = 256,
- .tested = TEST_OK_PRW,
- .probe = probe_spi_rdid,
+ .tested = TEST_UNTESTED,
+ .probe = probe_spi_rdid4,
.probe_timing = TIMING_ZERO,
.block_erasers =
{
{
- .eraseblocks = { {4 * 1024, 1024} },
- .block_erase = spi_block_erase_20,
- }, {
- .eraseblocks = { {32 * 1024, 128} },
- .block_erase = spi_block_erase_52,
- }, {
- .eraseblocks = { {64 * 1024, 64} },
+ .eraseblocks = {
+ {4 * 1024, 2},
+ {8 * 1024, 1},
+ {16 * 1024, 1},
+ {32 * 1024, 1},
+ {64 * 1024, 3},
+ },
.block_erase = spi_block_erase_d8,
}, {
- .eraseblocks = { {4 * 1024 * 1024, 1} },
- .block_erase = spi_block_erase_60,
- }, {
- .eraseblocks = { {4 * 1024 * 1024, 1} },
+ .eraseblocks = { {256 * 1024, 1} },
.block_erase = spi_block_erase_c7,
}
},
@@ -480,33 +464,35 @@
.read = spi_chip_read,
},
+ /* The A25L40P{T,U} chips are distinguished by their
+ * erase block layouts, but without any distinction in RDID.
+ * This inexplicable quirk was verified by Rudolf Marek
+ * and discussed on the flashrom mailing list on 2010-07-12.
+ */
{
- .vendor = "Atmel",
- .name = "AT25DF321A",
+ .vendor = "AMIC",
+ .name = "A25L40PT",
.bustype = CHIP_BUSTYPE_SPI,
- .manufacture_id = ATMEL_ID,
- .model_id = AT_25DF321A,
- .total_size = 4096,
+ .manufacture_id = AMIC_ID,
+ .model_id = AMIC_A25L40PT,
+ .total_size = 512,
.page_size = 256,
- .tested = TEST_UNTESTED,
- .probe = probe_spi_rdid,
+ .tested = TEST_OK_PRW,
+ .probe = probe_spi_rdid4,
.probe_timing = TIMING_ZERO,
.block_erasers =
{
{
- .eraseblocks = { {4 * 1024, 1024} },
- .block_erase = spi_block_erase_20,
- }, {
- .eraseblocks = { {32 * 1024, 128} },
- .block_erase = spi_block_erase_52,
- }, {
- .eraseblocks = { {64 * 1024, 64} },
+ .eraseblocks = {
+ {64 * 1024, 7},
+ {32 * 1024, 1},
+ {16 * 1024, 1},
+ {8 * 1024, 1},
+ {4 * 1024, 2},
+ },
.block_erase = spi_block_erase_d8,
}, {
- .eraseblocks = { {4 * 1024 * 1024, 1} },
- .block_erase = spi_block_erase_60,
- }, {
- .eraseblocks = { {4 * 1024 * 1024, 1} },
+ .eraseblocks = { {512 * 1024, 1} },
.block_erase = spi_block_erase_c7,
}
},
@@ -516,32 +502,29 @@
},
{
- .vendor = "Atmel",
- .name = "AT25DF641",
+ .vendor = "AMIC",
+ .name = "A25L40PU",
.bustype = CHIP_BUSTYPE_SPI,
- .manufacture_id = ATMEL_ID,
- .model_id = AT_25DF641,
- .total_size = 8192,
+ .manufacture_id = AMIC_ID,
+ .model_id = AMIC_A25L40PU,
+ .total_size = 512,
.page_size = 256,
- .tested = TEST_UNTESTED,
- .probe = probe_spi_rdid,
+ .tested = TEST_OK_PRW,
+ .probe = probe_spi_rdid4,
.probe_timing = TIMING_ZERO,
.block_erasers =
{
{
- .eraseblocks = { {4 * 1024, 2048} },
- .block_erase = spi_block_erase_20,
+ .eraseblocks = {
+ {4 * 1024, 2},
+ {8 * 1024, 1},
+ {16 * 1024, 1},
+ {32 * 1024, 1},
+ {64 * 1024, 7},
+ },
+ .block_erase = spi_block_erase_d8,
}, {
- .eraseblocks = { {32 * 1024, 256} },
- .block_erase = spi_block_erase_52,
- }, {
- .eraseblocks = { {64 * 1024, 128} },
- .block_erase = spi_block_erase_d8,
- }, {
- .eraseblocks = { {8 * 1024 * 1024, 1} },
- .block_erase = spi_block_erase_60,
- }, {
- .eraseblocks = { {8 * 1024 * 1024, 1} },
+ .eraseblocks = { {512 * 1024, 1} },
.block_erase = spi_block_erase_c7,
}
},
@@ -551,32 +534,29 @@
},
{
- .vendor = "Atmel",
- .name = "AT25F512B",
+ .vendor = "AMIC",
+ .name = "A25L80P",
.bustype = CHIP_BUSTYPE_SPI,
- .manufacture_id = ATMEL_ID,
- .model_id = AT_25F512B,
- .total_size = 64,
+ .manufacture_id = AMIC_ID,
+ .model_id = AMIC_A25L80P,
+ .total_size = 1024,
.page_size = 256,
- .tested = TEST_UNTESTED,
- .probe = probe_spi_rdid,
+ .tested = TEST_OK_PREW,
+ .probe = probe_spi_rdid4,
.probe_timing = TIMING_ZERO,
.block_erasers =
{
{
- .eraseblocks = { {4 * 1024, 16} },
- .block_erase = spi_block_erase_20,
- }, {
- .eraseblocks = { {32 * 1024, 2} },
- .block_erase = spi_block_erase_52,
- }, {
- .eraseblocks = { {32 * 1024, 2} },
+ .eraseblocks = {
+ {4 * 1024, 2},
+ {8 * 1024, 1},
+ {16 * 1024, 1},
+ {32 * 1024, 1},
+ {64 * 1024, 15},
+ },
.block_erase = spi_block_erase_d8,
}, {
- .eraseblocks = { {64 * 1024, 1} },
- .block_erase = spi_block_erase_60,
- }, {
- .eraseblocks = { {64 * 1024, 1} },
+ .eraseblocks = { {1024 * 1024, 1} },
.block_erase = spi_block_erase_c7,
}
},
@@ -586,32 +566,32 @@
},
{
- .vendor = "Atmel",
- .name = "AT25FS010",
+ .vendor = "AMIC",
+ .name = "A25L16PT",
.bustype = CHIP_BUSTYPE_SPI,
- .manufacture_id = ATMEL_ID,
- .model_id = AT_25FS010,
- .total_size = 128,
+ .manufacture_id = AMIC_ID,
+ .model_id = AMIC_A25L16PT,
+ .total_size = 2048,
.page_size = 256,
.tested = TEST_UNTESTED,
- .probe = probe_spi_rdid,
+ .probe = probe_spi_rdid4,
.probe_timing = TIMING_ZERO,
.block_erasers =
{
{
- .eraseblocks = { {4 * 1024, 32} },
- .block_erase = spi_block_erase_20,
- }, {
- .eraseblocks = { {32 * 1024, 4} },
- .block_erase = spi_block_erase_52,
- }, {
- .eraseblocks = { {32 * 1024, 4} },
+ .eraseblocks = {
+ {64 * 1024, 31},
+ {32 * 1024, 1},
+ {16 * 1024, 1},
+ {8 * 1024, 1},
+ {4 * 1024, 2},
+ },
.block_erase = spi_block_erase_d8,
}, {
- .eraseblocks = { {128 * 1024, 1} },
+ .eraseblocks = { {2048 * 1024, 1} },
.block_erase = spi_block_erase_60,
}, {
- .eraseblocks = { {128 * 1024, 1} },
+ .eraseblocks = { {2048 * 1024, 1} },
.block_erase = spi_block_erase_c7,
}
},
@@ -621,32 +601,32 @@
},
{
- .vendor = "Atmel",
- .name = "AT25FS040",
+ .vendor = "AMIC",
+ .name = "A25L16PU",
.bustype = CHIP_BUSTYPE_SPI,
- .manufacture_id = ATMEL_ID,
- .model_id = AT_25FS040,
- .total_size = 512,
+ .manufacture_id = AMIC_ID,
+ .model_id = AMIC_A25L16PU,
+ .total_size = 2048,
.page_size = 256,
- .tested = TEST_UNTESTED,
- .probe = probe_spi_rdid,
+ .tested = TEST_OK_PRW,
+ .probe = probe_spi_rdid4,
.probe_timing = TIMING_ZERO,
.block_erasers =
{
{
- .eraseblocks = { {4 * 1024, 128} },
- .block_erase = spi_block_erase_20,
- }, {
- .eraseblocks = { {64 * 1024, 8} },
- .block_erase = spi_block_erase_52,
- }, {
- .eraseblocks = { {64 * 1024, 8} },
+ .eraseblocks = {
+ {4 * 1024, 2},
+ {8 * 1024, 1},
+ {16 * 1024, 1},
+ {32 * 1024, 1},
+ {64 * 1024, 31},
+ },
.block_erase = spi_block_erase_d8,
}, {
- .eraseblocks = { {512 * 1024, 1} },
+ .eraseblocks = { {2048 * 1024, 1} },
.block_erase = spi_block_erase_60,
}, {
- .eraseblocks = { {512 * 1024, 1} },
+ .eraseblocks = { {2048 * 1024, 1} },
.block_erase = spi_block_erase_c7,
}
},
@@ -656,155 +636,192 @@
},
{
- .vendor = "Atmel",
- .name = "AT26DF041",
- .bustype = CHIP_BUSTYPE_SPI,
- .manufacture_id = ATMEL_ID,
- .model_id = AT_26DF041,
- .total_size = 512,
- .page_size = 256,
+ .vendor = "AMIC",
+ .name = "A29002B",
+ .bustype = CHIP_BUSTYPE_PARALLEL,
+ .manufacture_id = AMIC_ID_NOPREFIX,
+ .model_id = AMIC_A29002B,
+ .total_size = 256,
+ .page_size = 64 * 1024,
+ .feature_bits = FEATURE_ADDR_2AA | FEATURE_SHORT_RESET,
.tested = TEST_UNTESTED,
- .probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
+ .probe = probe_jedec,
+ .probe_timing = TIMING_IGNORED, /* routine don't use probe_timing (mx29f002.c) */
.block_erasers =
{
{
- .eraseblocks = { {4 * 1024, 128} },
- .block_erase = spi_block_erase_20,
- }
+ .eraseblocks = {
+ {16 * 1024, 1},
+ {8 * 1024, 2},
+ {32 * 1024, 1},
+ {64 * 1024, 3},
+ },
+ .block_erase = erase_sector_jedec,
+ }, {
+ .eraseblocks = { {256 * 1024, 1} },
+ .block_erase = erase_chip_block_jedec,
+ },
},
- .write = NULL /* Incompatible Page write */,
- .read = spi_chip_read,
+ .write = write_jedec_1,
+ .read = read_memmapped,
},
{
- .vendor = "Atmel",
- .name = "AT26DF081A",
- .bustype = CHIP_BUSTYPE_SPI,
- .manufacture_id = ATMEL_ID,
- .model_id = AT_26DF081A,
- .total_size = 1024,
- .page_size = 256,
- .tested = TEST_UNTESTED,
- .probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
+ .vendor = "AMIC",
+ .name = "A29002T",
+ .bustype = CHIP_BUSTYPE_PARALLEL,
+ .manufacture_id = AMIC_ID_NOPREFIX,
+ .model_id = AMIC_A29002T,
+ .total_size = 256,
+ .page_size = 64 * 1024,
+ .feature_bits = FEATURE_ADDR_2AA | FEATURE_SHORT_RESET,
+ .tested = TEST_OK_PRW,
+ .probe = probe_jedec,
+ .probe_timing = TIMING_IGNORED, /* routine don't use probe_timing (mx29f002.c) */
.block_erasers =
{
{
- .eraseblocks = { {4 * 1024, 256} },
- .block_erase = spi_block_erase_20,
- }, {
- .eraseblocks = { {32 * 1024, 32} },
- .block_erase = spi_block_erase_52,
- }, {
- .eraseblocks = { {64 * 1024, 16} },
- .block_erase = spi_block_erase_d8,
- }, {
- .eraseblocks = { {1024 * 1024, 1} },
- .block_erase = spi_block_erase_60,
+ .eraseblocks = {
+ {64 * 1024, 3},
+ {32 * 1024, 1},
+ {8 * 1024, 2},
+ {16 * 1024, 1},
+ },
+ .block_erase = erase_sector_jedec,
}, {
- .eraseblocks = { {1024 * 1024, 1} },
- .block_erase = spi_block_erase_c7,
- }
+ .eraseblocks = { {256 * 1024, 1} },
+ .block_erase = erase_chip_block_jedec,
+ },
},
- .unlock = spi_disable_blockprotect,
- .write = spi_chip_write_256,
- .read = spi_chip_read,
+ .write = write_jedec_1,
+ .read = read_memmapped,
},
{
- .vendor = "Atmel",
- .name = "AT26DF161",
- .bustype = CHIP_BUSTYPE_SPI,
- .manufacture_id = ATMEL_ID,
- .model_id = AT_26DF161,
- .total_size = 2048,
- .page_size = 256,
+ .vendor = "AMIC",
+ .name = "A29040B",
+ .bustype = CHIP_BUSTYPE_PARALLEL,
+ .manufacture_id = AMIC_ID_NOPREFIX,
+ .model_id = AMIC_A29040B,
+ .total_size = 512,
+ .page_size = 64 * 1024,
+ .feature_bits = FEATURE_ADDR_2AA | FEATURE_SHORT_RESET,
.tested = TEST_UNTESTED,
- .probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
+ .probe = probe_jedec,
+ .probe_timing = TIMING_IGNORED, /* routine don't use probe_timing (am29f040b.c) */
.block_erasers =
{
{
- .eraseblocks = { {4 * 1024, 512} },
- .block_erase = spi_block_erase_20,
- }, {
- .eraseblocks = { {32 * 1024, 64} },
- .block_erase = spi_block_erase_52,
- }, {
- .eraseblocks = { {64 * 1024, 32} },
- .block_erase = spi_block_erase_d8,
- }, {
- .eraseblocks = { {2 * 1024 * 1024, 1} },
- .block_erase = spi_block_erase_60,
+ .eraseblocks = { {64 * 1024, 8} },
+ .block_erase = erase_sector_jedec,
}, {
- .eraseblocks = { {2 * 1024 * 1024, 1} },
- .block_erase = spi_block_erase_c7,
- }
+ .eraseblocks = { {512 * 1024, 1} },
+ .block_erase = erase_chip_block_jedec,
+ },
},
- .unlock = spi_disable_blockprotect,
- .write = spi_chip_write_256,
- .read = spi_chip_read,
+ .write = write_jedec_1,
+ .read = read_memmapped,
},
{
- .vendor = "Atmel",
- .name = "AT26DF161A",
- .bustype = CHIP_BUSTYPE_SPI,
- .manufacture_id = ATMEL_ID,
- .model_id = AT_26DF161A,
- .total_size = 2048,
- .page_size = 256,
- .tested = TEST_UNTESTED,
- .probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
+ .vendor = "AMIC",
+ .name = "A49LF040A",
+ .bustype = CHIP_BUSTYPE_LPC,
+ .manufacture_id = AMIC_ID_NOPREFIX,
+ .model_id = AMIC_A49LF040A,
+ .total_size = 512,
+ .page_size = 64 * 1024,
+ .feature_bits = FEATURE_REGISTERMAP | FEATURE_EITHER_RESET,
+ .tested = TEST_OK_PREW,
+ .probe = probe_jedec,
+ .probe_timing = TIMING_ZERO, /* routine is wrapper to probe_jedec (pm49fl00x.c) */
.block_erasers =
{
{
- .eraseblocks = { {4 * 1024, 512} },
- .block_erase = spi_block_erase_20,
- }, {
- .eraseblocks = { {32 * 1024, 64} },
- .block_erase = spi_block_erase_52,
- }, {
- .eraseblocks = { {64 * 1024, 32} },
- .block_erase = spi_block_erase_d8,
+ .eraseblocks = { {64 * 1024, 8} },
+ .block_erase = erase_block_jedec,
}, {
- .eraseblocks = { {2 * 1024 * 1024, 1} },
- .block_erase = spi_block_erase_60,
+ .eraseblocks = { {512 * 1024, 1} },
+ .block_erase = erase_chip_block_jedec,
+ }
+ },
+ .unlock = unlock_49fl00x,
+ .write = write_jedec_1,
+ .read = read_memmapped,
+ },
+
+ {
+ .vendor = "ASD",
+ .name = "AE49F2008",
+ .bustype = CHIP_BUSTYPE_PARALLEL,
+ .manufacture_id = ASD_ID,
+ .model_id = ASD_AE49F2008,
+ .total_size = 256,
+ .page_size = 128,
+ .feature_bits = FEATURE_EITHER_RESET,
+ .tested = TEST_UNTESTED,
+ .probe = probe_jedec,
+ .probe_timing = TIMING_FIXME,
+ .block_erasers =
+ {
+ {
+ .eraseblocks = {
+ {128 * 1024, 1},
+ {96 * 1024, 1},
+ {8 * 1024, 2},
+ {16 * 1024, 1},
+ },
+ .block_erase = erase_sector_jedec,
}, {
- .eraseblocks = { {2 * 1024 * 1024, 1} },
- .block_erase = spi_block_erase_c7,
+ .eraseblocks = { {256 * 1024, 1} },
+ .block_erase = erase_chip_block_jedec,
}
},
- .unlock = spi_disable_blockprotect,
- .write = spi_chip_write_256,
- .read = spi_chip_read,
+ .write = write_jedec,
+ .read = read_memmapped,
},
- /*The AT26DF321 has the same ID as the AT25DF321. */
- /*{
+ {
.vendor = "Atmel",
- .name = "AT26DF321",
+ .name = "AT25DF021",
.bustype = CHIP_BUSTYPE_SPI,
.manufacture_id = ATMEL_ID,
- .model_id = AT_26DF321,
- .total_size = 4096,
+ .model_id = AT_25DF021,
+ .total_size = 256,
.page_size = 256,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
.probe_timing = TIMING_ZERO,
+ .block_erasers =
+ {
+ {
+ .eraseblocks = { {4 * 1024, 64} },
+ .block_erase = spi_block_erase_20,
+ }, {
+ .eraseblocks = { {32 * 1024, 8} },
+ .block_erase = spi_block_erase_52,
+ }, {
+ .eraseblocks = { {64 * 1024, 4} },
+ .block_erase = spi_block_erase_d8,
+ }, {
+ .eraseblocks = { {256 * 1024, 1} },
+ .block_erase = spi_block_erase_60,
+ }, {
+ .eraseblocks = { {256 * 1024, 1} },
+ .block_erase = spi_block_erase_c7,
+ }
+ },
.unlock = spi_disable_blockprotect,
.write = spi_chip_write_256,
.read = spi_chip_read,
- },*/
+ },
{
.vendor = "Atmel",
- .name = "AT26F004",
+ .name = "AT25DF041A",
.bustype = CHIP_BUSTYPE_SPI,
.manufacture_id = ATMEL_ID,
- .model_id = AT_26F004,
+ .model_id = AT_25DF041A,
.total_size = 512,
.page_size = 256,
.tested = TEST_UNTESTED,
@@ -829,818 +846,801 @@
.block_erase = spi_block_erase_c7,
}
},
- .write = NULL /* Incompatible Page write */,
+ .unlock = spi_disable_blockprotect,
+ .write = spi_chip_write_256,
.read = spi_chip_read,
},
{
.vendor = "Atmel",
- .name = "AT29C512",
- .bustype = CHIP_BUSTYPE_PARALLEL,
+ .name = "AT25DF081",
+ .bustype = CHIP_BUSTYPE_SPI,
.manufacture_id = ATMEL_ID,
- .model_id = AT_29C512,
- .total_size = 64,
- .page_size = 128,
- .feature_bits = FEATURE_LONG_RESET,
+ .model_id = AT_25DF081,
+ .total_size = 1024,
+ .page_size = 256,
.tested = TEST_UNTESTED,
- .probe = probe_jedec,
- .probe_timing = 10000, /* 10mS, Enter=Exec */
+ .probe = probe_spi_rdid,
+ .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
- .eraseblocks = { {64 * 1024, 1} },
- .block_erase = erase_chip_block_jedec,
+ .eraseblocks = { {4 * 1024, 256} },
+ .block_erase = spi_block_erase_20,
+ }, {
+ .eraseblocks = { {32 * 1024, 32} },
+ .block_erase = spi_block_erase_52,
+ }, {
+ .eraseblocks = { {64 * 1024, 16} },
+ .block_erase = spi_block_erase_d8,
+ }, {
+ .eraseblocks = { {1024 * 1024, 1} },
+ .block_erase = spi_block_erase_60,
+ }, {
+ .eraseblocks = { {1024 * 1024, 1} },
+ .block_erase = spi_block_erase_c7,
}
},
- .write = write_jedec,
- .read = read_memmapped,
-
+ .unlock = spi_disable_blockprotect,
+ .write = spi_chip_write_256,
+ .read = spi_chip_read,
},
{
.vendor = "Atmel",
- .name = "AT29C010A",
- .bustype = CHIP_BUSTYPE_PARALLEL,
+ .name = "AT25DF161",
+ .bustype = CHIP_BUSTYPE_SPI,
.manufacture_id = ATMEL_ID,
- .model_id = AT_29C010A,
- .total_size = 128,
- .page_size = 128,
- .feature_bits = FEATURE_LONG_RESET,
- .tested = TEST_OK_PREW,
- .probe = probe_jedec,
- .probe_timing = 10000, /* 10mS, Enter=Exec */
+ .model_id = AT_25DF161,
+ .total_size = 2048,
+ .page_size = 256,
+ .tested = TEST_UNTESTED,
+ .probe = probe_spi_rdid,
+ .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
- .eraseblocks = { {128 * 1024, 1} },
- .block_erase = erase_chip_block_jedec,
+ .eraseblocks = { {4 * 1024, 512} },
+ .block_erase = spi_block_erase_20,
+ }, {
+ .eraseblocks = { {32 * 1024, 64} },
+ .block_erase = spi_block_erase_52,
+ }, {
+ .eraseblocks = { {64 * 1024, 32} },
+ .block_erase = spi_block_erase_d8,
+ }, {
+ .eraseblocks = { {2 * 1024 * 1024, 1} },
+ .block_erase = spi_block_erase_60,
+ }, {
+ .eraseblocks = { {2 * 1024 * 1024, 1} },
+ .block_erase = spi_block_erase_c7,
}
},
- .write = write_jedec, /* FIXME */
- .read = read_memmapped,
+ .unlock = spi_disable_blockprotect,
+ .write = spi_chip_write_256,
+ .read = spi_chip_read,
},
{
.vendor = "Atmel",
- .name = "AT29C020",
- .bustype = CHIP_BUSTYPE_PARALLEL,
+ .name = "AT25DF321",
+ .bustype = CHIP_BUSTYPE_SPI,
.manufacture_id = ATMEL_ID,
- .model_id = AT_29C020,
- .total_size = 256,
+ .model_id = AT_25DF321,
+ .total_size = 4096,
.page_size = 256,
- .feature_bits = FEATURE_LONG_RESET,
- .tested = TEST_UNTESTED,
- .probe = probe_jedec,
- .probe_timing = 10000, /* 10ms */
+ .tested = TEST_OK_PRW,
+ .probe = probe_spi_rdid,
+ .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
- .eraseblocks = { {256 * 1024, 1} },
- .block_erase = erase_chip_block_jedec,
+ .eraseblocks = { {4 * 1024, 1024} },
+ .block_erase = spi_block_erase_20,
+ }, {
+ .eraseblocks = { {32 * 1024, 128} },
+ .block_erase = spi_block_erase_52,
+ }, {
+ .eraseblocks = { {64 * 1024, 64} },
+ .block_erase = spi_block_erase_d8,
+ }, {
+ .eraseblocks = { {4 * 1024 * 1024, 1} },
+ .block_erase = spi_block_erase_60,
+ }, {
+ .eraseblocks = { {4 * 1024 * 1024, 1} },
+ .block_erase = spi_block_erase_c7,
}
},
- .write = write_jedec,
- .read = read_memmapped,
+ .unlock = spi_disable_blockprotect,
+ .write = spi_chip_write_256,
+ .read = spi_chip_read,
},
{
.vendor = "Atmel",
- .name = "AT29C040A",
- .bustype = CHIP_BUSTYPE_PARALLEL,
+ .name = "AT25DF321A",
+ .bustype = CHIP_BUSTYPE_SPI,
.manufacture_id = ATMEL_ID,
- .model_id = AT_29C040A,
- .total_size = 512,
+ .model_id = AT_25DF321A,
+ .total_size = 4096,
.page_size = 256,
- .feature_bits = FEATURE_LONG_RESET,
.tested = TEST_UNTESTED,
- .probe = probe_jedec,
- .probe_timing = 10000, /* 10 ms */
+ .probe = probe_spi_rdid,
+ .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
- .eraseblocks = { {512 * 1024, 1} },
- .block_erase = erase_chip_block_jedec,
+ .eraseblocks = { {4 * 1024, 1024} },
+ .block_erase = spi_block_erase_20,
+ }, {
+ .eraseblocks = { {32 * 1024, 128} },
+ .block_erase = spi_block_erase_52,
+ }, {
+ .eraseblocks = { {64 * 1024, 64} },
+ .block_erase = spi_block_erase_d8,
+ }, {
+ .eraseblocks = { {4 * 1024 * 1024, 1} },
+ .block_erase = spi_block_erase_60,
+ }, {
+ .eraseblocks = { {4 * 1024 * 1024, 1} },
+ .block_erase = spi_block_erase_c7,
}
},
- .write = write_jedec,
- .read = read_memmapped,
+ .unlock = spi_disable_blockprotect,
+ .write = spi_chip_write_256,
+ .read = spi_chip_read,
},
{
.vendor = "Atmel",
- .name = "AT45CS1282",
+ .name = "AT25DF641",
.bustype = CHIP_BUSTYPE_SPI,
.manufacture_id = ATMEL_ID,
- .model_id = AT_45CS1282,
- .total_size = 16896 /* No power of two sizes */,
- .page_size = 1056 /* No power of two sizes */,
- .tested = TEST_BAD_READ,
+ .model_id = AT_25DF641,
+ .total_size = 8192,
+ .page_size = 256,
+ .tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
.probe_timing = TIMING_ZERO,
- .write = NULL /* Incompatible Page write */,
- .read = NULL /* Incompatible read */,
- },
-
- {
- .vendor = "Atmel",
- .name = "AT45DB011D",
- .bustype = CHIP_BUSTYPE_SPI,
- .manufacture_id = ATMEL_ID,
- .model_id = AT_45DB011D,
- .total_size = 128 /* Size can only be determined from status register */,
- .page_size = 256 /* Size can only be determined from status register */,
- .tested = TEST_BAD_READ,
- .probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
- .write = NULL,
- .read = NULL,
- },
-
- {
- .vendor = "Atmel",
- .name = "AT45DB021D",
- .bustype = CHIP_BUSTYPE_SPI,
- .manufacture_id = ATMEL_ID,
- .model_id = AT_45DB021D,
- .total_size = 256 /* Size can only be determined from status register */,
- .page_size = 256 /* Size can only be determined from status register */,
- .tested = TEST_BAD_READ,
- .probe = probe_spi_rdid,
- .probe_timing = TIMING_ZERO,
- .write = NULL,
- .read = NULL,
+ .block_erasers =
+ {
+ {
+ .eraseblocks = { {4 * 1024, 2048} },
+ .block_erase = spi_block_erase_20,
+ }, {
+ .eraseblocks = { {32 * 1024, 256} },
+ .block_erase = spi_block_erase_52,
+ }, {
+ .eraseblocks = { {64 * 1024, 128} },
+ .block_erase = spi_block_erase_d8,
+ }, {
+ .eraseblocks = { {8 * 1024 * 1024, 1} },
+ .block_erase = spi_block_erase_60,
+ }, {
+ .eraseblocks = { {8 * 1024 * 1024, 1} },
+ .block_erase = spi_block_erase_c7,
+ }
+ },
+ .unlock = spi_disable_blockprotect,
+ .write = spi_chip_write_256,
+ .read = spi_chip_read,
},
{
.vendor = "Atmel",
- .name = "AT45DB041D",
+ .name = "AT25F512B",
.bustype = CHIP_BUSTYPE_SPI,
.manufacture_id = ATMEL_ID,
- .model_id = AT_45DB041D,
- .total_size = 512 /* Size can only be determined from status register */,
- .page_size = 256 /* Size can only be determined from status register */,
- .tested = TEST_BAD_READ,
+ .model_id = AT_25F512B,
+ .total_size = 64,
+ .page_size = 256,
+ .tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
.probe_timing = TIMING_ZERO,
- .write = NULL,
- .read = NULL,
+ .block_erasers =
+ {
+ {
+ .eraseblocks = { {4 * 1024, 16} },
+ .block_erase = spi_block_erase_20,
+ }, {
+ .eraseblocks = { {32 * 1024, 2} },
+ .block_erase = spi_block_erase_52,
+ }, {
+ .eraseblocks = { {32 * 1024, 2} },
+ .block_erase = spi_block_erase_d8,
+ }, {
+ .eraseblocks = { {64 * 1024, 1} },
+ .block_erase = spi_block_erase_60,
+ }, {
+ .eraseblocks = { {64 * 1024, 1} },
+ .block_erase = spi_block_erase_c7,
+ }
+ },
+ .unlock = spi_disable_blockprotect,
+ .write = spi_chip_write_256,
+ .read = spi_chip_read,
},
{
.vendor = "Atmel",
- .name = "AT45DB081D",
+ .name = "AT25FS010",
.bustype = CHIP_BUSTYPE_SPI,
.manufacture_id = ATMEL_ID,
- .model_id = AT_45DB081D,
- .total_size = 1024 /* Size can only be determined from status register */,
- .page_size = 256 /* Size can only be determined from status register */,
- .tested = TEST_BAD_READ,
+ .model_id = AT_25FS010,
+ .total_size = 128,
+ .page_size = 256,
+ .tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
.probe_timing = TIMING_ZERO,
- .write = NULL,
- .read = NULL,
+ .block_erasers =
+ {
+ {
+ .eraseblocks = { {4 * 1024, 32} },
+ .block_erase = spi_block_erase_20,
+ }, {
+ .eraseblocks = { {32 * 1024, 4} },
+ .block_erase = spi_block_erase_52,
+ }, {
+ .eraseblocks = { {32 * 1024, 4} },
+ .block_erase = spi_block_erase_d8,
+ }, {
+ .eraseblocks = { {128 * 1024, 1} },
+ .block_erase = spi_block_erase_60,
+ }, {
+ .eraseblocks = { {128 * 1024, 1} },
+ .block_erase = spi_block_erase_c7,
+ }
+ },
+ .unlock = spi_disable_blockprotect,
+ .write = spi_chip_write_256,
+ .read = spi_chip_read,
},
{
.vendor = "Atmel",
- .name = "AT45DB161D",
+ .name = "AT25FS040",
.bustype = CHIP_BUSTYPE_SPI,
.manufacture_id = ATMEL_ID,
- .model_id = AT_45DB161D,
- .total_size = 2048 /* Size can only be determined from status register */,
- .page_size = 512 /* Size can only be determined from status register */,
- .tested = TEST_BAD_READ,
+ .model_id = AT_25FS040,
+ .total_size = 512,
+ .page_size = 256,
+ .tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
.probe_timing = TIMING_ZERO,
- .write = NULL,
- .read = NULL,
+ .block_erasers =
+ {
+ {
+ .eraseblocks = { {4 * 1024, 128} },
+ .block_erase = spi_block_erase_20,
+ }, {
+ .eraseblocks = { {64 * 1024, 8} },
+ .block_erase = spi_block_erase_52,
+ }, {
+ .eraseblocks = { {64 * 1024, 8} },
+ .block_erase = spi_block_erase_d8,
+ }, {
+ .eraseblocks = { {512 * 1024, 1} },
+ .block_erase = spi_block_erase_60,
+ }, {
+ .eraseblocks = { {512 * 1024, 1} },
+ .block_erase = spi_block_erase_c7,
+ }
+ },
+ .unlock = spi_disable_blockprotect,
+ .write = spi_chip_write_256,
+ .read = spi_chip_read,
},
{
.vendor = "Atmel",
- .name = "AT45DB321C",
+ .name = "AT26DF041",
.bustype = CHIP_BUSTYPE_SPI,
.manufacture_id = ATMEL_ID,
- .model_id = AT_45DB321C,
- .total_size = 4224 /* No power of two sizes */,
- .page_size = 528 /* No power of two sizes */,
- .tested = TEST_BAD_READ,
+ .model_id = AT_26DF041,
+ .total_size = 512,
+ .page_size = 256,
+ .tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
.probe_timing = TIMING_ZERO,
- .write = NULL,
- .read = NULL /* Incompatible read */,
+ .block_erasers =
+ {
+ {
+ .eraseblocks = { {4 * 1024, 128} },
+ .block_erase = spi_block_erase_20,
+ }
+ },
+ .write = NULL /* Incompatible Page write */,
+ .read = spi_chip_read,
},
{
.vendor = "Atmel",
- .name = "AT45DB321D",
+ .name = "AT26DF081A",
.bustype = CHIP_BUSTYPE_SPI,
.manufacture_id = ATMEL_ID,
- .model_id = AT_45DB321D,
- .total_size = 4096 /* Size can only be determined from status register */,
- .page_size = 512 /* Size can only be determined from status register */,
- .tested = TEST_BAD_READ,
+ .model_id = AT_26DF081A,
+ .total_size = 1024,
+ .page_size = 256,
+ .tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
.probe_timing = TIMING_ZERO,
- .write = NULL,
- .read = NULL,
+ .block_erasers =
+ {
+ {
+ .eraseblocks = { {4 * 1024, 256} },
+ .block_erase = spi_block_erase_20,
+ }, {
+ .eraseblocks = { {32 * 1024, 32} },
+ .block_erase = spi_block_erase_52,
+ }, {
+ .eraseblocks = { {64 * 1024, 16} },
+ .block_erase = spi_block_erase_d8,
+ }, {
+ .eraseblocks = { {1024 * 1024, 1} },
+ .block_erase = spi_block_erase_60,
+ }, {
+ .eraseblocks = { {1024 * 1024, 1} },
+ .block_erase = spi_block_erase_c7,
+ }
+ },
+ .unlock = spi_disable_blockprotect,
+ .write = spi_chip_write_256,
+ .read = spi_chip_read,
},
{
.vendor = "Atmel",
- .name = "AT45DB642D",
+ .name = "AT26DF161",
.bustype = CHIP_BUSTYPE_SPI,
.manufacture_id = ATMEL_ID,
- .model_id = AT_45DB642D,
- .total_size = 8192 /* Size can only be determined from status register */,
- .page_size = 1024 /* Size can only be determined from status register */,
- .tested = TEST_BAD_READ,
+ .model_id = AT_26DF161,
+ .total_size = 2048,
+ .page_size = 256,
+ .tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
.probe_timing = TIMING_ZERO,
- .write = NULL,
- .read = NULL,
- },
-
- {
- .vendor = "Atmel",
- .name = "AT49BV512",
- .bustype = CHIP_BUSTYPE_PARALLEL,
- .manufacture_id = ATMEL_ID,
- .model_id = AT_49BV512,
- .total_size = 64,
- .page_size = 64,
- .feature_bits = FEATURE_EITHER_RESET,
- .tested = TEST_UNTESTED,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
.block_erasers =
{
{
- .eraseblocks = { {64 * 1024, 1} },
- .block_erase = erase_chip_block_jedec,
+ .eraseblocks = { {4 * 1024, 512} },
+ .block_erase = spi_block_erase_20,
+ }, {
+ .eraseblocks = { {32 * 1024, 64} },
+ .block_erase = spi_block_erase_52,
+ }, {
+ .eraseblocks = { {64 * 1024, 32} },
+ .block_erase = spi_block_erase_d8,
+ }, {
+ .eraseblocks = { {2 * 1024 * 1024, 1} },
+ .block_erase = spi_block_erase_60,
+ }, {
+ .eraseblocks = { {2 * 1024 * 1024, 1} },
+ .block_erase = spi_block_erase_c7,
}
},
- .write = write_jedec_1,
- .read = read_memmapped,
+ .unlock = spi_disable_blockprotect,
+ .write = spi_chip_write_256,
+ .read = spi_chip_read,
},
{
.vendor = "Atmel",
- .name = "AT49F020",
- .bustype = CHIP_BUSTYPE_PARALLEL,
+ .name = "AT26DF161A",
+ .bustype = CHIP_BUSTYPE_SPI,
.manufacture_id = ATMEL_ID,
- .model_id = AT_49F020,
- .total_size = 256,
+ .model_id = AT_26DF161A,
+ .total_size = 2048,
.page_size = 256,
- .feature_bits = FEATURE_EITHER_RESET,
- .tested = TEST_OK_PREW,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
+ .tested = TEST_UNTESTED,
+ .probe = probe_spi_rdid,
+ .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
- .eraseblocks = { {256 * 1024, 1} },
- .block_erase = erase_chip_block_jedec,
+ .eraseblocks = { {4 * 1024, 512} },
+ .block_erase = spi_block_erase_20,
+ }, {
+ .eraseblocks = { {32 * 1024, 64} },
+ .block_erase = spi_block_erase_52,
+ }, {
+ .eraseblocks = { {64 * 1024, 32} },
+ .block_erase = spi_block_erase_d8,
+ }, {
+ .eraseblocks = { {2 * 1024 * 1024, 1} },
+ .block_erase = spi_block_erase_60,
+ }, {
+ .eraseblocks = { {2 * 1024 * 1024, 1} },
+ .block_erase = spi_block_erase_c7,
}
},
- .write = write_jedec_1,
- .read = read_memmapped,
+ .unlock = spi_disable_blockprotect,
+ .write = spi_chip_write_256,
+ .read = spi_chip_read,
},
+ /*The AT26DF321 has the same ID as the AT25DF321. */
+ /*{
+ .vendor = "Atmel",
+ .name = "AT26DF321",
+ .bustype = CHIP_BUSTYPE_SPI,
+ .manufacture_id = ATMEL_ID,
+ .model_id = AT_26DF321,
+ .total_size = 4096,
+ .page_size = 256,
+ .tested = TEST_UNTESTED,
+ .probe = probe_spi_rdid,
+ .probe_timing = TIMING_ZERO,
+ .unlock = spi_disable_blockprotect,
+ .write = spi_chip_write_256,
+ .read = spi_chip_read,
+ },*/
+
{
.vendor = "Atmel",
- .name = "AT49F002(N)",
- .bustype = CHIP_BUSTYPE_PARALLEL,
+ .name = "AT26F004",
+ .bustype = CHIP_BUSTYPE_SPI,
.manufacture_id = ATMEL_ID,
- .model_id = AT_49F002N,
- .total_size = 256,
+ .model_id = AT_26F004,
+ .total_size = 512,
.page_size = 256,
- .feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_UNTESTED,
- .probe = probe_jedec,
- .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
+ .probe = probe_spi_rdid,
+ .probe_timing = TIMING_ZERO,
.block_erasers =
{
{
- .eraseblocks = {
- {16 * 1024, 1},
- {8 * 1024, 2},
- {96 * 1024, 1},
- {128 * 1024, 1},
- },
- .block_erase = erase_sector_jedec,
+ .eraseblocks = { {4 * 1024, 128} },
+ .block_erase = spi_block_erase_20,
}, {
- .eraseblocks = { {256 * 1024, 1} },
- .block_erase = erase_chip_block_jedec,
+ .eraseblocks = { {32 * 1024, 16} },
+ .block_erase = spi_block_erase_52,
+ }, {
+ .eraseblocks = { {64 * 1024, 8} },
+ .block_erase = spi_block_erase_d8,
+ }, {
+ .eraseblocks = { {512 * 1024, 1} },
+ .block_erase = spi_block_erase_60,
+ }, {
+ .eraseblocks = { {512 * 1024, 1} },
+ .block_erase = spi_block_erase_c7,
}
},
- .write = write_jedec_1,
- .read = read_memmapped,
+ .write = NULL /* Incompatible Page write */,
+ .read = spi_chip_read,
},
{
.vendor = "Atmel",
- .name = "AT49F002(N)T",
+ .name = "AT29C512",
.bustype = CHIP_BUSTYPE_PARALLEL,
.manufacture_id = ATMEL_ID,
- .model_id = AT_49F002NT,
- .total_size = 256,
- .page_size = 256,
- .feature_bits = FEATURE_EITHER_RESET,
- .tested = TEST_OK_PRW,
+ .model_id = AT_29C512,
+ .total_size = 64,
+ .page_size = 128,
+ .feature_bits = FEATURE_LONG_RESET,
+ .tested = TEST_UNTESTED,
.probe = probe_jedec,
- .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
+ .probe_timing = 10000, /* 10mS, Enter=Exec */
.block_erasers =
{
{
- .eraseblocks = {
- {128 * 1024, 1},
- {96 * 1024, 1},
- {8 * 1024, 2},
- {16 * 1024, 1},
- },
- .block_erase = erase_sector_jedec,
- }, {
- .eraseblocks = { {256 * 1024, 1} },
+ .eraseblocks = { {64 * 1024, 1} },
.block_erase = erase_chip_block_jedec,
}
},
- .write = write_jedec_1,
+ .write = write_jedec,
.read = read_memmapped,
+
},
{
- .vendor = "AMIC",
- .name = "A25L05PT",
- .bustype = CHIP_BUSTYPE_SPI,
- .manufacture_id = AMIC_ID,
- .model_id = AMIC_A25L05PT,
- .total_size = 64,
- .page_size = 256,
- .tested = TEST_UNTESTED,
- .probe = probe_spi_rdid4,
- .probe_timing = TIMING_ZERO,
+ .vendor = "Atmel",
+ .name = "AT29C010A",
+ .bustype = CHIP_BUSTYPE_PARALLEL,
+ .manufacture_id = ATMEL_ID,
+ .model_id = AT_29C010A,
+ .total_size = 128,
+ .page_size = 128,
+ .feature_bits = FEATURE_LONG_RESET,
+ .tested = TEST_OK_PREW,
+ .probe = probe_jedec,
+ .probe_timing = 10000, /* 10mS, Enter=Exec */
.block_erasers =
{
{
- .eraseblocks = {
- {32 * 1024, 1},
- {16 * 1024, 1},
- {8 * 1024, 1},
- {4 * 1024, 2},
- },
- .block_erase = spi_block_erase_d8,
- }, {
- .eraseblocks = { {64 * 1024, 1} },
- .block_erase = spi_block_erase_c7,
+ .eraseblocks = { {128 * 1024, 1} },
+ .block_erase = erase_chip_block_jedec,
}
},
- .unlock = spi_disable_blockprotect,
- .write = spi_chip_write_256,
- .read = spi_chip_read,
+ .write = write_jedec, /* FIXME */
+ .read = read_memmapped,
},
{
- .vendor = "AMIC",
- .name = "A25L05PU",
- .bustype = CHIP_BUSTYPE_SPI,
- .manufacture_id = AMIC_ID,
- .model_id = AMIC_A25L05PU,
- .total_size = 64,
+ .vendor = "Atmel",
+ .name = "AT29C020",
+ .bustype = CHIP_BUSTYPE_PARALLEL,
+ .manufacture_id = ATMEL_ID,
+ .model_id = AT_29C020,
+ .total_size = 256,
.page_size = 256,
+ .feature_bits = FEATURE_LONG_RESET,
.tested = TEST_UNTESTED,
- .probe = probe_spi_rdid4,
- .probe_timing = TIMING_ZERO,
+ .probe = probe_jedec,
+ .probe_timing = 10000, /* 10ms */
.block_erasers =
{
{
- .eraseblocks = {
- {4 * 1024, 2},
- {8 * 1024, 1},
- {16 * 1024, 1},
- {32 * 1024, 1},
- },
- .block_erase = spi_block_erase_d8,
- }, {
- .eraseblocks = { {64 * 1024, 1} },
- .block_erase = spi_block_erase_c7,
+ .eraseblocks = { {256 * 1024, 1} },
+ .block_erase = erase_chip_block_jedec,
}
},
- .unlock = spi_disable_blockprotect,
- .write = spi_chip_write_256,
- .read = spi_chip_read,
+ .write = write_jedec,
+ .read = read_memmapped,
},
{
- .vendor = "AMIC",
- .name = "A25L10PT",
- .bustype = CHIP_BUSTYPE_SPI,
- .manufacture_id = AMIC_ID,
- .model_id = AMIC_A25L10PT,
- .total_size = 128,
+ .vendor = "Atmel",
+ .name = "AT29C040A",
+ .bustype = CHIP_BUSTYPE_PARALLEL,
+ .manufacture_id = ATMEL_ID,
+ .model_id = AT_29C040A,
+ .total_size = 512,
.page_size = 256,
+ .feature_bits = FEATURE_LONG_RESET,
.tested = TEST_UNTESTED,
- .probe = probe_spi_rdid4,
- .probe_timing = TIMING_ZERO,
+ .probe = probe_jedec,
+ .probe_timing = 10000, /* 10 ms */
.block_erasers =
{
{
- .eraseblocks = {
- {64 * 1024, 1},
- {32 * 1024, 1},
- {16 * 1024, 1},
- {8 * 1024, 1},
- {4 * 1024, 2},
- },
- .block_erase = spi_block_erase_d8,
- }, {
- .eraseblocks = { {128 * 1024, 1} },
- .block_erase = spi_block_erase_c7,
+ .eraseblocks = { {512 * 1024, 1} },
+ .block_erase = erase_chip_block_jedec,
}
},
- .unlock = spi_disable_blockprotect,
- .write = spi_chip_write_256,
- .read = spi_chip_read,
+ .write = write_jedec,
+ .read = read_memmapped,
},
{
- .vendor = "AMIC",
- .name = "A25L10PU",
+ .vendor = "Atmel",
+ .name = "AT45CS1282",
.bustype = CHIP_BUSTYPE_SPI,
- .manufacture_id = AMIC_ID,
- .model_id = AMIC_A25L10PU,
- .total_size = 128,
- .page_size = 256,
- .tested = TEST_UNTESTED,
- .probe = probe_spi_rdid4,
+ .manufacture_id = ATMEL_ID,
+ .model_id = AT_45CS1282,
+ .total_size = 16896 /* No power of two sizes */,
+ .page_size = 1056 /* No power of two sizes */,
+ .tested = TEST_BAD_READ,
+ .probe = probe_spi_rdid,
.probe_timing = TIMING_ZERO,
- .block_erasers =
- {
- {
- .eraseblocks = {
- {4 * 1024, 2},
- {8 * 1024, 1},
- {16 * 1024, 1},
- {32 * 1024, 1},
- {64 * 1024, 1},
- },
- .block_erase = spi_block_erase_d8,
- }, {
- .eraseblocks = { {128 * 1024, 1} },
- .block_erase = spi_block_erase_c7,
- }
- },
- .unlock = spi_disable_blockprotect,
- .write = spi_chip_write_256,
- .read = spi_chip_read,
+ .write = NULL /* Incompatible Page write */,
+ .read = NULL /* Incompatible read */,
},
{
- .vendor = "AMIC",
- .name = "A25L20PT",
+ .vendor = "Atmel",
+ .name = "AT45DB011D",
.bustype = CHIP_BUSTYPE_SPI,
- .manufacture_id = AMIC_ID,
- .model_id = AMIC_A25L20PT,
- .total_size = 256,
- .page_size = 256,
- .tested = TEST_UNTESTED,
- .probe = probe_spi_rdid4,
+ .manufacture_id = ATMEL_ID,
+ .model_id = AT_45DB011D,
+ .total_size = 128 /* Size can only be determined from status register */,
+ .page_size = 256 /* Size can only be determined from status register */,
+ .tested = TEST_BAD_READ,
+ .probe = probe_spi_rdid,
.probe_timing = TIMING_ZERO,
- .block_erasers =
- {
- {
- .eraseblocks = {
- {64 * 1024, 3},
- {32 * 1024, 1},
- {16 * 1024, 1},
- {8 * 1024, 1},
- {4 * 1024, 2},
- },
- .block_erase = spi_block_erase_d8,
- }, {
- .eraseblocks = { {256 * 1024, 1} },
- .block_erase = spi_block_erase_c7,
- }
- },
- .unlock = spi_disable_blockprotect,
- .write = spi_chip_write_256,
- .read = spi_chip_read,
+ .write = NULL,
+ .read = NULL,
},
{
- .vendor = "AMIC",
- .name = "A25L20PU",
+ .vendor = "Atmel",
+ .name = "AT45DB021D",
.bustype = CHIP_BUSTYPE_SPI,
- .manufacture_id = AMIC_ID,
- .model_id = AMIC_A25L20PU,
- .total_size = 256,
- .page_size = 256,
- .tested = TEST_UNTESTED,
- .probe = probe_spi_rdid4,
+ .manufacture_id = ATMEL_ID,
+ .model_id = AT_45DB021D,
+ .total_size = 256 /* Size can only be determined from status register */,
+ .page_size = 256 /* Size can only be determined from status register */,
+ .tested = TEST_BAD_READ,
+ .probe = probe_spi_rdid,
.probe_timing = TIMING_ZERO,
- .block_erasers =
- {
- {
- .eraseblocks = {
- {4 * 1024, 2},
- {8 * 1024, 1},
- {16 * 1024, 1},
- {32 * 1024, 1},
- {64 * 1024, 3},
- },
- .block_erase = spi_block_erase_d8,
- }, {
- .eraseblocks = { {256 * 1024, 1} },
- .block_erase = spi_block_erase_c7,
- }
- },
- .unlock = spi_disable_blockprotect,
- .write = spi_chip_write_256,
- .read = spi_chip_read,
+ .write = NULL,
+ .read = NULL,
},
- /* The A25L40P{T,U} chips are distinguished by their
- * erase block layouts, but without any distinction in RDID.
- * This inexplicable quirk was verified by Rudolf Marek
- * and discussed on the flashrom mailing list on 2010-07-12.
- */
{
- .vendor = "AMIC",
- .name = "A25L40PT",
+ .vendor = "Atmel",
+ .name = "AT45DB041D",
.bustype = CHIP_BUSTYPE_SPI,
- .manufacture_id = AMIC_ID,
- .model_id = AMIC_A25L40PT,
- .total_size = 512,
- .page_size = 256,
- .tested = TEST_OK_PRW,
- .probe = probe_spi_rdid4,
+ .manufacture_id = ATMEL_ID,
+ .model_id = AT_45DB041D,
+ .total_size = 512 /* Size can only be determined from status register */,
+ .page_size = 256 /* Size can only be determined from status register */,
+ .tested = TEST_BAD_READ,
+ .probe = probe_spi_rdid,
.probe_timing = TIMING_ZERO,
- .block_erasers =
- {
- {
- .eraseblocks = {
- {64 * 1024, 7},
- {32 * 1024, 1},
- {16 * 1024, 1},
- {8 * 1024, 1},
- {4 * 1024, 2},
- },
- .block_erase = spi_block_erase_d8,
- }, {
- .eraseblocks = { {512 * 1024, 1} },
- .block_erase = spi_block_erase_c7,
- }
- },
- .unlock = spi_disable_blockprotect,
- .write = spi_chip_write_256,
- .read = spi_chip_read,
+ .write = NULL,
+ .read = NULL,
},
{
- .vendor = "AMIC",
- .name = "A25L40PU",
+ .vendor = "Atmel",
+ .name = "AT45DB081D",
.bustype = CHIP_BUSTYPE_SPI,
- .manufacture_id = AMIC_ID,
- .model_id = AMIC_A25L40PU,
- .total_size = 512,
- .page_size = 256,
- .tested = TEST_OK_PRW,
- .probe = probe_spi_rdid4,
+ .manufacture_id = ATMEL_ID,
+ .model_id = AT_45DB081D,
+ .total_size = 1024 /* Size can only be determined from status register */,
+ .page_size = 256 /* Size can only be determined from status register */,
+ .tested = TEST_BAD_READ,
+ .probe = probe_spi_rdid,
+ .probe_timing = TIMING_ZERO,
+ .write = NULL,
+ .read = NULL,
+ },
+
+ {
+ .vendor = "Atmel",
+ .name = "AT45DB161D",
+ .bustype = CHIP_BUSTYPE_SPI,
+ .manufacture_id = ATMEL_ID,
+ .model_id = AT_45DB161D,
+ .total_size = 2048 /* Size can only be determined from status register */,
+ .page_size = 512 /* Size can only be determined from status register */,
+ .tested = TEST_BAD_READ,
+ .probe = probe_spi_rdid,
.probe_timing = TIMING_ZERO,
- .block_erasers =
- {
- {
- .eraseblocks = {
- {4 * 1024, 2},
- {8 * 1024, 1},
- {16 * 1024, 1},
- {32 * 1024, 1},
- {64 * 1024, 7},
- },
- .block_erase = spi_block_erase_d8,
- }, {
- .eraseblocks = { {512 * 1024, 1} },
- .block_erase = spi_block_erase_c7,
- }
- },
- .unlock = spi_disable_blockprotect,
- .write = spi_chip_write_256,
- .read = spi_chip_read,
+ .write = NULL,
+ .read = NULL,
},
{
- .vendor = "AMIC",
- .name = "A25L80P",
+ .vendor = "Atmel",
+ .name = "AT45DB321C",
.bustype = CHIP_BUSTYPE_SPI,
- .manufacture_id = AMIC_ID,
- .model_id = AMIC_A25L80P,
- .total_size = 1024,
- .page_size = 256,
- .tested = TEST_OK_PREW,
- .probe = probe_spi_rdid4,
+ .manufacture_id = ATMEL_ID,
+ .model_id = AT_45DB321C,
+ .total_size = 4224 /* No power of two sizes */,
+ .page_size = 528 /* No power of two sizes */,
+ .tested = TEST_BAD_READ,
+ .probe = probe_spi_rdid,
.probe_timing = TIMING_ZERO,
- .block_erasers =
- {
- {
- .eraseblocks = {
- {4 * 1024, 2},
- {8 * 1024, 1},
- {16 * 1024, 1},
- {32 * 1024, 1},
- {64 * 1024, 15},
- },
- .block_erase = spi_block_erase_d8,
- }, {
- .eraseblocks = { {1024 * 1024, 1} },
- .block_erase = spi_block_erase_c7,
- }
- },
- .unlock = spi_disable_blockprotect,
- .write = spi_chip_write_256,
- .read = spi_chip_read,
+ .write = NULL,
+ .read = NULL /* Incompatible read */,
},
{
- .vendor = "AMIC",
- .name = "A25L16PT",
+ .vendor = "Atmel",
+ .name = "AT45DB321D",
.bustype = CHIP_BUSTYPE_SPI,
- .manufacture_id = AMIC_ID,
- .model_id = AMIC_A25L16PT,
- .total_size = 2048,
- .page_size = 256,
- .tested = TEST_UNTESTED,
- .probe = probe_spi_rdid4,
+ .manufacture_id = ATMEL_ID,
+ .model_id = AT_45DB321D,
+ .total_size = 4096 /* Size can only be determined from status register */,
+ .page_size = 512 /* Size can only be determined from status register */,
+ .tested = TEST_BAD_READ,
+ .probe = probe_spi_rdid,
.probe_timing = TIMING_ZERO,
- .block_erasers =
- {
- {
- .eraseblocks = {
- {64 * 1024, 31},
- {32 * 1024, 1},
- {16 * 1024, 1},
- {8 * 1024, 1},
- {4 * 1024, 2},
- },
- .block_erase = spi_block_erase_d8,
- }, {
- .eraseblocks = { {2048 * 1024, 1} },
- .block_erase = spi_block_erase_60,
- }, {
- .eraseblocks = { {2048 * 1024, 1} },
- .block_erase = spi_block_erase_c7,
- }
- },
- .unlock = spi_disable_blockprotect,
- .write = spi_chip_write_256,
- .read = spi_chip_read,
+ .write = NULL,
+ .read = NULL,
},
{
- .vendor = "AMIC",
- .name = "A25L16PU",
+ .vendor = "Atmel",
+ .name = "AT45DB642D",
.bustype = CHIP_BUSTYPE_SPI,
- .manufacture_id = AMIC_ID,
- .model_id = AMIC_A25L16PU,
- .total_size = 2048,
- .page_size = 256,
- .tested = TEST_OK_PRW,
- .probe = probe_spi_rdid4,
+ .manufacture_id = ATMEL_ID,
+ .model_id = AT_45DB642D,
+ .total_size = 8192 /* Size can only be determined from status register */,
+ .page_size = 1024 /* Size can only be determined from status register */,
+ .tested = TEST_BAD_READ,
+ .probe = probe_spi_rdid,
.probe_timing = TIMING_ZERO,
- .block_erasers =
- {
- {
- .eraseblocks = {
- {4 * 1024, 2},
- {8 * 1024, 1},
- {16 * 1024, 1},
- {32 * 1024, 1},
- {64 * 1024, 31},
- },
- .block_erase = spi_block_erase_d8,
- }, {
- .eraseblocks = { {2048 * 1024, 1} },
- .block_erase = spi_block_erase_60,
- }, {
- .eraseblocks = { {2048 * 1024, 1} },
- .block_erase = spi_block_erase_c7,
- }
- },
- .unlock = spi_disable_blockprotect,
- .write = spi_chip_write_256,
- .read = spi_chip_read,
+ .write = NULL,
+ .read = NULL,
},
{
- .vendor = "AMIC",
- .name = "A29002B",
+ .vendor = "Atmel",
+ .name = "AT49BV512",
.bustype = CHIP_BUSTYPE_PARALLEL,
- .manufacture_id = AMIC_ID_NOPREFIX,
- .model_id = AMIC_A29002B,
- .total_size = 256,
- .page_size = 64 * 1024,
- .feature_bits = FEATURE_ADDR_2AA | FEATURE_SHORT_RESET,
+ .manufacture_id = ATMEL_ID,
+ .model_id = AT_49BV512,
+ .total_size = 64,
+ .page_size = 64,
+ .feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_UNTESTED,
.probe = probe_jedec,
- .probe_timing = TIMING_IGNORED, /* routine don't use probe_timing (mx29f002.c) */
+ .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
.block_erasers =
{
{
- .eraseblocks = {
- {16 * 1024, 1},
- {8 * 1024, 2},
- {32 * 1024, 1},
- {64 * 1024, 3},
- },
- .block_erase = erase_sector_jedec,
- }, {
- .eraseblocks = { {256 * 1024, 1} },
+ .eraseblocks = { {64 * 1024, 1} },
.block_erase = erase_chip_block_jedec,
- },
+ }
},
.write = write_jedec_1,
.read = read_memmapped,
},
{
- .vendor = "AMIC",
- .name = "A29002T",
+ .vendor = "Atmel",
+ .name = "AT49F020",
.bustype = CHIP_BUSTYPE_PARALLEL,
- .manufacture_id = AMIC_ID_NOPREFIX,
- .model_id = AMIC_A29002T,
+ .manufacture_id = ATMEL_ID,
+ .model_id = AT_49F020,
.total_size = 256,
- .page_size = 64 * 1024,
- .feature_bits = FEATURE_ADDR_2AA | FEATURE_SHORT_RESET,
- .tested = TEST_OK_PRW,
+ .page_size = 256,
+ .feature_bits = FEATURE_EITHER_RESET,
+ .tested = TEST_OK_PREW,
.probe = probe_jedec,
- .probe_timing = TIMING_IGNORED, /* routine don't use probe_timing (mx29f002.c) */
+ .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
.block_erasers =
{
{
- .eraseblocks = {
- {64 * 1024, 3},
- {32 * 1024, 1},
- {8 * 1024, 2},
- {16 * 1024, 1},
- },
- .block_erase = erase_sector_jedec,
- }, {
.eraseblocks = { {256 * 1024, 1} },
.block_erase = erase_chip_block_jedec,
- },
+ }
},
.write = write_jedec_1,
.read = read_memmapped,
},
{
- .vendor = "AMIC",
- .name = "A29040B",
+ .vendor = "Atmel",
+ .name = "AT49F002(N)",
.bustype = CHIP_BUSTYPE_PARALLEL,
- .manufacture_id = AMIC_ID_NOPREFIX,
- .model_id = AMIC_A29040B,
- .total_size = 512,
- .page_size = 64 * 1024,
- .feature_bits = FEATURE_ADDR_2AA | FEATURE_SHORT_RESET,
+ .manufacture_id = ATMEL_ID,
+ .model_id = AT_49F002N,
+ .total_size = 256,
+ .page_size = 256,
+ .feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_UNTESTED,
.probe = probe_jedec,
- .probe_timing = TIMING_IGNORED, /* routine don't use probe_timing (am29f040b.c) */
+ .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
.block_erasers =
{
{
- .eraseblocks = { {64 * 1024, 8} },
+ .eraseblocks = {
+ {16 * 1024, 1},
+ {8 * 1024, 2},
+ {96 * 1024, 1},
+ {128 * 1024, 1},
+ },
.block_erase = erase_sector_jedec,
}, {
- .eraseblocks = { {512 * 1024, 1} },
+ .eraseblocks = { {256 * 1024, 1} },
.block_erase = erase_chip_block_jedec,
- },
+ }
},
.write = write_jedec_1,
.read = read_memmapped,
},
{
- .vendor = "AMIC",
- .name = "A49LF040A",
- .bustype = CHIP_BUSTYPE_LPC,
- .manufacture_id = AMIC_ID_NOPREFIX,
- .model_id = AMIC_A49LF040A,
- .total_size = 512,
- .page_size = 64 * 1024,
- .feature_bits = FEATURE_REGISTERMAP | FEATURE_EITHER_RESET,
- .tested = TEST_OK_PREW,
+ .vendor = "Atmel",
+ .name = "AT49F002(N)T",
+ .bustype = CHIP_BUSTYPE_PARALLEL,
+ .manufacture_id = ATMEL_ID,
+ .model_id = AT_49F002NT,
+ .total_size = 256,
+ .page_size = 256,
+ .feature_bits = FEATURE_EITHER_RESET,
+ .tested = TEST_OK_PRW,
.probe = probe_jedec,
- .probe_timing = TIMING_ZERO, /* routine is wrapper to probe_jedec (pm49fl00x.c) */
+ .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
.block_erasers =
{
{
- .eraseblocks = { {64 * 1024, 8} },
- .block_erase = erase_block_jedec,
+ .eraseblocks = {
+ {128 * 1024, 1},
+ {96 * 1024, 1},
+ {8 * 1024, 2},
+ {16 * 1024, 1},
+ },
+ .block_erase = erase_sector_jedec,
}, {
- .eraseblocks = { {512 * 1024, 1} },
+ .eraseblocks = { {256 * 1024, 1} },
.block_erase = erase_chip_block_jedec,
}
},
- .unlock = unlock_49fl00x,
.write = write_jedec_1,
.read = read_memmapped,
},
@@ -2512,7 +2512,7 @@
},
{
- .vendor = "EON",
+ .vendor = "Eon",
.name = "EN29F002(A)(N)B",
.bustype = CHIP_BUSTYPE_PARALLEL,
.manufacture_id = EON_ID,
@@ -2543,7 +2543,7 @@
},
{
- .vendor = "EON",
+ .vendor = "Eon",
.name = "EN29F002(A)(N)T",
.bustype = CHIP_BUSTYPE_PARALLEL,
.manufacture_id = EON_ID,
@@ -6998,8 +6998,8 @@
},
{
- .vendor = "EON",
- .name = "unknown EON SPI chip",
+ .vendor = "Eon",
+ .name = "unknown Eon SPI chip",
.bustype = CHIP_BUSTYPE_SPI,
.manufacture_id = EON_ID_NOPREFIX,
.model_id = GENERIC_DEVICE_ID,
More information about the flashrom
mailing list