diff --git a/chipdrivers.h b/chipdrivers.h index 059100e852537afca15a8f50f4ff4dee3cb9b3f5..a378803907f58fbe7fb09fd633915a0a8bd65709 100644 --- a/chipdrivers.h +++ b/chipdrivers.h @@ -87,10 +87,8 @@ void write_page_m29f400bt(chipaddr bios, uint8_t *src, chipaddr dst, int page_size); /* pm49fl00x.c */ -int probe_49fl00x(struct flashchip *flash); -int erase_49fl00x(struct flashchip *flash); -int write_49fl00x(struct flashchip *flash, uint8_t *buf); int unlock_49fl00x(struct flashchip *flash); +int lock_49fl00x(struct flashchip *flash); /* sharplhf00l04.c */ int probe_lhf00l04(struct flashchip *flash); diff --git a/flashchips.c b/flashchips.c index 45e67c64e5d47d11a0d9a91072504f59974c54d3..5005997294904cb9623aea7203011005897172de 100644 --- a/flashchips.c +++ b/flashchips.c @@ -1306,7 +1306,8 @@ struct flashchip flashchips[] = { .block_erase = erase_chip_block_jedec, } }, - .write = write_49fl00x, + .unlock = unlock_49fl00x, + .write = write_jedec_1, .read = read_memmapped, }, @@ -3347,7 +3348,7 @@ struct flashchip flashchips[] = { } }, .unlock = unlock_49fl00x, - .write = write_49fl00x, + .write = write_jedec_1, .read = read_memmapped, }, @@ -3377,7 +3378,7 @@ struct flashchip flashchips[] = { } }, .unlock = unlock_49fl00x, - .write = write_49fl00x, + .write = write_jedec_1, .read = read_memmapped, }, diff --git a/pm49fl00x.c b/pm49fl00x.c index 17a49f0a945a325605d557de6bc60dd0bb039dcd..5e5eec8358a145f45031c6f33d84e6f35a346e51 100644 --- a/pm49fl00x.c +++ b/pm49fl00x.c @@ -43,6 +43,12 @@ int unlock_49fl00x(struct flashchip *flash) return 0; } +int lock_49fl00x(struct flashchip *flash) +{ + write_lockbits_49fl00x(flash->virtual_registers, flash->total_size * 1024, 1, flash->page_size); + return 0; +} + int erase_49fl00x(struct flashchip *flash) { int i;