1
0
mirror of https://review.coreboot.org/flashrom.git synced 2025-04-27 15:12:36 +02:00

361 Commits

Author SHA1 Message Date
Uwe Hermann
4178760241 Mark the following chip as supported
- Winbond W39V040FA (reported by Guenter <lists@gknw.net>)
   Read (thus also probe), write (thus also erase), and verify tested.
   http://www.flashrom.org/pipermail/flashrom/2010-May/003078.html

Corresponding to flashrom svn r1020.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2010-05-30 17:50:16 +00:00
Uwe Hermann
ea5425b500 Update the status for the following chips
- Eon EN25F80 (reported by oops66 <oops66@wanadoo.fr>)
   Probe and read tested.
   http://www.flashrom.org/pipermail/flashrom/2010-May/003183.html

 - AMIC A49LF040A (reported by Guenter <lists@gknw.net>)
   Read (thus also probe), write (thus also erase), and verify tested.
   http://www.flashrom.org/pipermail/flashrom/2010-May/003078.html
   Also reported by Robert Grasso <robert.grasso@modulonet.fr>.
   http://www.flashrom.org/pipermail/flashrom/2010-May/003006.html

 - SST SST49LF008A (reported by Marco Giacinti <marcogiacinti@hotmail.it>)
   Erase tested.
   http://www.flashrom.org/pipermail/flashrom/2010-May/003010.html

 - SST SST29EE020A (reported by Anders Jenbo <anders@jenbo.dk>)
   Write (and thus erase) tested.
   http://www.flashrom.org/pipermail/flashrom/2010-April/002961.html

 - SST SST49LF040 (reported by David Westberg <david@uarda.dlinkddns.com>)
   Probe and read tested.
   http://www.flashrom.org/pipermail/flashrom/2010-April/002862.html

 - Winbond W39V080FA (reported by Maciej Żenczykowski <zenczykowski@gmail.com>)
   All operations tested.
   http://www.flashrom.org/pipermail/flashrom/2010-April/002863.html

 - Winbond W29C020C (reported by Urja Rannikko <urjaman@gmail.com>)
   Erase tested.
   http://www.flashrom.org/pipermail/flashrom/2010-April/002847.html

 - PMC Pm39LV010 (reported by Tim Small <tim@seoss.co.uk>)
   Write (and thus also erase) tested.
   http://www.flashrom.org/pipermail/flashrom/2010-March/002711.html

Corresponding to flashrom svn r1019.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2010-05-30 17:00:19 +00:00
Michael Karcher
c9b6341f29 Unlocking for W39V040FA
Corresponding to flashrom svn r1018.

Signed-off-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2010-05-30 16:55:18 +00:00
Carl-Daniel Hailfinger
dc1cda15d4 Add support for two-byte RES probes
Some chips implement the RES (0xab) opcode, but they use a non-standard
two byte response instead of the usual one byte response. A two-byte
response has the accuracy of REMS and RDID, so don't check for REMS/RDID
availability before running a two-byte RES.

Corresponding to flashrom svn r1017.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Reinauer <stepan@coresystems.de>
2010-05-28 17:07:57 +00:00
Uwe Hermann
8d341b5ae7 Mark the following chips as OK
- PMC Pm49FL004
 - SST SST49LF020
 - SST SST49LF020A
 - SST SST49LF040B
 - SST SST49LF080A
 - Winbond W39V040B

I tested all operations on hardware using r997. Only on SST49LF040B
write/erase does not seem to work, will investigate later (probe/read
works, though).

Corresponding to flashrom svn r1012.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-05-25 23:27:44 +00:00
Rudolf Marek
ce1c798c1c Add support for Winbond W25Q80, W25Q16 and W25Q32
I tested read/write/probe with W25Q80.

Corresponding to flashrom svn r994.

Signed-off-by: Rudolf Marek <r.marek@assembler.cz> 
Acked-by: David Hendricks <dhendrix@google.com>
2010-04-20 19:34:31 +00:00
Michael Karcher
ad0010a67a Intel 28F004/28F400 support
Remove blockwise write for i82802ab chips. It will be reintroduced
in post-0.9.2 in a generic way. This is needed to fix
FWH-like chips with non-uniform sectors.

