diff options
author | Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> | 2010-07-14 16:19:05 +0000 |
---|---|---|
committer | Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> | 2010-07-14 16:19:05 +0000 |
commit | 9a795d83fbb8842a271d5e037dc983a57b0419fd (patch) | |
tree | a9049f708d0ab7d42d122fecd23855aaa819c5bc /sb600spi.c | |
parent | 1748c5701f77ab7164ab3311f37abc356d825ccb (diff) | |
download | flashrom-9a795d83fbb8842a271d5e037dc983a57b0419fd.tar.gz flashrom-9a795d83fbb8842a271d5e037dc983a57b0419fd.tar.bz2 flashrom-9a795d83fbb8842a271d5e037dc983a57b0419fd.zip |
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>
Diffstat (limited to 'sb600spi.c')
-rw-r--r-- | sb600spi.c | 19 |
1 files changed, 2 insertions, 17 deletions
diff --git a/sb600spi.c b/sb600spi.c index b44a58568..72181d1fd 100644 --- a/sb600spi.c +++ b/sb600spi.c @@ -48,25 +48,10 @@ int sb600_spi_read(struct flashchip *flash, uint8_t *buf, int start, int len) return spi_read_chunked(flash, buf, start, len, 8); } -/* FIXME: SB600 can write 5 bytes per transaction. */ -int sb600_spi_write_1(struct flashchip *flash, uint8_t *buf) +int sb600_spi_write_256(struct flashchip *flash, uint8_t *buf, int start, int len) { - int total_size = flash->total_size * 1024; - int result = 0; - 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 flash"); - result = spi_write_chunked(flash, buf, 0, total_size, 5); - msg_pinfo(" done.\n"); - return result; + return spi_write_chunked(flash, buf, start, len, 5); } static void reset_internal_fifo_pointer(void) |