mirror of
https://review.coreboot.org/flashrom.git
synced 2025-04-27 15:12:36 +02:00
Clean up sharplhf00l04.c after JEDEC refactorings
- remove some copied functions (from 82802ab.c) and use the 82802ab equivalents - fix missing prototypes to *_82802ab functions Corresponding to flashrom svn r941. fix missing prototypes to _82802ab functions Signed-off-by: Sean Nelson <audiohacked@gmail.com> Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
This commit is contained in:
parent
ffae6ca468
commit
e4446e4ddb
@ -59,6 +59,8 @@ int probe_82802ab(struct flashchip *flash);
|
||||
int erase_82802ab(struct flashchip *flash);
|
||||
int erase_82802ab_block(struct flashchip *flash, unsigned int page, unsigned int pagesize);
|
||||
int write_82802ab(struct flashchip *flash, uint8_t *buf);
|
||||
void print_82802ab_status(uint8_t status);
|
||||
void write_page_82802ab(chipaddr bios, uint8_t *src, chipaddr dst, int page_size);
|
||||
|
||||
/* jedec.c */
|
||||
uint8_t oddparity(uint8_t val);
|
||||
|
@ -22,18 +22,6 @@
|
||||
#include "flash.h"
|
||||
#include "chipdrivers.h"
|
||||
|
||||
// I need that Berkeley bit-map printer
|
||||
void print_lhf00l04_status(uint8_t status)
|
||||
{
|
||||
printf("%s", status & 0x80 ? "Ready:" : "Busy:");
|
||||
printf("%s", status & 0x40 ? "BE SUSPEND:" : "BE RUN/FINISH:");
|
||||
printf("%s", status & 0x20 ? "BE ERROR:" : "BE OK:");
|
||||
printf("%s", status & 0x10 ? "PROG ERR:" : "PROG OK:");
|
||||
printf("%s", status & 0x8 ? "VP ERR:" : "VPP OK:");
|
||||
printf("%s", status & 0x4 ? "PROG SUSPEND:" : "PROG RUN/FINISH:");
|
||||
printf("%s", status & 0x2 ? "WP|TBL#|WP#,ABORT:" : "UNLOCK:");
|
||||
}
|
||||
|
||||
/* FIXME: The datasheet is unclear whether we should use toggle_ready_jedec
|
||||
* or wait_82802ab.
|
||||
*/
|
||||
@ -48,7 +36,7 @@ int erase_lhf00l04_block(struct flashchip *flash, unsigned int blockaddr, unsign
|
||||
chip_writeb(0x50, bios);
|
||||
printf("Erase at 0x%lx\n", bios);
|
||||
status = wait_82802ab(flash->virtual_memory);
|
||||
print_lhf00l04_status(status);
|
||||
print_82802ab_status(status);
|
||||
// clear write protect
|
||||
printf("write protect is at 0x%lx\n", (wrprotect));
|
||||
printf("write protect is 0x%x\n", chip_readb(wrprotect));
|
||||
@ -61,7 +49,7 @@ int erase_lhf00l04_block(struct flashchip *flash, unsigned int blockaddr, unsign
|
||||
programmer_delay(10);
|
||||
// now let's see what the register is
|
||||
status = wait_82802ab(flash->virtual_memory);
|
||||
print_lhf00l04_status(status);
|
||||
print_82802ab_status(status);
|
||||
printf("DONE BLOCK 0x%x\n", blockaddr);
|
||||
|
||||
if (check_erased_range(flash, blockaddr, blocklen)) {
|
||||
@ -71,19 +59,6 @@ int erase_lhf00l04_block(struct flashchip *flash, unsigned int blockaddr, unsign
|
||||
return 0;
|
||||
}
|
||||
|
||||
void write_page_lhf00l04(chipaddr bios, uint8_t *src,
|
||||
chipaddr dst, int page_size)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < page_size; i++) {
|
||||
/* transfer data from source to destination */
|
||||
chip_writeb(0x40, dst);
|
||||
chip_writeb(*src++, dst++);
|
||||
wait_82802ab(bios);
|
||||
}
|
||||
}
|
||||
|
||||
int write_lhf00l04(struct flashchip *flash, uint8_t *buf)
|
||||
{
|
||||
int i;
|
||||
@ -98,7 +73,7 @@ int write_lhf00l04(struct flashchip *flash, uint8_t *buf)
|
||||
printf("Programming page: ");
|
||||
for (i = 0; i < total_size / page_size; i++) {
|
||||
printf("%04d at address: 0x%08x", i, i * page_size);
|
||||
write_page_lhf00l04(bios, buf + i * page_size,
|
||||
write_page_82802ab(bios, buf + i * page_size,
|
||||
bios + i * page_size, page_size);
|
||||
printf("\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b");
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user