From 116081a224c3b36a4a7d940cfdb1dac1ba35fc75 Mon Sep 17 00:00:00 2001 From: Carl-Daniel Hailfinger Date: Mon, 10 Aug 2009 02:29:21 +0000 Subject: Replace remaining explicit erases in SPI programmer drivers with auto-erases 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. Corresponding to flashrom svn r673. Signed-off-by: Carl-Daniel Hailfinger Acked-by: Carlos Arnau Perez --- sb600spi.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'sb600spi.c') diff --git a/sb600spi.c b/sb600spi.c index 5f2cf98..c853f42 100644 --- a/sb600spi.c +++ b/sb600spi.c @@ -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) -- cgit v1.1