Add code for the unlocking (erasing/writing) of Winbond W39V040FB chips, enabling erasing/writing this type of chip.
Signed-off-by: Idwer Vollering vidwer@gmail.com
Index: w39.c =================================================================== --- w39.c (revision 1246) +++ w39.c (working copy) @@ -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)) Index: flashchips.c =================================================================== --- flashchips.c (revision 1246) +++ flashchips.c (working copy) @@ -7694,7 +7694,7 @@ .feature_bits = FEATURE_REGISTERMAP | FEATURE_EITHER_RESET, .tested = TEST_OK_PRE, .probe = probe_jedec, - .probe_timing = 10, + .probe_timing = 10, .block_erasers = { { @@ -7706,6 +7706,7 @@ } }, .printlock = printlock_w39v040fb, + .unlock = unlock_w39v040fb, .write = write_jedec_1, .read = read_memmapped, }, Index: chipdrivers.h =================================================================== --- chipdrivers.h (revision 1246) +++ chipdrivers.h (working copy) @@ -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 */