Add support for ST M25P80 chips to flashrom. Detection was tested.
Print status register before erase to help debugging block locks. Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by: Corey Osgood <corey.osgood@gmail.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3008 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
parent
c9a677b4b3
commit
3b408fd237
|
@ -167,7 +167,12 @@ extern struct flashchip flashchips[];
|
||||||
#define SST_49LF016C 0x5C
|
#define SST_49LF016C 0x5C
|
||||||
#define SST_49LF160C 0x4C
|
#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_ID 0x20 /* ST */
|
||||||
|
#define ST_M25P80 0x2014
|
||||||
#define ST_M50FLW040A 0x08
|
#define ST_M50FLW040A 0x08
|
||||||
#define ST_M50FLW040B 0x28
|
#define ST_M50FLW040B 0x28
|
||||||
#define ST_M50FLW080A 0x80
|
#define ST_M50FLW080A 0x80
|
||||||
|
|
|
@ -140,6 +140,8 @@ struct flashchip flashchips[] = {
|
||||||
probe_jedec, erase_chip_jedec, write_jedec},
|
probe_jedec, erase_chip_jedec, write_jedec},
|
||||||
{"M29F040B", ST_ID, ST_M29F040B, 512, 64 * 1024,
|
{"M29F040B", ST_ID, ST_M29F040B, 512, 64 * 1024,
|
||||||
probe_29f040b, erase_29f040b, write_29f040b},
|
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,
|
{"82802ab", 137, 173, 512, 64 * 1024,
|
||||||
probe_82802ab, erase_82802ab, write_82802ab},
|
probe_82802ab, erase_82802ab, write_82802ab},
|
||||||
{"82802ac", 137, 172, 1024, 64 * 1024,
|
{"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)
|
int generic_spi_chip_erase(struct flashchip *flash)
|
||||||
{
|
{
|
||||||
const unsigned char cmd[] = JEDEC_CE_2;
|
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();
|
generic_spi_write_enable();
|
||||||
/* Send CE (Chip Erase) */
|
/* Send CE (Chip Erase) */
|
||||||
|
|
Loading…
Reference in New Issue