diff options
author | Stefan Reinauer <stepan@openbios.org> | 2006-03-16 16:46:19 +0000 |
---|---|---|
committer | Stefan Reinauer <stepan@openbios.org> | 2006-03-16 16:46:19 +0000 |
commit | 9b107715f945ffab10c8e5c43b8f16bb13bb2ae2 (patch) | |
tree | b9d36af89c6b088f294a94ecd7aa720a10e63c99 /util | |
parent | f3ecf106fa9eda9030c5932e25b8c91b54ef6459 (diff) | |
download | coreboot-9b107715f945ffab10c8e5c43b8f16bb13bb2ae2.tar.xz |
make am29f040b driver more solid by printing every 4096th flash address.
This fixes the timing when flashing over a serial console.
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@2204 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'util')
-rw-r--r-- | util/flashrom/am29f040b.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/util/flashrom/am29f040b.c b/util/flashrom/am29f040b.c index f67127d43d..7b82331a10 100644 --- a/util/flashrom/am29f040b.c +++ b/util/flashrom/am29f040b.c @@ -54,8 +54,9 @@ static __inline__ int write_sector_29f040b(volatile uint8_t *bios, int i; for (i = 0; i < page_size; i++) { - printf("0x%08lx", - (unsigned long) dst - (unsigned long) bios); + if( (i & 0xfff) == 0xfff ) + printf("0x%08lx", (unsigned long) dst - + (unsigned long) bios); *(bios + 0x555) = 0xAA; *(bios + 0x2AA) = 0x55; @@ -65,7 +66,8 @@ static __inline__ int write_sector_29f040b(volatile uint8_t *bios, /* wait for Toggle bit ready */ toggle_ready_jedec(bios); - printf("\b\b\b\b\b\b\b\b\b\b"); + if( (i & 0xfff) == 0xfff ) + printf("\b\b\b\b\b\b\b\b\b\b"); } return (0); @@ -118,7 +120,7 @@ int write_29f040b(struct flashchip *flash, uint8_t *buf) flash->page_size; volatile uint8_t *bios = flash->virt_addr; - printf("Programming Page: "); + printf("Programming page "); for (i = 0; i < total_size / page_size; i++) { /* erase the page before programming */ erase_sector_29f040b(bios, i * page_size); |