Enable unlocking (erasing/writing) W39V040FB chips
Add code for the unlocking (erasing/writing) of Winbond W39V040FB
chips, enabling erasing/writing this type of chip.
Corresponding to flashrom svn r1248.
Signed-off-by: Idwer Vollering <vidwer@gmail.com>
Acked-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
diff --git a/chipdrivers.h b/chipdrivers.h
index a65cb99..a6faf9f 100644
--- a/chipdrivers.h
+++ b/chipdrivers.h
@@ -119,6 +119,7 @@
int printlock_w39v080a(struct flashchip *flash);
int printlock_w39v080fa(struct flashchip *flash);
int printlock_w39v080fa_dual(struct flashchip *flash);
+int unlock_w39v040fb(struct flashchip *flash);
int unlock_w39v080fa(struct flashchip *flash);
/* w29ee011.c */
diff --git a/flashchips.c b/flashchips.c
index 8082160..b6dff6c 100644
--- a/flashchips.c
+++ b/flashchips.c
@@ -7706,6 +7706,7 @@
}
},
.printlock = printlock_w39v040fb,
+ .unlock = unlock_w39v040fb,
.write = write_jedec_1,
.read = read_memmapped,
},
diff --git a/w39.c b/w39.c
index 65cf32f..06fabfd 100644
--- a/w39.c
+++ b/w39.c
@@ -244,6 +244,16 @@
return -1;
}
+int unlock_w39v040fb(struct flashchip *flash)
+{
+ if (unlock_w39_fwh(flash))
+ return -1;
+ if (printlock_w39_common(flash, 0x7fff2))
+ return -1;
+
+ return 0;
+}
+
int unlock_w39v080fa(struct flashchip *flash)
{
if (unlock_w39_fwh(flash))