diff options
author | Ronald G. Minnich <rminnich@gmail.com> | 2002-01-29 18:21:41 +0000 |
---|---|---|
committer | Ronald G. Minnich <rminnich@gmail.com> | 2002-01-29 18:21:41 +0000 |
commit | 5e5f75e559f605974afd3767bc650a1cc0ed6f1f (patch) | |
tree | 6923dc3d9468a6929079951532dd9fa9040637eb /flash.h | |
download | ast2050-flashrom-5e5f75e559f605974afd3767bc650a1cc0ed6f1f.zip ast2050-flashrom-5e5f75e559f605974afd3767bc650a1cc0ed6f1f.tar.gz |
Trying to make this general purpose user-land flash burner
Corresponding to coreboot v1 svn r489.
Diffstat (limited to 'flash.h')
-rw-r--r-- | flash.h | 44 |
1 files changed, 44 insertions, 0 deletions
@@ -0,0 +1,44 @@ +#include <sys/io.h> +#include <unistd.h> + +struct flashchip { + char * name; + int manufacture_id; + int model_id; + + char * virt_addr; + int total_size; + int page_size; + + int (*probe) (struct flashchip * flash); + int (*erase) (struct flashchip * flash); + int (*write) (struct flashchip * flash, char * buf); +}; + +#define AMD_ID 0x01 +#define AM_29F040B 0xA4 + +#define ATMEL_ID 0x1F /* Winbond Manufacture ID code */ +#define AT_29C040A 0xA4 /* Winbond w29c020c device code*/ + +#define MX_ID 0xC2 +#define MX_29F002 0xB0 + +#define SST_ID 0xBF /* SST Manufacturer ID[B code */ +#define SST_29EE020A 0x10 /* SST 29EE020 device code */ +#define SST_28SF040 0x04 /* SST 29EE040 device code */ + +#define WINBOND_ID 0xDA /* Winbond Manufacture ID code */ +#define W_29C020C 0x45 /* Winbond w29c020c device code*/ + +extern int probe_28sf040 (struct flashchip * flash); +extern int erase_28sf040 (struct flashchip * flash); +extern int write_28sf040 (struct flashchip * flash, char * buf); + +extern int probe_29f040b (struct flashchip * flash); +extern int erase_29f040b (struct flashchip * flash); +extern int write_29f040b (struct flashchip * flash, char * buf); + +extern int probe_29f002 (struct flashchip * flash); +extern int erase_29f002 (struct flashchip * flash); +extern int write_29f002 (struct flashchip * flash, char * buf); |