These are:
  Intel 28F001
  Sharp LHF00L04
  ST M50FW002
  ST M50LPW116

Corresponding to flashrom svn r991.

Signed-off-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-04-03 10:27:08 +00:00
Anders Juel Jensen
dfdc56f4a0 Add PMC Pm39LV020 and Pm39LV040
Corresponding to flashrom svn r988.

Signed-off-by: Anders Juel Jensen <andersjjensen@gmail.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-03-27 23:25:14 +00:00
Uwe Hermann
4e3d0b3a24 Polish the flashrom code comments and outputs a bit
- Fix a number of typos (found via ispell).

 - Use correct vendor names (as per their websites) consistently.

Corresponding to flashrom svn r985.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2010-03-25 23:18:41 +00:00
Michael Karcher
d4e5359372 Add success reports
PMC Pm39LV010:
 See http://www.coreboot.org/pipermail/flashrom/2010-March/002711.html
 Thanks to Tim Small for reporting!

Supermicro X8DTT-F:
 See http://www.coreboot.org/pipermail/flashrom/2010-March/002707.html
 Thank to Taylan Develioglu for testing!

Gigabyte GA-965P-DS4:
 See http://www.coreboot.org/pipermail/flashrom/2010-March/002426.html
 Thanks to Michal Andrzejczak for reporting!

Tyan Tempest i5000PW:
 See http://www.coreboot.org/pipermail/flashrom/2010-February/002358.html
 Thanks to Rob Lazzurs for reporting!

PCEngines WRAP.2E:
 See http://www.coreboot.org/pipermail/flashrom/2010-February/002187.html
 Thanks to Vincenzo Caruso for testing!

Asus P5B:
 This board has been reporting as working (for r710/0.9.1) in:
 http://www.coreboot.org/pipermail/flashrom/2010-February/002170.html
 Thanks to Patrice Levesque for testing!

MSI 7312 (K9MM-V) + W39V040B:
 See http://www.coreboot.org/pipermail/flashrom/2010-February/002159.html
 Thanks to David Mears for testing!

Probe + Read on SST49LF080A:
 See http://www.coreboot.org/pipermail/flashrom/2010-February/002095.html
 Thanks to Peter Lemenkov for testing!

Finally:
 remove Asus A7V8X-X from "boards_ok", as this table is meant only for
 boards not needing a board enable.

Corresponding to flashrom svn r984.

Signed-off-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-03-25 09:23:46 +00:00
Michael Karcher
3355f06978 Flashrom works on Acer Aspire 1520 (Laptop) with W39V040A
See http://www.coreboot.org/pipermail/flashrom/2010-March/002451.html

Thanks to Paweł Stawicki for reporting!

Corresponding to flashrom svn r980.

Signed-off-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-03-24 22:56:23 +00:00
Michael Karcher
b90c2217b1 MSI MS6330 tested with W49F002U and EN29F002
W49F002U: http://www.coreboot.org/pipermail/flashrom/2010-March/002469.html
EN29F002: http://www.coreboot.org/pipermail/flashrom/2010-March/002480.html

Block erase was broken, chip erase worked, block erase is fixed in r934 but
has not been tested since.

Thanks to Guy Lacroix for reporting!

Corresponding to flashrom svn r978.

Signed-off-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-03-24 22:56:14 +00:00
Michael Karcher
98eff46e3d Abit VT6X4 + Winbond W29C020C and Asus A7V133 + Atmel AT29C010A work
Abit VT6X4 / W29C020C: See
  http://www.coreboot.org/pipermail/flashrom/2010-March/002730.html
  Fixes typo in comment and marks board-enable as tested (the flashrom
  running on that machine was patched with the board enable that got
  in later).

Asus A7V133 / Atmel AT29C010A: See
  http://www.coreboot.org/pipermail/flashrom/2010-March/002729.html
  Adding "erase" to tested as there is only one erase function.

Corresponding to flashrom svn r975.

Signed-off-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-03-24 22:55:56 +00:00
Michael Karcher
e2343e0813 Probe/Read tested for SST29EE020A
http://www.flashrom.org/pipermail/flashrom/2010-February/002318.html
Thanks to Andre Robatino for reporting!

