diff options
author | hailfinger <hailfinger@2b7e53f0-3cfb-0310-b3e9-8179ed1497e1> | 2009-08-10 02:29:21 +0000 |
---|---|---|
committer | hailfinger <hailfinger@2b7e53f0-3cfb-0310-b3e9-8179ed1497e1> | 2009-08-10 02:29:21 +0000 |
commit | fd5a86499851f61f7ff7a265d328a3903e5d7bc9 (patch) | |
tree | e82fbd5e39ffa638a9f56d93e90f0f520d392a53 /sb600spi.c | |
parent | b81877b999571d71c72676241722856fceaec249 (diff) | |
download | flashrom-fd5a86499851f61f7ff7a265d328a3903e5d7bc9.tar.gz |
Some SPI chip drivers and the generic 1-byte SPI chip write functions
didn't include the automatic erase present in other chip drivers. Since
the majority is definitely auto-erase, change the remaining
explicit-erase cases to be auto-erase as well.
Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Carlos Arnau Perez <cemede@gmail.com>
git-svn-id: https://code.coreboot.org/svn/flashrom/trunk@673 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'sb600spi.c')
-rw-r--r-- | sb600spi.c | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -45,12 +45,14 @@ 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 rc = 0, i; int total_size = flash->total_size * 1024; int result; + spi_disable_blockprotect(); /* Erase first */ printf("Erasing flash before programming... "); if (flash->erase(flash)) { @@ -61,7 +63,6 @@ int sb600_spi_write_1(struct flashchip *flash, uint8_t *buf) printf("Programming flash"); for (i = 0; i < total_size; i++, buf++) { - spi_disable_blockprotect(); result = spi_byte_program(i, *buf); /* wait program complete. */ if (i % 0x8000 == 0) |