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

1920 Commits

Author SHA1 Message Date
Peter Stuge
fc4a369669 SST39SF040 TEST_OK_ PROBE READ ERASE WRITE
Per report from Mario Rogen. Thanks!

Corresponding to flashrom svn r341 and coreboot v2 svn r3736.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>
2008-11-08 01:39:12 +00:00
Carl-Daniel Hailfinger
16d9c5be7f Mark ST M25P16 as fully tested
This has been confirmed by Stéphan Guilloux.

Corresponding to flashrom svn r340 and coreboot v2 svn r3731.

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>
2008-11-05 22:54:36 +00:00
Carl-Daniel Hailfinger
1c2ec28ce4 Add support for 8 new chips and fix up 2 existing chips as well
Replace age-old TODO comments with real explanations.

Fixed chips:
Fujitsu MBM29F400TC (ID definition)
Macronix MX29F002T (chip name)

New chips:
Fujitsu MBM29F004BC
Fujitsu MBM29F004TC
Fujitsu MBM29F400BC
Macronix MX25L512
Macronix MX25L1005
Macronix MX25L2005
Macronix MX25L6405
Macronix MX29F002B

Straight from the data sheets, compile tested only.

Corresponding to flashrom svn r339 and coreboot v2 svn r3730.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2008-11-04 12:11:12 +00:00
Carl-Daniel Hailfinger
d3b0e39f4c Dump ICH8/ICH9/ICH10 SPI registers
This helps a lot if we have to track down configuration weirdnesses.

Corresponding to flashrom svn r338 and coreboot v2 svn r3723.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Reinauer <stepan@coresystems.de>
2008-11-03 00:20:22 +00:00
Carl-Daniel Hailfinger
6afb613fef Add additional SPI sector erase and chip erase command functions
Not all chips support all commands, so allow the implementer to select
the matching function. Fix a layering violation in ICH SPI code to be
less bad. Still not perfect, but the new code is shorter, more generic
and architecturally more sound.

TODO (in a separate patch): - move the generic sector erase code to
spi.c - decide which erase command to use based on info about the chip -
create a generic spi_erase_all_sectors function which calls the generic
sector erase function

Thanks to Stefan for reviewing and commenting.

Corresponding to flashrom svn r337 and coreboot v2 svn r3722.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Reinauer <stepan@coresystems.de>
2008-11-03 00:02:11 +00:00
Stefan Reinauer
4311956a80 Drop nr/opcode_index parameter from run_opcode and search the opmenu for the opcode instead
This is slightly slower (ha, ha), but works on boards with a locked
opmenu. Tested on ICH7 and works.

Corresponding to flashrom svn r336 and coreboot v2 svn r3721.

Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2008-11-02 19:51:50 +00:00
Carl-Daniel Hailfinger
96e1b55079 Add support for the ST M50FW002 chip
Identification only, erase/write are not implemented.

Corresponding to flashrom svn r335 and coreboot v2 svn r3717.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>

tested and
Acked-by: Elia Yehuda <z4ziggy@gmail.com>
2008-11-02 14:25:11 +00:00
Uwe Hermann
81f730f792 Mark two more chips as fully tested
- SST SST39SF010A
 - Winbond W29C011

Tested by me on actual hardware, all operations.

Corresponding to flashrom svn r334 and coreboot v2 svn r3708.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2008-10-30 03:10:17 +00:00
Stefan Reinauer
424ed22ee9 Flashrom support for some Numonyx parts (M25PE)
Using block erase d8 as discussed with Peter Stuge

Corresponding to flashrom svn r333 and coreboot v2 svn r3707.

Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>
2008-10-29 22:13:20 +00:00
Ed Swierk
b759db2cb5 Enable SPI boot flash support on EP80579, which has the ICH7 register set
Corresponding to flashrom svn r332 and coreboot v2 svn r3706.

Signed-off-by: Ed Swierk <eswierk@aristanetworks.com>
Acked-by: Ed Swierk <eswierk@aristanetworks.com>
2008-10-29 14:54:36 +00:00
Uwe Hermann
2bc9f37759 Mark Winbond W39V040FA (512 KB) as fully supported
Tested by Martin Stecklum <stecky@gmx.net> (both write and erase).
The tests were done on an MSI MS-7065 board, so that's supported now too.

Corresponding to flashrom svn r331 and coreboot v2 svn r3697.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2008-10-28 12:00:59 +00:00
Uwe Hermann
c556d32000 Add support for the Intel 82371MX (MPIIX) southbridge
Untested, but should work just as well as the other *PIIX* southbridges
according to the datasheets.

