summaryrefslogtreecommitdiff
path: root/util
diff options
context:
space:
mode:
authorStefan Reinauer <stepan@openbios.org>2006-03-16 16:46:19 +0000
committerStefan Reinauer <stepan@openbios.org>2006-03-16 16:46:19 +0000
commit9b107715f945ffab10c8e5c43b8f16bb13bb2ae2 (patch)
treeb9d36af89c6b088f294a94ecd7aa720a10e63c99 /util
parentf3ecf106fa9eda9030c5932e25b8c91b54ef6459 (diff)
downloadcoreboot-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.c10
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);