diff options
author | stepan <stepan@2b7e53f0-3cfb-0310-b3e9-8179ed1497e1> | 2008-10-29 22:13:20 +0000 |
---|---|---|
committer | stepan <stepan@2b7e53f0-3cfb-0310-b3e9-8179ed1497e1> | 2008-10-29 22:13:20 +0000 |
commit | 4cbd5884752ad0854d75d8dc31a358d3647f21ac (patch) | |
tree | 604ec97701af76c957c5b8eef17adab3bc95a02f /spi.c | |
parent | 1e77ef28bdcec985fd5fcb4e10fd628172e02d44 (diff) | |
download | flashrom-4cbd5884752ad0854d75d8dc31a358d3647f21ac.tar.gz |
Original v2 revision: 3707
Flashrom support for some Numonyx parts (M25PE)
using block erase d8 as discussed with Peter Stuge
Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>
git-svn-id: https://code.coreboot.org/svn/flashrom/trunk@333 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'spi.c')
-rw-r--r-- | spi.c | 23 |
1 files changed, 23 insertions, 0 deletions
@@ -310,6 +310,29 @@ int spi_block_erase_d8(const struct flashchip *flash, unsigned long addr) return 0; } +int spi_chip_erase_d8(struct flashchip *flash) +{ + int i, rc = 0; + int total_size = flash->total_size * 1024; + int erase_size = 64 * 1024; + + spi_disable_blockprotect(); + + printf("Erasing chip: \n"); + + for (i = 0; i < total_size / erase_size; i++) { + rc = spi_block_erase_d8(flash, i * erase_size); + if (rc) { + printf("Error erasing block at 0x%x\n", i); + break; + } + } + + printf("\n"); + + return rc; +} + /* Sector size is usually 4k, though Macronix eliteflash has 64k */ int spi_sector_erase(const struct flashchip *flash, unsigned long addr) { |