mirror of
https://review.coreboot.org/flashrom.git
synced 2025-04-27 23:22:37 +02:00
Check whether SST FWH chip was successfully erased on flashchip -E, too
Corresponding to flashrom svn r212 and coreboot v2 svn r3153. Signed-off-by: Stefan Reinauer <stepan@coresystems.de> Acked-by: Stefan Reinauer <stepan@coresystems.de>
This commit is contained in:
parent
fc425e81ce
commit
b7c8323399
20
sst_fwhub.c
20
sst_fwhub.c
@ -63,10 +63,19 @@ int erase_sst_fwhub(struct flashchip *flash)
|
|||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
unsigned int total_size = flash->total_size * 1024;
|
unsigned int total_size = flash->total_size * 1024;
|
||||||
|
volatile uint8_t *bios = flash->virtual_memory;
|
||||||
|
|
||||||
for (i = 0; i < total_size; i += flash->page_size)
|
for (i = 0; i < total_size; i += flash->page_size)
|
||||||
erase_sst_fwhub_block(flash, i);
|
erase_sst_fwhub_block(flash, i);
|
||||||
|
|
||||||
|
// dumb check if erase was successful.
|
||||||
|
for (i = 0; i < total_size; i++) {
|
||||||
|
if (bios[i] != 0xff) {
|
||||||
|
printf("ERASE FAILED!\n");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -78,15 +87,8 @@ int write_sst_fwhub(struct flashchip *flash, uint8_t *buf)
|
|||||||
volatile uint8_t *bios = flash->virtual_memory;
|
volatile uint8_t *bios = flash->virtual_memory;
|
||||||
|
|
||||||
// FIXME: We want block wide erase instead of ironing the whole chip
|
// FIXME: We want block wide erase instead of ironing the whole chip
|
||||||
erase_sst_fwhub(flash);
|
if (erase_sst_fwhub(flash))
|
||||||
|
return -1;
|
||||||
// dumb check if erase was successful.
|
|
||||||
for (i = 0; i < total_size; i++) {
|
|
||||||
if (bios[i] != 0xff) {
|
|
||||||
printf("ERASE FAILED!\n");
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
printf("Programming page: ");
|
printf("Programming page: ");
|
||||||
for (i = 0; i < total_size / page_size; i++) {
|
for (i = 0; i < total_size / page_size; i++) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user