Corresponding to flashrom svn r974.

Signed-off-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-03-24 22:55:50 +00:00
Sean Nelson
69e5811e79 Sst49lfxxxc chips are functionally the same as 82802ab chips
Sst49lfxxxc software status register is functionally the same as the 
82802ab status register, "Block Protect Status"(49lfxxxc) can be treated 
the same as "Device Protect Status"(82802ab).
Erase_block_49lfxxxc is the same command sequence as erase_block_82802ab.
Add unlock_49lfxxxc to chips definitions.
Write_sector_49lfxxxc is the same as write_page_82802ab.

Corresponding to flashrom svn r972.

Signed-off-by: Sean Nelson <audiohacked@gmail.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-03-23 17:10:28 +00:00
Sean Nelson
ed3eae6873 Clang complains loudly when there are duplicate printlock_sst_fwhub, gcc ignores them
Ack via IRC.

Corresponding to flashrom svn r969.

Signed-off-by: Sean Nelson <audiohacked@gmail.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-03-22 21:48:51 +00:00
Sean Nelson
dee4a83e1c To access/read the lock bits, we use the same mode to read the chip id
This patch looks into the write situation for the Intel 28F001BX-{B,T}.
Looks like they're just a 82802ab page write.

Unlock_28f004s5 has been changed to read all the lock bits and if at
least one of the block lock bits are set, clear them all. If the master
lock bit is set, we can't do anything about it, so we return.

Corresponding to flashrom svn r965.

Signed-off-by: Sean Nelson <audiohacked@gmail.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-03-22 04:39:31 +00:00
Sean Nelson
fcc4f749f3 Fix some problems introduced in commit r948 brought up by carldani
The Intel 28F001BX-T/B chips don't have block locks or mention of
registers; chip is old. The Intel 28F004S5 mentions block locks which
require a remapping registers.

Corresponding to flashrom svn r960.

The Intel 28F004S5 mentions block locks which require a remapping registers.
Fixes problems brought up by carldani because of commit r948.
Signed-off-by: Sean Nelson <audiohacked@gmail.com>
Acked-by: Sean Nelson <audiohacked@gmail.com>
2010-03-20 03:01:19 +00:00
Sean Nelson
28accc2700 Various JEDEC refactorings touching 82802ab.c, sharplhf00l04.c and stm50flw0x0x.c
Rename print_82802ab_status to print_status_82802ab add unlock_82802ab strip unlock code from erase_block_82802ab rename erase_82802ab_block  to erase_block_80280ab delete sharplhf00l04.o from Makefile delete *_lhf00l04* from chipdrivers.h.

add unlock_stm50flw0x0x
delete wait_stm50flw0x0x
delete write_page_stm50flw0x0x
convert erase_stm50flw0x0x to erase_chip_stm50flw0x0x
delete write_stm50flw0x0x
add unlock_82802ab to two Intel chips with TEST_BAD_WRITE
change the status of 82802AB, 82802AC, M50FW040, M50FW080 to TEST_OK_PR

Corresponding to flashrom svn r948.

Signed-off-by: Sean Nelson <audiohacked@gmail.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-03-19 18:47:06 +00:00
Uwe Hermann
6093969529 Mark a bunch of parallel chips I tested as TEST_OK_PRW
All operations for these chips were tested on hardware. ERASE is not marked
as working yet, as there are multiple erase functions per chip and only one
was (successfully) tested. I'll redo the ERASE test when the respective
infrastructure in flashrom is there.

Corresponding to flashrom svn r945.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-03-17 00:05:59 +00:00
Sean Nelson
ccf7a2a231 Further cleanup after JEDEC refactorings
Convert _sst_fwhub functions to jedec.

Corresponding to flashrom svn r943.