Corresponding to flashrom svn r330 and coreboot v2 svn r3696.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2008-10-28 11:50:05 +00:00
Uwe Hermann
8720345d07 Add support for the Intel 82371FB PIIX and 82371SB (PIIX3) southbridges
Tested on PIIX3 hardware.

Corresponding to flashrom svn r329 and coreboot v2 svn r3694.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Corey Osgood <corey.osgood@gmail.com>
2008-10-26 18:40:42 +00:00
Uwe Hermann
190f8497d7 Add support for the VIA VT82C586A/B chipset, improve documentation
Corresponding to flashrom svn r328 and coreboot v2 svn r3693.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2008-10-25 18:03:50 +00:00
Uwe Hermann
1b0f61f80b Reduce serial output, otherwise flashing will fail very often
This has been tested on hardware by me.

Corresponding to flashrom svn r327 and coreboot v2 svn r3682.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2008-10-21 22:09:02 +00:00
Uwe Hermann
394131ef14 Coding-style fixes for flashrom, partly indent-aided
Corresponding to flashrom svn r326 and coreboot v2 svn r3669.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2008-10-18 21:14:13 +00:00
Urja Rannikko
a88daa731d Allow the SiS 620 chipset to detect and read at least 256kb chips
Based on the 5595 datasheet and uniflash 1.40 sources, only looking for info
about SiS620.

Corresponding to flashrom svn r325 and coreboot v2 svn r3668.

Signed-off-by: Urja Rannikko <urjaman@gmail.com>
Acked-by: Peter Stuge <peter@stuge.se>
2008-10-18 13:54:30 +00:00
Marc Jones
3af487d419 SB600 has four write once LPC ROM protect areas
It is not possible to write enable that area once the register is set so
print a warning.

Corresponding to flashrom svn r324 and coreboot v2 svn r3659.

Signed-off-by: Marc Jones <marcj.jones@amd.com>
Acked-by: Ronald G. Minnich <rminnich@gmail.com>
Acked-by: Peter Stuge <peter@stuge.se>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2008-10-15 17:50:29 +00:00
Carl-Daniel Hailfinger
28ec74b229 Add ICH10 support
The ICH9 and ICH10 data sheets are identical regarding FWH/SPI flash
interfaces, so this just adds the required PCI IDs.

Corresponding to flashrom svn r323 and coreboot v2 svn r3648.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Peter Stuge <peter@stuge.se>
2008-10-10 20:54:41 +00:00
Peter Stuge
23dc1df565 Check that a filename was specified also when using force read
Corresponding to flashrom svn r322 and coreboot v2 svn r3647.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>
2008-10-10 20:43:17 +00:00
Mats Erik Andersson
cbfed28880 Support for AM29F002(N)B[BT]
Fully tested on AM29F002NBT.

Probing, reading, and erasing use the Jedec-routines, whereas writing
resort to the recent write_en29f002a(), since also these chips use a
byte wise algorithm.

Corresponding to flashrom svn r321 and coreboot v2 svn r3639.

Signed-off-by: Mats Erik Andersson <mats.andersson@gisladisker.se>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2008-10-07 12:21:12 +00:00
Tim ter Laak
205633e12f This patch fixes support for the AT49F002N(T) chip in the flashrom tool
It replaces the write function to one based on write_byte_program_jedec()
instead of write_page_write_jedec(), as this part does not support page
programming.
I have verified the NT variant to fully work now, and adjusted the test
status accordingly. The N variant *should* also work with this patch, but
remains untested.

Corresponding to flashrom svn r320 and coreboot v2 svn r3619.

Signed-off-by: Tim ter Laak <timl@scintilla.utwente.nl>
Acked-by: Peter Stuge <peter@stuge.se>
2008-09-30 04:13:32 +00:00
Peter Stuge
9a362c583b ST M29F040B status TEST_OK_ PROBE READ ERASE WRITE
Per report from Daniel Lindenaar. Thanks!

Corresponding to flashrom svn r319 and coreboot v2 svn r3618.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>
2008-09-30 04:00:23 +00:00
Peter Stuge
c010e0b14f Fix typo in r3615 (TEST_PREW -> TEST_OK_PREW)
Corresponding to flashrom svn r318 and coreboot v2 svn r3616.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>
2008-09-29 21:21:36 +00:00
Uwe Hermann
e8782a6307 Mark the SyncMOS S29C51002T as working
All operations tested by me on hardware.

