diff options
author | Ollie Lho <ollie@sis.com.tw> | 2004-03-20 16:46:10 +0000 |
---|---|---|
committer | Ollie Lho <ollie@sis.com.tw> | 2004-03-20 16:46:10 +0000 |
commit | 761bf1bdb7268f8818dd22b15e944365afdf1459 (patch) | |
tree | ecbd632c87d64c6651f84a705ce4c3861108069d /mx29f002.c | |
parent | 73eca80d9b28bfc38fa4b8d2ef9c580840133a38 (diff) | |
download | ast2050-flashrom-761bf1bdb7268f8818dd22b15e944365afdf1459.zip ast2050-flashrom-761bf1bdb7268f8818dd22b15e944365afdf1459.tar.gz |
Consolidate more jedec standard code
Corresponding to flashrom svn r15 and coreboot v2 svn r1457.
Diffstat (limited to 'mx29f002.c')
-rw-r--r-- | mx29f002.c | 70 |
1 files changed, 35 insertions, 35 deletions
@@ -30,18 +30,18 @@ #include "jedec.h" #include "mx29f002.h" -int probe_29f002 (struct flashchip * flash) +int probe_29f002(struct flashchip *flash) { - volatile char * bios = flash->virt_addr; + volatile char *bios = flash->virt_addr; unsigned char id1, id2; *(bios + 0x5555) = 0xAA; *(bios + 0x2AAA) = 0x55; *(bios + 0x5555) = 0x90; - + id1 = *(volatile unsigned char *) bios; id2 = *(volatile unsigned char *) (bios + 0x01); - + *bios = 0xF0; myusec_delay(10); @@ -53,9 +53,9 @@ int probe_29f002 (struct flashchip * flash) return 0; } -int erase_29f002 (struct flashchip * flash) +int erase_29f002(struct flashchip *flash) { - volatile char * bios = flash->virt_addr; + volatile char *bios = flash->virt_addr; *(bios + 0x555) = 0xF0; *(bios + 0x555) = 0xAA; @@ -81,39 +81,39 @@ int erase_29f002 (struct flashchip * flash) *(bios + 0x3bfff) = 0x30; #endif - return(0); + return (0); } -int write_29f002 (struct flashchip * flash, unsigned char * buf) +int write_29f002(struct flashchip *flash, unsigned char *buf) { - int i; - int total_size = flash->total_size * 1024; - volatile char * bios = flash->virt_addr; - volatile char * dst = bios; - - *bios = 0xF0; - myusec_delay(10); - erase_29f002(flash); - //*bios = 0xF0; -#if 1 - printf ("Programming Page: "); - for (i = 0; i < total_size; i++) { - /* write to the sector */ - if ((i & 0xfff) == 0) - printf ("address: 0x%08lx", (unsigned long)i); - *(bios + 0x5555) = 0xAA; - *(bios + 0x2AAA) = 0x55; - *(bios + 0x5555) = 0xA0; - *dst++ = *buf++; + int i; + int total_size = flash->total_size * 1024; + volatile char *bios = flash->virt_addr; + volatile char *dst = bios; - /* wait for Toggle bit ready */ - toggle_ready_jedec(dst); - - if ((i & 0xfff) == 0) - printf ("\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b"); - } + *bios = 0xF0; + myusec_delay(10); + erase_29f002(flash); + //*bios = 0xF0; +#if 1 + printf("Programming Page: "); + for (i = 0; i < total_size; i++) { + /* write to the sector */ + if ((i & 0xfff) == 0) + printf("address: 0x%08lx", (unsigned long) i); + *(bios + 0x5555) = 0xAA; + *(bios + 0x2AAA) = 0x55; + *(bios + 0x5555) = 0xA0; + *dst++ = *buf++; + + /* wait for Toggle bit ready */ + toggle_ready_jedec(dst); + + if ((i & 0xfff) == 0) + printf("\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b"); + } #endif - printf("\n"); + printf("\n"); - return(0); + return (0); } |