kill unused sst_fwhub.c functions
make unlock_* check if unlock was successful and only return 0 when fully successful
Signed-off-by: Sean Nelson <audiohacked@gmail.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-03-16 03:09:10 +00:00
Carl-Daniel Hailfinger
81449a2482 Add FEATURE_REGISTERMAP to some more chips and change the use of various probing functions
Add FEATURE_REGISTERMAP to * Intel 82802AB, 82802AC * Sharp LHF00L04 * SST SST49LF004C, SST49LF008C, SST49LF016C, SST49LF160C * ST M50FLW040A, M50FLW040B, M50FLW080A, M50FLW080B, M50FW002, M50FW016      M50FW040, M50FW080, M50LPW116.

Make register mapping conditional on FEATURE_REGISTERMAP in 82802ab.c.
Replace probe_49lfxxxc with probe_82802ab.
Replace probe_28sf040 with probe_82802ab.
Replace probe_sst_fwhub with probe_jedec.
Add printlock_sst_fwhub to chips which used probe_sst_fwhub.

Corresponding to flashrom svn r937.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
2010-03-15 03:48:42 +00:00
Michael Karcher
e3cb0a13bf Fix EN29F002 Top/Bottom Boot Block
See http://www.coreboot.org/pipermail/flashrom/2010-March/002480.html
for effects of mixup: blockwise erase will fail, fallback to chip
erase works.

Corresponding to flashrom svn r934.

Signed-off-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
Acked-by: Sean Nelson <audiohacked@gmail.com>
2010-03-13 23:47:09 +00:00
Russ Dill
8c7c468645 Mark PMC Pm49FL002 as tested
This chip is on my ASUS A7V8X-X mainboard.

Corresponding to flashrom svn r928.

Signed-off-by: Russ Dill <Russ.Dill@gmail.com>
Acked-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
2010-03-09 16:53:06 +00:00
Russ Dill
3cd5a12e04 Add support for Eon EN29F010
Tested by Russ Dill.
Checked against datasheet by Sean Nelson.
Datasheet: http://www.essi.com.tw/upfile/p2008929171446.pdf

Corresponding to flashrom svn r921.

Signed-off-by: Russ Dill <Russ.Dill@gmail.com>
Acked-by: Sean Nelson <audiohacked@gmail.com>
2010-03-05 08:44:11 +00:00
Sean Nelson
36172342c8 Convert the remaining references to *_49fl00x
Now the only remaining and used function in pm49fl00x.c is unlock_49fl00x.

Also:
 - Add missing unlock to AMIC A49LF040A.
 - Add lock_49fl00x function.

Corresponding to flashrom svn r917.

Signed-off-by: Sean Nelson <audiohacked@gmail.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-02-27 18:01:15 +00:00
Sean Nelson
14ba6682e9 Split spi.c into programmer and chip code Remove chipdriver.h include from flash.h
Some of the spi programmer drivers required chipdrivers.h, needs fixing later:
  it87spi.c
  ichspi.c
  sb600spi.c
  wbsio_spi.c
  buspirate_spi.c
  ft2232spi.c
  bitbang_spi.c
  dediprog.c

Corresponding to flashrom svn r914.

Signed-off-by: Sean Nelson <audiohacked@gmail.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-02-26 05:48:29 +00:00
Sean Nelson
6e0b912f46 Here's a very quick patch to fix the missing unlock code
Fixes missing unlock for certain chips:
 * unlock_49lf00x
    * Pm49fl002
    * Pm49fl004

 * unlock_49flxxxc
    * SST49LF160C

 * unlock_winbond_fwhub
    * W39V080FA
    * W39V080FA (dual mode)

Fixes missing printlock for certain chip:
 * printlock_w39v040c
    * W39V040C

Corresponding to flashrom svn r907.

Signed-off-by: Sean Nelson <audiohacked@gmail.com>
Acked-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
2010-02-19 00:52:10 +00:00
Carl-Daniel Hailfinger
cd446f4b93 Kill an erroneous .erase introduced in r900
Corresponding to flashrom svn r901.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-02-13 19:22:11 +00:00
Sean Nelson
f5ae4d4a35 Adds support for the Intel E28F004S5 flash chip
Corresponding to flashrom svn r900.

Signed-off-by: Sean Nelson <audiohacked@gmail.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-02-13 18:41:53 +00:00
Sean Nelson
ca33140ebf Fix erase blocks for Winbond W25X{10,20,40,80} SPI chips
The Winbond W25X10 and related chips only have 4k and 64k blocks and
only accept erase commands: 20h, d8h, and c7h.