Corresponding to flashrom svn r317 and coreboot v2 svn r3615.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2008-09-29 18:48:23 +00:00
Mats Erik Andersson
44e1a19467 Activate proper support for EN29F002(A)(N)[BT]
Fully tested for Probe/Read/Erase/Write on EN29F002NT.
Jedec subroutines 'probe_jedec()' and 'erase_chip_jedec()'
are still in use, but a tailored 'write_en29f002a()' is
needed due to a byte wise writing mechanism for this chip.

Corresponding to flashrom svn r316 and coreboot v2 svn r3602.

Signed-off-by: Mats Erik Andersson <mats.andersson@gisladisker.se>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2008-09-26 13:19:02 +00:00
Peter Stuge
3d20d901ec Winbond W49V002A TEST_OK_ PROBE READ ERASE WRITE
Per report from Kevin O'Connor. Thanks Kevin!

Corresponding to flashrom svn r315 and coreboot v2 svn r3570.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>
2008-09-10 09:55:10 +00:00
Peter Stuge
80d667b518 Debug print actual time base calculated by myusec_calibrate_delay()
Corresponding to flashrom svn r314 and coreboot v2 svn r3569.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>
2008-09-07 03:14:27 +00:00
Peter Stuge
483b8f0c0d Only find "unknown .. SPI chip" if no other chip was found
This removes the false positive matches we've been seeing, and also removes
the true positive match in case there is more than one flash chip and the 2nd
or 3rd are unknown - but I think that case is uncommon enough to warrant the
improvement in the common case. Use flashrom -frc forced read if you have the
uncommon case, and/or please add the flash chip to the flashchips array.

Corresponding to flashrom svn r313 and coreboot v2 svn r3562.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Stefan Reinauer <stepan@coresystems.de>
2008-09-03 23:10:05 +00:00
Peter Stuge
8d74c1b05a SST49LF016C TEST_OK_ PROBE READ ERASE WRITE
Per test report from Bari Ari. Thanks!

Corresponding to flashrom svn r312 and coreboot v2 svn r3557.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>
2008-09-02 00:26:11 +00:00
Peter Stuge
e7efd4caf8 SST25VF016B TEST_OK_ PROBE READ ERASE WRITE
Per test report from Ward.

Corresponding to flashrom svn r311 and coreboot v2 svn r3541.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>
2008-08-27 21:28:41 +00:00
Ed Swierk
cd2ed475ad Recognize the Intel EP80579 LPC flash interface
Corresponding to flashrom svn r310 and coreboot v2 svn r3532.

Signed-off-by: Ed Swierk <eswierk@arastra.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2008-08-20 20:31:41 +00:00
Sean Nelson
b20953c3b9 Add support for MSI KT4V
The KT4V is autodetected and supports the KT3 Ultra 2 with "-m msi:kt4v"
(but is not autodetected, yet).

Corresponding to flashrom svn r309 and coreboot v2 svn r3528.

Signed-off-by: Sean Nelson <snelson@nmt.edu>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2008-08-19 21:51:39 +00:00
Segher Boessenkool
0d29b60641 Fix error -EINVAL on mmap()
Don't calculate "flash_baseaddr" until the final value of "size"
is known, otherwise we end up trying to map a page right after
the end of memory.

Fixes #112.

Corresponding to flashrom svn r308 and coreboot v2 svn r3502.

Signed-off-by: Segher Boessenkool <segher@kernel.crashing.org>
Acked-by: Stefan Reinauer <stepan@coresystems.de>
2008-08-12 11:58:00 +00:00
Peter Stuge
bff9bf24c7 ST M50FW040 TEST_OK PROBE READ ERASE WRITE
Per test report from Marcel Konrad. Thanks!

Corresponding to flashrom svn r307 and coreboot v2 svn r3485.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>
2008-08-08 10:55:57 +00:00
Stefan Reinauer
566ce1bea0 Update copyright year
Corresponding to flashrom svn r306 and coreboot v2 svn r3464.

Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>
2008-08-02 15:13:58 +00:00
Stefan Reinauer
ec20a75c37 Tested another intel chip
Corresponding to flashrom svn r305 and coreboot v2 svn r3462.

Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>
2008-08-02 14:58:49 +00:00
Peter Stuge
cce2682d6e Winbond W39V040C and MSI K8T Neo2-F
W39V040C does standard JEDEC commands except chip erase so add a small driver.
probe_w39v040c() prints the block lock pin status when a chip is found.

The Neo2 board enable matches on 8237-internal IDE and onboard NIC PCI IDs.

Many thanks to Daniel McLellan for testing all of this on hardware!
Build tested by Uwe.

Corresponding to flashrom svn r304 and coreboot v2 svn r3431.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2008-07-21 17:48:40 +00:00
Carl-Daniel Hailfinger
85f8a1725f Fix and clean up coreboot image detection heuristic
Additional compile fix for NetBSD.

Corresponding to flashrom svn r303 and coreboot v2 svn r3420.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Reinauer <stepan@coresystems.de>
2008-07-11 00:06:38 +00:00
Peter Stuge
f83221b6db Trivial SPI cleanups
While writing a new SPI driver I fixed some things in the SPI code:
All calls to spi_command() had unneccessary #define duplications, and in some
cases the read count define could theoretically become harmful because NULL was
passed for the read buffer. Avoid a crash, should someone change the #defines.

I also noticed that the only caller of spi_page_program() was the it87 driver,
and spi_page_program() could only call back into the it87 driver. Removed the
function for easier-to-follow code and made it8716f_spi_page_program() static.
The ichspi driver's static page functions are already static.

Corresponding to flashrom svn r302 and coreboot v2 svn r3418.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>
2008-07-07 06:38:51 +00:00
Peter Stuge
6a214163c0 Trivial indent fix in ichspi.c
Corresponding to flashrom svn r301 and coreboot v2 svn r3417.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>
2008-07-07 05:14:06 +00:00
Carl-Daniel Hailfinger
8b114399d6 r3415 removed symbolic constants for device IDs by accident
Flash.h is a database of known IDs, whereas flashchips.c is a database
of chips for which support has been implemented. Keep it that way.

Corresponding to flashrom svn r300 and coreboot v2 svn r3416.

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>
2008-07-06 23:04:01 +00:00
Andreas Thienemann
e707d64496 Add AMIC A29002
This patch adds support to the AMIC A29002 chip in its top and bottom
configuration to flashrom. Additionally, the alphabetic order of the
AMIC chips was fixed.

The datasheet is at <http://www.amictechnology.com/pdf/A29002.pdf>.

A29002T PREW functionality was tested and works.

This flash chip has asymmetric sector layout so it is important to use the
mx29f002 driver, which does chip erase before writing, rather than am29f040b,
which uses sector erase.

Corresponding to flashrom svn r299 and coreboot v2 svn r3415.

Signed-off-by: Andreas Thienemann <andreas@bawue.net>
Acked-by: Peter Stuge <peter@stuge.se>
2008-07-06 17:35:30 +00:00
Stefan Reinauer
7f27464c8a Adding support for flashing system with Nvidia MCP67
Corresponding to flashrom svn r298 and coreboot v2 svn r3414.

Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>
2008-07-05 09:48:30 +00:00
Peter Stuge
57890c1e06 Add PCI IDs for EPIA-CN
Uses the 0.0 Host bridge CN700/VN800/P4M800CE/Pro and 11.0 ISA bridge devices
with their 1106:aa08 subsystem id:s for autodetection.

Corresponding to flashrom svn r297 and coreboot v2 svn r3413.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>
2008-07-05 04:12:37 +00:00
Uwe Hermann
6c8866cd84 Minor cosmetics, e.g
Make stuff fit in 80 chars/line etc.

Corresponding to flashrom svn r296 and coreboot v2 svn r3412.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2008-07-03 19:26:44 +00:00
Carl-Daniel Hailfinger
84dcc8b38a Mark SST49LF040B as tested
Thanks to Paul Seidler and Ward Vandewege for testing.

Corresponding to flashrom svn r295 and coreboot v2 svn r3411.

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>
2008-07-03 19:08:52 +00:00
Uwe Hermann
83af9fb77c Mark the SST SST49LF040 as OK (tested by me), all operations
Corresponding to flashrom svn r294 and coreboot v2 svn r3410.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2008-07-03 18:58:58 +00:00
Peter Stuge
e02c0bbe9d Winbond W25x80 TEST_OK PROBE READ ERASE WRITE
Per test report from Björn Gerhart. Thanks!

Corresponding to flashrom svn r293 and coreboot v2 svn r3409.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>
2008-07-03 16:54:05 +00:00
Carl-Daniel Hailfinger
ecab4fce51 Improve coreboot image detection heuristic
It's not absolutely perfect, but the likelihood of this check to fail is
0.000000000000000000000000013 (1.3*10^-26) which is good enough for me.

Corresponding to flashrom svn r292 and coreboot v2 svn r3408.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Reinauer <stepan@coresystems.de>
2008-07-03 14:40:06 +00:00