mirror of
https://review.coreboot.org/flashrom.git
synced 2025-07-02 06:23:18 +02:00
Convert SPI chips to partial write
However, wrap the write functions in a compat layer to allow converting the rest of flashrom later. Tested on Intel NM10 by David Hendricks. Corresponding to flashrom svn r1080. Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
This commit is contained in:
25
ichspi.c
25
ichspi.c
@ -683,36 +683,15 @@ int ich_spi_read(struct flashchip *flash, uint8_t * buf, int start, int len)
|
||||
return spi_read_chunked(flash, buf, start, len, maxdata);
|
||||
}
|
||||
|
||||
int ich_spi_write_256(struct flashchip *flash, uint8_t * buf)
|
||||
int ich_spi_write_256(struct flashchip *flash, uint8_t * buf, int start, int len)
|
||||
{
|
||||
int i, ret = 0;
|
||||
int total_size = flash->total_size * 1024;
|
||||
int erase_size = 64 * 1024;
|
||||
int maxdata = 64;
|
||||
|
||||
if (spi_controller == SPI_CONTROLLER_VIA)
|
||||
maxdata = 16;
|
||||
|
||||
spi_disable_blockprotect();
|
||||
/* Erase first */
|
||||
msg_pinfo("Erasing flash before programming... ");
|
||||
if (erase_flash(flash)) {
|
||||
msg_perr("ERASE FAILED!\n");
|
||||
return -1;
|
||||
}
|
||||
msg_pinfo("done.\n");
|
||||
|
||||
msg_pinfo("Programming page: \n");
|
||||
for (i = 0; i < total_size / erase_size; i++) {
|
||||
ret = spi_write_chunked(flash, buf + (i * erase_size),
|
||||
i * erase_size, erase_size, maxdata);
|
||||
if (ret)
|
||||
break;
|
||||
}
|
||||
|
||||
msg_pinfo("\n");
|
||||
|
||||
return ret;
|
||||
return spi_write_chunked(flash, buf, start, len, maxdata);
|
||||
}
|
||||
|
||||
int ich_spi_send_command(unsigned int writecnt, unsigned int readcnt,
|
||||
|
Reference in New Issue
Block a user