Corresponding to flashrom svn r897.

Signed-off-by: Sean Nelson <audiohacked@gmail.com>
Acked-by: David Hendricks <dhendrix@google.com>
2010-02-12 18:40:27 +00:00
Carl-Daniel Hailfinger
48f1d73b5f At long last, the day has come, and we can bury full-chip erase once and for all
Back in November 2008(!) I proposed the first version of the flexible
sector-based erase structure, and now we can finally rip out the old
full-chip erase code without ill effects. Rejoice and party!

Thanks to everyone who made this possible, especially to Sean Nelson who
converted the majority of flash chips to sector erase.

Corresponding to flashrom svn r895.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Sean Nelson <audiohacked@gmail.com>
2010-02-11 23:03:53 +00:00
Jeffrey A. Kent
ba7c9228d3 Adds support for ST M29W512B
Tested and works for me.

Corresponding to flashrom svn r888.

Signed-off-by: Jeffrey A. Kent <jakent@gmail.com>
Acked-by: Sean Nelson <audiohacked@gmail.com>
2010-02-01 05:49:46 +00:00
Sean Nelson
35727f7618 Complete the addition of Feature Bits for all Jedec based chips
Add FEATURE_SHORT_RESET, FEATURE_LONG_RESET, and FEATURE_EITHER_RESET
rewrite jedec functions to use getaddrmask

convert write_49f002 to write_jedec_1
convert write_w39v040c to write_jedec_1
convert probe_w39v040c to probe_jedec
convert write_49lf040 to write_jedec_1
convert write_pm29f002 to write_jedec
convert write_29f040b to write_jedec_1
convert probe_29f040b to probe_jedec
convert erase_chip_29f040b to erase_chip_block_jedec
convert erase_sector_29f040b to erase_sector_jedec
convert write_m29f002b to write_jedec
convert write_m29f002t to write_jedec
convert *_29f002 to *_jedec

decouple unused files from Makefile:
am29f040b.c
en29f002a.c
m29f002.c
mx29f002.c
pm29f002.c
sst49lf040.c
w39v040c.c
w49f002u.c

Corresponding to flashrom svn r886.

Signed-off-by: Sean Nelson <audiohacked@gmail.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Anders Juel Jensen <andersjjensen@gmail.com>
2010-01-28 23:55:12 +00:00
Uwe Hermann
48da3f9f99 Add support for the SST39SF512 chip
All operations tested by me, works fine.

Corresponding to flashrom svn r881.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Sean Nelson <audiohacked@gmail.com>
2010-01-23 15:15:19 +00:00
Sean Nelson
51c83fb2b2 Convert various SST chips to use block_erasers
Convert the following chips to block_erasers: SST28SF040A SST29EE010
SST29LE010 SST29EE020A SST29LE020 SST39SF010A SST39SF020A SST39SF040
SST39VF512 SST39VF010 SST39VF020 SST39VF040 SST39VF080 SST49LF002A/B
SST49LF003A/B SST49LF004C SST49LF008A SST49LF008C SST49LF016C SST49LF020
SST49LF020A SST49LF040 SST49LF040B SST49LF080A SST49LF160C .

Extend sst28sf040 to include chip and sector functions for block_eraser.
Extend sst49lfxxxc to include chip, sector, block erasers functions for
block_erasers. Extend sst_fwhub to include chip and sector functions for
block_erasers. Add copyrights to changed files. Killed erase_sst_fwhub.
Killed erase_49lfxxxc. NULL A/A mux mode full chip erasers. Ignore block
locks in erase/write. Change comments from "PP mode" to "A/A mux mode"

Corresponding to flashrom svn r877.

Signed-off-by: Sean Nelson <audiohacked@gmail.com> 
Acked-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
2010-01-20 20:55:53 +00:00
Sean Nelson
012a31e201 Fix SyncMOS S29C51004T, which has 512 uniform 1k sectors
Corresponding to flashrom svn r873.

Signed-off-by: Sean Nelson <audiohacked@gmail.com>
Acked-by: Sean Nelson <audiohacked@gmail.com>
2010-01-19 20:23:26 +00:00
Sean Nelson
329bde7725 Convert ST to block erasers
ST M25P05-A
ST M25P05.RES
ST M25P10-A
ST M25P10.RES
ST M25P20
ST M25P40
ST M25P40-old
ST M25P80
ST M25P16
ST M25P32
ST M25P64
ST M25P128
ST M29F002B
ST M29F002T/NT
ST M29F040B
ST M29F400BT
ST M29W010B
ST M29W040B
ST M50FLW040A
ST M50FLW040B
ST M50FLW080A
ST M50FLW080B
ST M50FW002
ST M50FW016
ST M50FW040
ST M50FW080
ST M50LPW116

Add erase_chip_stm50flw0x0x to stm50flw0x0x.c
Add copyright to stm50flw0x0x.c
Fix block sizes and counts
Omit M50FLW0x0x mixed sector/block eraser
Convert the used 82802ab functions to their stm50flw0x0x equivalents
Fix incorrect sizes as found by Carl-Daniel.
Add back M50FLW0x0x mixed sector/block eraser sans function pointer.

Corresponding to flashrom svn r872.

Signed-off-by: Sean Nelson <audiohacked@gmail.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-01-19 16:39:19 +00:00
Sean Nelson
56358aae1d Block eraser conversions and support for Eon EN25B series
Convert chips to block_erasers:

SyncMOS S29C31004T
SyncMOS S29C51001T
SyncMOS S29C51002T
SyncMOS S29C51004T
TI TMS29F002RT
TI TMS29F002RB

SyncMOS chips have Uniform sector; boot blocks on chips are made up of uniform sectors but have locking.

Corresponding to flashrom svn r871.

Signed-off-by: Sean Nelson <audiohacked@gmail.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-01-19 16:08:51 +00:00
Sean Nelson
cfc35cda57 Converted chips to block_erasers
W_25X10
W_25X20
W_25X40
W_25X80
W_25X16
W_25X32
W_25X64
W_29C011
W_29C020C
W_29C040P
W_29EE011
W_39V040A
W_39V040B
W_39V040C
W_39V040FA
W_39V080A
W_49F002U
W_49V002A
W_49V002FA
W_39V080FA
W_39V080FA_DM

Corresponding to flashrom svn r868.

Signed-off-by: Sean Nelson <audiohacked@gmail.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-01-19 03:24:55 +00:00
Sean Nelson
5643c0782e Block eraser conversions and support for Eon EN25B series
Convert chips to block_erasers:
ST_M25PE10
ST_M25PE20
ST_M25PE40
ST_M25PE80
ST_M25PE16
PMC_25LV010
PMC_25LV016B
PMC_25LV020
PMC_25LV040
PMC_25LV080B
PMC_25LV512
PMC_39F010
PMC_49FL002
PMC_49FL004
SANYO_LE25FW203A
SPANSION_S25FL016A

Added spi_block_erase_d7 for PMC chips.

Corresponding to flashrom svn r867.

Signed-off-by: Sean Nelson <audiohacked@gmail.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-01-19 03:23:07 +00:00
Sean Nelson
2aff7aa03f Fix A25L40PU and A2540PT due to incorrect full-chip block size is incorrect
Corresponding to flashrom svn r865.

Thanks to hailfinger's self-check-erase routine for catching this.
Signed-off-by: Sean Nelson <audiohacked@gmail.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-01-18 08:24:02 +00:00
Michael Karcher
23ff4601ac Support for Spansion S25FL008A
Tested with read/erase/write (including verify). I only wrote the image
that was read before - don't want to brick my laptop.

Corresponding to flashrom svn r862.

Signed-off-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-01-12 23:29:30 +00:00
Carl-Daniel Hailfinger
08fa2f39f3 Change a few probe timings to TIMING_FIXME
They previously had TIMING_IGNORED, but now they use probe_jedec
directly or indirectly and that function does not ignore probe timing.

Corresponding to flashrom svn r856.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Sean Nelson <audiohacked@gmail.com>
2010-01-10 01:34:00 +00:00
Sean Nelson
54596379b4 Block eraser conversions and support for Eon EN25B series
Convert chips to block_erasers:
ASD AE49F2008
AMIC A25L40P(T/U)
AMIC A49LF040A
EMST F49B002UA
Eon EN25B05
Eon EN25B10
Eon EN25B20
Eon EN25B40
Eon EN25B80
Eon EN25B16
Eon EN25B32
Eon EN25B64
Eon EN25D16
Eon EN25F05
Eon EN25F10
Eon EN25F20
Eon EN25F40
Eon EN25F80
Eon EN25F16
Eon EN25F32
Intel 28F001BX-B
Intel 28F001BX-T
Intel 82802AB
Intel 82802AC
Macronix MX25L1635D
Macronix MX25L3235D
Macronix MX25L6405
Macronix MX25L12805
Macronix MX29F001B
Macronix MX29F001T
Macronix MX29LV040

Added new chips (according to datasheets):
Eon EN25B05T
Eon EN25B10T
Eon EN25B20T
Eon EN25B40T
Eon EN25B80T
Eon EN25B16T
Eon EN25B32T
Eon EN25B64T

Added minor Device IDs for Eon EN25Bxx{T,B} chips.

Corresponding to flashrom svn r843.

Signed-off-by: Sean Nelson <audiohacked@gmail.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-01-09 05:30:14 +00:00
Carl-Daniel Hailfinger
e9404668a1 Use the register mapping feature bit
All functions which just call probe_jedec and then map flash registers
are replaced by probe_jedec. All functions which call probe_jedec, map
flash registers and do something else can at least eliminate mapping
flash registers.
Fix logic inversion in probe_jedec to map flash registers on success
instead of on failure.
Change a few TIMING_IGNORED to TIMING_FIXME where probe_jedec is used.

Total savings: One probe function simplified, three probe functions
eliminated.

Corresponding to flashrom svn r839.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
Acked-by: Sean Nelson <audiohacked@gmail.com>
2010-01-09 02:24:17 +00:00
Carl-Daniel Hailfinger
aca1dce951 Fix Sharp LHF00L04
- Add eraseblock definitions
- Use correct eraseblock sizes (the datasheet is a bit ambiguous)
- Use correct probe function
- Fill in probe timing

There is a lot more stuff left to clean up, but at least probe and erase
should work now.

Corresponding to flashrom svn r837.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Sean Nelson <audiohacked@gmail.com>
2010-01-07 21:23:45 +00:00
Sean Nelson
c57a920f34 Generify jedec functions by introducing an address mask
The patch converts jedec functions into mask-based generics which can
be used for many chip provided the only changes are the addresses are
converted from 0x5555/0x2AAA to 0x555/0x2AA or similar.

The patch mostly changes jedec.c, but a few other files are changed
because they use the jedec functions within their own functions.

The patch also adds a copyright line to flashchips.c because of my
recent work in converting AMD and Atmel chips to use struct erase_block.

Corresponding to flashrom svn r828.

Signed-off-by: Sean Nelson <audiohacked@gmail.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-01-04 17:15:23 +00:00
Sean Nelson
6b11ad2f19 Convert the following chips to use struct eraseblock
AMIC_A29002B
AMIC_A29002T
EN_29F002B
EN_29F002T
MBM29F004BC
MBM29F004TC
MBM29F400BC
MBM29F400TC
MX_25L3205
MX_25L6405
MX_29F002B
MX_29F002T

Add block erasers for m29f400bt and mx29f002.
Change programmer delays from 2 seconds to 10us in mx29f002 and am29f040b.

Corresponding to flashrom svn r819.

Signed-off-by: Sean Nelson <audiohacked@gmail.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2009-12-23 17:05:59 +00:00
Carl-Daniel Hailfinger
bbfeb70fb9 Add blockwise erase to all supported chips of the SST25 family
SST25VF040.REMS, SST25VF040B, SST25VF040B.REMS, SST25VF080B,
SST25VF016B, SST25VF032B

Corresponding to flashrom svn r818.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Sean Nelson <audiohacked@gmail.com>
2009-12-23 12:16:47 +00:00