Commit f5df46f6 authored by Carl-Daniel Hailfinger's avatar Carl-Daniel Hailfinger
Browse files

Add support for ST M25P80 chips


Detection was tested. Print status register before erase to help
debugging block locks.

Corresponding to flashrom svn r164 and coreboot v2 svn r3008.
Signed-off-by: default avatarCarl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: default avatarCorey Osgood <corey.osgood@gmail.com>
parent 4bcf1751
......@@ -167,7 +167,12 @@ extern struct flashchip flashchips[];
#define SST_49LF016C 0x5C
#define SST_49LF160C 0x4C
/*
* ST25P chips are SPI, first byte of device ID is memory type, second
* byte of device ID is related to log(bitsize) at least for some chips.
*/
#define ST_ID 0x20 /* ST */
#define ST_M25P80 0x2014
#define ST_M50FLW040A 0x08
#define ST_M50FLW040B 0x28
#define ST_M50FLW080A 0x80
......
......@@ -140,6 +140,8 @@ struct flashchip flashchips[] = {
probe_jedec, erase_chip_jedec, write_jedec},
{"M29F040B", ST_ID, ST_M29F040B, 512, 64 * 1024,
probe_29f040b, erase_29f040b, write_29f040b},
{"M25P80", ST_ID, ST_M25P80, 1024, 64 * 1024,
probe_spi, generic_spi_chip_erase, generic_spi_chip_write},
{"82802ab", 137, 173, 512, 64 * 1024,
probe_82802ab, erase_82802ab, write_82802ab},
{"82802ac", 137, 172, 1024, 64 * 1024,
......
......@@ -280,6 +280,10 @@ uint8_t generic_spi_read_status_register()
int generic_spi_chip_erase(struct flashchip *flash)
{
const unsigned char cmd[] = JEDEC_CE_2;
uint8_t statusreg;
statusreg = generic_spi_read_status_register();
printf("chip status register before erase is %02x\n", statusreg);
generic_spi_write_enable();
/* Send CE (Chip Erase) */
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment