Add support for 39sf020

Corresponding to coreboot v1 svn r523.
diff --git a/Makefile b/Makefile
index 603a97f..bfa28df 100644
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,5 @@
-OBJS = jedec.o sst28sf040.o am29f040b.o mx29f002.c
-CC = gcc -O2
+OBJS = jedec.o sst28sf040.o am29f040b.o mx29f002.c sst39sf020.o
+CC = gcc -O2 -g
 
 all: ${OBJS}
 	${CC} -o flash_rom flash_rom.c ${OBJS}
diff --git a/flash.h b/flash.h
index 1828176..2e1f600 100644
--- a/flash.h
+++ b/flash.h
@@ -27,6 +27,7 @@
 #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 SST_39SF020       0xB6    /* SST 39SF020  device        */
 
 #define WINBOND_ID        0xDA	/* Winbond Manufacture ID code	*/
 #define W_29C020C         0x45	/* Winbond w29c020c device code*/
@@ -35,6 +36,10 @@
 extern int erase_28sf040 (struct flashchip * flash);
 extern int write_28sf040 (struct flashchip * flash, char * buf);
 
+extern int probe_39sf020 (struct flashchip * flash);
+extern int erase_39sf020 (struct flashchip * flash);
+extern int write_39sf020 (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);
diff --git a/flash_rom.c b/flash_rom.c
index 0b7b768..171fe3e 100644
--- a/flash_rom.c
+++ b/flash_rom.c
@@ -47,6 +47,8 @@
      probe_jedec,   erase_jedec,   write_jedec},
     {"SST28SF040A", SST_ID,     SST_28SF040,  NULL, 512, 256,
      probe_28sf040, erase_28sf040, write_28sf040},
+    {"SST39SF020A", SST_ID,     SST_39SF020,  NULL, 256, 4096,
+     probe_jedec, erase_jedec, write_39sf020},
     {"W29C020C",    WINBOND_ID, W_29C020C,    NULL, 256, 128,
      probe_jedec,   erase_jedec,   write_jedec},
     {NULL,}