From 26b237ee18cf3f846313d85dcb80fb42041c3529 Mon Sep 17 00:00:00 2001 From: Li-Ta Lo Date: Thu, 18 Mar 2004 19:40:07 +0000 Subject: fixed 32bit v.s. 64bit long int arithematics git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1434 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1 --- util/flash_and_burn/sst39sf020.c | 40 ++++++---------------------------------- 1 file changed, 6 insertions(+), 34 deletions(-) (limited to 'util/flash_and_burn/sst39sf020.c') diff --git a/util/flash_and_burn/sst39sf020.c b/util/flash_and_burn/sst39sf020.c index fa35276e94..3d23adfa29 100644 --- a/util/flash_and_burn/sst39sf020.c +++ b/util/flash_and_burn/sst39sf020.c @@ -22,6 +22,8 @@ * Reference: * 4 MEgabit (512K x 8) SuperFlash EEPROM, SST28SF040 data sheet * + * ToDo: Consilidated to standard JEDEC code. + * * $Id$ */ @@ -37,34 +39,6 @@ #define RESET 0xFF #define READ_ID 0x90 -static __inline__ void protect_39sf020 (volatile char * bios) -{ - /* ask compiler not to optimize this */ - volatile unsigned char tmp; - - tmp = *(volatile unsigned char *) (bios + 0x1823); - tmp = *(volatile unsigned char *) (bios + 0x1820); - tmp = *(volatile unsigned char *) (bios + 0x1822); - tmp = *(volatile unsigned char *) (bios + 0x0418); - tmp = *(volatile unsigned char *) (bios + 0x041B); - tmp = *(volatile unsigned char *) (bios + 0x0419); - tmp = *(volatile unsigned char *) (bios + 0x040A); -} - -static __inline__ void unprotect_39sf020 (volatile char * bios) -{ - /* ask compiler not to optimize this */ - volatile unsigned char tmp; - - tmp = *(volatile unsigned char *) (bios + 0x1823); - tmp = *(volatile unsigned char *) (bios + 0x1820); - tmp = *(volatile unsigned char *) (bios + 0x1822); - tmp = *(volatile unsigned char *) (bios + 0x0418); - tmp = *(volatile unsigned char *) (bios + 0x041B); - tmp = *(volatile unsigned char *) (bios + 0x0419); - tmp = *(volatile unsigned char *) (bios + 0x041A); -} - static __inline__ int erase_sector_39sf020 (volatile char * bios, unsigned long address) { *bios = AUTO_PG_ERASE1; @@ -77,9 +51,9 @@ static __inline__ int erase_sector_39sf020 (volatile char * bios, unsigned long } static __inline__ int write_sector_39sf020(volatile char * bios, - unsigned char * src, - volatile unsigned char * dst, - unsigned int page_size) + unsigned char * src, + volatile unsigned char * dst, + unsigned int page_size) { int i; volatile char *Temp; @@ -177,8 +151,8 @@ int write_39sf020 (struct flashchip * flash, unsigned char * buf) int total_size = flash->total_size * 1024, page_size = flash->page_size; volatile char * bios = flash->virt_addr; -// unprotect_39sf020 (bios); erase_39sf020(flash); + printf ("Programming Page: "); for (i = 0; i < total_size/page_size; i++) { /* erase the page before programming */ @@ -193,7 +167,5 @@ int write_39sf020 (struct flashchip * flash, unsigned char * buf) } printf("\n"); -// protect_39sf020 (bios); - return(0); } -- cgit v1.2.3