summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chipdrivers.h1
-rw-r--r--flashchips.c1
-rw-r--r--w39.c10
3 files changed, 12 insertions, 0 deletions
diff --git a/chipdrivers.h b/chipdrivers.h
index a65cb9986..a6faf9f5d 100644
--- a/chipdrivers.h
+++ b/chipdrivers.h
@@ -119,6 +119,7 @@ int printlock_w39v040fc(struct flashchip *flash);
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 80821609f..b6dff6c53 100644
--- a/flashchips.c
+++ b/flashchips.c
@@ -7706,6 +7706,7 @@ struct flashchip flashchips[] = {
}
},
.printlock = printlock_w39v040fb,
+ .unlock = unlock_w39v040fb,
.write = write_jedec_1,
.read = read_memmapped,
},
diff --git a/w39.c b/w39.c
index 65cf32f4b..06fabfdae 100644
--- a/w39.c
+++ b/w39.c
@@ -244,6 +244,16 @@ int printlock_w39v080fa_dual(struct flashchip *flash)
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))