On 06.09.2009 15:11, Carl-Daniel Hailfinger wrote:
Signed-off-by: Carl-Daniel Hailfinger c-d.hailfinger.devel.2006@gmx.net
Again, this time with changelog.
Add comments about the meaning of block erase related struct flashchip members. Cosmetics: Place curly brackets on a common line. Add MX25V512 as alias name to MX25L512. Add erase block definitions for MX25L2005, MX25L4005, MX25L8005, MX25L1605
Index: flashrom-eraseblocks_mx25/flashchips.c
--- flashrom-eraseblocks_mx25/flashchips.c (Revision 719) +++ flashrom-eraseblocks_mx25/flashchips.c (Arbeitskopie) @@ -44,6 +44,11 @@ * .probe = Probe function * .probe_timing = Probe function delay * .erase = Chip erase function
* .block_erasers[] = Array of erase layouts and erase functions
* {
* .eraseblocks[] = Array of { blocksize, blockcount }
* .block_erase = Block erase function
* }
*/
- .write = Chip write function
- .read = Chip read function
@@ -1235,20 +1240,16 @@ { .eraseblocks = { {4 * 1024, 16} }, .block_erase = spi_block_erase_20,
},
{
}, { .eraseblocks = { {64 * 1024, 1} }, .block_erase = spi_block_erase_52,
},
{
}, { .eraseblocks = { {64 * 1024, 1} }, .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, },
@@ -1274,16 +1275,13 @@ { .eraseblocks = { {4 * 1024, 32} }, .block_erase = spi_block_erase_20,
},
{
}, { .eraseblocks = { {64 * 1024, 2} }, .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, },
@@ -1304,6 +1302,25 @@ .probe = probe_spi_rdid, .probe_timing = TIMING_ZERO, .erase = spi_chip_erase_60_c7,
.block_erasers =
{
{
.eraseblocks = { {4 * 1024, 64} },
.block_erase = spi_block_erase_20,
}, {
.eraseblocks = { {64 * 1024, 4} },
.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,
},
.write = spi_chip_write_256, .read = spi_chip_read, },},
@@ -1320,6 +1337,25 @@ .probe = probe_spi_rdid, .probe_timing = TIMING_ZERO, .erase = spi_chip_erase_60_c7,
.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,
},
.write = spi_chip_write_256, .read = spi_chip_read, },},
@@ -1336,6 +1372,25 @@ .probe = probe_spi_rdid, .probe_timing = TIMING_ZERO, .erase = spi_chip_erase_60_c7,
.block_erasers =
{
{
.eraseblocks = { {4 * 1024, 256} },
.block_erase = spi_block_erase_20,
}, {
.eraseblocks = { {64 * 1024, 16} },
.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 = spi_chip_write_256, .read = spi_chip_read, },},
@@ -1352,6 +1407,25 @@ .probe = probe_spi_rdid, .probe_timing = TIMING_ZERO, .erase = spi_chip_erase_60_c7,
.block_erasers =
{
{
.eraseblocks = { {4 * 1024, 512} },
.block_erase = spi_block_erase_20, /* This erase function has 64k blocksize for eLiteFlash */
}, {
.eraseblocks = { {64 * 1024, 32} }, /* Not supported in MX25L1605 (eLiteFlash) and MX25L1605D/MX25L1635D */
.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 = spi_chip_write_256, .read = spi_chip_read, },},
Index: flashrom-eraseblocks_mx25/flashchips.h
--- flashrom-eraseblocks_mx25/flashchips.h (Revision 719) +++ flashrom-eraseblocks_mx25/flashchips.h (Arbeitskopie) @@ -251,7 +251,7 @@
- and use the same set of IDs.
*/ #define MX_ID 0xC2 /* Macronix (MX) */ -#define MX_25L512 0x2010 /* 2^19 kbit or 2^16 kByte */ +#define MX_25L512 0x2010 /* Same as MX25V512 */ #define MX_25L1005 0x2011 #define MX_25L2005 0x2012 #define MX_25L4005 0x2013 /* MX25L4005{,A} */