Add additional SPI sector erase and chip erase command functions to
flashrom. Not all chips support all commands, so allow the implementer to select the matching function. Fix a layering violation in ICH SPI code to be less bad. Still not perfect, but the new code is shorter, more generic and architecturally more sound. TODO (in a separate patch): - move the generic sector erase code to spi.c - decide which erase command to use based on info about the chip - create a generic spi_erase_all_sectors function which calls the generic sector erase function Thanks to Stefan for reviewing and commenting. Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by: Stefan Reinauer <stepan@coresystems.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3722 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
@ -424,8 +424,11 @@ int spi_command(unsigned int writecnt, unsigned int readcnt,
|
||||
const unsigned char *writearr, unsigned char *readarr);
|
||||
void spi_write_enable();
|
||||
void spi_write_disable();
|
||||
int spi_chip_erase_60(struct flashchip *flash);
|
||||
int spi_chip_erase_c7(struct flashchip *flash);
|
||||
int spi_chip_erase_d8(struct flashchip *flash);
|
||||
int spi_block_erase_52(const struct flashchip *flash, unsigned long addr);
|
||||
int spi_block_erase_d8(const struct flashchip *flash, unsigned long addr);
|
||||
int spi_chip_write(struct flashchip *flash, uint8_t *buf);
|
||||
int spi_chip_read(struct flashchip *flash, uint8_t *buf);
|
||||
uint8_t spi_read_status_register();
|
||||
|
Reference in New Issue
Block a user