diff options
author | Li-Ta Lo <ollie@lanl.gov> | 2004-03-27 00:18:15 +0000 |
---|---|---|
committer | Li-Ta Lo <ollie@lanl.gov> | 2004-03-27 00:18:15 +0000 |
commit | 39daaac582766e94a6f2f8ad00900e623d514d7a (patch) | |
tree | cc57154b046ac9a4c48c92f275b3ca2cb7169142 /util/flash_and_burn/pm49fl004.c | |
parent | 4cd79f3f86e5b57419932917750b022989e36b0c (diff) |
removed false alarm of erase/write, use verify '-v' if you are not sure about the integrity
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1486 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'util/flash_and_burn/pm49fl004.c')
-rw-r--r-- | util/flash_and_burn/pm49fl004.c | 44 |
1 files changed, 3 insertions, 41 deletions
diff --git a/util/flash_and_burn/pm49fl004.c b/util/flash_and_burn/pm49fl004.c index 4cffc14b25..cbb1f7ef9d 100644 --- a/util/flash_and_burn/pm49fl004.c +++ b/util/flash_and_burn/pm49fl004.c @@ -55,43 +55,6 @@ static __inline__ int erase_block_49fl004(volatile unsigned char *bios, return (0); } -static __inline__ int write_block_49fl004(volatile char *bios, - unsigned char *src, - volatile unsigned char *dst, - unsigned int page_size) -{ - int i; - volatile char *Temp; - - for (i = 0; i < page_size; i++) { - if (*dst != 0xff) { - printf("FATAL: dst %p not erased (val 0x%x\n", dst, - *dst); - return (-1); - } - /* transfer data from source to destination */ - if (*src == 0xFF) { - dst++, src++; - /* If the data is 0xFF, don't program it */ - continue; - } - Temp = (bios + 0x5555); - *Temp = 0xAA; - Temp = bios + 0x2AAA; - *Temp = 0x55; - Temp = bios + 0x5555; - *Temp = 0xA0; - *dst = *src; - toggle_ready_jedec(bios); - if (*dst != *src) - printf("BAD! dst 0x%lx val 0x%x src 0x%x\n", - (unsigned long) dst, *dst, *src); - dst++, src++; - } - - return (0); -} - int write_49fl004(struct flashchip *flash, unsigned char *buf) { int i; @@ -106,10 +69,9 @@ int write_49fl004(struct flashchip *flash, unsigned char *buf) /* write to the sector */ printf("%04d at address: 0x%08x", i, i * page_size); - write_block_49fl004(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"); + write_sector_jedec(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"); fflush(stdout); } printf("\n"); |