------------------------------------------------------------------------
r710 | hailfinger | 2009-09-02 15:53:56 +0200 (Wed, 02 Sep 2009) | 7 lines

Tag flashrom 0.9.1

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Luc Verhaegen <libv@skynet.be>

------------------------------------------------------------------------
r709 | hailfinger | 2009-09-02 15:47:36 +0200 (Wed, 02 Sep 2009) | 9 lines

flashrom 0.9.1

Please refer to the release notes for a high-level overview of all the
amazing changes and added features since 0.9.0.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>

------------------------------------------------------------------------
r708 | hailfinger | 2009-09-02 15:43:56 +0200 (Wed, 02 Sep 2009) | 8 lines

Don't abort if chipset init failed because the failing init may have
been a warning only.
Even a failing chipset init (maybe due to unknown chipset) could still
get us reasonable probe results or at least forced reads.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>

------------------------------------------------------------------------
r707 | hailfinger | 2009-09-02 02:24:26 +0200 (Wed, 02 Sep 2009) | 6 lines

Move the Asus A7V600-X out of the unsupported list. This is a followup
to r705.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Luc Verhaegen <libv@skynet.be>

------------------------------------------------------------------------
r706 | hailfinger | 2009-09-02 00:13:42 +0200 (Wed, 02 Sep 2009) | 5 lines

Use correct name for SB700/SB710/SB750 instead of calling them SB700.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Luc Verhaegen <libv@skynet.be>

------------------------------------------------------------------------
r705 | libv | 2009-09-01 23:22:23 +0200 (Tue, 01 Sep 2009) | 8 lines

Board enable for Asus A7V600-X.

Raises GP32 on IT8712F, and comes with a more general routine to set
io lines on the IT8712F.

Signed-off-by: Luc Verhaegen <libv@skynet.be>
Acked-by: Udu Ogah <putlinuxonit@gmail.com>

------------------------------------------------------------------------
r704 | hailfinger | 2009-08-31 18:25:08 +0200 (Mon, 31 Aug 2009) | 10 lines

With this patch, make tarball and make export still work as expected,
but if you specify RELEASENAME=foo, then the directories and tarballs
are named flashrom-foo instead of flashrom-0.9.0-r703.
This makes release creation a lot easier. As an example, look at
creating the 0.9.1 tarball:
# make tarball RELEASENAME=0.9.1

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Reinauer <stepan@coresystems.de>

------------------------------------------------------------------------
r703 | hailfinger | 2009-08-31 13:53:35 +0200 (Mon, 31 Aug 2009) | 7 lines

Update bad board list and remove boards where either the chipset is not
supported (not a board issue) or where we have no report in the
archives.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>

------------------------------------------------------------------------
r702 | uwe | 2009-08-30 16:14:59 +0200 (Sun, 30 Aug 2009) | 30 lines

Board status updates.

Marked as OK:

 - ASUS A8V Deluxe (reported by Joachim Ernst <Joachim.Ernst@web.de>)
   http://www.flashrom.org/pipermail/flashrom/2009-August/000448.html
   Tested with r701.

 - ASUS P5L-MX (reported by Vasiliy Vylegzhanin <6vasia@gmail.com>)
   http://www.flashrom.org/pipermail/flashrom/2009-August/000446.html
   Tested with v0.9.0.

 - Abit Fatal1ty F-I90HD (reported by Joachim Ernst <joachim.ernst@web.de>)
   http://www.flashrom.org/pipermail/flashrom/2009-August/000435.html

 - Trigem Lomita (reported by Udu Ogah <putlinuxonit@gmail.com>)
   Tested with r695.

 - GIGABYTE GA-MA790GP-DS4H (reported by Ralph Loader <suckfish@ihug.co.nz>)
   http://www.flashrom.org/pipermail/flashrom/2009-August/000414.html
   http://www.flashrom.org/pipermail/flashrom/2009-August/000417.html

 - GIGABYTE GA-MA78GPM-DS2H (reported by
                             Erik Haugen Bakke <erik_hb_mlist@yahoo.com.au>)
   http://www.flashrom.org/pipermail/flashrom/2009-August/000329.html

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r701 | hailfinger | 2009-08-24 15:29:25 +0200 (Mon, 24 Aug 2009) | 5 lines

Update svn:ignore

Signed-off-by: Joerg Mayer <jmayer@loplof.de>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>

------------------------------------------------------------------------
r700 | hailfinger | 2009-08-24 15:24:52 +0200 (Mon, 24 Aug 2009) | 5 lines

Update contact info.

Signed-off-by: Joerg Mayer <jmayer@loplof.de>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>

------------------------------------------------------------------------
r699 | hailfinger | 2009-08-24 03:47:33 +0200 (Mon, 24 Aug 2009) | 6 lines

"3COM 3C90xB: PCI 10BASE-T (TPO)" (10b7:9004) works fine.
Reported by Mark Panajotovic <panajotovic.marko@gmail.com>.

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>

------------------------------------------------------------------------
r698 | hailfinger | 2009-08-24 03:42:24 +0200 (Mon, 24 Aug 2009) | 5 lines

Add support for MX29F001T and MX29F001B flash chips.

Signed-off-by: Mark Panajotovic <panajotovic.marko@gmail.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>

------------------------------------------------------------------------
r697 | hailfinger | 2009-08-24 03:34:48 +0200 (Mon, 24 Aug 2009) | 6 lines

ASD AE29F2008 and Winbond W29C020C have the same ID. Reported by
Mark Panajotovic <panajotovic.marko@gmail.com>.

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>

------------------------------------------------------------------------
r696 | hailfinger | 2009-08-21 19:26:13 +0200 (Fri, 21 Aug 2009) | 10 lines

Anne Le Coq <annyvonne.le_coq@alcatel-lucent.fr> reported that flashrom
didn't recognize her ICH9 LPC controller on the Green City
Intel Customer Reference Board with ICH9 + Tylersburg Chipset.
According to
http://pci-ids.ucw.cz/read/PC/8086/2910 the ID 0x8086/0x2910 was used
for engineering samples. No intel doc mentions this ID at all.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Anne Le Coq <annyvonne.le_coq@alcatel-lucent.fr>

------------------------------------------------------------------------
r695 | uwe | 2009-08-20 20:45:18 +0200 (Thu, 20 Aug 2009) | 24 lines

Various board status updates (trivial).

Mark the following boards as OK (no board-enable needed):

 - Tyan S2466 (reported by Oliver Niesner <oli@servebbs.net>)
   http://www.flashrom.org/pipermail/flashrom/2009-August/000211.html

Mark the following boards as non-working for now:

 - ASRock K7VT4A+ (reported by Udu Ogah <putlinuxonit@gmail.com>)
   Chipset detect, but no chip.
 
 - ASUS M2N68 (reported by Udu Ogah <putlinuxonit@gmail.com>)
   Chipset detect, but no chip.
 
 - ASUS A7V600-X (reported by Udu Ogah <putlinuxonit@gmail.com>)
   Chipset and chip detected, writes don't work. Board-enable required.

Also, add some missing board URLs and fix incorrect board names.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r694 | hailfinger | 2009-08-19 17:19:18 +0200 (Wed, 19 Aug 2009) | 10 lines

Flashrom has the ability to use layout files with romentries, but this
feature was not adapted to the programmer infrastructure and had
undefined behaviour for flasher!=internal.
The romentry handling had an off-by-one error which caused all copies to
end up one byte short.
Fix these issues.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Reinauer <stepan@coresystems.de>

------------------------------------------------------------------------
r693 | hailfinger | 2009-08-19 17:03:28 +0200 (Wed, 19 Aug 2009) | 16 lines

Current programmer parameter syntax is
-p programmer=parameter
Unfortunately, many parameters are of the form variable=val, so we get
commandlines like this:
flashrom -p it87spi=port=0x820
and this looks horrible.

Using : instead of = would make such parameters look better:
flashrom -p it87spi:port=0x820

As a side benefit, this patch mentions the programmer name in the error
message if it is unknown.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Reinauer <stepan@coresystems.de>

------------------------------------------------------------------------
r692 | hailfinger | 2009-08-19 15:55:34 +0200 (Wed, 19 Aug 2009) | 16 lines

Disallow erase/write for known bad chips so people won't try without a
clear understanding. Allow override with --force.

If write/erase failed, warn the user to get help and not shutdown/reboot
the computer.

Warn that the result of a forced read is often garbage. Too many users
believed that a forced read meant that everything was fine.

Wait 1 second between erase and verify. This fixes a few reports where
verify directly after erase had unpleasant side effects like corrupting
flash or at least getting incorrect verify results.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Reinauer <stepan@coresystems.de>

------------------------------------------------------------------------
r691 | hailfinger | 2009-08-19 15:27:58 +0200 (Wed, 19 Aug 2009) | 8 lines

If FT2232H SPI is not enabled, it should be compiled out completely. We
can't remove ft2232_spi.o from unconditional OBJS yet due to our
makefile structure (make features), but this patch adds #ifdefs around
all FT2232H code, so the net effect is the same.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Reinauer <stepan@coresystems.de>

------------------------------------------------------------------------
r690 | hailfinger | 2009-08-19 12:46:23 +0200 (Wed, 19 Aug 2009) | 10 lines

Support rdmsr/wrmsr operations on FreeBSD.

So far, AMD Geode LX is the only user of this infrastructure. It needs
/dev/cpu0 from ports/sysutils on FreeBSD during runtime on Geode LX.

Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Idwer Vollering <vidwer@gmail.com>
Acked-by: <putlinuxonit@gmail.com>

------------------------------------------------------------------------
r689 | hailfinger | 2009-08-19 01:51:22 +0200 (Wed, 19 Aug 2009) | 5 lines

Add serprog documentation to the manpage.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>

------------------------------------------------------------------------
r688 | hailfinger | 2009-08-19 01:50:14 +0200 (Wed, 19 Aug 2009) | 5 lines

Tidy up docs before release. Don't mention coreboot.org without context.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>

------------------------------------------------------------------------
r686 | hailfinger | 2009-08-17 18:30:53 +0200 (Mon, 17 Aug 2009) | 5 lines

Fix compilation on Nexenta which is Ubuntu with a Solaris kernel.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Reinauer <stepan@coresystems.de>

------------------------------------------------------------------------
r685 | hailfinger | 2009-08-14 01:23:37 +0200 (Fri, 14 Aug 2009) | 21 lines

Allow the user to override FWH IDSEL on ICH6 and later.
Usage:
flashrom -p internal=fwh_idsel=0

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

Log:
flashrom v0.9.0-r670
coreboot table found at 0xcf7f3c00.
Vendor ID: KONTRON, part ID: 986LCD-M
Found chipset "Intel ICH7/ICH7R", enabling flash write...
Setting IDSEL=0 for top 8 MBOK.
This chipset supports the following protocols: LPC,FWH.
Disabling flash write protection for board "Kontron 986LCD-M"... OK.
Calibrating delay loop... OK.
Found chip "SST SST49LF016C" (2048 KB, FWH) at physical address
0xffe00000.
No operations were specified.

Acked-by: Chris Kinney <cmkinne@sandia.gov>

------------------------------------------------------------------------
r684 | hailfinger | 2009-08-13 13:38:44 +0200 (Thu, 13 Aug 2009) | 8 lines

Generate the usage message by walking the list of available programmers.
This makes sure compiled out programmers are not listed.

Tested, usage output is identical to the hardcoded variant.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Reinauer <stepan@coresystems.de>

------------------------------------------------------------------------
r683 | stepan | 2009-08-12 20:25:24 +0200 (Wed, 12 Aug 2009) | 6 lines

oops. MSR accesses in board specific code. I missed those.

Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>


------------------------------------------------------------------------
r682 | libv | 2009-08-12 18:58:11 +0200 (Wed, 12 Aug 2009) | 10 lines

Board enable for Asus P4P800-E Deluxe.

Raises what seems to be gpio21.

Uses host controller and Promise Raid Controller for a unique match.

Signed-off-by:  Luc Verhaegen <libv@skynet.be>
Acked-by: Stefan Reinauer <stepan@coresystems.de>
Tested-by: Bojan Radakovic <crnibojan@gmail.com>

------------------------------------------------------------------------
r681 | hailfinger | 2009-08-12 18:17:41 +0200 (Wed, 12 Aug 2009) | 12 lines

Allow to compile out serprog completely. If CONFIG_SERPROG is not set,
no stubs and no data of serprog will remain.

Side benefit: This kills a few dozen lines of code.

r678, r679 and r680 made this possible.
Once "Only list available programers in usage()" is committed, even the
usage message will be adjusted automatically.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Reinauer <stepan@coresystems.de>

------------------------------------------------------------------------
r680 | hailfinger | 2009-08-12 16:34:35 +0200 (Wed, 12 Aug 2009) | 8 lines

Use programmer.name to match the --programmer parameter instead of
hardcoding the name of every single programmer in main().

-p dummyfoo won't be mistaken for -p dummy anymore.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Reinauer <stepan@coresystems.de>

------------------------------------------------------------------------
r679 | hailfinger | 2009-08-12 15:32:56 +0200 (Wed, 12 Aug 2009) | 7 lines

Use a common parameter variable for all programmers. This allows us to
reduce #ifdef clauses a lot if we compile out some programmers
completely.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Reinauer <stepan@coresystems.de>

------------------------------------------------------------------------
r678 | hailfinger | 2009-08-12 13:39:29 +0200 (Wed, 12 Aug 2009) | 12 lines

FT2232 and IT87 programmers used functions of the dummy programmer
instead of fallback functions. The dummy programmer is a "real"
programmer with possible side effects and its functions should not be
abused by other programmers. Make FT2232 and IT87 use official fallback
functions instead.
Create fallback_shutdown().
Create fallback_chip_writeb().
Convert the programmer #defines to an enum.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Reinauer <stepan@coresystems.de>

------------------------------------------------------------------------
r677 | stepan | 2009-08-12 11:27:45 +0200 (Wed, 12 Aug 2009) | 4 lines

Fix up MSR handling in flashrom to support more OSes than Linux. 
Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>

------------------------------------------------------------------------
r676 | stepan | 2009-08-11 14:15:39 +0200 (Tue, 11 Aug 2009) | 6 lines

Make debug messages printf_debug(). 

Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>


------------------------------------------------------------------------
r675 | hailfinger | 2009-08-11 01:30:45 +0200 (Tue, 11 Aug 2009) | 8 lines

Add ICH6,ICH7,ICH8,ICH9,ICH10 FWH IDSEL settings and flash decode
settings to the debug output. This can help debug cases where the BIOS
does not set up a correct flash decode for the given flash size.
The Intel docs state that the decode applies to FWH and SPI flash.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Chris Kinney <cmkinne@sandia.gov>

------------------------------------------------------------------------
r674 | hailfinger | 2009-08-10 12:14:23 +0200 (Mon, 10 Aug 2009) | 15 lines

Add IDs for 25 AMD chips, 11 Hynix chips, 8 Sharp chips, and their
variants.
AM29DL400BB, AM29DL400BT, AM29DL800BB, AM29DL800BT, AM29F004BB
AM29F004BT, AM29F200BB, AM29F200BT, AM29F400BB, AM29F400BT
AM29F800BB, AM29F800BT, AM29LV002BB, AM29LV002BT, AM29LV004BB
AM29LV004BT, AM29LV008BB, AM29LV008BT, AM29LV080B, AM29LV200BB
AM29LV200BT, AM29LV400BB, AM29LV400BT, AM29LV800BB, AM29LV800BT
HY29F002, HY29F040A, HY29F080, HY29F400B, HY29F400T, HY29F800B
HY29F800T, HY29LV400B, HY29LV400T, HY29LV800B, HY29LV800T
LH28F008BJxxPB, LH28F008BJxxPT, LH28F008SA, LH28F008SC, LH28F800BVxxBTL
LH28F800BVxxBV, LH28F800BVxxTV, LHF00L02

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Reinauer <stepan@coresystems.de>

------------------------------------------------------------------------
r673 | hailfinger | 2009-08-10 04:29:21 +0200 (Mon, 10 Aug 2009) | 8 lines

Some SPI chip drivers and the generic 1-byte SPI chip write functions
didn't include the automatic erase present in other chip drivers. Since
the majority is definitely auto-erase, change the remaining
explicit-erase cases to be auto-erase as well.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Carlos Arnau Perez <cemede@gmail.com>

------------------------------------------------------------------------
r672 | hailfinger | 2009-08-09 23:50:24 +0200 (Sun, 09 Aug 2009) | 7 lines

Releasing IO permissions was done by hand everywhere. Use a proper
abstraction.
Kill unneeded #include statements.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Reinauer <stepan@coresystems.de>

------------------------------------------------------------------------
r671 | hailfinger | 2009-08-09 14:44:08 +0200 (Sun, 09 Aug 2009) | 7 lines

Remove unnecessary #include files.
Serprog compilation is now controlled by a Makefile variable.
Replace munmap with physunmap where appropriate.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Reinauer <stepan@coresystems.de>

------------------------------------------------------------------------
r670 | hailfinger | 2009-08-03 11:35:20 +0200 (Mon, 03 Aug 2009) | 5 lines

Fix SPI multicommand endless loop in default_spi_send_multicommand.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Reinauer <stepan@coresystems.de>

------------------------------------------------------------------------
r669 | stepan | 2009-07-30 15:32:26 +0200 (Thu, 30 Jul 2009) | 7 lines

The project's new home is flashrom.org now. Change all occurences in the
source code and documentation accordingly.

Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>


------------------------------------------------------------------------
r668 | stepan | 2009-07-30 15:30:17 +0200 (Thu, 30 Jul 2009) | 10 lines

Boards with coreboot have a cbtable containing vendor and board name.
flashrom tries to match these with board enable entries in its database.
If no such board enable entry exists because the board doesn't need one,
flashrom complains. Silence that complaint.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Slightly updated and
Acked-by: Stefan Reinauer <stepan@coresystems.de>


------------------------------------------------------------------------
r667 | hailfinger | 2009-07-24 15:59:27 +0200 (Fri, 24 Jul 2009) | 60 lines

Add IDs for 51 new flash chips:

AMIC A29400T
AMIC A29400U
AMIC A29800T
AMIC A29800U
AMIC A29L004T
AMIC A29L004U
AMIC A29L008T
AMIC A29L008U
AMIC A29L040
Macronix MX29F004B
Macronix MX29F004T
Macronix MX29F022T
Macronix MX29F080
Macronix MX29F800B
Macronix MX29F800T
Macronix MX29LV081
Spansion MBM29DL400BC
Spansion MBM29DL400TC
Spansion MBM29DL800BA
Spansion MBM29DL800TA
Spansion MBM29F002BC
Spansion MBM29F002TC
Spansion MBM29F040C
Spansion MBM29F080A
Spansion MBM29F200BC
Spansion MBM29F200TC
Spansion MBM29F800BA
Spansion MBM29F800TA
Spansion MBM29LV002BC
Spansion MBM29LV002TC
Spansion MBM29LV004BC
Spansion MBM29LV004TC
Spansion MBM29LV008BA
Spansion MBM29LV008TA
Spansion MBM29LV080A
Spansion MBM29LV200BC
Spansion MBM29LV200TC
Spansion MBM29LV400BC
Spansion MBM29LV400TC
Spansion MBM29LV800BA
Spansion MBM29LV800TA
SST 49LF030A
ST M29F080
ST M29F200BB
ST M29F200BT
ST M29F400BB
ST M29F800DB
ST M29F800DT
Winbond W39L020
Winbond W39L040
Winbond W49F020

These still need to be added to flashchips.c, but if we ever encounter
them in real life, the ID->name lookup will be a lot easier.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>

------------------------------------------------------------------------
r666 | hailfinger | 2009-07-24 14:18:54 +0200 (Fri, 24 Jul 2009) | 5 lines

If writing failed, verifying is pointless. Abort instead.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Oliver Niesner <oli@rhce.servebbs.net>

------------------------------------------------------------------------
r665 | hailfinger | 2009-07-23 14:42:01 +0200 (Thu, 23 Jul 2009) | 5 lines

Improve flashchip comments to be more readable and precise.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Luc Verhaegen <libv@skynet.be>

------------------------------------------------------------------------
r664 | hailfinger | 2009-07-23 03:44:38 +0200 (Thu, 23 Jul 2009) | 6 lines

Fix erase for SST49LF020A. The chip supports multiple erase functions,
but the function we use has an eraseblock size of 4k.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Reinauer <stepan@coresystems.de>

------------------------------------------------------------------------
r663 | hailfinger | 2009-07-23 03:42:56 +0200 (Thu, 23 Jul 2009) | 8 lines

Continue erase/write verification after the first error.
The first error is printed in detail and all subsequent errors are
listed in statistics. This allows users to check if there was just one
error or if the failure was widespread.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Reinauer <stepan@coresystems.de>

------------------------------------------------------------------------
r662 | hailfinger | 2009-07-23 03:40:20 +0200 (Thu, 23 Jul 2009) | 9 lines

Add support for old ST M25P05/M25P10 chips which only respond to the RES
command and not the RDID command.

Unfortunately, either the datasheets are wrong or both chips have
exactly the same ID.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Reinauer <stepan@coresystems.de>

------------------------------------------------------------------------
r661 | hailfinger | 2009-07-23 03:36:08 +0200 (Thu, 23 Jul 2009) | 26 lines

This is a workaround for a bug in SB600 and SB700. If we only send an
opcode and no additional data/address, the SPI controller will read one
byte too few from the chip. Basically, the last byte of the chip
response is discarded and will not end up in the FIFO. It is unclear if
the CS# line is set high too early as well.
That hardware bug is undocumented as of now, but I'm working with AMD to
add a detailed description of it to the errata.

Add loads of additional debugging to SB600/SB700 init.

Add explanatory comments for unintuitive code flow.

Thanks go to Uwe for testing quite a few iterations of the patch.

Kill the SB600 flash chip status register special case, which was a
somewhat misguided workaround for that hardware erratum.

Note for future added features in the SB600 SPI driver: It may be
possible to read up to 15 bytes of command response with overlapping
reads due to the ring buffer design of the FIFO if the command can be
repeated without ill effects. Same for skipping up to 7 bytes between
command and response.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Reinauer <stepan@coresystems.de>

------------------------------------------------------------------------
r660 | hailfinger | 2009-07-23 03:33:43 +0200 (Thu, 23 Jul 2009) | 12 lines

Verbose probe output is split across multiple lines for some probe
functions. This makes visual inspection and grepping a lot harder than
necessary.
Remove line breaks where appropriate.
Some error messages should end up on stderr instead of just being
displayed in verbose mode.

Thanks to Maciej Pijanka for testing.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Reinauer <stepan@coresystems.de>

------------------------------------------------------------------------
r659 | hailfinger | 2009-07-22 22:13:00 +0200 (Wed, 22 Jul 2009) | 5 lines

Eliminate version string duplication.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Reinauer <stepan@coresystems.de>

------------------------------------------------------------------------
r658 | hailfinger | 2009-07-22 22:09:28 +0200 (Wed, 22 Jul 2009) | 5 lines

Convert SPI write status register to multicommand infrastructure.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Reinauer <stepan@coresystems.de>

------------------------------------------------------------------------
r657 | hailfinger | 2009-07-22 17:36:50 +0200 (Wed, 22 Jul 2009) | 12 lines

Replace most of the switch cases in the spi code with lookup on a struct
instead. This brings the SPI code in line with the generic programmer
infrastructure.

This patch is a reworked version of a patch by Jakob Bornecrantz.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Signed-off-by: Jakob Bornecrantz <wallbraker@gmail.com>
Acked-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Jakob Bornecrantz <wallbraker@gmail.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>

------------------------------------------------------------------------
r656 | hailfinger | 2009-07-21 15:02:59 +0200 (Tue, 21 Jul 2009) | 11 lines

Support for an external serial flasher protocol.
Supports RS-232, USB serial converters (untested) and TCP streams.

The protocol specification is in serprog-protocol.txt

There will be tweaks to the code and maybe the protocol in the future,
so the API is not set in stone yet.

Signed-off-by: Urja Rannikko <urjaman@gmail.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>

------------------------------------------------------------------------
r655 | libv | 2009-07-21 03:44:45 +0200 (Tue, 21 Jul 2009) | 7 lines

Board enable for Aopen VKM400 AM-S.

This board is a VIA KM400 and VT8237 and IT8705F superio.

Signed-off-by: Luc Verhaegen <libv@skynet.be>
Acked-by:  Scott Johnson <scott@gnuveau.net>

------------------------------------------------------------------------
r654 | hailfinger | 2009-07-20 17:21:18 +0200 (Mon, 20 Jul 2009) | 10 lines

Reset SST49LF016C after erase to exit the read status register mode.
Without this, all reads after erase will return 0x80 instead of the real
memory contents.

Thanks to Michael Melcher for testing.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Luc Verhaegen <libv@skynet.be>
Acked-by: Michael Melcher <Michael.Melcher82@googlemail.com>

------------------------------------------------------------------------
r653 | hailfinger | 2009-07-14 12:26:56 +0200 (Tue, 14 Jul 2009) | 9 lines

Use a distinct return code for SPI commands with unsupported/invalid
length.
Some drivers support only a few combinations of read/write length and
return error otherwise. Having a distinct return code for this error
means we can handle it in upper layers.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Reinauer <stepan@coresystems.de>

------------------------------------------------------------------------
r652 | libv | 2009-07-13 14:40:17 +0200 (Mon, 13 Jul 2009) | 10 lines

Board enable for Asus A7V8X.

GP51 is attached to both WP# and TBL#.

Made possible by the quick response of ITE when asked for information,
and the tenacious testing of Glenn Mueller.

Signed-off-by: Luc Verhaegen <libv@skynet.be>
Acked-by: Glenn Mueller <mechwarrior5@hotmail.com>

------------------------------------------------------------------------
r651 | hailfinger | 2009-07-12 14:06:18 +0200 (Sun, 12 Jul 2009) | 7 lines

Convert SPI byte program to use the multicommand infrastructure.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Tested it on Epia-m700 worked okay.
Acked-by: Jakob Bornecrantz <wallbraker@gmail.com>
Tested-by: Jakob Bornecrantz <wallbraker@gmail.com>

------------------------------------------------------------------------
r650 | hailfinger | 2009-07-12 00:26:52 +0200 (Sun, 12 Jul 2009) | 10 lines

Convert SPI block erase to use the multicommand infrastructure.

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

Jakob writes:
Tested it on my EPIA-m700 and it worked nice. Also double checked that
one of the changed functions actually ran.
Acked-by: Jakob Bornecrantz <wallbraker@gmail.com>
Tested-by: Jakob Bornecrantz <wallbraker@gmail.com>

------------------------------------------------------------------------
r649 | uwe | 2009-07-12 00:17:28 +0200 (Sun, 12 Jul 2009) | 23 lines

Fix incorrect manpage (trivial).

The flashrom manpage currently says "-w, --write: Write file into flash
ROM (default when <file> is specified)". This is no longer true for recent
flashrom versions, which only write if you explicitly use the -w option.

Proof:

$ flashrom coreboot.rom
flashrom v0.9.0-r631
No coreboot table found.
Found chipset "Intel ICH7/ICH7R", enabling flash write... OK.
Found board "Kontron 986LCD-M", enabling flash write... OK.
Calibrating delay loop... OK.
Found chip "PMC Pm49FL004" (512 KB) at physical address 0xfff80000.
No operations were specified.

Thus, fix manpage accordingly.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r648 | hailfinger | 2009-07-11 21:39:11 +0200 (Sat, 11 Jul 2009) | 7 lines

Add Winbond W25X16.
Tested probing and reading only. The chip ID was already
in flashchips.h.

Signed-off-by: Hector Martin <hector@marcansoft.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>

------------------------------------------------------------------------
r647 | hailfinger | 2009-07-11 21:28:36 +0200 (Sat, 11 Jul 2009) | 9 lines

Convert SPI chip erase to use the multicommand infrastructure.

Once the ICH/VIA SPI driver is converted to multicommand, a lot of hacks
can disappear.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Tested-by: Jakob Bornecrantz <wallbraker@gmail.com>
Acked-by: Jakob Bornecrantz <wallbraker@gmail.com>

------------------------------------------------------------------------
r646 | hailfinger | 2009-07-11 20:05:42 +0200 (Sat, 11 Jul 2009) | 10 lines

Add an optional flash port parameter for IT87* SPI controllers in
standalone programmer mode. If the parameter is set, the IT87* SPI
driver will set the I/O base port of the IT87* SPI controller interface
to the port specified in the parameter.
Usage:
flashrom -p it87spi=port=0x820

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>

------------------------------------------------------------------------
r645 | hailfinger | 2009-07-10 23:08:55 +0200 (Fri, 10 Jul 2009) | 24 lines

Add SPI multicommand infrastructure.

Some SPI opcodes need to be sent in direct succession after each other
without any chip deselect happening in between. A prominent example is
WREN (Write Enable) directly before PP (Page Program). Intel calls the
first opcode in such a row "preopcode".

Right now, we ignore the direct succession requirement completely and it
works pretty well because most onboard SPI masters have a timing or
heuristics which make the problem disappear.
The FT2232 SPI flasher is different. Since it is an external flasher,
timing is very different to what we can expect from onboard flashers and
this leads to failure at slow speeds.

This patch allows any function to submit multiple SPI commands in a
stream to any flasher. Support in the individual flashers isn't
implemented yet, so there is one generic function which passes the each
command in the stream one-by-one to the command functions of the
selected SPI flash driver.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Jakob Bornecrantz <wallbraker@gmail.com>
Tested-by: Jakob Bornecrantz <wallbraker@gmail.com>

------------------------------------------------------------------------
r644 | hailfinger | 2009-07-10 22:19:48 +0200 (Fri, 10 Jul 2009) | 11 lines

Change tarball compression from gzip to bzip2.

Set the user and group of all files to root for tar versions which
support it. Add explanatory comments for supporting that feature with
other tar versions.

Use LC_ALL instead of LANG everywhere.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Reinauer <stepan@coresystems.de>

------------------------------------------------------------------------
r643 | libv | 2009-07-08 16:50:36 +0200 (Wed, 08 Jul 2009) | 13 lines

W39V040B: Flag Erase/Write as bad.

Chip has now been properly tested in both my Jetway J7F5M and my EPIA-SP
(known good board). Erase and write fail. Mark these operations as bad
until i or someone else have time to fix this.

Reported by Arvid Brodin <arvidb@kth.se>.

Signed-off-by: Luc Verhaegen <libv@skynet.be>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>

M    flashchips.c

------------------------------------------------------------------------
r642 | libv | 2009-07-07 00:58:46 +0200 (Tue, 07 Jul 2009) | 7 lines

Board enable for Abit IP35.

Raise GPIO 16 on ICH9R LPC Interface.

Signed-off-by: Luc Verhaegen <libv@skynet.be>
Acked-by: Richie Ward <RichieS@GMail.com>

------------------------------------------------------------------------
r641 | uwe | 2009-07-04 17:10:41 +0200 (Sat, 04 Jul 2009) | 6 lines

Add more URLs and board notes, fix a typo (trivial).

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r640 | uwe | 2009-07-04 01:51:19 +0200 (Sat, 04 Jul 2009) | 12 lines

Some flashrom printing changes:
 
 - Also print URLs of boards with board-enables.
 
 - Mark known-bad operations for chips red in the wiki.
 
 - Clarifiy a wiki message a bit.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r639 | uwe | 2009-07-03 19:12:05 +0200 (Fri, 03 Jul 2009) | 37 lines

Mark the following boards as working:

 - VIA EPIA-M700 (reported by Jakob Bornecrantz <wallbraker@gmail.com>)
   http://www.coreboot.org/pipermail/coreboot/2009-July/050416.html

 - GIGABYTE GA-EX58-UD4P (reported by Warren Turkal <wt@penguintechs.org>)
   http://www.coreboot.org/pipermail/coreboot/2009-June/050199.html

Mark as non-working:

 - ASUS Eee PC 701 4G (reported by Uwe Hermann <uwe@hermann-uwe.de>)
   There seems to be some SPI flash translation layer, likey done by the
   embedded controller on the laptop (ENE KB3310).
   The BIOS chip in this Eee PC model is Winbond 25X40VSIG btw.
   More info: http://beta.ivancover.com/wiki/index.php/Eee_PC_Research

Mark this chip as tested:

 - ST M25P40 (reported by Jakob Bornecrantz <wallbraker@gmail.com>)
   http://www.coreboot.org/pipermail/coreboot/2009-July/050416.html

Other:

 - Make the "Albatron PM266A" board detection print "Albatron PM266A*" as this
   enable will actually work for other PM266A* boards according to libv.
   However, the code was actually tested on "Albatron PM266A Pro".

 - Add some more board URLs / notes.

 - s/BioStar/Biostar/ as per vendor website.

 - Fix typo in print.c: s/A7V8-MX SE/A7V8X-MX SE/.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r638 | hailfinger | 2009-07-01 02:02:23 +0200 (Wed, 01 Jul 2009) | 7 lines

ft2232_spi: Allow runtime selection of FT2232H vs. FT4232H and
interface A vs. B.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Tested-by: Jakob Bornecrantz <wallbraker@gmail.com>
Acked-by: Jakob Bornecrantz <wallbraker@gmail.com>

------------------------------------------------------------------------
r637 | hailfinger | 2009-06-30 14:41:00 +0200 (Tue, 30 Jun 2009) | 7 lines

Add changelog for make export and make tarball.

Thanks to Uwe for the suggestion.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>

------------------------------------------------------------------------
r636 | uwe | 2009-06-29 01:26:37 +0200 (Mon, 29 Jun 2009) | 14 lines

Random minor flashrom fixes:

 - Properly escape '-' chars in manpage.
 
 - Fix typo in chipset_enable.c.

 - Drop useless 'return' in chip_readn().

 - Random other whitespace or cosmetic fixes.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r635 | uwe | 2009-06-28 23:47:57 +0200 (Sun, 28 Jun 2009) | 7 lines

Print the bus type(s) of both chipset and chip in the flashrom
output (trivial).

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r634 | hailfinger | 2009-06-28 21:19:25 +0200 (Sun, 28 Jun 2009) | 6 lines

Fix all NONSPI bustypes in flashchips.c.
Also noted as a comment if an FWH/LPC chip supports A/A Mux mode.

Signed-off-by: Urja Rannikko <urjaman@gmail.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>

------------------------------------------------------------------------
r633 | hailfinger | 2009-06-28 12:57:58 +0200 (Sun, 28 Jun 2009) | 10 lines

Handle programmer init errors and abort. If the programmer didn't
initialize correctly, it is pointless to continue.

Fix standalone IT87* SPI init to set flashbus to NONE if no IT87* SPI
communication is possible.
Print the I/O port detected by the IT87* SPI code.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Ward Vandewege <ward@gnu.org>

------------------------------------------------------------------------
r632 | hailfinger | 2009-06-25 15:57:31 +0200 (Thu, 25 Jun 2009) | 11 lines

Change chip_readb in loop to use verify_range in
write_page_write_jedec (jedec.c).

Tested by Urja Rannikko with external flasher.
Tested by Uwe Hermann with onboard flash.

Signed-off-by: Urja Rannikko <urjaman@gmail.com>
Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Urja Rannikko <urjaman@gmail.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>

------------------------------------------------------------------------
r631 | uwe | 2009-06-24 19:31:08 +0200 (Wed, 24 Jun 2009) | 10 lines

Always verify write operations automatically.

Should this be undesireable because of speed reasons, --noverify can be
used to suppress an auto-verify.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Harald Gutmann <harald.gutmann@gmx.net>


------------------------------------------------------------------------
r630 | hailfinger | 2009-06-24 10:28:39 +0200 (Wed, 24 Jun 2009) | 11 lines

Check result of all SPI erase functions.
Since block erase functions do not know the block length (it's not
specified in any standard), block erase functions now get an additional
parameter blocklen. This enables flashrom to verify the erase result for
block erase functions at correct boundaries.

Tested by Uwe on SB600.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>

------------------------------------------------------------------------
r629 | hailfinger | 2009-06-24 10:20:45 +0200 (Wed, 24 Jun 2009) | 12 lines

Use correct abstraction for verify_range(). The new abstraction can
handle out-of-band chip communication protocols as well.
The old abstraction caused spurious false positives for erase on SPI and
spurious false negatives for verify on SPI.

Make verify_flash() use verify_range().

Tested by Uwe on SB600.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>

------------------------------------------------------------------------
r628 | hailfinger | 2009-06-24 10:18:38 +0200 (Wed, 24 Jun 2009) | 6 lines

Remove duplicated [file] from usage help. A file is already specified
directly in conjunction for -r/-w/-v.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>

------------------------------------------------------------------------
r627 | uwe | 2009-06-23 22:27:33 +0200 (Tue, 23 Jun 2009) | 12 lines

Mark the following boards as working OK:

 - ASUS P5KC (reported by Andrei Pavlov <pavlov.andrei@rambler.ru>)
 
 - GIGABYTE GA-EP35-DS3L (reported by Alexander Gordeev <lasaine@lvk.cs.msu.su>)
 
Add a few more URLs.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r626 | hailfinger | 2009-06-23 13:48:37 +0200 (Tue, 23 Jun 2009) | 6 lines

The makefile rules for %.o and flashrom.o are identical. Let %.o handle
flashrom.o as well.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Luc Verhaegen <libv@skynet.be>

------------------------------------------------------------------------
r625 | hailfinger | 2009-06-23 13:33:43 +0200 (Tue, 23 Jun 2009) | 11 lines

Initial commit of an external serial flasher protocol.
Supports RS-232, USB serial converters (untested) and TCP streams.

All functionality is stubbed out to allow multiplatform compile testing
of the headers we use.
The real serial flasher protocol driver will be committed next.

Signed-off-by: Urja Rannikko <urjaman@gmail.com>
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>

------------------------------------------------------------------------
r624 | stepan | 2009-06-23 12:44:36 +0200 (Tue, 23 Jun 2009) | 7 lines

There are some non-C99 compilers out there used to compile flashrom.
This fixes compilation for them.

Signed-off-by: Stephan Guilloux <stephan.guilloux@free.fr>
Acked-by: Stefan Reinauer <stepan@coresystems.de>


------------------------------------------------------------------------
r623 | hailfinger | 2009-06-23 02:47:26 +0200 (Tue, 23 Jun 2009) | 7 lines

SB600 SPI: Kill unused variable.

Make a few local functions in sb600spi.c static.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Luc Verhaegen <libv@skynet.be>

------------------------------------------------------------------------
r622 | hailfinger | 2009-06-22 13:14:43 +0200 (Mon, 22 Jun 2009) | 7 lines

Mark MX25L6405 as PROBE supported.

Thanks to Michael Stapelberg for the report.

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>

------------------------------------------------------------------------
r621 | hailfinger | 2009-06-22 13:07:44 +0200 (Mon, 22 Jun 2009) | 7 lines

Mark the SST49LF003A as PROBE supported.

Thanks to Simon Brown for the report.

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>

------------------------------------------------------------------------
r620 | hailfinger | 2009-06-22 12:09:07 +0200 (Mon, 22 Jun 2009) | 7 lines

Mark ST M25P80 as completely supported.

Thanks to Harald Gutmann for testing.

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>

------------------------------------------------------------------------
r619 | hailfinger | 2009-06-22 12:06:28 +0200 (Mon, 22 Jun 2009) | 8 lines

Eon EN25F40: Probe is tested.

Thanks to Wangji for testing and pointing out that EN25* chips were
unsupported, which was handled in r580 and r592.

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>

------------------------------------------------------------------------
r618 | uwe | 2009-06-22 03:37:06 +0200 (Mon, 22 Jun 2009) | 10 lines

Turns out that the GIGABYTE GA-7ZM _does_ work fine if you disable
the BIOS flash protection option _and_ remove jumper JP9 on the
board (d'oh!).

This board can decode 512 KB chips just fine (not just 256 KB).

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r617 | uwe | 2009-06-21 22:50:22 +0200 (Sun, 21 Jun 2009) | 8 lines

Add board-enable for Elitegroup K7VTA3 (trivial, tested on hardware).

The board can decode 256 KB only (i.e., not 512 KB) it seems.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r616 | uwe | 2009-06-21 17:45:34 +0200 (Sun, 21 Jun 2009) | 13 lines

Add board-enable code for the Shuttle AK38N.

FYI, this board can only decode 256 KB chips (not 512 KB ones) unfortunately.
The highest address line (A18) is not connected on this board.

The it8705f_write_enable() is kept generic enough so it can be reused for other
board-enables, possibly in the board_biostar_p4m80_m4() for example, but that
shouldn't be touched for now, unless someone can test the code.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Luc Verhaegen <libv@skynet.be>


------------------------------------------------------------------------
r615 | uwe | 2009-06-20 03:21:38 +0200 (Sat, 20 Jun 2009) | 25 lines

Various wiki output changes:

 - Move board_info_url struct to print.c, doesn't have to be global.

 - Simplify flashrom.c a bit by moving stuff to print.c.
   Eliminate two now-useless mini-functions in print.c.

 - Add a note that the wiki page contents are semi-automatically generated.

 - Mention date of last wiki page update as well as the flashrom revision
   that was used to generate the wiki output.

 - Also generate list of supported laptops in -z output now.

 - Add some more board URLs.

 - Add a boards_notes[] table to allow for arbitrary footnotes/comments for
   each board in the table. All notes will automatically be turned into
   wiki footnotes with correct numbers and will appear at the end of the
   respective table.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r614 | uwe | 2009-06-19 21:00:48 +0200 (Fri, 19 Jun 2009) | 21 lines

Random bunch of wiki output and board status changes (trivial).

 - Convert #defines for strings in print.c to 'const char *'s.

 - Add missing entries in the board URL tables.

 - Add a few more board URLs, partly contributed by 'Alien' at
   http://www.coreboot.org/index.php?title=Flashrom&curid=1765&diff=8626&oldid=8625&rcid=3586

 - Fix sort order of board lists.

 - Add laptops to URL list (not yet used).

 - Fix typo.

 - Fix EPIA-EX15000/NX15000 names (append "G").

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r613 | uwe | 2009-06-19 17:54:39 +0200 (Fri, 19 Jun 2009) | 11 lines

Add support for the AMD Am29F010A/B chips.

Also, add support for the Silicon Image 3112(A) SATA controller.

Both have been tested by Andrew Morgan <ziltro@ziltro.com> on hardware
and work fine.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Andrew Morgan <ziltro@ziltro.com>


------------------------------------------------------------------------
r612 | uwe | 2009-06-19 16:22:16 +0200 (Fri, 19 Jun 2009) | 8 lines

Mark VIA EPIA-EX15000 and VIA EPIA-NX15000 as working (trivial).

Thanks Clark Rawlins <clark@bit63.org> for the report!

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r611 | hailfinger | 2009-06-19 16:20:34 +0200 (Fri, 19 Jun 2009) | 8 lines

Prevent spurious runs of make features introduced by the FT2232 patch.
The new makefile structure uses indirection (.features->features) to
work around a gmake bug which resulted in immediate premature evaluation
of variable definitions with deferred evaluation.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>

------------------------------------------------------------------------
r610 | libv | 2009-06-19 15:53:59 +0200 (Fri, 19 Jun 2009) | 5 lines

Board enable for EPIA-N(L).

Signed-off-by: Jon Harrison <bothlyn@blueyonder.co.uk>
Acked-by: Luc Verhaegen <libv@skynet.be>

------------------------------------------------------------------------
r609 | libv | 2009-06-19 15:00:24 +0200 (Fri, 19 Jun 2009) | 8 lines

Board enable for Mitac 6513WU (Compaq OEM)

ATX board for P3; Intel 82810e GMCHe, Intel 82801AA ICH and SMSC
LPC47U332 super I/O.

Signed-off-by: Michael Gold <mgold@ncf.ca>
Acked-by: Luc Verhaegen <libv@skynet.be>

------------------------------------------------------------------------
r608 | hailfinger | 2009-06-19 13:23:57 +0200 (Fri, 19 Jun 2009) | 7 lines

Kill obsolete exclude range feature. It is ignored by almost every chip
and does not work for external flashers. Plus, it gives the user a false
sense of security in some corner cases.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>

------------------------------------------------------------------------
r607 | uwe | 2009-06-19 12:42:43 +0200 (Fri, 19 Jun 2009) | 16 lines

Add a --list-supported-wiki / -z option which outputs the currently
supported flash chips (and their status, size, and type), chipsets
(plus status), mainboards (plus status), and external PCI devices
usable as programmer to stdout.

This allows for very easy pasting into the http://coreboot.org/Flashrom
page, so we can keep that page up-to-date without much hassle.

The list of boards is mostly new (known good ones which don't need
write-enable code, and known-bad ones) and also lists URLs to the
vendor's mainboard pages.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>


------------------------------------------------------------------------
r606 | hailfinger | 2009-06-19 06:50:58 +0200 (Fri, 19 Jun 2009) | 6 lines

Kill dead code which has been disabled since the very first commit of
flashrom.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Ronald G. Minnich <rminnich@gmail.com>

------------------------------------------------------------------------
r605 | uwe | 2009-06-18 20:25:39 +0200 (Thu, 18 Jun 2009) | 22 lines

Some more board status updates:

Mark as OK:

 - ASRock A770CrossFire (reported by RIVANVX on IRC, no email available).
   User verified read and write with -wv, which VERIFIED OK.

Mark as non-working for now:

 - HP/Compaq nx9010 (laptop, reported by Murawski Mateusz <matowy@tlen.pl>).
   Hangs upon 'flashrom -V' (needs hard power-cycle then).

 - Elitegroup K7VTA3 (reported by Uwe Hermann <uwe@hermann-uwe.de>).
   Needs board-enable.

 - GIGABYTE GA-7ZM (reported by Uwe Hermann <uwe@hermann-uwe.de>).
   Needs board-enable.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r604 | uwe | 2009-06-18 16:04:44 +0200 (Thu, 18 Jun 2009) | 8 lines

Also print the supported/nonsupported laptops in -L output (trivial).

Content taken from current wiki page.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r603 | hailfinger | 2009-06-18 14:42:46 +0200 (Thu, 18 Jun 2009) | 5 lines

Chipset enable for VIA VT8233.

Signed-off-by: Mateusz Murawski <matowy@tlen.pl>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>

------------------------------------------------------------------------
r602 | libv | 2009-06-17 16:43:24 +0200 (Wed, 17 Jun 2009) | 5 lines

Board enable for Soyo SY-7VCA.

Signed-off-by: Luc Verhaegen <libv@skynet.be>
Acked-by: Andrew Morgan <ziltro@ziltro.com>

------------------------------------------------------------------------
r601 | uwe | 2009-06-17 14:07:12 +0200 (Wed, 17 Jun 2009) | 8 lines

Move all printing code to print.c.

Drop no longer needed MAX macro, we have a max() function.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r600 | hailfinger | 2009-06-17 12:13:42 +0200 (Wed, 17 Jun 2009) | 6 lines

Use spi_nbyte_program in ichspi.c.
This shortens the code a lot and makes it more readable.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Ronald G. Minnich <rminnich@gmail.com>

------------------------------------------------------------------------
r599 | uwe | 2009-06-17 01:15:10 +0200 (Wed, 17 Jun 2009) | 8 lines

List the size (in KB) and type of supported flash chips in 'flashrom -L'.

Also, list how many chips/chipsets/boards we support in 'flashrom -L'.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>


------------------------------------------------------------------------
r598 | hailfinger | 2009-06-16 23:08:06 +0200 (Tue, 16 Jun 2009) | 21 lines

This patch adds support for a new SPI programmer, based on the
FT2232H/4232H chip from FTDI.

FTDI support is autodetected during compilation.

Paul writes:
There are certainly possible improvements: The code has hard-coded
values for which interface of the ftdi chip to use (interface B was
chosen because libftdi seems to have trouble with A right now), what
clock rate use for the SPI interface (I've been running at 30Mhz, but
the patch sets it to 10Mhz), and possibly others. I think this means
that per-programmer options might be a good idea at some point.

Carl-Daniel writes:
There is one additional FIXME comment in the code, but AFAICS that
problem is not solvable with current libftdi.

Signed-off-by: Paul Fox <pgf@laptop.org>
Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>

------------------------------------------------------------------------
r597 | hailfinger | 2009-06-16 11:31:51 +0200 (Tue, 16 Jun 2009) | 5 lines

Check for a working C compiler.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Joseph Smith <joe@settoplinux.org>

------------------------------------------------------------------------
r596 | hailfinger | 2009-06-16 10:55:44 +0200 (Tue, 16 Jun 2009) | 10 lines

This patch gives us arbitrary range reads at byte boundaries for every
single chip supported by flashrom.
That means you can tell flashrom to read exactly bytes 12345-56789
(start 12345, length 44445) and it will not fetch a single byte more.

Uwe tested this on one LPC, one SPI, and one parallel flash board.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>

------------------------------------------------------------------------
r595 | hailfinger | 2009-06-15 19:23:36 +0200 (Mon, 15 Jun 2009) | 16 lines

flashrom only checks for very few chips if the erase worked.
And even when it checks if the erase worked, the result of that check is
often ignored.

Convert all erase functions and actually check return codes
almost everywhere.
Check inside all erase_* routines if erase worked, not outside.
erase_sector_jedec and erase_block_jedec have changed prototypes to
enable erase checking.

Uwe successfully tested LPC on an CK804 box and SPI on some SB600 box.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Signed-off-by: Urja Rannikko <urjaman@gmail.com>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>

------------------------------------------------------------------------
r594 | hailfinger | 2009-06-15 16:14:48 +0200 (Mon, 15 Jun 2009) | 10 lines

flash.h not only contains function prototypes and general settings, it
also has a huge chunk of chip and vendor IDs in the middle.

Split them out into a separate flashchips.h and adjust
#include wherever needed.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Urja Rannikko <urjaman@gmail.com>
Acked-by: Stefan Reinauer <stepan@coresystems.de>

------------------------------------------------------------------------
r593 | uwe | 2009-06-15 15:27:49 +0200 (Mon, 15 Jun 2009) | 11 lines

Fix typo in Makefile (trivial).

This strangely breaks with gmake on FreeBSD, but seems to work with make
on Linux.

Thanks Idwer Vollering <vidwer@gmail.com> for noticing and testing.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r592 | hailfinger | 2009-06-15 14:10:57 +0200 (Mon, 15 Jun 2009) | 12 lines

Fix the vendor ID of
EN25B05, EN25B10, EN25B20, EN25B40, EN25B80, EN25B16, EN25B32, EN25B64
EN25F40, EN25F80, EN25F16

Add support for
EN25P05, EN25P10, EN25P20, EN25P40, EN25P80, EN25P16, EN25P32, EN25P64
EN25D16
EN25F05, EN25F10, EN25F20, EN25F32

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>

------------------------------------------------------------------------
r591 | uwe | 2009-06-15 02:03:37 +0200 (Mon, 15 Jun 2009) | 8 lines

The VIA VX800 chipset works with the VT8237S code after adding an
entry for the VX800 PCI ID.

Signed-off-by: Arjan Koers <0h3q2rmn2bdb@list.nospam.xutrox.com>
Acked-by: Bari Ari <bari@onelabs.com>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r590 | uwe | 2009-06-14 23:53:26 +0200 (Sun, 14 Jun 2009) | 9 lines

Add support for the PMC Pm29F002T/B chips.

I sucessfully tested all operations on a Pm29F002T chip. The Pm29F002B is
untested but I assume it should also work.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>


------------------------------------------------------------------------
r589 | hailfinger | 2009-06-13 14:04:03 +0200 (Sat, 13 Jun 2009) | 19 lines

Every SPI host controller implemented its own way to read flash chips.
This was partly due to a design problem in the abstraction layer.

There should be exactly two different functions for reading SPI chips:
- memory mapped reads
- SPI command reads.

Each of them should be contained in a separate function, optionally
taking parameters where needed.

This patch solves the problems mentioned above, shortens the code and
makes the code logic a lot more obvious.

Since open-coding the min() function leads to errors, include it in this
patch as well.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Ronald G. Minnich <rminnich@gmail.com>

------------------------------------------------------------------------
r588 | hailfinger | 2009-06-12 23:29:36 +0200 (Fri, 12 Jun 2009) | 5 lines

Add bus type and timing info for some flash chips.

Signed-off-by: Mateusz Murawski <matowy@tlen.pl>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>

------------------------------------------------------------------------
r587 | hailfinger | 2009-06-12 16:49:10 +0200 (Fri, 12 Jun 2009) | 31 lines

This patch introduces two new targets which are designed to make the
life of packagers easier.
In particular, it should no longer be necessary to patch the makefile
for hassle-free compilation.

The targets are:
make export
make tarball
Both preserve svn revisions and the exported tree does not depend on
subversion in any way or shape.

Documentation for this feature has been added to README.

We need this for five reasons:
1. Packagers currently have to patch flashrom source to compile it on
systems without subversion. We should make it easier for them.
2. Snapshot tarballs currently have a .svn 1.5 directory included but
this will cause errors for users with older svn 1.4. Not requiring
subversion for snapshot compilation is best.
3. Since packagers seldom the svn revision in their fixup patches, some
packages out there have incorrect or no revision, only major version
numbers.
4. Releasing a new version of flashrom needs too many changes to the
makefile which have to be reverted instantly after the release. That is
unnecessary churn.
5. Making a release is easy with the change. Update the major version,
then run "make tarball".

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>  
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>

------------------------------------------------------------------------
r586 | uwe | 2009-06-12 16:05:25 +0200 (Fri, 12 Jun 2009) | 7 lines

Add missing GPL headers to two files. Please complain in case there are
errors here, but I'm pretty sure the headers are correct.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r585 | hailfinger | 2009-06-12 16:02:07 +0200 (Fri, 12 Jun 2009) | 10 lines

flashrom does not honor argument ordering for operations. Not only does
this violate the principle of least surprise, it also caused one bug
where -Ewv was specified and the flash ended up being empty.

Support only one operation at a time.
As a side benefit, this allows us to clean up main() quite a bit.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>

------------------------------------------------------------------------
r584 | hailfinger | 2009-06-12 13:45:10 +0200 (Fri, 12 Jun 2009) | 6 lines

Add #defines for some flash chips.
Add timing info to some flash chips.

Signed-off-by: Mateusz Murawski <matowy@tlen.pl>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>

------------------------------------------------------------------------
r583 | hailfinger | 2009-06-12 10:10:33 +0200 (Fri, 12 Jun 2009) | 5 lines

Add spi_nbyte_program as generic function to the SPI layer.

Signed-off-by: Paul Fox <pgf@laptop.org>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>

------------------------------------------------------------------------
r582 | hailfinger | 2009-06-12 10:04:08 +0200 (Fri, 12 Jun 2009) | 5 lines

Tell the user about the beginning and end of the write operation.

Signed-off-by: Paul Fox <pgf@laptop.org>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>

------------------------------------------------------------------------
r581 | libv | 2009-06-09 20:29:30 +0200 (Tue, 09 Jun 2009) | 13 lines

Add board enable for Albatron PM266A boards.

There are multiple albatron pm266a boards which all share the same bios
image. This means that both the board enable and the subsystem ids are
exactly the same.

The board enable is the same as the epox EP-8K5A2, namely only raising
memw on the superio.

Signed-off-by: Luc Verhaegen <libv@skynet.be>
Acked-by: Ronald G. Minnich <rminnich@gmail.com>
Acked-by: Mateusz Murawski <matowy@tlen.pl>

------------------------------------------------------------------------
r580 | hailfinger | 2009-06-05 22:53:07 +0200 (Fri, 05 Jun 2009) | 18 lines

Add all Eon EN25* SPI chips. Some IDs were already in flash.h.
EN25B05
EN25B10
EN25B20
EN25B40
EN25B80
EN25B16
EN25B32
EN25B64
EN25F40
EN25F80
EN25F16

EN25P* are supported as well, but they seem to be identical to EN25B.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Ronald G. Minnich <rminnich@gmail.com>

------------------------------------------------------------------------
r579 | hailfinger | 2009-06-05 20:32:07 +0200 (Fri, 05 Jun 2009) | 18 lines

Sometimes we want to read/write more than 4 bytes of chip content at
once.
Add chip_{read,write}n to the external flasher infrastructure which
read/write n bytes at once.

Fix a few places where the code used memcpy/memcmp although that is
strictly impossible with external flashers.
Place a FIXME in the layout.c code because usage is not totally clear
and needs to be fixed to support external flashers.

As a nice side benefit, we get a noticeable speedup for builtin flash
reading which is now a memcpy() of the full flash area instead of a
series of single-byte reads.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Urja Rannikko <urjaman@gmail.com>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>

------------------------------------------------------------------------
r578 | hailfinger | 2009-06-05 19:48:08 +0200 (Fri, 05 Jun 2009) | 7 lines

Add external programmer delay functions so external programmers can
handle the delay on their own if needed.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Urja Rannikko <urjaman@gmail.com>

------------------------------------------------------------------------
r577 | hailfinger | 2009-06-05 19:04:37 +0200 (Fri, 05 Jun 2009) | 6 lines

Fix a bug in dummyflasher.c special case where no type parameter is
given.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>

------------------------------------------------------------------------
r576 | hailfinger | 2009-06-05 15:46:17 +0200 (Fri, 05 Jun 2009) | 5 lines

Add probe timings forgotten in r569.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Paul Menzel <paulepanter@users.sourceforge.net>

------------------------------------------------------------------------
r575 | hailfinger | 2009-06-05 15:30:49 +0200 (Fri, 05 Jun 2009) | 6 lines

Use flash->virtual_registers for what they were meant for instead of
recalculating them every time.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>

------------------------------------------------------------------------
r574 | hailfinger | 2009-06-05 10:47:37 +0200 (Fri, 05 Jun 2009) | 9 lines

Exact bustypes for Atmel AT29C010A, AT29C020, AT29C040A, AT49BV512,
AT49F002, AMIC A29040B, A49LF040A,
EMST F49B002UA, EON EN29F002, Intel 28F001BX-B, 28F001BX-T, Winbond
W29C020C and W29C040P.
Checked from datasheets. A49LF040A is LPC, others parallel.

Signed-off-by: Urja Rannikko <urjaman@gmail.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>

------------------------------------------------------------------------
r573 | uwe | 2009-06-05 02:42:18 +0200 (Fri, 05 Jun 2009) | 7 lines

Actually enable the protection register debug output on
SST49LF160C and similar chips if -V is supplied.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Myles Watson<mylesgw@gmail.com>


------------------------------------------------------------------------
r572 | uwe | 2009-06-04 21:25:54 +0200 (Thu, 04 Jun 2009) | 7 lines

Let's actually sort the board lists alphabetically, and not just pretend
we do (trivial).

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r571 | uwe | 2009-06-04 20:53:03 +0200 (Thu, 04 Jun 2009) | 10 lines

Mark the ASUS A7N8X-E Deluxe as working.

I finally found the machine (doesn't belong to me) where I originally tested
this board as non-working and I can confirm that all operations work fine now
(since the nForce2 patch in r548).

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r570 | hailfinger | 2009-06-03 18:41:11 +0200 (Wed, 03 Jun 2009) | 6 lines

Use macros for inb and outb which were forgotten in r568.
This makes FreeBSD happy.

Signed-off-by: Idwer Vollering <vidwer@gmail.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>

------------------------------------------------------------------------
r569 | hailfinger | 2009-06-03 16:46:22 +0200 (Wed, 03 Jun 2009) | 7 lines

Add probe_timing information (int uS value). This eliminates the
conflicting delay requirements for old and new chips with the same
probing sequence.

Signed-Off-by: Maciej Pijanka <maciej.pijanka@gmail.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>

------------------------------------------------------------------------
r568 | libv | 2009-06-03 09:50:39 +0200 (Wed, 03 Jun 2009) | 9 lines

Board enable: Gigabyte GA K8N SLI.

Raises bits 0 and 2 on offset 0xE1 in the system control area of the
nvidia ck804 lpc.

Signed-off-by: Luc Verhaegen <libv@skynet.be>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Alexander Gordeev <lasaine@lvk.cs.msu.su>

------------------------------------------------------------------------
r567 | uwe | 2009-06-02 21:54:22 +0200 (Tue, 02 Jun 2009) | 7 lines

Mark the 10b7:9058 3COM card (3C905B: Cyclone 10/100/BNC) as "OK", forgot
this in the last commit. Also do some random cleanups while I'm at it.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r566 | uwe | 2009-06-02 18:45:59 +0200 (Tue, 02 Jun 2009) | 9 lines

Add support for the 10b7:9058 3COM NIC (3C905B: Cyclone 10/100/BNC).
Also, add Atmel AT29C512 support.

Both are tested on hardware by Maciej Pijanka.

Signed-off-by: Maciej Pijanka <maciej.pijanka@gmail.com>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r565 | uwe | 2009-06-02 15:39:42 +0200 (Tue, 02 Jun 2009) | 10 lines

Add two more boards supported by flashrom:

 - ASUS A8N-SLI (reported by Ryan McLean <pvtryan100@googlemail.com>)

 - MSI/Medion MS-7255 (P4M890M) (reported by J?\195?\182rg Schirottke <master@kanotix.com>)

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r564 | hailfinger | 2009-06-02 02:38:14 +0200 (Tue, 02 Jun 2009) | 5 lines

Unify AMD manufacture_id and model_id

Signed-off-by: Mateusz Murawski <matowy@tlen.pl>
Acked-by: FENG Yu Ning <fengyuning1984@gmail.com>

------------------------------------------------------------------------
r563 | hailfinger | 2009-06-02 00:07:52 +0200 (Tue, 02 Jun 2009) | 5 lines

Use read_flash() when flash chip probe is forced.

Signed-off-by: Stephan Guilloux <stephan.guilloux@free.fr>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>

------------------------------------------------------------------------
r562 | hailfinger | 2009-06-01 23:37:00 +0200 (Mon, 01 Jun 2009) | 5 lines

Add a missing free() in read_flash().

Signed-off-by: Stephan Guilloux <stephan.guilloux@free.fr>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>

------------------------------------------------------------------------
r561 | hailfinger | 2009-06-01 23:30:42 +0200 (Mon, 01 Jun 2009) | 7 lines

Refactor HT-1000 GPIO setting to use sio_mask. Although the HT-1000
GPIOs are not SuperIO related, the share the same index/data register
access method.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>

------------------------------------------------------------------------
r560 | hailfinger | 2009-06-01 04:08:58 +0200 (Mon, 01 Jun 2009) | 15 lines

Only probe for chips with compatible bus protocols.
It doesn't make sense to probe for SPI chips on a LPC host, nor does it
make sense to probe for LPC chips on a Parallel host.

This change is backwards compatible, but adding host protocol info to
chipset init functions will speed up probing.

Once all chipset init functions are updated and the Winbond W29EE011 and
AMIC A49LF040A chip definitions are updated, the W29EE011 workaround can
be deleted as the W29/A49 conflict magically disappears.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Tested on real hardware and
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>

------------------------------------------------------------------------
r559 | hailfinger | 2009-06-01 02:02:11 +0200 (Mon, 01 Jun 2009) | 13 lines

Add bus type support to the dummy external programmer.

The syntax is explained in the man page.
Example: flashrom -p dummy=lpc,fwh

Tested, works perfectly. ;-)

As a nice benefit, it allows easy testing of the "probe only compatible
flashes" patch.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>

------------------------------------------------------------------------
r558 | uwe | 2009-05-31 23:35:10 +0200 (Sun, 31 May 2009) | 6 lines

Fix warning in satasii.c when compiling with gcc 4.4.0.

Signed-off-by: Urja Rannikko <urjaman@gmail.com>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r557 | hailfinger | 2009-05-31 20:00:57 +0200 (Sun, 31 May 2009) | 7 lines

Add IT87xx SPI as external flasher option.
This is a fast way to test if a IT87xx board_enable() would work.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Tested-by: Harald Gutmann <harald.gutmann@gmx.net>
Acked-by: Harald Gutmann <harald.gutmann@gmx.net>

------------------------------------------------------------------------
r556 | hailfinger | 2009-05-31 19:57:34 +0200 (Sun, 31 May 2009) | 16 lines

Add bus type annotation to struct flashchips. Right now, the annotation
only differentiates between SPI and non-SPI. Anyone who knows more about
a specific flash chip should feel free to update it.

The existing flashbus variable was abused to denote the SPI controller
type. Use an aptly named variable for that purpose.

Once this patch is merged, the chipset/programmer init functions can set
supported flash chip types and flashrom can automatically select only
matching probe/read/erase/write functions.
A side benefit of that will be the elimination of the Winbond W29EE011
vs. AMIC A49LF040A conflict.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>

------------------------------------------------------------------------
r555 | hailfinger | 2009-05-29 14:55:31 +0200 (Fri, 29 May 2009) | 9 lines

Add support for probe and read of Intel 28F001BX-T and BX-B.

Erase & write support wont be this easy - the chips need 12V Vpp
(needs a hardware hack or a supporting mb) and they have a very weird
layout and are old.

Signed-off-by: Urja Rannikko <urjaman@gmail.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>

------------------------------------------------------------------------
r554 | uwe | 2009-05-28 17:07:42 +0200 (Thu, 28 May 2009) | 19 lines

Random flashrom updates:

 - Add explicit installation instructions in the README.

 - Code cleanups, coding style fixes, drop dead code.

 - Drop duplicate board listings from -L output (some boards were explicitly
   recorded in boards_ok[] _and_ implicitly via the board-enables table.

 - Add MS-xxxx numbers to MSI boards where we can find that info.

 - Fix typo, "K8T Neo2" should have been "K8T Neo2-F" actually, at least
   according to the comment of w83627thf_gpio4_4_raise_2e() which says
   "Suited for: MSI K8T Neo2-F".

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r553 | uwe | 2009-05-28 02:00:23 +0200 (Thu, 28 May 2009) | 40 lines

A bunch of flashrom board updates:

Marked as OK:

 - ASUS M2V (reported by Henri Valta <henri.valta@kemi.fi>)
   http://www.coreboot.org/pipermail/coreboot/2009-May/048674.html

 - Jetway J7F4K1G5D-PB (reported by Kevin O'Connor <kevin@koconnor.net>)

 - PC Engines Alix.3d3 (reported by Tobias M?\195?\188ller <Tobias_Mueller@twam.info>)
   http://www.coreboot.org/pipermail/coreboot/2009-May/048549.html

 - MSI K7N2 (reported by Maciej Pijanka <maciej.pijanka@gmail.com>)
   http://www.coreboot.org/pipermail/coreboot/2009-May/048777.html

Marked as (so far) non-working:

 - DFI 855GME-MGF (reported by Tobias M?\195?\188ller <Tobias_Mueller@twam.info>)
   http://www.coreboot.org/pipermail/coreboot/2009-May/048549.html

 - ASUS M3N78 Pro (reported by Piotr Esden-Tempski <esden@esden.net>)
   As discussed on IRC this is an MCP78 chipset with SPI translation apparently
   done in the southbridge, and we have no NVIDIA datasheets, of course. So the
   situation for this board will probably not change anytime soon.

 - MSI MS-6178 (reported by Uwe Hermann <uwe@hermann-uwe.de>)
   I tested write/erase will not work on this board, so a write-enable is
   needed. In _addition_, the board immediately powers off if you hot-unplug
   the PLCC chip, so I guess there's some SMI interference.

 - GIGABYTE GA-K8N-SLI (reported by Alexander Gordeev <lasaine@lvk.cs.msu.su>)
   This is currently being discussed on the mailing list (see
   http://www.coreboot.org/pipermail/coreboot/2009-May/048717.html) and it's
   very likely that we'll be able to add a board-enable, so this board can be
   maked as OK soonish.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r552 | uwe | 2009-05-28 01:17:40 +0200 (Thu, 28 May 2009) | 9 lines

Change 'Texas Instruments' to 'TI' in the flash chip table, as this is
a very long name and currently even breaks -L output. We could of course
fix that, but we already use short / abbreviated names for other vendors
(AMD, ST, SST, PMC) so do it for TI also.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r551 | hailfinger | 2009-05-27 13:40:08 +0200 (Wed, 27 May 2009) | 9 lines

Use consistent naming for local chip ID variables. Every chip besides
SPI and w39v080fa uses id1/id2 as local variable names to store ID
responses from the flash chip.
This eases grepping a lot. As a bonus, it also frees up some names to be
used as parameters.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Patrick Georgi <patrick.georgi@coresystems.de>

------------------------------------------------------------------------
r550 | hailfinger | 2009-05-26 23:26:23 +0200 (Tue, 26 May 2009) | 5 lines

Add TI TMS29F002RT and TMS29F002RB probe and read support to flashrom.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Ronald G. Minnich <rminnich@gmail.com>

------------------------------------------------------------------------
r549 | hailfinger | 2009-05-26 23:25:08 +0200 (Tue, 26 May 2009) | 28 lines

Use REMS instead of RES in the ICH SPI default opcode table.

RES is Read Electronic Signature (1 Byte, identical for different chips)
REMS is Read Electronic Manufacturer Signature (2 Bytes, mostly unique)
RDID is Read JEDEC ID (3 bytes, unique)

Of the chips which don't support RDID, a sizable portion supports REMS
which gives us both a manufacturer ID and a device ID. This is clearly
superior to having only a device ID (the RES case) which has multiple
documented collisions.

The RES/REMS problem is aggravated by inconsistent naming in vendor data
sheets. What's in a name? Considering that we have 1-byte IDs, 2-byte
IDs and 3+byte IDs with varying names but mostly consistent opcodes, it
makes sense to set our own standard about how the opcodes are called.

The best way forward would be to have the ICH SPI driver reprogram the
opcode menu on the fly if the opcode menu doesn't contain the requested
opcode and the opcode menu is not locked. Until that happens, this patch
improves detection accuracy by a factor of 256 for some chips.

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

Tested-by: Uwe Hermann
with the flash chip "SST SST25VF040.REMS".

Acked-by: Ronald G. Minnich <rminnich@gmail.com>

------------------------------------------------------------------------
r548 | libv | 2009-05-26 11:48:28 +0200 (Tue, 26 May 2009) | 11 lines

Add NForce2 chipset enable.

While the other chipset enables for nvidia could potentially also work,
this one, by not touching other bits, seems like the safest solution.

Uwe tested this on his Asus A7N8X Deluxe, so hopefully the A7N8X-E
(reporter unknown) is now no longer an issue.

Signed-off-by: Luc Verhaegen <libv@skynet.be>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>

------------------------------------------------------------------------
r547 | hailfinger | 2009-05-26 01:26:50 +0200 (Tue, 26 May 2009) | 12 lines

Refactor SuperIO accesses. We had duplicated code under different names
and even open-coded some functions in some places.

wbsio_read/regval -> sio_read
wbsio_write/regwrite -> sio_write
wbsio_mask -> sio_mask

board_biostar_p4m80_m4 now uses existing IT87 functions.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Luc Verhaegen <libv@skynet.be>

------------------------------------------------------------------------
r546 | libv | 2009-05-25 13:35:25 +0200 (Mon, 25 May 2009) | 7 lines

Biostar p4m80 board enable typo.

Obvious typo due to inb/outb versus wbsio_ argument ordering confusion.

Signed-off-by: Luc Verhaegen <libv@skynet.be>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>

------------------------------------------------------------------------
r545 | uwe | 2009-05-23 02:56:49 +0200 (Sat, 23 May 2009) | 10 lines

Autodetection support and write-enable for the MSI KT4 Ultra.

Thanks Christian Ruppert <spooky85@gmail.com> for testing on hardware.

(also: Fix a typo and some whitespace while I'm at it)

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r544 | uwe | 2009-05-22 15:18:38 +0200 (Fri, 22 May 2009) | 6 lines

Add website section (trivial).

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r543 | oxygene | 2009-05-22 13:37:27 +0200 (Fri, 22 May 2009) | 22 lines

A bunch of output beautifications and improvements, as well as doc
fixes:

 - Update manpage, we now report supported boards via -L.
 
 - Add some missing escaping for '-' characters in the manpage.

 - Shorten some of the really long device names, so that -L output looks
   nicer.
   
 - Display a "table header" for all entries/columns in -L output.
 
 - Make -L output tabular for all lists for better readability.
 
 - Do not print "unknown XXXX SPI chip" entries in -L output.
 
 - And random other cosmetics...
 
Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Patrick Georgi <patrick.georgi@coresystems.de>

------------------------------------------------------------------------
r542 | uwe | 2009-05-21 19:11:25 +0200 (Thu, 21 May 2009) | 23 lines

Mark the following boards as 'known-good' (write/erase works):

 - ASUS P5B-Deluxe (reported by Andrew Paprocki)
 - ASUS P6T Deluxe V2 (reported by Aldrik Dunbar)
 - GIGABYTE GA-6ZMA (reported by Urja Rannikko)
 - Intel EP80759 (reported by Stephan GUILLOUX)
 - MSI MS-7345 (P35 Neo2-FIR) (reported by Onno)
 - MSI MS-7168 (Orion) (reported by ubuntosaure)
 - Supermicro H8QC8 (reported by Victor Zele)
 
Mark the following boards as 'known-bad' (they likely require a write-enable):

 - Abit IS-10 (reported by deejkuba)
 - ASUS P5B (reported by Henning Fleddermann)
 - ASUS P5BV-M (reported by Bernhard M. Wiedemann)
 - Boser HS-6637 (reported by Mark Robinson)
 
Also, mark the Winbond W39V040A as fully tested (report by ubuntosaure).

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r541 | uwe | 2009-05-21 17:59:58 +0200 (Thu, 21 May 2009) | 8 lines

Make an extra MANDIR variable for easier overriding (trivial).

Thanks Heinz Wiesinger <HMWiesinger@liwjatan.at> for the report.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r540 | uwe | 2009-05-21 17:55:46 +0200 (Thu, 21 May 2009) | 11 lines

Improve flashrom test report text a bit:

 - Mention that we'd like to have -V output for all operations
   which were tested by the user.

 - Mention that we'd like to know the exact mainboard vendor/name.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r539 | uwe | 2009-05-21 02:29:50 +0200 (Thu, 21 May 2009) | 6 lines

Fix typo (trivial).

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r538 | uwe | 2009-05-21 01:27:16 +0200 (Thu, 21 May 2009) | 8 lines

Mark the Macronix MX29F002T as working (trivial).

I tested all operations on hardware.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r537 | uwe | 2009-05-20 19:09:43 +0200 (Wed, 20 May 2009) | 6 lines

The Silicon Image PCI0680 has bit 26 marked as reserved, so don't use it.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r536 | uwe | 2009-05-19 23:03:31 +0200 (Tue, 19 May 2009) | 22 lines

Mark the Silicon Image PCI0680 Ultra ATA-133 controller as working.

I tested identify, read, write, erase, verify successfully, HOWEVER,
this will only work (at least on my card) after de-soldering the
soldered-on PLCC32 one-time programmable (OTP) chip (Holtek HT27C010)
and soldering on a (re-)programmable flash ROM chip or a socket.

Example:

http://www.coreboot.org/File:Sii_controller1.jpg
http://www.coreboot.org/File:Sii_controller2.jpg

The OTP chip which came on my card does not react to the standard JEDEC
identify/read/write/erase commands anymore, so if all other such PCI0680
controllers which are around also have the same OTP chip (that's not
necessarily the case), they cannot be used as "external programmer" in
flashrom without the above mentioned modifications.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r535 | uwe | 2009-05-19 16:14:21 +0200 (Tue, 19 May 2009) | 6 lines

Documentation improvements and small code/whitespace fixes (trivial).

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r534 | uwe | 2009-05-19 00:27:53 +0200 (Tue, 19 May 2009) | 13 lines

Add detection support and write-enable for the GIGABYTE GA-MA78GM-S2H.
Thanks Michael Heimann for reporting.

The board was misidentified as a GIGABYTE GA-MA78G-DS3H though, as the
old PCI IDs and subsystem IDs of match. Thus, use differing ones for
both boards, which is not so easy. The only usable-looking difference
is in the SATA controller subsystem IDs. This should allow us to
properly detect both boards.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r533 | uwe | 2009-05-18 23:56:16 +0200 (Mon, 18 May 2009) | 6 lines

Drop duplicate Tyan S2498 (Tomcat K7M) entry in the board list (trivial).

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r532 | uwe | 2009-05-18 17:31:10 +0200 (Mon, 18 May 2009) | 7 lines

Add Tyan S2891/S2892/S2895 as supported without special write-enables
being required. Thanks Myles Watson <mylesgw@gmail.com> for the report.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r531 | uwe | 2009-05-18 01:12:17 +0200 (Mon, 18 May 2009) | 7 lines

Factor out fallback_map/unmap, most external programmers don't need
and special handling here (trivial).

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r530 | uwe | 2009-05-18 00:58:41 +0200 (Mon, 18 May 2009) | 6 lines

Rename sata_sii.c to satasii.c for consistency (trivial).

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r529 | uwe | 2009-05-18 00:57:34 +0200 (Mon, 18 May 2009) | 17 lines

Various smaller flashrom improvements:

 - Document new 'satasii' programmer in -L output and manpage.

 - Drop PCI_IO_BASE_ADDRESS, pci.h has such #defines already.

 - Beautify flashrom output and make it more consistent.
 
 - Same for the 'make' output (reordered some $CC parameters).
   Build-tested on i386, shouldn't break any builds, I think.

 - Some variable renaming and other cosmetic fixes.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r528 | ruik | 2009-05-17 21:46:43 +0200 (Sun, 17 May 2009) | 12 lines

This patch adds support for BIOS flashing on the all SiliconImage SATA
controllers. It was easy because

1) flashrom has now nice API
2) documentation is public on the web site

Signed-off-by: Rudolf Marek <r.marek@assembler.cz>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>

Don't forget to add a files. Because I do.


------------------------------------------------------------------------
r527 | ruik | 2009-05-17 21:39:27 +0200 (Sun, 17 May 2009) | 10 lines

This patch adds support for BIOS flashing on the all SiliconImage SATA
controllers. It was easy because

1) flashrom has now nice API
2) documentation is public on the web site

Signed-off-by: Rudolf Marek <r.marek@assembler.cz>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r526 | ruik | 2009-05-17 20:24:24 +0200 (Sun, 17 May 2009) | 5 lines

Fix a quilt introduced bug in patch.

Signed-off-by: Rudolf Marek <r.marek@assembler.cz>
Self-acked-by: Rudolf Marek <r.marek@assembler.cz>

------------------------------------------------------------------------
r525 | ruik | 2009-05-17 19:02:07 +0200 (Sun, 17 May 2009) | 16 lines

[PATCH] flashrom add PMC 39F010

Signed-off-by: Rudolf Marek <r.marek@assembler.cz>
Acked-by: Peter Stuge <peter@stuge.se>


[PATCH] tested SST39VF010

Self-ack is fine for test reports.

Rudolf Marek wrote:
> > Signed-off-by: Rudolf Marek <r.marek@assembler.cz>

Acked-by: Peter Stuge <peter@stuge.se>


------------------------------------------------------------------------
r524 | hailfinger | 2009-05-17 17:49:24 +0200 (Sun, 17 May 2009) | 56 lines

Use accessor functions for MMIO. Some MMIO accesses used volatile,
others didn't (and risked non-execution of side effects) and even with
volatile, some accesses looked dubious.

Since the MMIO accessor functions and the onboard flash accessor
functions are functionally identical (but have different signatures),
make the flash accessors wrappers for the MMIO accessors.

For some of the conversions, I used Coccinelle. Semantic patch follows:

@@
typedef uint8_t;
expression a;
volatile uint8_t *b;
@@
- b[a]
+ *(b + a)
@@
expression a;
volatile uint8_t *b;
@@
- *(b) |= (a);
+ *(b) = *(b) | (a);
@@
expression a;
volatile uint8_t *b;
@@
- *(b) = (a);
+ mmio_writeb(a, b);
@@
volatile uint8_t *b;
@@
- *(b)
+ mmio_readb(b)
@@
type T;
T b;
@@
(
 mmio_readb
|
 mmio_writeb
)
 (...,
- (T)
- (b)
+ b
 )

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

Uwe tested read, write, erase with this patch on a random board to make
sure nothing breaks.

Acked-by: Uwe Hermann <uwe@hermann-uwe.de>

------------------------------------------------------------------------
r523 | uwe | 2009-05-17 01:42:17 +0200 (Sun, 17 May 2009) | 13 lines

List all boards which are:

 - Supported out of the box (no flash enables required)

 - Verifiably not yet working (unknown flash enable)

Also, move some structs to flash.h in preparation for later wiki
output support.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r522 | uwe | 2009-05-17 00:36:00 +0200 (Sun, 17 May 2009) | 9 lines

Eliminate all 'inline's from the flashrom code. They serve pretty
much no purpose, compilers can optimize pretty much all of what we
might mark as inline anyway, _and_ inlines are not enforced in any
way by the compiler either. They're totally unneeded. Kill them.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>


------------------------------------------------------------------------
r521 | uwe | 2009-05-17 00:05:42 +0200 (Sun, 17 May 2009) | 8 lines

Drop unused/duplicated #includes and some dead code (trivial).

Build-tested on 32bit x86.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r520 | uwe | 2009-05-16 23:39:19 +0200 (Sat, 16 May 2009) | 12 lines

Add proper workaround for 3COM 3C90xB cards, which need special fixups
(the 3C90xC ones don't). This is tested on hardware.

Also, add initial support for the Atmel AT29C010A chip (which I inserted
in a 3COM 3C90xB card for testing). It can be detected, read works, erase
works, but write will need some additional code (will post in another
patch later).

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>


------------------------------------------------------------------------
r519 | hailfinger | 2009-05-16 23:22:56 +0200 (Sat, 16 May 2009) | 17 lines

Use chipaddr instead of volatile uint8_t * because when we access
chips in external flashers, they are not accessed via pointers at all.

Benefits:
This allows us to differentiate between volatile machine memory accesses
and flash chip accesses.
It also enforces usage of chip_{read,write}[bwl] to access flash chips,
so nobody will unintentionally use pointers to access chips anymore.
Some unneeded casts are removed as well.
Grepping for chip operations and machine memory operations doesn't yield
any false positives anymore.

Compile tested on 32 bit and 64 bit Linux.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>

------------------------------------------------------------------------
r518 | uwe | 2009-05-16 03:30:48 +0200 (Sat, 16 May 2009) | 11 lines

Older libpci versions (e.g. 2.2.8, as it's default on current FreeBSD 7.2)
don't properly fill the base_addr[0] struct member, so revert back to
an explicit pci_read_long() call, otherwise detection of PCI devices and
their base address will fail with strange error messages.

Thanks Idwer Vollering <vidwer@gmail.com> for reporting and testing.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r517 | hailfinger | 2009-05-16 03:23:55 +0200 (Sat, 16 May 2009) | 9 lines

Add generic 16 bit and 32 bit chip read/write emulation to the external
flasher infrastructure. The emulation works by splitting 32 bit accesses
into 16 bit accesses and 16 bit accesses into to 8 bit accesses.
That way, external flashers can mix and match the amount of emulation
they need.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>

------------------------------------------------------------------------
r516 | hailfinger | 2009-05-16 01:36:23 +0200 (Sat, 16 May 2009) | 9 lines

Uwe tested the recent SB600 SPI commit and notified me of one unexpected
problem. It seems some boards do not use SPI_HOLD at all. Take that into
account when trying to figure out if SPI is available.

Print the SB600 ROM strap override register status for better debugging.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>

------------------------------------------------------------------------
r515 | uwe | 2009-05-15 19:02:34 +0200 (Fri, 15 May 2009) | 14 lines

Refactor parts of the 3COM NIC code.

Move the reusable PCI specific parts into pcidev.c, they'll be usable
for other NIC code (Realtek, VIA, ...) and also for SATA/IDE controller
cards as external programmers (for every PCI device which can program
EEPROMs basically).

Also add print_supported_pcidevs() to show the supported PCI devices
(currently only NICs, soon more) in the 'flashrom -L' output.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>


------------------------------------------------------------------------
r514 | hailfinger | 2009-05-15 02:56:22 +0200 (Fri, 15 May 2009) | 17 lines

Until the ICH SPI driver can handle preopcodes as standalone opcodes, we
should handle such special opcode failure gracefully on ICH and
compatible chipsets.

This fixes status register writes on almost all ICH+VIA SPI masters.

The fix is almost identical to r484, but this time it affects the EWSR
(Enable Write Status Register) opcode instead of the WREN (Write Enable)
opcode.

With the differentiated return codes introduced in r500, the workaround
is more precise this time. The old WREN workaround was updated as well.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: FENG Yu Ning <fengyuning1984@gmail.com>
Acked-by: Cristi Magherusan <cristi.magherusan@net.utcluj.ro>

------------------------------------------------------------------------
r513 | uwe | 2009-05-15 00:58:21 +0200 (Fri, 15 May 2009) | 40 lines

Make the nic3com code check how many supported NICs are found. If we find
multiple ones, abort with a message to the user, suggesting to use the

  flashrom -p nic3com=bb:dd.f

syntax. If exactly one supported NIC is found, use it. If none is found,
abort with an error.

Print the bb:dd.f numbers for all supported NICs we find, so the user
doesn't have to poke around in lspci output to find the desired bb:dd.f.

Also, drop one pci_read_long() in favor of using the already existing
base_addr[0] struct field.

Drop the BAR in user messages, it's not really useful for us. Instead,
explain the BDF syntax a bit more verbosely.

While I'm at it, update the manpage some more to mention and fully document
the external programmer support we have (or will have soon).

The patch is tested on hardware:

$ flashrom -p nic3com
flashrom v0.9.0-r512
Found NIC "3COM 3C905C: EtherLink 10/100 PCI (TX)" (10b7:9200, BDF 05:04.0)
Found NIC "3COM 3C905C: EtherLink 10/100 PCI (TX)" (10b7:9200, BDF 05:03.0)
Error: Multiple supported NICs found. Please use 'flashrom -p nic3com=bb:dd.f'
to explicitly select the card with the given BDF (PCI bus, device, function).

$ flashrom -p nic3com=05:04.0
flashrom v0.9.0-r512
Found NIC "3COM 3C905C: EtherLink 10/100 PCI (TX)" (10b7:9200, BDF 05:04.0)
Calibrating delay loop... OK.
Found chip "Atmel AT49BV512" (64 KB) at physical address 0xffff0000.
No operations were specified.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>


------------------------------------------------------------------------
r512 | hailfinger | 2009-05-14 23:41:10 +0200 (Thu, 14 May 2009) | 5 lines

Fix compilation of nic3com on 64bit.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>

------------------------------------------------------------------------
r511 | uwe | 2009-05-14 22:41:57 +0200 (Thu, 14 May 2009) | 7 lines

Factor out portable iopl()-style code into a global function
which all programmers can use, add missing close() call (trivial).

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r510 | uwe | 2009-05-14 20:57:26 +0200 (Thu, 14 May 2009) | 9 lines

3COM: Add support for users to specify a certain NIC via PCI bus:slot.func
notation, in case there are multiple NICs in one system.

Usage: flashrom -p nic3com=bb:ss.f

Signed-off-by: Christian Ruppert <spooky85@gmail.com>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r509 | uwe | 2009-05-14 16:51:14 +0200 (Thu, 14 May 2009) | 8 lines

Cosmetics and eliminate unneeded vars as per IRC discussion (trivial).

Build-tested and 'make PREFIX=/tmp/foo install' tested by me.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r508 | hailfinger | 2009-05-14 16:17:07 +0200 (Thu, 14 May 2009) | 5 lines

Improve makefile structure a bit.

Signed-off-by: Christian Ruppert <spooky85@gmail.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>

------------------------------------------------------------------------
r507 | hailfinger | 2009-05-14 14:59:36 +0200 (Thu, 14 May 2009) | 13 lines

Add a dummy SPI controller driver, similar to the dummy LPC/FWH/Parallel
flasher driver.
Does not support reading or writing the fake chip yet.

flashrom --programmer dummy
also enables the dummy SPI controller driver.

Testing the dummy SPI driver revealed a RDID debug printing bug in the
SPI core. Fix that as well.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>

------------------------------------------------------------------------
r506 | stuge | 2009-05-14 14:41:00 +0200 (Thu, 14 May 2009) | 7 lines

Fix spelling error in comment

Author: raijin

Signed-off-by: Daniel McLellan <daniel.mclellan@gmail.com>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r505 | hailfinger | 2009-05-14 00:51:27 +0200 (Thu, 14 May 2009) | 24 lines

Generic status register prettyprinting for SST25*. Even if we don't tell
the user about the areas the block locking bits correspond to, printing
a detailed list of which lock bits are set is a definite improvement.

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

Sample output:
[...]
Probing for SST SST25VF032B, 4096 KB: RDID returned bf 25 4a.
probe_spi_rdid_generic: id1 0xbf, id2 0x254a
Chip status register is 1c
Chip status register: Block Protect Write Disable (BPL) is not set
Chip status register: Auto Address Increment Programming (AAI) is not
set
Chip status register: Bit 5 / Block Protect 3 (BP3) is not set
Chip status register: Bit 4 / Block Protect 2 (BP2) is set
Chip status register: Bit 3 / Block Protect 1 (BP1) is set
Chip status register: Bit 2 / Block Protect 0 (BP0) is set
Chip status register: Write Enable Latch (WEL) is not set
Chip status register: Write In Progress (WIP/BUSY) is not set
Found chip "SST SST25VF032B" (4096 KB) at physical address 0xffc00000.

Acked-by: Cristi Magherusan <cristi.magherusan@net.utcluj.ro>

------------------------------------------------------------------------
r504 | hailfinger | 2009-05-14 00:19:12 +0200 (Thu, 14 May 2009) | 8 lines

SST25 chips do not support page program, only byte program.

Downgrade the chips from 256-byte writes to 1-byte writes. This fixes
writing to them on ICH/VIA SPI masters.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: FENG Yu Ning <fengyuning1984@gmail.com>

------------------------------------------------------------------------
r503 | stuge | 2009-05-14 00:18:35 +0200 (Thu, 14 May 2009) | 7 lines

Winbond W39V040A TEST_OK_ PROBE READ

Thanks to Mateusz for testing and reporting!

Signed-off-by: Mateusz Murawski <matowy@tlen.pl>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r502 | uwe | 2009-05-13 17:57:38 +0200 (Wed, 13 May 2009) | 9 lines

Mark SST 39VF512 as fully tested.

Tested with 3COM 3C905C: EtherLink 10/100 PCI (TX)
http://www.coreboot.org/pipermail/coreboot/2009-May/048163.html

Signed-off-by: Mateusz Murawski <matowy@tlen.pl>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r501 | uwe | 2009-05-13 14:01:57 +0200 (Wed, 13 May 2009) | 6 lines

Fix nic3com.c build issues on *BSD (trivial).

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r500 | hailfinger | 2009-05-13 13:40:08 +0200 (Wed, 13 May 2009) | 19 lines

There are various reasons why a SPI command can fail. Among others, I
have seen the following problems:
- The SPI opcode is not supported by the controller. ICH-style
controllers exhibit this if SPI config is locked down.
- The address in in a prohibited area. This can happen on ICH for any
access (BBAR) and for writes in chipset write protected areas.
- There is no SPI controller.

Introduce separate error codes for unsupported opcode and prohibited
address.

Add the ability to adjust REMS and RES addresses to the minium supported
read address with the help of spi_get_valid_read_addr(). That function
needs to call SPI controller specific functions like reading BBAR on
ICH.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>

------------------------------------------------------------------------
r499 | uwe | 2009-05-13 13:36:06 +0200 (Wed, 13 May 2009) | 54 lines

Add support for 3COM NICs as "external programmer" and Atmel AT49BV512.

This allows flashrom to identify, read, write, erase and verify flash chips
on (some) 3COM network cards. The patch uses the external programmer
infrastructure, the network card is basically treated as an external
flash programmer.

Usage:

$ ./flashrom -p nic3com
flashrom v0.9.0-r498
Found NIC "3COM 3C905C: EtherLink 10/100 PCI (TX)" (10b7:9200), addr = 0xa400
Calibrating delay loop... OK.
Found chip "Atmel AT49BV512" (64 KB) at physical address 0xffff0000.
No operations were specified.

$ ./flashrom -p nic3com -E
flashrom v0.9.0-r498
Found NIC "3COM 3C905C: EtherLink 10/100 PCI (TX)" (10b7:9200), addr = 0xa400
Calibrating delay loop... OK.
Found chip "Atmel AT49BV512" (64 KB) at physical address 0xffff0000.
Erasing flash chip... SUCCESS.

$ ./flashrom -p nic3com -wv backup.bin
flashrom v0.9.0-r498
Found NIC "3COM 3C905C: EtherLink 10/100 PCI (TX)" (10b7:9200), addr = 0xa400
Calibrating delay loop... OK.
Found chip "Atmel AT49BV512" (64 KB) at physical address 0xffff0000.
Flash image seems to be a legacy BIOS. Disabling checks.
Programming page: 1023 at address: 0x0000ffc0
Verifying flash... VERIFIED.

$ ./flashrom -p nic3com -r backup.bin
flashrom v0.9.0-r498
Found NIC "3COM 3C905C: EtherLink 10/100 PCI (TX)" (10b7:9200), addr = 0xa400
Calibrating delay loop... OK.
Found chip "Atmel AT49BV512" (64 KB) at physical address 0xffff0000.
Reading flash... done.

I have tested this on actual hardware (see PCI IDs above) and all
operations worked fine.

Support for other 3COM cards will follow (I added some more which should
be supportable by this code, but they're untested so far), as well as
support for NICs from other vendors.

The patch also adds support for the Atmel AT49BV512 which is soldered
onto the 3COM NIC I used for testing.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Mateusz Murawski <matowy@tlen.pl>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>


------------------------------------------------------------------------
r498 | hailfinger | 2009-05-12 17:38:55 +0200 (Tue, 12 May 2009) | 44 lines

Use helper functions chip_{read,write}[bwl] to access flash chips.

The semantic patch I used in r418 to make the original conversion to
accessor functions was missing one isomorphism:
a[b] <=> *(a+b)

The semantic patcher Coccinelle was used to create this patch. Semantic
patch follows:
@@
typedef uint8_t;
expression a;
volatile uint8_t *b;
@@
- b[a]
+ *(b + a)
@@
expression a;
volatile uint8_t *b;
@@
- *(b) = (a);
+ chip_writeb(a, b);
@@
volatile uint8_t *b;
@@
- *(b)
+ chip_readb(b)
@@
type T;
T b;
@@
(
 chip_readb
|
 chip_writeb
)
 (...,
- (T)
- (b)
+ b
 )

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>

------------------------------------------------------------------------
r497 | uwe | 2009-05-12 16:06:04 +0200 (Tue, 12 May 2009) | 7 lines

The write_39sf020() and write_49f002() functions are identical except
for whitespace differences, so drop one of them.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>


------------------------------------------------------------------------
r496 | hailfinger | 2009-05-11 22:04:30 +0200 (Mon, 11 May 2009) | 8 lines

Rename the STM50FLW register variable flash_addr used for block write
protect handling. All other chips call it wrprotect which is less
confusing.
As a side benefit, flash_addr is now a name usable for other stuff.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Ronald G. Minnich <rminnich@gmail.com>

------------------------------------------------------------------------
r495 | hailfinger | 2009-05-11 17:46:43 +0200 (Mon, 11 May 2009) | 9 lines

Print dummy programmer messages only if verbose mode is selected.
Print the return value of dummy_chip_read[bwl].
Align entries in programmer_table.

This is a cosmetic patch and has no effect on code flow.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Ronald G. Minnich <rminnich@gmail.com>

------------------------------------------------------------------------
r494 | hailfinger | 2009-05-11 16:40:31 +0200 (Mon, 11 May 2009) | 19 lines

When flashrom JEDEC code sends the ID command to the chip, it expects to
see IDs in the default flash location. However, sometimes the chip does
not react to the ID command, either because it doesn't understand the
command or because the command never reached it.
One way to detect this is to compare ID output with flash chip contents
for the same location. If they are identical, there is a high chance
you're not actually seeing ID output. Warn the user in that case.

This patch helps a lot when a chip is not recognized and we want to
check if the probe responses are real IDs or just random flash chip
contents.

This should probably be added to all probe functions, but probe_jedec is
called for all sizes and thus flashrom will check this condition at
least once per size, making sure we can cross-match the warning.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: FENG Yu Ning <fengyuning1984@gmail.com>

------------------------------------------------------------------------
r493 | hailfinger | 2009-05-11 16:13:25 +0200 (Mon, 11 May 2009) | 12 lines

Flash mapping/unmapping was performed without an abstraction layer, so
even the dummy flasher caused memory mappings to be set up.
Add map/unmap functions to the external flasher abstraction.

Fix a possible scribble-over-low-memory corner case which fortunately
never triggered so far.

With this patch, --programmer dummy works fine as non-root.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>

------------------------------------------------------------------------
r492 | hailfinger | 2009-05-11 16:01:17 +0200 (Mon, 11 May 2009) | 12 lines

Add lock bit handling (printing, setting and checking) to SST FWH chips
and abort any writes to locked sectors.
Verbose mode gives you all the info. Normal mode only tells you of
unlocking failed, but gives enough details to debug.

Add a comment about flash register placement to flashrom.c.

Thanks to Uwe for testing multiple iterations of this patch.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>

------------------------------------------------------------------------
r491 | hailfinger | 2009-05-10 16:11:07 +0200 (Sun, 10 May 2009) | 25 lines

Create a SB600 SPI detection heuristic.

I know that the data sheets say we can't read the ROM straps, but
creative interpretation of the data sheets yielded a heuristic which
should work pretty well.

NOTE: If you test this, make sure you power down and _unplug_ the
machine for a few minutes before you boot and run flashrom with this
patch.
If the machine is not unplugged for some time, the test will yield
incorrect results.
If you run a slightly older flashrom version than svn HEAD, the test
will yield incorrect results.
If you run any flashrom version (except svn HEAD plus this patch) after
poweron, the test will yield incorrect results.

Explanation:
Older flashrom versions unconditionally write to registers which are
used for this heuristic. These registers are in the S5 power domain, so
even powering down does not clear them, you really have to unplug the
machine and remove the battery if this is a laptop.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Reinauer <stepan@coresystems.de>

------------------------------------------------------------------------
r490 | uwe | 2009-05-09 16:26:04 +0200 (Sat, 09 May 2009) | 6 lines

Add support for EPoX EP-8K5A2 and separate out common VT823x board enable code.

Signed-off-by: Luc Verhaegen <libv@skynet.be>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r489 | hailfinger | 2009-05-09 09:32:30 +0200 (Sat, 09 May 2009) | 5 lines

Kill one superfluous variable and improve code readability.

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>

------------------------------------------------------------------------
r488 | hailfinger | 2009-05-09 09:27:23 +0200 (Sat, 09 May 2009) | 16 lines

Fix Elan SC520 handling.

flashbase is a variable which should never be set outside chipset code.
It is only used to calculate the base address of the flash space at
exactly one location in the code.

Setting flashbase during probe caused subsequent probes to fail unless
special handling code was used. We had such code and it caused every
probe except the first to fail on Elan SC520.

Remove the superfluous flashbase assignment and simplify the rest of the
code.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Ronald G. Minnich <rminnich@gmail.com>

------------------------------------------------------------------------
r487 | hailfinger | 2009-05-09 09:24:23 +0200 (Sat, 09 May 2009) | 13 lines

Trim default ICH SPI delay from 1000 to 10 microseconds. Since many
commands take around 10 microseconds to complete, it is totally
pointless to wait for 1000 microseconds before checking the status
again.

This patch is tested and reduced write time on ICH7 with SST25VF080B
from over one hour to 62 seconds.

Thanks to Ali Nadalizadeh for testing!

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Myles Watson <mylesgw@gmail.com>

------------------------------------------------------------------------
r486 | hailfinger | 2009-05-09 04:34:18 +0200 (Sat, 09 May 2009) | 10 lines

Convert all flashchips.c entries with SPI programing to the 256-byte
version by default.

Change the flashchips entry for SST SST25VF080B to 1-byte writing.

Tested-by: Ali Nadalizadeh.

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>

------------------------------------------------------------------------
r485 | hailfinger | 2009-05-09 04:30:21 +0200 (Sat, 09 May 2009) | 15 lines

Chips like the SST SST25VF080B can only handle single byte writes
outside AAI mode.

Change SPI architecture to handle 1-byte chunk chip writing differently
from 256-byte chunk chip writing.

Annotate SPI chip write functions with _256 or _1 suffix denoting the
number of bytes they write at maximum.

The 1-byte chunk writing is cut-n-pasted to different SPI drivers right
now. A later patch can move them to the generic spi_chip_write_1.

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>

------------------------------------------------------------------------
r484 | hailfinger | 2009-05-09 04:09:45 +0200 (Sat, 09 May 2009) | 11 lines

Until the ICH SPI driver can handle preopcodes as standalone opcodes, we
should handle such special opcode failure gracefully on ICH and
compatible chipsets.

This fixes chip erase on almost all ICH+VIA SPI masters.

Thanks to Ali Nadalizadeh for helping track down this bug!

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>

------------------------------------------------------------------------
r483 | hailfinger | 2009-05-09 02:54:55 +0200 (Sat, 09 May 2009) | 10 lines

Add a dummy external flasher which just prints each operation.

Usage:
flashrom --programmer dummy

This is a great way to test flashrom without root access.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>

------------------------------------------------------------------------
r482 | uwe | 2009-05-09 02:47:04 +0200 (Sat, 09 May 2009) | 7 lines

Split vendor name and board name into two fields as preparation
for wiki output of supported stuff.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>


------------------------------------------------------------------------
r481 | hailfinger | 2009-05-09 02:27:07 +0200 (Sat, 09 May 2009) | 5 lines

Add --programmer to help text and man page.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>

------------------------------------------------------------------------
r477 | uwe | 2009-05-08 19:50:51 +0200 (Fri, 08 May 2009) | 6 lines

Make chipset list alphabetically ordered as the other lists.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r476 | hailfinger | 2009-05-08 19:43:22 +0200 (Fri, 08 May 2009) | 14 lines

Add external flasher support:
- Read/write accesses through function pointers
- Command line parameter for internal/external flasher
- Board and chipset setup moved to internal init function
- Shutdown stuff moved to internal shutdown function

As a side benefit, this will allow us to undo chipset write enable
during shutdown.

Tested by Uwe on real hardware.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>

------------------------------------------------------------------------
r475 | hailfinger | 2009-05-08 19:15:15 +0200 (Fri, 08 May 2009) | 5 lines

Re-add a line which got deleted in r473 by accident.

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>

------------------------------------------------------------------------
r474 | uwe | 2009-05-08 18:23:34 +0200 (Fri, 08 May 2009) | 8 lines

Keep list of boards alphabetically sorted. This is (among other things)
useful/required for the -L output and the upcoming wiki-syntax output of
supported boards.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r473 | hailfinger | 2009-05-08 14:49:03 +0200 (Fri, 08 May 2009) | 11 lines

Flashrom assumes that the flash chip contents are available via mmap if
no read function is defined. This special case is handled in lots of
places all over the code.

Remove the special case and use the read_memmapped function. Not only
does this allow us to fix a read bug in flashrom I recently uncovered on
ICH SPI, it also allows us to add support for Paraflasher to flashrom.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>

------------------------------------------------------------------------
r472 | uwe | 2009-05-07 15:24:49 +0200 (Thu, 07 May 2009) | 10 lines

Store and display chipset test status (not only chip status).
The list of tested chipsets is synced from the wiki.

Also, split the chipset vendor and name into two fields for easier
wiki-syntax output later.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>


------------------------------------------------------------------------
r471 | hailfinger | 2009-05-07 02:59:53 +0200 (Thu, 07 May 2009) | 7 lines

Always print the flashrom version as first output line.

Suggested by Peter Stuge.

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>

------------------------------------------------------------------------
r470 | hailfinger | 2009-05-06 23:54:22 +0200 (Wed, 06 May 2009) | 8 lines

ASD chips may exist, but all available docs suggest they are just
rebranded Winbond chips with Winbond IDs.
The ASD vendor/chip IDs in flash.h are very likely just misinterpreted
LHA headers.

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>

------------------------------------------------------------------------
r469 | stuge | 2009-05-06 17:05:39 +0200 (Wed, 06 May 2009) | 5 lines

Clarify error message in enable_flash_sb600() a little.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r468 | hailfinger | 2009-05-06 15:59:44 +0200 (Wed, 06 May 2009) | 9 lines

Improve SST25 status register routines:
- Using a 4-bit index into an array with 8 elements leads to
out-of-bounds accesses. Use proper bit masking to fix this.
- Factor out common SST25 status register printing.
- Use the common SST25 status register printing for SST25VF080B.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r467 | hailfinger | 2009-05-06 15:51:44 +0200 (Wed, 06 May 2009) | 6 lines

Revert r466 because it introduced a bug:
If unprotect succeeded, it will print "SB600 unprotect failed".

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>

------------------------------------------------------------------------
r466 | stuge | 2009-05-06 15:43:26 +0200 (Wed, 06 May 2009) | 5 lines

Cleanup redundant condition and clarify message a little.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r465 | stuge | 2009-05-06 15:38:55 +0200 (Wed, 06 May 2009) | 5 lines

Touch up some error messages in enable_flash_cs5536().

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r464 | hailfinger | 2009-05-06 02:35:31 +0200 (Wed, 06 May 2009) | 6 lines

Clean up the SB400 chipset enable code. Use pci_dev_find() instead of
setting up a filter and iterating over PCI devices.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Reinauer <stepan@coresystems.de>

------------------------------------------------------------------------
r463 | hailfinger | 2009-05-06 00:50:07 +0200 (Wed, 06 May 2009) | 13 lines

Rewrite the SB600 chipset enable function:
- Check for read/write protected regions first.
- Region protection is write-once according to the data sheets. Check if
the write succeeded. Don't write if the region is not protected.
- Verbose region protection dumping.
- Improve readability of BAR mapping code.
- Align BAR mapping to a page boundary (4k) instead of a 16k boundary.

This patch prepares the code for a SPI detection heuristic.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r462 | myles | 2009-05-05 23:08:36 +0200 (Tue, 05 May 2009) | 6 lines

Here is a fix for chipset_enable.c when there is not /dev/cpu. Open
fails so there is no reason to lseek in. Actually this is a trivial fix
for a bad return value from open.

Signed-off-by: Bertrand Jacquin <beber@meleeweb.net>
Acked-by: Ronald G. Minnich <rminnich@gmail.com>
------------------------------------------------------------------------
r461 | stuge | 2009-05-05 18:34:53 +0200 (Tue, 05 May 2009) | 7 lines

SST25VF080B TEST_OK_ ERASE WRITE

As reported by A. Spamlover. Thanks!

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r460 | uwe | 2009-05-05 18:15:46 +0200 (Tue, 05 May 2009) | 7 lines

Some cosmetics in README and manpage. Also, move more stuff to the manpage
where it belongs (this also eliminates some duplicated contents).

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r459 | hailfinger | 2009-05-05 00:33:50 +0200 (Tue, 05 May 2009) | 10 lines

Force enabling SPI mode for SB600 is a bad idea and leads to hangs.

Only access LPC ROM if we boot via LPC ROM. Only access SPI ROM if we
boot via SPI ROM.
The code to force enable SPI is commented out in case someone wants to
reenable it for a particular board with LPC and SPI flash.

Signed-off-by: Zheng Bao <zheng.bao@amd.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>

------------------------------------------------------------------------
r458 | stuge | 2009-05-04 23:03:59 +0200 (Mon, 04 May 2009) | 7 lines

SST25VF080B TEST_OK_READ

Per report from from Henning Fleddermann. Thanks!

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r457 | hailfinger | 2009-05-04 14:29:59 +0200 (Mon, 04 May 2009) | 5 lines

Onwards with development. Re-add the svn revision to the version string.

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>

------------------------------------------------------------------------
r454 | hailfinger | 2009-05-04 14:18:10 +0200 (Mon, 04 May 2009) | 5 lines

flashrom 0.9.0

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r453 | stuge | 2009-05-04 01:33:05 +0200 (Mon, 04 May 2009) | 6 lines

Complement the README file with build instructions for the platforms it
currently compiles on.

Signed-off-by: Idwer Vollering <vidwer@gmail.com>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r452 | hailfinger | 2009-05-01 18:34:32 +0200 (Fri, 01 May 2009) | 8 lines

Fix compilation on Solaris and tell people how to compile flashrom on
Solaris, Darwin/Mac OS X and DragonFly BSD.

Thanks to Joerg Schilling and Patrick Georgi for the Solaris part.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r451 | stuge | 2009-05-01 16:52:50 +0200 (Fri, 01 May 2009) | 5 lines

Mention that flashrom can also verify flash contents.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r450 | stuge | 2009-05-01 16:49:49 +0200 (Fri, 01 May 2009) | 5 lines

Fix usage to show that vendor: is optional in the -m parameter.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r449 | hailfinger | 2009-05-01 14:22:17 +0200 (Fri, 01 May 2009) | 7 lines

Some functions take no arguments. Make that explicit in the associated
prototypes.
This avoids a warning on some compilers and is a correctness issue.

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>

------------------------------------------------------------------------
r448 | hailfinger | 2009-05-01 13:00:39 +0200 (Fri, 01 May 2009) | 8 lines

Add Li-Ta (Ollie) Lo to the author list.
He started flashrom back in 2000.

Thanks to Ron for pointing this out.

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>

------------------------------------------------------------------------
r447 | hailfinger | 2009-05-01 12:53:49 +0200 (Fri, 01 May 2009) | 7 lines

Since the command line interface for flashrom will change for 1.0
(all-caps or no-caps for short options, exclude range syntax, etc.) we
should tell users in the man page and the usage message about this.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>

------------------------------------------------------------------------
r446 | stuge | 2009-04-30 01:22:33 +0200 (Thu, 30 Apr 2009) | 7 lines

flashrom: Macronix MX25L1605 TEST_OK_ PROBE READ ERASE WRITE

Per report from Aldrik Dunbar. Thanks!

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r445 | hailfinger | 2009-04-28 14:56:04 +0200 (Tue, 28 Apr 2009) | 7 lines

There are still some tweaks necessary to get Flashrom to build on
DragonFly, but this helps a lot.

Signed-off-by: Patrick Georgi <patrick.georgi@coresystems.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>

------------------------------------------------------------------------
r444 | oxygene | 2009-04-26 21:47:23 +0200 (Sun, 26 Apr 2009) | 5 lines

Enable scan-build for flashrom.

Signed-off-by: Patrick Georgi <patrick.georgi@coresystems.de>
Acked-by: Patrick Georgi <patrick.georgi@coresystems.de>

------------------------------------------------------------------------
r443 | hailfinger | 2009-04-26 00:07:28 +0200 (Sun, 26 Apr 2009) | 19 lines

Original v2 revision: 4211

The flashrom makefile wants to redirect both stdout and stderr to
/dev/null for one compile test.
The old variant of using &>/dev/null works on bash and zsh, but not on
dash and tcsh. dash and tcsh interpret it as "background command and
truncate /dev/null" which is not what we want. >& works on tcsh and
bash, but it is not POSIX compliant.
Since make uses /bin/sh and /bin/sh has to be POSIX compliant, we can
use the POSIX variant of stderr and stdout redirection.

>/dev/null 2>&1
is POSIX compliant. This is specified in SuSv3, Shell Command Language,
sections 2.7.2 and 2.7.6.

Signed-off-by: Stephan Guilloux <stephan.guilloux@free.fr>
Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Ward Vandewege <ward@gnu.org>

------------------------------------------------------------------------
r442 | uwe | 2009-04-24 18:17:41 +0200 (Fri, 24 Apr 2009) | 8 lines

Original v2 revision: 4205

MAX may already be defined. Also, fix smaller cosmetics (trivial).

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r441 | stuge | 2009-04-24 00:51:56 +0200 (Fri, 24 Apr 2009) | 7 lines

Original v2 revision: 4200

flashrom: Support MX25L3235D

Signed-off-by: Stephan Guilloux <stephan.guilloux@free.fr>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r440 | uwe | 2009-04-23 16:57:55 +0200 (Thu, 23 Apr 2009) | 9 lines

Original v2 revision: 4196

Don't duplicate option description in README, the manpage already has
that info. Also, additional small cosmetic fix.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r439 | hailfinger | 2009-04-22 15:33:43 +0200 (Wed, 22 Apr 2009) | 23 lines

Original v2 revision: 4177

All "unknown xy SPI chip" entries claim to have status UNTESTED for
probe/read/erase/write. That is incorrect.

A bit of confusion comes from how the #defines are named. We call them
TEST_BAD_*, but the message printed by flashrom says:
"This flash part has status NOT WORKING for operations:"

Something that is unimplemented is definitely not working.

Neither of the chip entries mentioned above has erase or write functions
implemented, so erase and write are not working.
Since their size is unknown, we can't read them in. That means read is
not working as well.
Probing is a different matter. If a chip-specific probe function had
matched, we wouldn't have to handle the chip with the "unknown xy SPI
chip" fallback. I'm tempted to call that "not working" as well, but I'm
open to discussion on this point.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>

------------------------------------------------------------------------
r438 | hailfinger | 2009-04-22 01:03:20 +0200 (Wed, 22 Apr 2009) | 10 lines

Original v2 revision: 4161

flashrom: Add support for Gigabyte GA-MA790FX-DQ6. This board uses
IT8718F LPC->SPI translation for the flash chip.

Tested by Mateusz Murawski.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Mateusz Murawski <matowy@tlen.pl>

------------------------------------------------------------------------
r437 | stuge | 2009-04-21 03:47:16 +0200 (Tue, 21 Apr 2009) | 7 lines

Original v2 revision: 4150

flashrom: Support Macronix MX2512805D flash chip

Signed-off-by: Stephan Guilloux <stephan.guilloux@free.fr>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r436 | stuge | 2009-04-21 03:46:07 +0200 (Tue, 21 Apr 2009) | 7 lines

Original v2 revision: 4149

flashrom: Trivial indent fix

Signed-off-by: Stephan Guilloux <stephan.guilloux@free.fr>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r435 | hailfinger | 2009-04-21 00:54:13 +0200 (Tue, 21 Apr 2009) | 8 lines

Original v2 revision: 4146

After verification in datasheets, all MX25 accept the same opcodes
0x60 and 0xC7 for Chip Erase.

Signed-off-by: Stephan Guilloux <stephan.guilloux@free.fr>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>

------------------------------------------------------------------------
r434 | stuge | 2009-04-20 14:38:17 +0200 (Mon, 20 Apr 2009) | 13 lines

Original v2 revision: 4142

flashrom: board_enables: reconstruct table.

This patch restores the pciid based board matching table. It makes this
table readable and hackable again, and the only disadvantage is that the
right margin is way beyond the rather dogmatic 80. All 0x0000 pci ids have
been string replaced by 0 to more easily spot missing ids, and extra
comments have been added to explain how the various entries are used.

Signed-Off-By: Luc Verhaegen <libv@skynet.be>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r433 | stuge | 2009-04-20 14:34:30 +0200 (Mon, 20 Apr 2009) | 7 lines

Original v2 revision: 4141

flashrom: Trivial README change Flashrom->flashrom

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r432 | stuge | 2009-04-20 01:24:26 +0200 (Mon, 20 Apr 2009) | 7 lines

Original v2 revision: 4139

flashrom: MX25L1605 and 1635 accept Chip Erase opcodes 60 and C7

Signed-off-by: Stephan Guilloux <stephan.guilloux@free.fr>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r431 | hailfinger | 2009-04-20 01:04:00 +0200 (Mon, 20 Apr 2009) | 7 lines

Original v2 revision: 4138

Add MX25L1635D support, as discussed on #coreboot.

Signed-off-by: Stephan Guilloux <stephan.guilloux@free.fr>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>

------------------------------------------------------------------------
r430 | stuge | 2009-04-18 01:01:45 +0200 (Sat, 18 Apr 2009) | 7 lines

Original v2 revision: 4132

flashrom: Add VIA PC3500G board. It has SPI flash behind ITE8716 on LPC.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: illdred <illdred@gmail.com>

------------------------------------------------------------------------
r429 | uwe | 2009-04-15 12:52:49 +0200 (Wed, 15 Apr 2009) | 8 lines

Original v2 revision: 4117

Some coding style and consistency fixes (trivial).

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r428 | uwe | 2009-04-13 23:35:49 +0200 (Mon, 13 Apr 2009) | 8 lines

Original v2 revision: 4107

Fix typo. Add missing copyright year.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r427 | uwe | 2009-04-11 15:59:00 +0200 (Sat, 11 Apr 2009) | 8 lines

Original v2 revision: 4092

Mention a few more flash chip packages in README/manpage.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r426 | uwe | 2009-04-10 16:49:14 +0200 (Fri, 10 Apr 2009) | 8 lines

Original v2 revision: 4089

Fix typo.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r425 | uwe | 2009-04-10 16:41:29 +0200 (Fri, 10 Apr 2009) | 15 lines

Original v2 revision: 4088

Various manpage / README fixes:

 - Improve description a bit, especially wrt chip packages and
   protocols.

 - Add some missing parameters to manpage option descriptions.

 - Remove long obsolete DoC support note.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r424 | rminnich | 2009-04-09 16:28:36 +0200 (Thu, 09 Apr 2009) | 9 lines

Original v2 revision: 4086

Fixed the typo should indeed be a 0x2e.
Tested on an iWILL DK8-HTX board.

Signed-off-by: Mondrian nuessle <nuessle@uni-hd.de>
Acked-by: Ronald G. Minnich <rminnich@gmail.com>


------------------------------------------------------------------------
r423 | stuge | 2009-03-30 15:20:01 +0200 (Mon, 30 Mar 2009) | 11 lines

Original v2 revision: 4031

flashrom: Board enable support for HP DL145 G3.

This is a BCM5785 based machine, WP# and TLB# need to be deasserted using
GPIO 2 and 5 from the PM registers of the southbridge.
This is very similar to the x3455 implementation.

Signed-off-by: Mondrian Nuessle <nuessle@uni-hd.de>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r422 | hailfinger | 2009-03-19 13:18:13 +0100 (Thu, 19 Mar 2009) | 8 lines

Original v2 revision: 4020

Move the Atmel AT45 comments about block and page sizes from the end of
the struct to the individual struct members to improve readability.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r421 | stepan | 2009-03-17 15:39:25 +0100 (Tue, 17 Mar 2009) | 21 lines

Original v2 revision: 4012

This patch adds "high coreboot table support" to coreboot version 2.

Some bootloaders seem to overwrite memory starting at 0x600, thus destroying
the coreboot table integrity, rendering the table useless.

By moving the table to the high tables area (if it's activated), this problem
is fixed.

In order to move the table, a 40 bytes mini coreboot table with a single sub
table is placed at 0x500/0x530 that points to the real coreboot table. This is
comparable to the ACPI RSDT or the MP floating table.

This patch also adds "table forward" support to flashrom and nvramtool.

Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Peter Stuge <peter@stuge.se>



------------------------------------------------------------------------
r420 | hailfinger | 2009-03-06 23:26:00 +0100 (Fri, 06 Mar 2009) | 11 lines

Original v2 revision: 3984

FreeBSD definitions of (read|write)[bwl] collide with our own. Before we
attempt trickery, we can simply rename the accessor functions.

Patch created with the help of Coccinelle.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Idwer Vollering <idwer_v@hotmail.com>
Acked-by: Patrick Georgi <patrick@georgi-clan.de>

------------------------------------------------------------------------
r419 | hailfinger | 2009-03-06 01:40:25 +0100 (Fri, 06 Mar 2009) | 112 lines

Original v2 revision: 3973

During the conversion of flash chip accesses to helper functions, I
spotted assignments to volatile variables which were neither placed
inside the mmapped ROM area nor were they counters.
Due to the use of accessor functions, volatile usage can be reduced
significantly because the accessor functions take care of actually
performing the reads/writes correctly.

The following semantic patch spotted them (linebreak in python string
for readability reasons, please remove before usage):
@r exists@
expression b;
typedef uint8_t;
volatile uint8_t a;
position p1;
@@
 a@p1 = readb(b);

@script:python@
p1 << r.p1;
a << r.a;
b << r.b;
@@
print "* file: %s line %s has assignment to unnecessarily volatile
variable: %s = readb(%s);" % (p1[0].file, p1[0].line, a, b)

Result was:
HANDLING: sst28sf040.c
* file: sst28sf040.c line 44 has assignment to unnecessarily volatile
variable: tmp = readb(TODO: Binary);
* file: sst28sf040.c line 43 has assignment to unnecessarily volatile
variable: tmp = readb(TODO: Binary);
* file: sst28sf040.c line 42 has assignment to unnecessarily volatile
variable: tmp = readb(TODO: Binary);
* file: sst28sf040.c line 41 has assignment to unnecessarily volatile
variable: tmp = readb(TODO: Binary);
* file: sst28sf040.c line 40 has assignment to unnecessarily volatile
variable: tmp = readb(TODO: Binary);
* file: sst28sf040.c line 39 has assignment to unnecessarily volatile
variable: tmp = readb(TODO: Binary);
* file: sst28sf040.c line 38 has assignment to unnecessarily volatile
variable: tmp = readb(TODO: Binary);
* file: sst28sf040.c line 58 has assignment to unnecessarily volatile
variable: tmp = readb(TODO: Binary);
* file: sst28sf040.c line 57 has assignment to unnecessarily volatile
variable: tmp = readb(TODO: Binary);
* file: sst28sf040.c line 56 has assignment to unnecessarily volatile
variable: tmp = readb(TODO: Binary);
* file: sst28sf040.c line 55 has assignment to unnecessarily volatile
variable: tmp = readb(TODO: Binary);
* file: sst28sf040.c line 54 has assignment to unnecessarily volatile
variable: tmp = readb(TODO: Binary);
* file: sst28sf040.c line 53 has assignment to unnecessarily volatile
variable: tmp = readb(TODO: Binary);
* file: sst28sf040.c line 52 has assignment to unnecessarily volatile
variable: tmp = readb(TODO: Binary);

The following semantic patch uses the spatch builtin match printing
functionality by prepending a "*" to the line with the pattern:
@@
expression b;
typedef uint8_t;
volatile uint8_t a;
@@
* a = readb(b);

Result is:
HANDLING: sst28sf040.c
diff =
--- sst28sf040.c        2009-03-06 01:04:49.000000000 +0100
@@ -35,13 +35,6 @@ static __inline__ void protect_28sf040(v
        /* ask compiler not to optimize this */
        volatile uint8_t tmp;
 
-       tmp = readb(bios + 0x1823);
-       tmp = readb(bios + 0x1820);
-       tmp = readb(bios + 0x1822);
-       tmp = readb(bios + 0x0418);
-       tmp = readb(bios + 0x041B);
-       tmp = readb(bios + 0x0419);
-       tmp = readb(bios + 0x040A);
 }
 
 static __inline__ void unprotect_28sf040(volatile uint8_t *bios)
@@ -49,13 +42,6 @@ static __inline__ void unprotect_28sf040
        /* ask compiler not to optimize this */
        volatile uint8_t tmp;
 
-       tmp = readb(bios + 0x1823);
-       tmp = readb(bios + 0x1820);
-       tmp = readb(bios + 0x1822);
-       tmp = readb(bios + 0x0418);
-       tmp = readb(bios + 0x041B);
-       tmp = readb(bios + 0x0419);
-       tmp = readb(bios + 0x041A);
 }
 
 static __inline__ int erase_sector_28sf040(volatile uint8_t *bios,

It's arguably a bit easier to read if you get used to the leading "-"
for matching lines.

This patch was enabled by Coccinelle:
http://www.emn.fr/x-info/coccinelle/


Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Joseph Smith <joe@settoplinux.org>
-- 
http://www.hailfinger.org/

------------------------------------------------------------------------
r418 | hailfinger | 2009-03-05 20:24:22 +0100 (Thu, 05 Mar 2009) | 52 lines

Original v2 revision: 3971

flashrom: Use helper functions to access flash chips.

Right now we perform direct pointer manipulation without any abstraction
to read from and write to memory mapped flash chips. That makes it
impossible to drive any flasher which does not mmap the whole chip.

Using helper functions readb() and writeb() allows a driver for external
flash programmers like Paraflasher to replace readb and writeb with
calls to its own chip access routines.

This patch has the additional advantage of removing lots of unnecessary
casts to volatile uint8_t * and now-superfluous parentheses which caused
poor readability.

I used the semantic patcher Coccinelle to create this patch. The
semantic patch follows:
@@
expression a;
typedef uint8_t;
volatile uint8_t *b;
@@
- *(b) = (a);
+ writeb(a, b);
@@
volatile uint8_t *b;
@@
- *(b)
+ readb(b)
@@
type T;
T b;
@@
(
 readb
|
 writeb
)
 (...,
- (T)
- (b)
+ b
 )

In contrast to a sed script, the semantic patch performs type checking
before converting anything.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: FENG Yu Ning <fengyuning1984@gmail.com>
Tested-by: Joe Julian

------------------------------------------------------------------------
r417 | stuge | 2009-02-25 09:07:33 +0100 (Wed, 25 Feb 2009) | 7 lines

Original v2 revision: 3958

flashrom: Add SST25VF040.REMS with TEST_OK_ PROBE READ

Signed-off-by: Zheng Bao <zheng.bao@amd.com>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r416 | stuge | 2009-02-22 22:07:28 +0100 (Sun, 22 Feb 2009) | 9 lines

Original v2 revision: 3956

flashrom: SST29EE020A TEST_OK_ PROBE READ ERASE WRITE

Report by Holger Mickler. Thanks!

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r415 | stuge | 2009-02-09 21:26:14 +0100 (Mon, 09 Feb 2009) | 13 lines

Original v2 revision: 3932

flashrom: Fix broken flash chip base address logic

Elan SC520 requries us to deal with flash chip base addresses at locations
other than top of 4GB. The logic for that was incorrectly triggered also when
a board had more than one flash chip. This patch will honor flashbase only when
probing for the first flash chip on the board, and look at top of 4GB for later
chips.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Myles Watson <mylesgw@gmail.com>

------------------------------------------------------------------------
r414 | stuge | 2009-02-02 23:55:26 +0100 (Mon, 02 Feb 2009) | 7 lines

Original v2 revision: 3927

flashrom: MSI MS-7046 board enable

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: David Tiemann <davidtiemann@gmail.com>

------------------------------------------------------------------------
r413 | ruik | 2009-02-01 19:40:50 +0100 (Sun, 01 Feb 2009) | 9 lines

Original v2 revision: 3926

 Following patch fixes VIA SPI (VT8237S). It needs to have opcodes
 initialized same way as ICH7.

 Signed-off-by: Rudolf Marek <r.marek@assembler.cz>
 Acked-by: Peter Stuge <peter@stuge.se>


------------------------------------------------------------------------
r412 | hailfinger | 2009-01-28 01:27:54 +0100 (Wed, 28 Jan 2009) | 7 lines

Original v2 revision: 3923

Factor out read and erase functions from flashrom main().

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r411 | stuge | 2009-01-26 16:29:27 +0100 (Mon, 26 Jan 2009) | 7 lines

Original v2 revision: 3919

flashrom: Add VT8237A PCI ID

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r410 | stuge | 2009-01-26 16:19:43 +0100 (Mon, 26 Jan 2009) | 9 lines

Original v2 revision: 3918

flashrom: Fix one dead increment and one dead assignment as found by clang.

Thanks Patrick!

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r409 | stuge | 2009-01-26 07:42:02 +0100 (Mon, 26 Jan 2009) | 9 lines

Original v2 revision: 3917

flashrom: Driver for ST M29F002T/NT/B. T/NT TEST_OK_ PROBE READ ERASE WRITE

Test report from Julia. Thanks!

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Julia Longtin <juri@solarnetone.org>

------------------------------------------------------------------------
r408 | stuge | 2009-01-26 05:48:01 +0100 (Mon, 26 Jan 2009) | 7 lines

Original v2 revision: 3916

flashrom: Fix copypaste error in r3913.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r407 | stuge | 2009-01-26 04:37:40 +0100 (Mon, 26 Jan 2009) | 13 lines

Original v2 revision: 3913

flashrom: SST25VF040B using 0x90 identification and AAI write.

SST AAI is Auto Address Increment writing, a streamed write to the flash chip
where the first write command sets a starting address and following commands
simply append data. Unfortunately not supported by Winbond SPI masters.

From July 2008.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r406 | stuge | 2009-01-26 04:23:50 +0100 (Mon, 26 Jan 2009) | 7 lines

Original v2 revision: 3912

flashrom: Decode SST25VF040B status register, also from July 2008.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r405 | stuge | 2009-01-26 04:12:44 +0100 (Mon, 26 Jan 2009) | 7 lines

Original v2 revision: 3911

flashrom: Intel Desktop Board D201GLY

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r404 | stuge | 2009-01-26 04:08:45 +0100 (Mon, 26 Jan 2009) | 10 lines

Original v2 revision: 3910

flashrom: Winbond SuperIO SPI driver.

Developed and tested to work on Intel D201GLY in July 2008.
Tested by a helpful person on IRC whose name I've since forgotten. Sorry!

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Ward Vandewege <ward@gnu.org>

------------------------------------------------------------------------
r403 | stuge | 2009-01-26 03:34:51 +0100 (Mon, 26 Jan 2009) | 7 lines

Original v2 revision: 3909

flashrom: Export Winbond SuperIO register access functions in board_enable.c.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r402 | stuge | 2009-01-26 03:20:56 +0100 (Mon, 26 Jan 2009) | 7 lines

Original v2 revision: 3908

flashrom: Document exit() codes introduced in r3907.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Ward Vandewege <ward@gnu.org>

------------------------------------------------------------------------
r401 | stuge | 2009-01-26 03:04:19 +0100 (Mon, 26 Jan 2009) | 7 lines

Original v2 revision: 3907

flashrom: exit(2) on /dev/mem open() failure and exit(3) on mmap() failure.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Ward Vandewege <ward@gnu.org>

------------------------------------------------------------------------
r400 | stuge | 2009-01-26 02:33:02 +0100 (Mon, 26 Jan 2009) | 7 lines

Original v2 revision: 3906

flashrom: Add license header to physmap.c so everyone is happy. :)

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r399 | stuge | 2009-01-26 02:23:31 +0100 (Mon, 26 Jan 2009) | 11 lines

Original v2 revision: 3905

flashrom: Darwin / Mac OS X

Through DirectIO from coresystems GmbH we now support Darwin/Mac OS X.
DirectIO is available at http://www.coresystems.de/en/directio

Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r398 | stuge | 2009-01-26 02:16:09 +0100 (Mon, 26 Jan 2009) | 7 lines

Original v2 revision: 3904

flashrom: Small cleanup in Makefile.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r397 | stuge | 2009-01-26 02:10:48 +0100 (Mon, 26 Jan 2009) | 8 lines

Original v2 revision: 3903

flashrom: Abstract mmap() in physmap.c and only open /dev/mem on the first physmap() call.

Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r396 | stuge | 2009-01-26 01:39:57 +0100 (Mon, 26 Jan 2009) | 9 lines

Original v2 revision: 3901

flashrom: Change flashrom.c:map_flash_registers() from int to void.

The function exit()s on failure, and no callers check the return value.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r395 | stuge | 2009-01-26 01:19:36 +0100 (Mon, 26 Jan 2009) | 7 lines

Original v2 revision: 3900

flashrom: Forgot some things in r3899.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r394 | stuge | 2009-01-26 01:15:56 +0100 (Mon, 26 Jan 2009) | 7 lines

Original v2 revision: 3899

flashrom: Little readability improvement in cbtable.c:coreboot_init()

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r393 | stuge | 2009-01-26 01:07:25 +0100 (Mon, 26 Jan 2009) | 7 lines

Original v2 revision: 3898

flashrom: Change FreeBSD #ifdef into #if defined()

Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r392 | stuge | 2009-01-26 00:59:30 +0100 (Mon, 26 Jan 2009) | 7 lines

Original v2 revision: 3897

flashrom: Make Makefile a bit more portable. Shell echo doesn't always know -n.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r391 | stuge | 2009-01-26 00:55:12 +0100 (Mon, 26 Jan 2009) | 7 lines

Original v2 revision: 3896

flashrom: Add dry Am29F080B Am29LV081B SST39VF080 definitions per data sheets.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r390 | stuge | 2009-01-26 00:52:45 +0100 (Mon, 26 Jan 2009) | 7 lines

Original v2 revision: 3895

flashrom: Beautify flash chip ID verbose printout a little, always use %02x.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r389 | stuge | 2009-01-25 21:41:51 +0100 (Sun, 25 Jan 2009) | 9 lines

Original v2 revision: 3894

flashrom: Fix stupid off-by-one error in erase verification.

As reported by Jody McIntyre. Thanks!

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r388 | stuge | 2009-01-25 00:01:08 +0100 (Sun, 25 Jan 2009) | 9 lines

Original v2 revision: 3893

flashrom: ST M50FW080 TEST_OK_ PROBE READ ERASE WRITE

Report by Jody McIntyre. Thanks!

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r387 | stuge | 2009-01-24 02:32:40 +0100 (Sat, 24 Jan 2009) | 9 lines

Original v2 revision: 3892

flashrom: SST25VF080B TEST_OK_PROBE

Report by Scaldov M.V. Thanks!

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r386 | stuge | 2009-01-23 06:23:06 +0100 (Fri, 23 Jan 2009) | 7 lines

Original v2 revision: 3890

flashrom: Check all mmap() calls and print helpful Linux error message.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r385 | stuge | 2009-01-22 23:53:59 +0100 (Thu, 22 Jan 2009) | 9 lines

Original v2 revision: 3889

flashrom: Provide some hints for the user in case /dev/mem mmap fails.

resolves #121

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>

------------------------------------------------------------------------
r384 | stuge | 2009-01-18 07:39:32 +0100 (Sun, 18 Jan 2009) | 8 lines

Original v2 revision: 3869

flashrom: Fix ICH9 locking register address and add important debug output.

Signed-off-by: FENG yu ning <fengyuning1984@gmail.com>
Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: FENG yu ning <fengyuning1984@gmail.com>

------------------------------------------------------------------------
r383 | stuge | 2009-01-15 03:13:18 +0100 (Thu, 15 Jan 2009) | 7 lines

Original v2 revision: 3862

flashrom: Add ICH opcode debugging.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r382 | hailfinger | 2009-01-15 01:48:24 +0100 (Thu, 15 Jan 2009) | 18 lines

Original v2 revision: 3861

Similarly to flashchips array, this patch intends to make the table
board_pciid_enables more readable.

Signed-off-by: Stephan Guilloux <stephan.guilloux@free.fr>

> What real problem does this solve?

1. Next time someone adds a new struct member, we avoid mistakes of
ordering of initializers
2. we avoid mistakes in the first place.

The .x = y stuff was added for a (good) reason, I think this is an
improvement.
Acked-by: Ronald G. Minnich <rminnich@gmail.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>

------------------------------------------------------------------------
r381 | stuge | 2009-01-13 15:32:27 +0100 (Tue, 13 Jan 2009) | 7 lines

Original v2 revision: 3860

flashrom: Always print address when verification fails, not only with -V.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r380 | stuge | 2009-01-12 22:31:14 +0100 (Mon, 12 Jan 2009) | 11 lines

Original v2 revision: 3859

flashrom: Board enable for GIGABYTE GA-MA78G-DS3H

This board has 2x MX25L8005 flash chips behind an IT8718F LPC->SPI bridge.
The board uses GIGABYTE's patented BIOS failover technology, and at this point
we do not know how to control which of the two chips flashrom actually hits.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Yul Rottmann <yulrottmann@bitel.net>

------------------------------------------------------------------------
r379 | stuge | 2009-01-12 22:28:03 +0100 (Mon, 12 Jan 2009) | 7 lines

Original v2 revision: 3858

flashrom: IT8718F works just like IT8716F.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Yul Rottmann <yulrottmann@bitel.net>

------------------------------------------------------------------------
r378 | stuge | 2009-01-12 22:00:35 +0100 (Mon, 12 Jan 2009) | 9 lines

Original v2 revision: 3857

flashrom: Check return value of fscanf()/fwrite()/fread()

Fix build error on distros with warn_unused_result attributes in glibc.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Yul Rottmann <yulrottmann@bitel.net>

------------------------------------------------------------------------
r377 | stuge | 2009-01-11 04:31:02 +0100 (Sun, 11 Jan 2009) | 9 lines

Original v2 revision: 3855

flashrom: Update usage in README

Mimicked from flashrom.c

Signed-off-by: Idwer Vollering <vidwer@gmail.com>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r376 | hailfinger | 2009-01-08 17:53:13 +0100 (Thu, 08 Jan 2009) | 13 lines

Original v2 revision: 3853

Add erase and write functions to the following chip definitions:

AT25DF021 AT25DF041A AT25DF081 AT25DF161 AT25DF321 AT25DF321A AT25DF641
AT25F512B AT25FS010 AT25FS040 AT26DF081A AT26DF161 AT26DF161A AT26DF321
AT26F004

Straight from the data sheets, untested because I lack the hardware.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r375 | hailfinger | 2009-01-08 05:56:59 +0100 (Thu, 08 Jan 2009) | 14 lines

Original v2 revision: 3852

The flashrom man page has incomplete author/copyright sections and an
incorrect license section.
- Remove the copyright listings and refer the reader to the source
  files.
- Update the author list to those which have copyright messages in the
source files.
- Correct the license from GPL v2+ to (GPL v2, with some files under
  later versions as well)

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>

------------------------------------------------------------------------
r374 | hailfinger | 2009-01-08 04:40:17 +0100 (Thu, 08 Jan 2009) | 11 lines

Original v2 revision: 3851

This patch improves machine parseability and human readability of
flashchips.c over what's currently in flashrom HEAD.
The explicit initialization makes sure any future struct flashchip
reordering is not needed. (Except for the case where we need arrays
of some of the struct members.)

Signed-off-by: Stephan Guilloux <mailto:stephan.guilloux@free.fr>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>

------------------------------------------------------------------------
r373 | uwe | 2009-01-07 13:35:09 +0100 (Wed, 07 Jan 2009) | 8 lines

Original v2 revision: 3850

Add SST49LF020 support.

Signed-off-by: Sven Schnelle <svens@stackframe.org>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r372 | uwe | 2009-01-07 13:15:46 +0100 (Wed, 07 Jan 2009) | 8 lines

Original v2 revision: 3849

Add AMD-768 chipset support.

Signed-off-by: Sven Schnelle <svens@stackframe.org>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r371 | uwe | 2009-01-07 13:11:13 +0100 (Wed, 07 Jan 2009) | 8 lines

Original v2 revision: 3848

Add i631x LPC support.

Signed-off-by: Sven Schnelle <svens@stackframe.org>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r370 | uwe | 2008-12-22 17:42:59 +0100 (Mon, 22 Dec 2008) | 10 lines

Original v2 revision: 3834

If you pass a bogus layout file to the -l option flashrom will segfault.
Fix that by throwing an error instead.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Peter Stuge <peter@stuge.se>


------------------------------------------------------------------------
r369 | uwe | 2008-12-22 17:40:45 +0100 (Mon, 22 Dec 2008) | 13 lines

Original v2 revision: 3833

Add another board-enable line for the Kontron 986LCD-M/mITX.

There seem to be at least two versions of the board out there, and the
subsystem IDs changed between the versions.

Patch successfully tested on hardware.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Peter Stuge <peter@stuge.se>


------------------------------------------------------------------------
r368 | stuge | 2008-12-22 15:12:08 +0100 (Mon, 22 Dec 2008) | 7 lines

Original v2 revision: 3830

flashrom: Initialize ICH SPI opcodes also for ICH9 and later.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r367 | stuge | 2008-12-15 03:32:11 +0100 (Mon, 15 Dec 2008) | 18 lines

Original v2 revision: 3814

* add a generic preop-opcode-pair table.

* rename ich_check_opcodes to ich_init_opcodes.

* let ich_init_opcodes do not need to access flashchip structure:
  . move the definition of struct preop_opcode_pair to a better place
  . remove preop_opcode_pairs from 'struct flashchip'
  . modify ich_init_opcodes and generate_opcodes so that they do not access the flashchip structure

* call ich_init_opcodes during chipset enable. Now OPCODES generation mechanism works.

* fix a coding style mistake.

Signed-off-by: FENG yu ning <fengyuning1984@gmail.com>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r366 | hailfinger | 2008-12-10 11:32:05 +0100 (Wed, 10 Dec 2008) | 10 lines

Original v2 revision: 3809

Add 28 flash chips of the MX29 series to the flashrom ID table and
support the MX29LV040C.

MX29LV040C probe and read support tested by khetzal on IRC.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>

------------------------------------------------------------------------
r365 | hailfinger | 2008-12-09 00:51:45 +0100 (Tue, 09 Dec 2008) | 7 lines

Original v2 revision: 3806

Kill obsolete and misplaced comment.

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>

------------------------------------------------------------------------
r364 | stepan | 2008-12-08 19:16:58 +0100 (Mon, 08 Dec 2008) | 9 lines

Original v2 revision: 3805

Generates OPCODES struct from the ICH7/ICH9/VIA chipset if its SPI
configuration is locked down.

Signed-off-by: FENG yu ning <fengyuning1984@gmail.com>
Acked-by: Stefan Reinauer <stepan@coresystems.de>


------------------------------------------------------------------------
r363 | stepan | 2008-12-08 19:15:10 +0100 (Mon, 08 Dec 2008) | 8 lines

Original v2 revision: 3804

Breaks chip info into multiple lines.

Signed-off-by: FENG yu ning <fengyuning1984@gmail.com>
Acked-by: Stefan Reinauer <stepan@coresystems.de>


------------------------------------------------------------------------
r362 | stuge | 2008-12-06 02:37:09 +0100 (Sat, 06 Dec 2008) | 18 lines

Original v2 revision: 3803

flashrom: Display test status in -L chip listing

Looks like this:

Supported flash chips:          Tested OK operations:   Known BAD operations:

AMD Am29F002(N)BB                                       
AMD Am29F002(N)BT               PROBE READ ERASE WRITE  
AMD Am29F016D                                           
AMD Am29F040B                   PROBE READ ERASE WRITE  
AMD Am29LV040B                                          
Atmel AT45CS1282                                        READ 

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>

------------------------------------------------------------------------
r361 | stuge | 2008-12-05 12:58:43 +0100 (Fri, 05 Dec 2008) | 11 lines

Original v2 revision: 3799

flashrom: Add AMD SB700 flash enable

This patch adds SB700 support to flashrom. The code for enabling the flash
rom is the same as for SB600. It was tested (read, write, verify) with an
ASUS M3A-H/HDMI which contains a Macronix MX25L8005.

Signed-off-by: Niels Ole Salscheider <niels_ole@salscheider-online.de>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r360 | stuge | 2008-12-05 12:56:57 +0100 (Fri, 05 Dec 2008) | 9 lines

Original v2 revision: 3798

flashrom: Fix compilation of r3797 with gcc-4.3.2

Thanks to Niels Ole Salscheider for the problem report.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r359 | stuge | 2008-12-05 03:22:30 +0100 (Fri, 05 Dec 2008) | 9 lines

Original v2 revision: 3797

flashrom: Check if erase succeeds and exit with error on failure.

flashrom used to exit 0 even if erase failed. Not anymore.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Stefan Reinauer <stepan@coresystems.de>

------------------------------------------------------------------------
r358 | hailfinger | 2008-12-04 01:58:10 +0100 (Thu, 04 Dec 2008) | 30 lines

Original v2 revision: 3793

Add RDID/REMS IDs for the following flash chips:

SST_25VF512A_REMS
SST_25VF010_REMS
SST_25VF020_REMS
SST_25VF040_REMS
SST_25VF040B_REMS
SST_25VF080_REMS
SST_25VF080B_REMS
SST_25VF032B_REMS
SST_26VF016
SST_26VF032
W_25X16
W_25X32
W_25X64

Straight from the data sheets.

The REMS IDs help in case the RDID opcode is unavailable (due to opcode
lockdown) or unsupported by the chip.

Some day, we need to pair probe functions together with IDs. Multiple
pairs can exist per chip and duplicating chip definitions does not
really make sense.

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>

------------------------------------------------------------------------
r357 | stuge | 2008-12-04 00:36:48 +0100 (Thu, 04 Dec 2008) | 9 lines

Original v2 revision: 3792

flashrom: gcc thinks base could be used uninitialized, so shut it up.

Bug from r3791.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r356 | stuge | 2008-12-03 22:39:56 +0100 (Wed, 03 Dec 2008) | 10 lines

Original v2 revision: 3791

flashrom: Fix bug in r3790

If flashbase was set before probe_flash() it would only ever be used once, for
the very first flash chip probe.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r355 | stuge | 2008-12-03 22:24:40 +0100 (Wed, 03 Dec 2008) | 10 lines

Original v2 revision: 3790

Replace #ifdefs for sc520 systems by run time probing.

fixes #109

Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>

------------------------------------------------------------------------
r354 | stepan | 2008-11-29 16:07:15 +0100 (Sat, 29 Nov 2008) | 9 lines

Original v2 revision: 3782

Copyright update by Jason Wang for freshly written sb600 code.

Signed-off-by:  Jason Wang<Qingpei.wang@amd.com>
Reviewed-by:    Joe, Bao <Zheng.Bao@amd.com>
Acked-by: Stefan Reinauer <stepan@coresystems.de>


------------------------------------------------------------------------
r353 | hailfinger | 2008-11-29 00:47:55 +0100 (Sat, 29 Nov 2008) | 7 lines

Original v2 revision: 3781

Declare special commands to support the Atmel AT25F512A.

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>

------------------------------------------------------------------------
r352 | hailfinger | 2008-11-29 00:45:27 +0100 (Sat, 29 Nov 2008) | 9 lines

Original v2 revision: 3780

If a chip has any TEST_BAD_* flag set, we don't even list the
unsupported functions, giving the user the impression that the
unsupported functions are tested.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r351 | uwe | 2008-11-28 22:36:51 +0100 (Fri, 28 Nov 2008) | 11 lines

Original v2 revision: 3779

Add support for the AMD/ATI SB600 southbridge SPI functionality.

This has been tested by Uwe Hermann on an RS690/SB600 board.

Signed-off-by: Jason Wang <Qingpei.Wang@amd.com>
Reviewed-by: Joe Bao <zheng.bao@amd.com>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r350 | hailfinger | 2008-11-28 06:40:27 +0100 (Fri, 28 Nov 2008) | 10 lines

Original v2 revision: 3776

Add SST25VF080B flash chip support.
This is the first chip which uses the infrastructure for alternative
erase commands, namely spi_chip_erase_60_c7().

Signed-off-by:  Jason Wang <Qingpei.Wang@amd.com>
Reviewed-by:   Joe Bao <zheng.bao@amd.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>

------------------------------------------------------------------------
r349 | hailfinger | 2008-11-28 02:25:00 +0100 (Fri, 28 Nov 2008) | 24 lines

Original v2 revision: 3775

Flashrom already has the following probe functions:
- probe_spi_rdid with opcode 0x9f, usually 3 bytes ID
- probe_spi_res with opcode 0xab, usually 1 byte ID
We are missing the following probe function:
- probe_spi_rems with opcode 0x90, usually 2 bytes ID

RDID provides best specifity (manufacturer, device class and device) and
RES is supported by quite a few old chips. However, RES only returns one
byte and there are multiple flash chips with different sizes on the
market and all of them have the same RES ID.
REMS is from the same age as RES, but it provides a manufacturer and a
device ID. It is therefore on par with the probing for parallel flash
chips and specific enough.

The order in which chips should be detected is as follows:
1. RDID
2. REMS
3. RES

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r348 | hailfinger | 2008-11-27 23:48:48 +0100 (Thu, 27 Nov 2008) | 18 lines

Original v2 revision: 3774

The existing check in probe_spi_res() was right for SPI controllers
which support all commands, but may not exist.
For controllers which support only a subset of commands, it will fail in
unexpected ways. Even if a command is supported by the controller, it
may be unavailable if the controller is locked down.

The new logic checks if RDID could be issued and its return values made
sense (not 0xff 0xff 0xff). In that case, RES probing is not performed.
Otherwise, we try RES.
There is one drawback: If RDID returned unexpected values, we don't
issue a RES probe. However, in that case we should try to match RDID
anyway.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: FENG yu ning <fengyuning1984@gmail.com>

------------------------------------------------------------------------
r347 | stuge | 2008-11-24 21:23:23 +0100 (Mon, 24 Nov 2008) | 9 lines

Original v2 revision: 3769

Add support for 32Mbit SPI flash SST25VF032B. Tested on gigabyte m57sli.

File util/flashrom/flash.h already had correct ID for that part.

Signed-off-by: Tero O Peippola <xeropp@gmail.com>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r346 | hailfinger | 2008-11-18 01:43:14 +0100 (Tue, 18 Nov 2008) | 11 lines

Original v2 revision: 3758

Currently flashrom assumes every vendor BIOS shares our view about which
SPI opcodes should be placed in which location. Move to a less
optimistic implementation and actually use the generic SPI read
functions. They're useful for abstracting exactly this stuff and that
makes them the preferred choice.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Reinauer <stepan@coresystems.de>

------------------------------------------------------------------------
r345 | hailfinger | 2008-11-18 01:41:02 +0100 (Tue, 18 Nov 2008) | 22 lines

Original v2 revision: 3757

Check for failed SPI command execution in flashrom. Although SPI itself
does not have a mechanism to signal command failure, the SPI host may be
unable to send a given command over the wire due to security or hardware
limitations. The current code ignores these mechanisms completely and
simply assumes almost every command succeeds. Complain if SPI command
execution fails.

Since locked down Intel chipsets (like the one we had problems with
earlier) only allow a small subset of commands, find the common subset
of commands between the chipset and the ROM in the chip erase case. That
is accomplished by the new spi_chip_erase_60_c7() which can be used for
chips supporting both 0x60 and 0xc7 chip erase commands.

Both parts of the patch address problems seen in the real world. The
increased verbosity for the error case will help us diagnose and address
problems better.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Otherwise: Acked-by: Stefan Reinauer <stepan@coresystems.de>

------------------------------------------------------------------------
r344 | hailfinger | 2008-11-18 01:36:26 +0100 (Tue, 18 Nov 2008) | 24 lines

Original v2 revision: 3756

Implement read support for the following Atmel chips:
AT25DF021
AT25DF041A
AT25DF081
AT25DF161
AT25DF321A
AT25DF641
AT25F512B
AT25FS010
AT25FS040
AT26DF041
AT26DF081A
AT26DF161
AT26DF161A
AT26DF321
AT26F004

I double-checked the data sheets and am confident this will work.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Reinauer <stepan@coresystems.de>

------------------------------------------------------------------------
r343 | mraudsepp | 2008-11-17 16:31:56 +0100 (Mon, 17 Nov 2008) | 8 lines

Original v2 revision: 3755

flashrom: SST39VF020 TEST_OK_ PROBE READ ERASE WRITE

Tested fully on a ThinCan DBE61A

Signed-off-by: Mart Raudsepp <mart.raudsepp@artecdesign.ee>
Acked-by: Mart Raudsepp <mart.raudsepp@artecdesign.ee>
------------------------------------------------------------------------
r342 | hailfinger | 2008-11-15 14:55:43 +0100 (Sat, 15 Nov 2008) | 60 lines

Original v2 revision: 3754

The AT25 and AT26 series SPI chips from Atmel are plain EEPROMs.
The AT45 series SPI chips are DataFlash EEPROMs which means they have
odd (non-power-of-two) sector sizes, but some of the DataFlash chips can
be configured or ordered with power-of-two sector sizes.

Add probe support for the following Atmel SPI chips:
AT25DF021
AT25DF041A
AT25DF081
AT25DF161
AT25DF321A
AT25DF641
AT25F512B
AT25FS010
AT25FS040
AT26DF041
AT26DF081A
AT26DF161
AT26DF161A
AT26DF321
AT26F004
AT45CS1282
AT45DB011D
AT45DB021D
AT45DB041D
AT45DB081D
AT45DB161D
AT45DB321C
AT45DB321D
AT45DB642D

Add an explanation why the following chips can't be probed:
AT45BR3214B
AT45D011
AT45D021A
AT45D041A
AT45D081A
AT45D161
AT45DB011
AT45DB011B
AT45DB021A
AT45DB021B
AT45DB041A
AT45DB081A
AT45DB161
AT45DB161B
AT45DB321
AT45DB321B
AT45DB642

Add the ID, but no probing function for this chip:
AT25F512A

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Tested-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Tested-by: Andriy Gapon <avg@icyb.net.ua>
Acked-by: Myles Watson <mylesgw@gmail.com>

------------------------------------------------------------------------
r341 | stuge | 2008-11-08 02:39:12 +0100 (Sat, 08 Nov 2008) | 9 lines

Original v2 revision: 3736

flashrom: SST39SF040 TEST_OK_ PROBE READ ERASE WRITE

Per report from Mario Rogen. Thanks!

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r340 | hailfinger | 2008-11-05 23:54:36 +0100 (Wed, 05 Nov 2008) | 8 lines

Original v2 revision: 3731

The ST M25P16 chip has been confirmed to work fine for probe, read,
erase and write by St?\195?\169phan Guilloux.

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>

------------------------------------------------------------------------
r339 | hailfinger | 2008-11-04 13:11:12 +0100 (Tue, 04 Nov 2008) | 25 lines

Original v2 revision: 3730

Add support for 8 new chips to flashrom 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.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>

------------------------------------------------------------------------
r338 | hailfinger | 2008-11-03 01:20:22 +0100 (Mon, 03 Nov 2008) | 8 lines

Original v2 revision: 3723

Dump ICH8/ICH9/ICH10 SPI registers in flashrom.
This helps a lot if we have to track down configuration weirdnesses.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Reinauer <stepan@coresystems.de>

------------------------------------------------------------------------
r337 | hailfinger | 2008-11-03 01:02:11 +0100 (Mon, 03 Nov 2008) | 21 lines

Original v2 revision: 3722

Add additional SPI sector erase and chip erase command functions to
flashrom. 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.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Reinauer <stepan@coresystems.de>

------------------------------------------------------------------------
r336 | stepan | 2008-11-02 20:51:50 +0100 (Sun, 02 Nov 2008) | 9 lines

Original v2 revision: 3721

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.

Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>


------------------------------------------------------------------------
r335 | hailfinger | 2008-11-02 15:25:11 +0100 (Sun, 02 Nov 2008) | 10 lines

Original v2 revision: 3717

Add support for the ST M50FW002 chip to flashrom. Identification only,
erase/write are not implemented.

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

tested and
Acked-by: Elia Yehuda <z4ziggy@gmail.com>

------------------------------------------------------------------------
r334 | uwe | 2008-10-30 04:10:17 +0100 (Thu, 30 Oct 2008) | 13 lines

Original v2 revision: 3708

Mark two more chips as fully tested (trivial).

 - SST SST39SF010A
 - Winbond W29C011

Tested by me on actual hardware, all operations.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r333 | stepan | 2008-10-29 23:13:20 +0100 (Wed, 29 Oct 2008) | 10 lines

Original v2 revision: 3707

Flashrom support for some Numonyx parts (M25PE)

using block erase d8 as discussed with Peter Stuge

Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>


------------------------------------------------------------------------
r332 | eswierk | 2008-10-29 15:54:36 +0100 (Wed, 29 Oct 2008) | 8 lines

Original v2 revision: 3706

Enable SPI boot flash support on EP80579, which has the ICH7 register set
(trivial).

Signed-off-by: Ed Swierk <eswierk@aristanetworks.com>
Acked-by: Ed Swierk <eswierk@aristanetworks.com>

------------------------------------------------------------------------
r331 | uwe | 2008-10-28 13:00:59 +0100 (Tue, 28 Oct 2008) | 12 lines

Original v2 revision: 3697

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 (wiki page will be updated).

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r330 | uwe | 2008-10-28 12:50:05 +0100 (Tue, 28 Oct 2008) | 11 lines

Original v2 revision: 3696

Add support for the Intel 82371MX (MPIIX) southbridge (trivial).

Untested, but should work just as well as the other *PIIX* southbridges
according to the datasheets.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r329 | uwe | 2008-10-26 19:40:42 +0100 (Sun, 26 Oct 2008) | 10 lines

Original v2 revision: 3694

Add support for the Intel 82371FB PIIX and 82371SB (PIIX3) southbridges.

Tested on PIIX3 hardware.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Corey Osgood <corey.osgood@gmail.com>


------------------------------------------------------------------------
r328 | uwe | 2008-10-25 20:03:50 +0200 (Sat, 25 Oct 2008) | 8 lines

Original v2 revision: 3693

Add support for the VIA VT82C586A/B chipset, improve documentation.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>


------------------------------------------------------------------------
r327 | uwe | 2008-10-22 00:09:02 +0200 (Wed, 22 Oct 2008) | 10 lines

Original v2 revision: 3682

Reduce serial output, otherwise flashing will fail very often (trivial).

This has been tested on hardware by me.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r326 | uwe | 2008-10-18 23:14:13 +0200 (Sat, 18 Oct 2008) | 8 lines

Original v2 revision: 3669

Coding-style fixes for flashrom, partly indent-aided (trivial).

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r325 | stuge | 2008-10-18 15:54:30 +0200 (Sat, 18 Oct 2008) | 10 lines

Original v2 revision: 3668

flashrom: 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.

Signed-off-by: Urja Rannikko <urjaman@gmail.com>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r324 | mjones | 2008-10-15 19:50:29 +0200 (Wed, 15 Oct 2008) | 11 lines

Original v2 revision: 3659

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.

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>


------------------------------------------------------------------------
r323 | hailfinger | 2008-10-10 22:54:41 +0200 (Fri, 10 Oct 2008) | 10 lines

Original v2 revision: 3648

Add ICH10 support to flashrom.

The ICH9 and ICH10 data sheets are identical regarding FWH/SPI flash
interfaces, so this just adds the required PCI IDs.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r322 | stuge | 2008-10-10 22:43:17 +0200 (Fri, 10 Oct 2008) | 7 lines

Original v2 revision: 3647

flashrom: Check that a filename was specified also when using force read

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r321 | uwe | 2008-10-07 14:21:12 +0200 (Tue, 07 Oct 2008) | 12 lines

Original v2 revision: 3639

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.

Signed-off-by: Mats Erik Andersson <mats.andersson@gisladisker.se>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r320 | stuge | 2008-09-30 06:13:32 +0200 (Tue, 30 Sep 2008) | 14 lines

Original v2 revision: 3619

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.

Signed-off-by: Tim ter Laak <timl@scintilla.utwente.nl>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r319 | stuge | 2008-09-30 06:00:23 +0200 (Tue, 30 Sep 2008) | 9 lines

Original v2 revision: 3618

flashrom: ST M29F040B status TEST_OK_ PROBE READ ERASE WRITE

Per report from Daniel Lindenaar. Thanks!

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r318 | stuge | 2008-09-29 23:21:36 +0200 (Mon, 29 Sep 2008) | 7 lines

Original v2 revision: 3616

flashrom: Fix typo in r3615 (TEST_PREW -> TEST_OK_PREW)

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r317 | uwe | 2008-09-29 20:48:23 +0200 (Mon, 29 Sep 2008) | 10 lines

Original v2 revision: 3615

Mark the SyncMOS S29C51002T as working (trivial).

All operations tested by me on hardware.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r316 | uwe | 2008-09-26 15:19:02 +0200 (Fri, 26 Sep 2008) | 13 lines

Original v2 revision: 3602

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.

Signed-off-by: Mats Erik Andersson <mats.andersson@gisladisker.se>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r315 | stuge | 2008-09-10 11:55:10 +0200 (Wed, 10 Sep 2008) | 9 lines

Original v2 revision: 3570

flashrom: Winbond W49V002A TEST_OK_ PROBE READ ERASE WRITE

Per report from Kevin O'Connor. Thanks Kevin!

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r314 | stuge | 2008-09-07 05:14:27 +0200 (Sun, 07 Sep 2008) | 7 lines

Original v2 revision: 3569

flashrom: Debug print actual time base calculated by myusec_calibrate_delay()

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r313 | stuge | 2008-09-04 01:10:05 +0200 (Thu, 04 Sep 2008) | 13 lines

Original v2 revision: 3562

flashrom: 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.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Stefan Reinauer <stepan@coresystems.de>

------------------------------------------------------------------------
r312 | stuge | 2008-09-02 02:26:11 +0200 (Tue, 02 Sep 2008) | 9 lines

Original v2 revision: 3557

flashrom: SST49LF016C TEST_OK_ PROBE READ ERASE WRITE

Per test report from Bari Ari. Thanks!

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r311 | stuge | 2008-08-27 23:28:41 +0200 (Wed, 27 Aug 2008) | 9 lines

Original v2 revision: 3541

flashrom: SST25VF016B TEST_OK_ PROBE READ ERASE WRITE

Per test report from Ward.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r310 | hailfinger | 2008-08-20 22:31:41 +0200 (Wed, 20 Aug 2008) | 7 lines

Original v2 revision: 3532

flashrom: Recognize the Intel EP80579 LPC flash interface.

Signed-off-by: Ed Swierk <eswierk@arastra.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>

------------------------------------------------------------------------
r309 | uwe | 2008-08-19 23:51:39 +0200 (Tue, 19 Aug 2008) | 9 lines

Original v2 revision: 3528

Add support for MSI KT4V to flashrom. The KT4V is autodetected and supports
the KT3 Ultra 2 with "-m msi:kt4v" (but is not autodetected, yet).

Signed-off-by: Sean Nelson <snelson@nmt.edu>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r308 | segher | 2008-08-12 13:58:00 +0200 (Tue, 12 Aug 2008) | 13 lines

Original v2 revision: 3502

flashrom: 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.

Signed-off-by: Segher Boessenkool <segher@kernel.crashing.org>
Acked-by: Stefan Reinauer <stepan@coresystems.de>

------------------------------------------------------------------------
r307 | stuge | 2008-08-08 12:55:57 +0200 (Fri, 08 Aug 2008) | 9 lines

Original v2 revision: 3485

flashrom: ST M50FW040 TEST_OK PROBE READ ERASE WRITE

Per test report from Marcel Konrad. Thanks!

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r306 | stepan | 2008-08-02 17:13:58 +0200 (Sat, 02 Aug 2008) | 8 lines

Original v2 revision: 3464

update copyright year (trivial)

Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>


------------------------------------------------------------------------
r305 | stepan | 2008-08-02 16:58:49 +0200 (Sat, 02 Aug 2008) | 8 lines

Original v2 revision: 3462

tested another intel chip (trivial)

Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>


------------------------------------------------------------------------
r304 | stuge | 2008-07-21 19:48:40 +0200 (Mon, 21 Jul 2008) | 15 lines

Original v2 revision: 3431

flashrom: 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.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>

------------------------------------------------------------------------
r303 | hailfinger | 2008-07-11 02:06:38 +0200 (Fri, 11 Jul 2008) | 8 lines

Original v2 revision: 3420

Fix and clean up coreboot image detection heuristic.
Additional compile fix for NetBSD.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Reinauer <stepan@coresystems.de>

------------------------------------------------------------------------
r302 | stuge | 2008-07-07 08:38:51 +0200 (Mon, 07 Jul 2008) | 17 lines

Original v2 revision: 3418

flashrom: 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.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r301 | stuge | 2008-07-07 07:14:06 +0200 (Mon, 07 Jul 2008) | 7 lines

Original v2 revision: 3417

flashrom: Trivial indent fix in ichspi.c

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r300 | hailfinger | 2008-07-07 01:04:01 +0200 (Mon, 07 Jul 2008) | 11 lines

Original v2 revision: 3416

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.

Trivial.

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>

------------------------------------------------------------------------
r299 | stuge | 2008-07-06 19:35:30 +0200 (Sun, 06 Jul 2008) | 19 lines

Original v2 revision: 3415

flashrom: 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.

Signed-off-by: Andreas Thienemann <andreas@bawue.net>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r298 | stepan | 2008-07-05 11:48:30 +0200 (Sat, 05 Jul 2008) | 8 lines

Original v2 revision: 3414

Adding support for flashing system with Nvidia MCP67

Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>


------------------------------------------------------------------------
r297 | stuge | 2008-07-05 06:12:37 +0200 (Sat, 05 Jul 2008) | 10 lines

Original v2 revision: 3413

flashrom: 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.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r296 | uwe | 2008-07-03 21:26:44 +0200 (Thu, 03 Jul 2008) | 8 lines

Original v2 revision: 3412

Minor cosmetics, e.g. make stuff fit in 80 chars/line etc. (trivial).

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r295 | hailfinger | 2008-07-03 21:08:52 +0200 (Thu, 03 Jul 2008) | 8 lines

Original v2 revision: 3411

Mark SST49LF040B as tested.
Thanks to Paul Seidler and Ward Vandewege for testing.

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>

------------------------------------------------------------------------
r294 | uwe | 2008-07-03 20:58:58 +0200 (Thu, 03 Jul 2008) | 8 lines

Original v2 revision: 3410

Mark the SST SST49LF040 as OK (tested by me), all operations (trivial).

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r293 | stuge | 2008-07-03 18:54:05 +0200 (Thu, 03 Jul 2008) | 9 lines

Original v2 revision: 3409

flashrom: Winbond W25x80 TEST_OK PROBE READ ERASE WRITE

Per test report from Bj?\195?\182rn Gerhart. Thanks!

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r292 | hailfinger | 2008-07-03 16:40:06 +0200 (Thu, 03 Jul 2008) | 9 lines

Original v2 revision: 3408

Improve coreboot image detection heuristic in flashrom. 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.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Reinauer <stepan@coresystems.de> 

------------------------------------------------------------------------
r291 | stuge | 2008-07-02 19:15:47 +0200 (Wed, 02 Jul 2008) | 7 lines

Original v2 revision: 3407

flashrom: probe_flash() cleanup for better code readability

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Stefan Reinauer <stepan@coresystems.de>

------------------------------------------------------------------------
r290 | stepan | 2008-07-02 15:33:09 +0200 (Wed, 02 Jul 2008) | 12 lines

Original v2 revision: 3406

set w39v080fa to fully supported. I'm am flashing this chip several times a
day.
Also enable unlocking which is only needed when running coreboot, that slipped
in the original commit and through the original review ;-) So it must be
trivial enough.

Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>


------------------------------------------------------------------------
r289 | stuge | 2008-07-02 05:07:46 +0200 (Wed, 02 Jul 2008) | 9 lines

Original v2 revision: 3405

flashrom: Update to TEST_OK for Winbond W39V040FA PROBE READ

Thanks to Jake for the test report!

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r288 | stuge | 2008-07-02 05:03:58 +0200 (Wed, 02 Jul 2008) | 7 lines

Original v2 revision: 3404

flashrom: Don't rm *~ in make clean, who knows what files that could be

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>

------------------------------------------------------------------------
r287 | stuge | 2008-07-02 02:59:29 +0200 (Wed, 02 Jul 2008) | 9 lines

Original v2 revision: 3403

flashrom: Unknown vendor:board message can be triggered by -m too

Thanks to Stefan for pointing this one out.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r286 | stuge | 2008-07-02 02:47:30 +0200 (Wed, 02 Jul 2008) | 10 lines

Original v2 revision: 3402

flashrom: Case insensitive matching of vendor:board strings in coreboot table

Needed at least for GIGABYTE:m57sli in coreboot to match gigabyte:m57sli in
flashrom.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Stefan Reinauer <stepan@coresystems.de>

------------------------------------------------------------------------
r285 | stepan | 2008-07-01 01:45:22 +0200 (Tue, 01 Jul 2008) | 18 lines

Original v2 revision: 3401

First attempt to clean up SPI probing and create a common
construct: the flash bus.

At some point the flash bus will be part of struct flashchip.

Pardon me for pushing this in, but I think it is important to beware of further
decay and it will improve things for other developers in the short run.

Carl-Daniel, I will consider your suggestions in another patch. I want to keep
things from getting too much for now. The patch includes Rudolf's VIA SPI
changes though.

Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>


------------------------------------------------------------------------
r284 | ruik | 2008-06-30 23:48:54 +0200 (Mon, 30 Jun 2008) | 8 lines

Original v2 revision: 3400

Mine AMIC flash chip needs 4 bytes RDID. This enables to use the new probing code.

Signed-off-by: Rudolf Marek <r.marek@assembler.cz>
Acked-by: Peter Stuge <peter@stuge.se>


------------------------------------------------------------------------
r283 | ruik | 2008-06-30 23:45:17 +0200 (Mon, 30 Jun 2008) | 8 lines

Original v2 revision: 3399

Mine AMIC flash chip needs 4 bytes RDID. Following patch adds support for that.

Signed-off-by: Rudolf Marek <r.marek@assembler.cz>
Acked-by: Peter Stuge <peter@stuge.se>


------------------------------------------------------------------------
r282 | ruik | 2008-06-30 23:38:30 +0200 (Mon, 30 Jun 2008) | 9 lines

Original v2 revision: 3398

This patch adds support for VIA SPI controller on VT8237S. It is similar with
few documented exceptions to ICH7 SPI controller.

Signed-off-by: Rudolf Marek <r.marek@assembler.cz>
Acked-by: Peter Stuge <peter@stuge.se>


------------------------------------------------------------------------
r281 | hailfinger | 2008-06-29 12:57:13 +0200 (Sun, 29 Jun 2008) | 7 lines

Original v2 revision: 3397

Add a debug marker after ICH SPI opcode programming.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Reinauer <stepan@coresystems.de>

------------------------------------------------------------------------
r280 | stuge | 2008-06-29 03:30:41 +0200 (Sun, 29 Jun 2008) | 12 lines

Original v2 revision: 3395

flashrom: Fix ICH7 non-SPI that broke in r3393

r3393 assumed that ICH7 always used SPI. This patch resets ich7_detected back
to 0 when BOOT BIOS Straps indicate something else than SPI.

Also fixes a build error in ichspi.c with gcc 4.2.2.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>

------------------------------------------------------------------------
r279 | hailfinger | 2008-06-29 01:02:22 +0200 (Sun, 29 Jun 2008) | 7 lines

Original v2 revision: 3394

Use symbolic constants for PCI subsystem probing in flashrom.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Reinauer <stepan@coresystems.de>

------------------------------------------------------------------------
r278 | stepan | 2008-06-27 18:28:34 +0200 (Fri, 27 Jun 2008) | 11 lines

Original v2 revision: 3393

* ICH7 SPI support
* fix some variable names in ichspi.c (Offset -> offset)
* Dump ICH7 SPI bar with -V
* Improve error message in case IOPL goes wrong. (It might not even be an IOPL)

Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Peter Stuge <peter@stuge.se>


------------------------------------------------------------------------
r277 | stepan | 2008-06-27 17:18:20 +0200 (Fri, 27 Jun 2008) | 6 lines

Original v2 revision: 3392

indent according to development guidelines (trivial)
Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>

------------------------------------------------------------------------
r276 | uwe | 2008-06-26 13:57:27 +0200 (Thu, 26 Jun 2008) | 8 lines

Original v2 revision: 3390

Winbond W39V080FA: Probe and Read are OK.

Signed-off-by: Jens K?\195?\188hnel <coreboot@jens.kuehnel.org>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r275 | stuge | 2008-06-24 10:18:13 +0200 (Tue, 24 Jun 2008) | 9 lines

Original v2 revision: 3389

flashrom: Test status OK for ST M50FW040 PROBE READ

Per test report from Alex Perez. Thanks Alex!

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r274 | stuge | 2008-06-24 06:17:14 +0200 (Tue, 24 Jun 2008) | 9 lines

Original v2 revision: 3388

flashrom: Test status OK for Macronix MX25L8005 PROBE READ ERASE WRITE

Per test report from Andrew Paprocki. Thanks Andrew!

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r273 | stuge | 2008-06-24 04:09:09 +0200 (Tue, 24 Jun 2008) | 10 lines

Original v2 revision: 3387

flashrom: Increase delay in probe_jedec() after Product ID Entry to 10ms

We should follow data sheet timing, even if chips have been tested to answer
faster in the field.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r272 | stuge | 2008-06-24 03:22:03 +0200 (Tue, 24 Jun 2008) | 16 lines

Original v2 revision: 3386

flashrom: Slight restructure of SPI probe_ functions

Preparation for a probe optimization patch. This patch does not change any
functionality. spi_probe_rdid was tested to still work on my M57SLI rev 2.

The idea is to have error checks return error immediately when something
fails, rather than having code inside an if block where the condition
tests for success.

This means: Less indentation, more clear what the code is checking.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Ward Vandewege <ward@gnu.org>

------------------------------------------------------------------------
r271 | uwe | 2008-06-22 20:50:25 +0200 (Sun, 22 Jun 2008) | 8 lines

Original v2 revision: 3385

Some flashrom documentation fixes, and removal of duplicated info (trivial).

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r270 | stuge | 2008-06-22 19:54:03 +0200 (Sun, 22 Jun 2008) | 7 lines

Original v2 revision: 3384

flashrom: A few changes were committed before the DoC remove, update README.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r269 | stepan | 2008-06-22 19:06:41 +0200 (Sun, 22 Jun 2008) | 15 lines

Original v2 revision: 3382

flashrom: Remove dead M-Systems Disk on Chip code

DOC support has been disabled by default for many years. The write function
does nothing but print text. It has a call to write_page_md2802() commented
out, but that function does not exist. This is dead code with ugly #ifdefs.

Updates README to reflect that there was a time when there was code, but it
didn't work. Removes M-Systems #defines and also includes svn rm msys_doc.*

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Stefan Reinauer <stepan@coresystems.de>


------------------------------------------------------------------------
r268 | stuge | 2008-06-22 04:04:49 +0200 (Sun, 22 Jun 2008) | 9 lines

Original v2 revision: 3379

flashrom: Update test status to TEST_OK_PREW for ST M50FLW080A and SST49LF008A

Many thanks to Julio Cesar Costa for the test report!

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r267 | stuge | 2008-06-22 04:00:39 +0200 (Sun, 22 Jun 2008) | 7 lines

Original v2 revision: 3378

flashrom: Some Makefile cleaning

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r266 | stuge | 2008-06-21 06:39:17 +0200 (Sat, 21 Jun 2008) | 7 lines

Original v2 revision: 3377

flashrom: Fix OBJS in Makefile to compile stm50flw0x0x.c like the others

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r265 | stuge | 2008-06-21 06:23:10 +0200 (Sat, 21 Jun 2008) | 7 lines

Original v2 revision: 3376

flashrom: Uppercase AMIC since that's what they write in datasheets.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r264 | stuge | 2008-06-21 03:02:20 +0200 (Sat, 21 Jun 2008) | 7 lines

Original v2 revision: 3375

flashrom: Update comment to match delay change in probe_jedec() r3373

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r263 | stuge | 2008-06-21 02:21:22 +0200 (Sat, 21 Jun 2008) | 9 lines

Original v2 revision: 3374

flashrom: Update test status for Atmel AT29C020 and SST29EE010

Thanks to Urja Rannikko for reporting test results with these flash chips.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r262 | stuge | 2008-06-21 02:19:52 +0200 (Sat, 21 Jun 2008) | 10 lines

Original v2 revision: 3373

flashrom: Increase delay in probe_jedec() to 2ms to reliably detect AT29C020

Run time is increased a few 100ms but this is needed for reliability.
I consider this trivial.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r261 | stuge | 2008-06-20 04:58:42 +0200 (Fri, 20 Jun 2008) | 7 lines

Original v2 revision: 3372

flashrom: Show expected and read byte on verify failure. Trivial.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r260 | stuge | 2008-06-18 15:36:34 +0200 (Wed, 18 Jun 2008) | 24 lines

Original v2 revision: 3368

flashrom: Add support for AMIC Technology A49LF040A and do not probe W29EE011 anymore

Jens sent the first patch that added A49LF040A to flash.h and flashchips.c
using _jedec and _49lf040 functions.

An issue was found with probe_w29ee011() for the Winbond W29EE011, which
caused the A49LF040A to no longer respond to any commands.

Ward made a patch to disable probing by default for the W29EE011 following
some discussion. Using -c W29EE011 will make flashrom probe for the chip.

Peter did some more datasheet diving and found that the Pm49FL00x functions
suited this chip quite well because of the block locking registers in
A49LF040A, and finally tested PROBE READ ERASE WRITE to work on ALIX.3c3.

Ward confirmed that this works on alix.2c3 too.

Signed-off-by: Jens Kuehnel <coreboot@jens.kuehnel.org>
Signed-off-by: Ward Vandewege <ward@gnu.org>
Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Ward Vandewege <ward@gnu.org>

------------------------------------------------------------------------
r259 | stuge | 2008-06-18 04:08:40 +0200 (Wed, 18 Jun 2008) | 19 lines

Original v2 revision: 3367

flashrom: Force read unknown flash chips

When flash chip detection fails, it is still useful and possible to read the
flash chip contents. If no flash chip is found in normal probes and the
-f -r -c CHIPNAME options are given, a successful probe for the specified
chip is forced, and then flashrom reads the flash chip using either the read
function for the specified chip, or if there is none, a simple memcpy().

The patch also moves the global variable int force in flashrom.c into main()
and passes it as a parameter to layout.c:show_id(), which was the only other
function that used the variable. This is needed to avoid confusion with the
new parameter int force which is added to flashrom.c:probe_flash() and used
to force probe success for the chip named in char *chip_to_probe.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Ward Vandewege <ward@gnu.org>

------------------------------------------------------------------------
r258 | stuge | 2008-06-13 03:39:45 +0200 (Fri, 13 Jun 2008) | 10 lines

Original v2 revision: 3366

flashrom: Board enable and autodetection for GIGABYTE GA-7VT600

Uses the VT8237 ISA bridge with mainboard subsystem ID and Realtek 8139 with
mainboard subsystem ID for board detection.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Lyos Gemini Norezel <lyos.gemininorezel@gmail.com>

------------------------------------------------------------------------
r257 | stuge | 2008-06-11 04:24:15 +0200 (Wed, 11 Jun 2008) | 9 lines

Original v2 revision: 3365

flashrom: Add support for Amic Technology A29040B flash chip.

PROBE READ tested by Lyos Gemini Norezel on BioStar P4M80-M4.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Lyos Gemini Norezel <lyos.gemininorezel@gmail.com>

------------------------------------------------------------------------
r256 | stuge | 2008-06-11 04:22:42 +0200 (Wed, 11 Jun 2008) | 13 lines

Original v2 revision: 3364

flashrom: Board enable and autodetection for BioStar P4M80-M4.

Thanks to Reinder for clean room reverse engineering and data sheet diving!

This board is autodetected because there are some good BioStar subsystem IDs.
Matching uses onboard VT6420 SATA RAID with subsystem BioStar 3206 and
onboard UniChrome Pro IGP graphics with subsystem BioStar 1202.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Lyos Gemini Norezel <lyos.gemininorezel@gmail.com>

------------------------------------------------------------------------
r255 | stuge | 2008-06-03 02:22:00 +0200 (Tue, 03 Jun 2008) | 14 lines

Original v2 revision: 3360

Ward writes:

SST SST49LF160C is confirmed to work for PROBE READ ERASE WRITE, at least on
2 MCP55-based boards (gigabyte m57sli v1 and supermicro h8dmr).

On the m57sli board, it only works > 512K when booted into coreboot; the
proprietary bios seems to do something weird where it locks rom access down
to the first 512K of the chip.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r254 | mraudsepp | 2008-05-28 01:51:55 +0200 (Wed, 28 May 2008) | 7 lines

Original v2 revision: 3358

Revert r3357 and fix it as intended to (forgotten header commit instead of typo)

Signed-off-by: Mart Raudsepp <mart.raudsepp@artecdesign.ee>
Acked-by: Mart Raudsepp <mart.raudsepp@artecdesign.ee>

------------------------------------------------------------------------
r253 | mraudsepp | 2008-05-28 00:20:30 +0200 (Wed, 28 May 2008) | 7 lines

Original v2 revision: 3357

Fix typo introduced in r3356 that breaks build (trivial).

Signed-off-by: Mart Raudsepp <mart.raudsepp@artecdesign.ee>
Acked-by: Mart Raudsepp <mart.raudsepp@artecdesign.ee>

------------------------------------------------------------------------
r252 | stuge | 2008-05-27 22:54:09 +0200 (Tue, 27 May 2008) | 13 lines

Original v2 revision: 3356

flashrom: MX25L4005, S25FL016A, W39V040B, W39V080A, SST49LF008A tests.

I have tested MX25L4005, S25FL016A and W39V080A myself.

Thanks also to the following testers:
SST49LF008A Bernhard M. Wiedemann
W39V040B Dan Lenski

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r251 | mraudsepp | 2008-05-27 11:10:52 +0200 (Tue, 27 May 2008) | 9 lines

Original v2 revision: 3350

Mark SST49LF004A/B as tested (trivial).

Tested by me on actual hardware (all operations) - Artec Group DBE62 with SST 49LF004B

Signed-off-by: Mart Raudsepp <mart.raudsepp@artecdesign.ee>
Acked-by: Mart Raudsepp <mart.raudsepp@artecdesign.ee>

------------------------------------------------------------------------
r250 | uwe | 2008-05-27 01:12:25 +0200 (Tue, 27 May 2008) | 16 lines

Original v2 revision: 3349

Mark the following chips as tested (trivial).

  - AMD Am29F040B
  - SST SST39SF020A
  - Winbond W29C020C
  - Winbond W29EE011
  - Winbond W49F002U

All of them tested by me on actual hardware (all operations).

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r249 | uwe | 2008-05-23 00:47:04 +0200 (Fri, 23 May 2008) | 12 lines

Original v2 revision: 3348

A bunch of cosmetic improvements (trivial).

 - Fix typos and inconsistencies.
 - Drop duplicate line which tells us the chip name twice.
 - Also print the chip vendor, not only the name.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r248 | uwe | 2008-05-22 23:26:42 +0200 (Thu, 22 May 2008) | 8 lines

Original v2 revision: 3347

Mark more chips as tested (all operations), tested on ASUS P4B266 (trivial).

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r247 | uwe | 2008-05-22 23:19:38 +0200 (Thu, 22 May 2008) | 16 lines

Original v2 revision: 3346

Add support for the ASUS P4B266 board.

Tested on actual hardware.

This patch add an ich_gpio_raise() function which can be re-used by other
board-specific funtions which need to raise GPIOs on ICHx southbridges.

This also fixes bug #7, see http://tracker.coreboot.org/trac/coreboot/ticket/7,
as it turned out the ICH2 (and other ICHx) code works fine.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Peter Stuge <peter@stuge.se>


------------------------------------------------------------------------
r246 | hailfinger | 2008-05-22 15:42:23 +0200 (Thu, 22 May 2008) | 7 lines

Original v2 revision: 3345

Add support for Amic A25L40P SPI flash.

Signed-off-by: Rudolf Marek <r.marek@assembler.cz>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>

------------------------------------------------------------------------
r245 | hailfinger | 2008-05-22 15:22:45 +0200 (Thu, 22 May 2008) | 11 lines

Original v2 revision: 3344

Changes to make flashrom compile (and work) on FreeBSD.
This patch addresses different argument order of outX() calls,
FreeBSD-specific headers, difference in certain type names and system
interface names, and also FreeBSD-specific way of gaining IO port
access.

Signed-off-by: Andriy Gapon <avg@icyb.net.ua>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>

------------------------------------------------------------------------
r244 | stuge | 2008-05-21 09:10:15 +0200 (Wed, 21 May 2008) | 7 lines

Original v2 revision: 3341

Myles reported SST49LF080A status -> TESTED_PREW

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r243 | stuge | 2008-05-17 03:08:58 +0200 (Sat, 17 May 2008) | 18 lines

Original v2 revision: 3332

flashrom: Support Pm49FL004/2 Block Locking Registers

The PMC chips understand both LPC and FWH flash commands. When in FWH mode
(MSR_DIVIL_BALL_OPT(0x51400015) = 0x00000f7d on 5536 boards) the Block
Locking Registers by default lock the flash chip for write and erase - in
addition to any chipset write protection.

This patch adds unlock operations before Pm49FL004/2 write and erase, and
it includes an svn mv pm49fl004.c pm49fl00x.c

Thanks go to Nikolay for this patch.

Signed-off-by: Nikolay Petukhov <nikolay.petukhov@gmail.com>
Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Bari Ari <bari@onelabs.com>

------------------------------------------------------------------------
r242 | hailfinger | 2008-05-16 23:11:53 +0200 (Fri, 16 May 2008) | 13 lines

Original v2 revision: 3331

I looked at the datasheet and erase_sector_39sf020() is totally and
completely wrong. It was a straight cut'n'paste from SST 28SF040 code
and the person doing the cut'n'paste didn't even bother to check the
data sheet. The SST 39SF020 is completely incompatible with the 28SF040.

No need for replacement. According to the data sheet, standard JEDEC
commands will work and we have those commands in the tree already.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Joseph Smith <joe@settoplinux.org>

------------------------------------------------------------------------
r241 | hailfinger | 2008-05-16 16:39:39 +0200 (Fri, 16 May 2008) | 8 lines

Original v2 revision: 3327

ICH8 and ICH9 have an almost identical SPI interface, only the location
of the SPIBAR differs. Add ICH8 support to the ICH9 code.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Reinauer <stepan@coresystems.de>

------------------------------------------------------------------------
r240 | hailfinger | 2008-05-16 15:00:28 +0200 (Fri, 16 May 2008) | 8 lines

Original v2 revision: 3326

Add support for the Atmel AT25DF321 SPI flash (tested).
Change ST M25P32 status to tested.

Signed-off-by: Dominik Geyer <dominik.geyer@kontron.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>

------------------------------------------------------------------------
r239 | hailfinger | 2008-05-16 14:55:55 +0200 (Fri, 16 May 2008) | 8 lines

Original v2 revision: 3325

Add support for SPI chips on ICH9. This is done by using the generic SPI
interface.

Signed-off-by: Dominik Geyer <dominik.geyer@kontron.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>

------------------------------------------------------------------------
r238 | hailfinger | 2008-05-16 02:19:52 +0200 (Fri, 16 May 2008) | 8 lines

Original v2 revision: 3324

Enable IT8716F LPC-to-SPI write cycle translation in flashrom if the
IT8716F decodes any address to the attached SPI ROM.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r237 | hailfinger | 2008-05-16 00:32:08 +0200 (Fri, 16 May 2008) | 7 lines

Original v2 revision: 3323

Print detailed status register information for SST25VF series flash.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r236 | hailfinger | 2008-05-15 05:24:43 +0200 (Thu, 15 May 2008) | 9 lines

Original v2 revision: 3321

Lots of new SST flash chip IDs. Only a subset has been added to
flashchips.c, but the IDs in flash.h will make lookups easier if anybody
wants to add support for them.

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>

------------------------------------------------------------------------
r235 | hailfinger | 2008-05-15 05:19:49 +0200 (Thu, 15 May 2008) | 14 lines

Original v2 revision: 3320

Add support for the JEDEC RES (Read Electronic Signature and Resume from
Powerdown) SPI command to flashrom to identify older SPI chips which
can't handle JEDEC RDID. Since RES gives a one-byte identifier which is
shared among many different vendors and even different sizes, we want to
match RES as a last resort if RDID returns 0xff 0xff 0xff.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Peter Stuge <peter@stuge.se>

This is a heavily reworked version of a patch by Fredrik Tolf, which was
Signed-off-by: Fredrik Tolf <fredrik@dolda2000.com>

------------------------------------------------------------------------
r234 | hailfinger | 2008-05-14 16:51:22 +0200 (Wed, 14 May 2008) | 7 lines

Original v2 revision: 3314

Add more infrastructure for flashrom ICH9 support.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Reinauer <stepan@coresystems.de>

------------------------------------------------------------------------
r233 | hailfinger | 2008-05-14 14:22:38 +0200 (Wed, 14 May 2008) | 7 lines

Original v2 revision: 3310

Add the Intel 6300ESB as known chipset to the chipset struct enables.

Signed-off-by: Claus Gindhart <claus.gindhart@kontron.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>

------------------------------------------------------------------------
r232 | hailfinger | 2008-05-14 14:09:31 +0200 (Wed, 14 May 2008) | 7 lines

Original v2 revision: 3309

Fix crash caused by division by zero for unknown flash chips.

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>

------------------------------------------------------------------------
r231 | hailfinger | 2008-05-14 14:03:06 +0200 (Wed, 14 May 2008) | 11 lines

Original v2 revision: 3308

Check the JEDEC vendor ID for correct parity. Flash chips which can be
detected by JEDEC probe routines all have vendor IDs with correct
parity. Use a parity check as additional hint whether a vendor ID makes
sense.
Note: Device IDs have no parity requirements whatsoever.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r230 | hailfinger | 2008-05-14 06:27:02 +0200 (Wed, 14 May 2008) | 8 lines

Original v2 revision: 3306

Add lots of ATMEL SPI flash chips to flash.h.
Add a few flashchips already mentioned in flash.h to flashchips.c

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>

------------------------------------------------------------------------
r229 | hailfinger | 2008-05-14 01:03:12 +0200 (Wed, 14 May 2008) | 9 lines

Original v2 revision: 3305

flashrom: Move all IT87xx specific SPI routines from spi.c to a separate
file it87spi.c.
No behavioural changes, but greatly improved SPI abstraction.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r228 | hailfinger | 2008-05-13 16:58:23 +0200 (Tue, 13 May 2008) | 8 lines

Original v2 revision: 3302

flashrom: Move the SPI #defines from spi.c to spi.h
This patch has no code changes.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r227 | hailfinger | 2008-05-13 16:01:22 +0200 (Tue, 13 May 2008) | 8 lines

Original v2 revision: 3301

Change the SPI parts of flashrom to prepare for a merge of
ICH9 SPI support. In theory, this patch has no behaviour changes.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r226 | hailfinger | 2008-05-12 23:19:53 +0200 (Mon, 12 May 2008) | 9 lines

Original v2 revision: 3300

MX25L3205 and W25x40 have been confirmed to probe/read/erase/write OK
by Harald Gutmann.
SST39VF040 has been confirmed to probe OK by misi e.

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>

------------------------------------------------------------------------
r225 | hailfinger | 2008-05-12 16:25:31 +0200 (Mon, 12 May 2008) | 9 lines

Original v2 revision: 3299

Add SST39VF512, SST39VF010, SST39VF040 support to flashrom. The SST39LF
series has the same IDs.
Add short AMIC vendor ID to flashrom.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r224 | hailfinger | 2008-05-11 01:40:51 +0200 (Sun, 11 May 2008) | 12 lines

Original v2 revision: 3296

Improve flashrom SPI abstraction, second step.
This paves the way to have a fully generic generic_spi_command without
knowledge about any SPI controller.

The third step would be calling SPI controller functions via a function
pointer.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r223 | stuge | 2008-05-11 01:07:52 +0200 (Sun, 11 May 2008) | 9 lines

Original v2 revision: 3295

flashrom: Rename generic_spi_*() functions to spi_*()

This is a very early step toward cleaning up SPI code in flashrom.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>

------------------------------------------------------------------------
r222 | stuge | 2008-05-08 02:31:44 +0200 (Thu, 08 May 2008) | 19 lines

Original v2 revision: 3291

flashrom: Probe for up to 3 flash chips.

Currently there is an ongoing technology migration from LPC/FWH to SPI chips.
For this reason some boards have multiple chips of different technologies
onboard. This patch makes flashrom probe for up to 3 chips and if more than
one chip is found flashrom exits, asking the user to specify -c.

[root@localhost src]# ./flashrom
...
Multiple flash chips were detected: SST49LF008A M25P16@ICH9
Please specify which chip to use with the -c <chipname> option.
[root@localhost src]# 

Signed-off-by: Claus Gindhart <claus.gindhart@kontron.com>
Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Claus Gindhart <claus.gindhart@kontron.com>

------------------------------------------------------------------------
r221 | stuge | 2008-05-03 06:34:37 +0200 (Sat, 03 May 2008) | 15 lines

Original v2 revision: 3277

flashrom: Add a tested bitmap field to the flash chip table.

Two bits indicate OK and BAD for each operation PROBE READ ERASE WRITE.
8 bits out of 32 are in use now. No bits set means nothing has been tested.
For chips with at least one operation that is not tested or not working, the
user is asked to email a report to a special email adress so that the table
can be updated.

All chips are TEST_UNTESTED for now.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>

------------------------------------------------------------------------
r220 | stepan | 2008-04-29 15:46:38 +0200 (Tue, 29 Apr 2008) | 8 lines

Original v2 revision: 3275

flashrom: Enable ROM decode range to 1MB for vt8237r

Signed-off-by: Bari Ari <bari@onelabs.com>
Acked-by: Stefan Reinauer <stepan@coresystems.de>


------------------------------------------------------------------------
r219 | stepan | 2008-04-28 19:51:09 +0200 (Mon, 28 Apr 2008) | 17 lines

Original v2 revision: 3274

The generic jedec.c does not work for the ST M50FLW flash
devices, because they need an unlock command first.
For this reason, ST M50FLW support is moved to a
new HW support module, because any change in jedec.c
would bear the risk to cause problems with the already
supported devices.

It's already tested with ST M50FLW080A; the other
chips of this family i dont have available, so i couldnt
test it.

Signed-off-by: Claus Gindhart <claus.gindhart@kontron.com>
Acked-by: Stefan Reinauer <stepan@coresystems.de>


------------------------------------------------------------------------
r218 | stuge | 2008-04-28 16:47:30 +0200 (Mon, 28 Apr 2008) | 8 lines

Original v2 revision: 3273

flashrom: Handle NULL probe, erase and write function pointers in the
flashchips table. The read pointer was already checked properly.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Stefan Reinauer <stepan@coresystems.de>

------------------------------------------------------------------------
r217 | stepan | 2008-04-24 11:07:57 +0200 (Thu, 24 Apr 2008) | 14 lines

Original v2 revision: 3260

Flash pages, which where excluded from updating using the exclude or the
layout option, as well as areas, whose flash contents already contain the
desired data, will be skipped.
These ensures absolute data security of critical areas (BIOS boot block), 
e.g. against a sudden power off or a CPU hangup during flashing. As a
nice side effect, it speeds up the flash process, if the BIOS to be flashed
is very similar to the version in flash. 

Signed-off-by: Claus Gindhart <claus.gindhart@kontron.com>
Acked-by: Stefan Reinauer <stepan@coresystems.de>


------------------------------------------------------------------------
r216 | eswierk | 2008-04-08 00:33:33 +0200 (Tue, 08 Apr 2008) | 8 lines

Original v2 revision: 3221

ST M50FW016 and ST M50FW040 support the 82802ab command set, not jedec.

Signed-off-by: Ed Swierk <eswierk@arastra.com>
Acked-by: Joseph Smith <joe@smittys.pointclark.net>


------------------------------------------------------------------------
r215 | hailfinger | 2008-03-18 01:54:10 +0100 (Tue, 18 Mar 2008) | 7 lines

Original v2 revision: 3167

Add ICH9 detection to flashrom. Straight from the datasheet, untested.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>

------------------------------------------------------------------------
r214 | stepan | 2008-03-18 01:36:18 +0100 (Tue, 18 Mar 2008) | 11 lines

Original v2 revision: 3166

oops. forgot to add the file.

Support for the Winbond W39V080FA series of chips.
Support for flashing on the Kontron 986LCD-M board.

Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>


------------------------------------------------------------------------
r213 | stepan | 2008-03-17 23:59:40 +0100 (Mon, 17 Mar 2008) | 9 lines

Original v2 revision: 3165

Support for the Winbond W39V080FA series of chips.
Support for flashing on the Kontron 986LCD-M board.

Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>


------------------------------------------------------------------------
r212 | stepan | 2008-03-16 20:44:13 +0100 (Sun, 16 Mar 2008) | 9 lines

Original v2 revision: 3153

check whether SST FWH chip was successfully erased on flashchip -E, too
(trivial)

Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>


------------------------------------------------------------------------
r211 | uwe | 2008-03-16 03:06:25 +0100 (Sun, 16 Mar 2008) | 8 lines

Original v2 revision: 3152

Sort list of flash chips alphabetically, add comment (trivial).

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r210 | stepan | 2008-03-16 00:41:19 +0100 (Sun, 16 Mar 2008) | 7 lines

Original v2 revision: 3151

remove nasty warning that happened due to our vendor detection
mechanism.
Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>

------------------------------------------------------------------------
r209 | uwe | 2008-03-15 00:55:58 +0100 (Sat, 15 Mar 2008) | 8 lines

Original v2 revision: 3146

Re-add code erroneously removed in r3140.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r208 | linux_junkie | 2008-03-15 00:32:03 +0100 (Sat, 15 Mar 2008) | 6 lines

Original v2 revision: 3145

Changes M50FW080 to use 82802ab.c instead of jedec.c. This fixes the problem of not being able to erase the chip.

Signed-off-by: Joseph Smith <joe@smittys.pointclark.net>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
------------------------------------------------------------------------
r207 | hailfinger | 2008-03-14 18:20:59 +0100 (Fri, 14 Mar 2008) | 13 lines

Original v2 revision: 3144

Prepare for ICH7/ICH8 SPI support by adding some debugging for all
ICH* chipsets. Functionality (except printing) should be unchanged.

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

Ward says:
This code detects the ICH8 chipset on my laptop, and it appears to use
SPI.

Acked-by: Ward Vandewege <ward@gnu.org>

------------------------------------------------------------------------
r206 | uwe | 2008-03-14 02:24:39 +0100 (Fri, 14 Mar 2008) | 8 lines

Original v2 revision: 3142

Fix broken flashrom build.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r205 | hailfinger | 2008-03-14 01:33:42 +0100 (Fri, 14 Mar 2008) | 7 lines

Original v2 revision: 3141

Fix up one forgotten revert in r3140.

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>

------------------------------------------------------------------------
r204 | hailfinger | 2008-03-14 01:02:25 +0100 (Fri, 14 Mar 2008) | 7 lines

Original v2 revision: 3140

Revert the delete of 82802ab.c in r3137.

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>

------------------------------------------------------------------------
r203 | uwe | 2008-03-13 19:52:51 +0100 (Thu, 13 Mar 2008) | 13 lines

Original v2 revision: 3139

Also print the chip vendor name in --list-supported output (trivial).

Cosmetic changes in some files, partly bending the 80-characters-per-line
rule in this special case, as the 80-character-limited version looks
equally crappy even in an 80x25 console/xterm, so let's make it at least
look good in a high-resolution xterm.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r202 | uwe | 2008-03-13 19:41:07 +0100 (Thu, 13 Mar 2008) | 8 lines

Original v2 revision: 3138

Also print the required -m option in --list-supported output (trivial).

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r201 | hailfinger | 2008-03-13 13:43:31 +0100 (Thu, 13 Mar 2008) | 7 lines

Original v2 revision: 3137

Drop 82802ab.c as it is identical to sharplhf00l04.c.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r200 | uwe | 2008-03-12 13:28:40 +0100 (Wed, 12 Mar 2008) | 10 lines

Original v2 revision: 3134

Drop the useless rom.layout file. It's just an example, likely never
been used in the last few years, and the contents are available in
the README already anyway.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Ward Vandewege <ward@gnu.org>


------------------------------------------------------------------------
r199 | uwe | 2008-03-12 12:54:51 +0100 (Wed, 12 Mar 2008) | 9 lines

Original v2 revision: 3133

Add --list-supported option to flashrom which lists the supported
ROM chips, chipsets, and mainboards (Closes #90).

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Ward Vandewege <ward@gnu.org>


------------------------------------------------------------------------
r198 | uwe | 2008-03-04 17:29:54 +0100 (Tue, 04 Mar 2008) | 9 lines

Original v2 revision: 3126

Add missing license header to layout.c. The file was written by
Stefan Reinauer for coresystems GmbH in 2005, as confirmed on IRC.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>


------------------------------------------------------------------------
r197 | stepan | 2008-02-20 12:11:18 +0100 (Wed, 20 Feb 2008) | 12 lines

Original v2 revision: 3110

flashrom: Add board_enable for Artec Group DBE61 and DBE62

Also add a comment about NULL subsystem IDs leaving the board entry out
of auto-detection logic.

Signed-off-by: Mart Raudsepp <mart.raudsepp@artecdesign.ee>
Acked-by: Luc Verhaegen <libv@skynet.be>
Acked-by: Stefan Reinauer <stepan@coresystems.de>


------------------------------------------------------------------------
r196 | uwe | 2008-02-15 00:22:20 +0100 (Fri, 15 Feb 2008) | 15 lines

Original v2 revision: 3102

With this small change it is possible to build flashrom again when
specifying custom CFLAGS/LDFLAGS from the make command line like:

  make CFLAGS="..." LDFLAGS="..."

I need to do this when building flashrom in a cross compiler environment
like buildroot for a foreign target.

Signed-off-by: Clark Rawlins <clark@bit63.org>
Acked-by: Ronald G. Minnich <rminnich@gmail.com>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r195 | uwe | 2008-02-11 15:32:45 +0100 (Mon, 11 Feb 2008) | 17 lines

Original v2 revision: 3101

flashrom: further cleanups to enable_flash_cs5536

 - Remove the "enable write to flash" message, as the caller appears to
   already report that.

 - Move the 'modprobe msr' suggestions to the first lseek64 error handling, as
   we get an error there already.

 - Rename a perror string from "read" to "read msr", as we use the latter
   already in this function for another read.

Signed-off-by: Mart Raudsepp <mart.raudsepp@artecdesign.ee>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r194 | hailfinger | 2008-02-09 03:03:06 +0100 (Sat, 09 Feb 2008) | 8 lines

Original v2 revision: 3099

Flashrom: Add board enable for VIA EPIA SP.

Signed-off-by: Luc Verhaegen <libv@skynet.be>
Acked-by: Corey Osgood <corey.osgood@gmail.com>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r193 | uwe | 2008-02-08 11:10:57 +0100 (Fri, 08 Feb 2008) | 9 lines

Original v2 revision: 3098

Improve error handling and make RCONF_DEFAULT_MSR address be a constant.
Also, move a big code comment to the top of enable_flash_cs5536().

Signed-off-by: Mart Raudsepp <mart.raudsepp@artecdesign.ee>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r192 | uwe | 2008-02-08 10:59:58 +0100 (Fri, 08 Feb 2008) | 15 lines

Original v2 revision: 3097

This implements support for devices using AMD Geode companion chip
CS5536 that have the Boot ROM on NOR flash that is directly connected to
FLASH_CS3 (Boot Flash Chip Select).
We need to write enable it in the NORF_CTL MSR register for flashrom to
be able to write to it, including JEDEC probe commands.

This patch allows us to stop using AMD gx_utils.ko for BIOS flashing on
the DBE61.

Signed-off-by: Mart Raudsepp <mart.raudsepp@artecdesign.ee>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r191 | hailfinger | 2008-02-06 23:07:58 +0100 (Wed, 06 Feb 2008) | 12 lines

Original v2 revision: 3091

Handle JEDEC JEP106W continuation codes in SPI RDID. Some vendors like
Programmable Micro Corp (PMC) need this.
Both the serial and parallel flash JEDEC detection routines would
benefit from a parity/sanity check of the vendor ID. Will do this later.

Add support for the PMC Pm25LV family of SPI flash chips.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Chris Lingard  <chris@stockwith.co.uk>

------------------------------------------------------------------------
r190 | stuge | 2008-01-27 17:21:21 +0100 (Sun, 27 Jan 2008) | 9 lines

Original v2 revision: 3082

Make the vendor name optional in the -m flashrom parameter when there's only
one board name that matches. The full syntax still works, and is required
when two vendors have boards with the same names.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Stefan Reinauer <stepan@coresystems.de>

------------------------------------------------------------------------
r189 | stuge | 2008-01-27 08:17:14 +0100 (Sun, 27 Jan 2008) | 7 lines

Original v2 revision: 3080

Forgot to add Spansion S25FL016A to README, trivial.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r188 | rminnich | 2008-01-26 08:35:47 +0100 (Sat, 26 Jan 2008) | 11 lines

Original v2 revision: 3078

Correctly disable the ROM area Write Protect bit in the Geode LX.

Signed-off-by: Marc Jones <marc.jones@amd.com>
Acked-by: Peter Stuge <peter@stuge.se>

Tested on the pcengines alix1c and works fine.
Acked-by: Ronald G. Minnich <rminnich@gmail.com>


------------------------------------------------------------------------
r187 | hailfinger | 2008-01-25 02:52:45 +0100 (Fri, 25 Jan 2008) | 8 lines

Original v2 revision: 3074

Add ids and chip entry for Spansion S25FL016A to flashrom, tested,
working.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>

------------------------------------------------------------------------
r186 | hailfinger | 2008-01-22 17:03:19 +0100 (Tue, 22 Jan 2008) | 29 lines

Original v2 revision: 3072

Here is just a little and simple patch to get the MX25L3205D working.
I've tested and verified the chip myself, and it seems to work
everything like supposted, since Carl-Daniel has patched flashrom to
use the read funktion on verifying. 

"benchvice flashrom # ./flashrom -m gigabyte:m57sli -v test.4mb
Calibrating delay loop... OK.
No coreboot table found.
Found chipset "NVIDIA MCP55", enabling flash write... OK.
Found board "GIGABYTE GA-M57SLI-S4": enabling flash write... 
Serial flash segment 0xfffe0000-0xffffffff enabled
Serial flash segment 0x000e0000-0x000fffff enabled
Serial flash segment 0xffee0000-0xffefffff disabled
Serial flash segment 0xfff80000-0xfffeffff enabled
LPC write to serial flash enabled
serial flash pin 29
OK.
MX25L3205 found at physical address 0xffc00000.
Flash part is MX25L3205 (4096 KB).
Flash image seems to be a legacy BIOS. Disabling checks.
Verifying flash... VERIFIED.
benchvice flashrom # ls -l test.4mb
-rw-r--r-- 1 root root 4194304 22. Jan 16:27 test.4mb

Signed-off-by: Harald Gutmann <harald.gutmann@gmx.net>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>

------------------------------------------------------------------------
r185 | hailfinger | 2008-01-22 16:19:01 +0100 (Tue, 22 Jan 2008) | 18 lines

Original v2 revision: 3070

Flashrom did not use the read function for verifying, it used direct memory
access instead. That fails if the flash chip is not mapped completely.
If the read function is set in struct flashchip, use it for verification
as well.

This fixes verification of all SPI flash chips >512 kByte behind an
IT8716F flash translation chip.

"MX25L8005 found at physical address 0xfff00000.
Flash part is MX25L8005 (1024 KB).
Flash image seems to be a legacy BIOS. Disabling checks.
Verifying flash... VERIFIED."

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Harald Gutmann <harald.gutmann@gmx.net>

------------------------------------------------------------------------
r184 | hailfinger | 2008-01-22 15:37:31 +0100 (Tue, 22 Jan 2008) | 9 lines

Original v2 revision: 3069

Make sure we delay writing the next byte long enough in SPI byte
programming.
Minor formatting changes.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Harald Gutmann <harald.gutmann@gmx.net>

------------------------------------------------------------------------
r183 | hailfinger | 2008-01-22 00:55:08 +0100 (Tue, 22 Jan 2008) | 9 lines

Original v2 revision: 3068

Omitting the wait for SPI ready when there is no data to be read, e.g.
readcnt==0 saves 10 seconds with the unconditional 10us delay, reducing
programming time for SST25VF016B to 40-45 secs.

Signed-off-by: Ronald Hoogenboom <hoogenboom30@zonnet.nl>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>

------------------------------------------------------------------------
r182 | uwe | 2008-01-21 16:24:22 +0100 (Mon, 21 Jan 2008) | 11 lines

Original v2 revision: 3067

This patch adds version information to flashrom. Because 'v' and 'V'
are already in use, the patch uses 'R' (for release) and, of course,
'--version'.

Signed-off-by: Bernhard Walle <bernhard.walle@gmx.de>
Acked-by: Ulf Jordan <jordan@chalmers.se>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r181 | hailfinger | 2008-01-19 01:04:46 +0100 (Sat, 19 Jan 2008) | 9 lines

Original v2 revision: 3061

Support SPI flash chips bigger than 512 kByte sitting behind IT8716F
Super I/O performing LPC-to-SPI flash translation.

Signed-off-by: Ronald Hoogenboom <hoogenboom30@zonnet.nl>
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>

------------------------------------------------------------------------
r180 | uwe | 2008-01-18 18:48:51 +0100 (Fri, 18 Jan 2008) | 8 lines

Original v2 revision: 3059

Minor documentation improvements/fixes in the README and manpage (trivial).

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r179 | stepan | 2008-01-18 17:17:44 +0100 (Fri, 18 Jan 2008) | 7 lines

Original v2 revision: 3058

rename linuxbios_* files in utils repository.
Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>


------------------------------------------------------------------------
r178 | stepan | 2008-01-18 16:33:10 +0100 (Fri, 18 Jan 2008) | 8 lines

Original v2 revision: 3054

for some reasons the externals did not get committed.

Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>


------------------------------------------------------------------------
r177 | duwe | 2008-01-11 01:32:07 +0100 (Fri, 11 Jan 2008) | 8 lines

Original v2 revision: 3045

This patch removes '\n' from the help output since this looks a bit strange.
After the patch [...] The line length is still below 80 characters.

Signed-off-by: Bernhard Walle <bernhard.walle@gmx.de>
Acked-by: Torsten Duwe <duwe@lst.de>

------------------------------------------------------------------------
r176 | hailfinger | 2008-01-10 14:27:22 +0100 (Thu, 10 Jan 2008) | 7 lines

Original v2 revision: 3042

Enable MX25L8005 support in flashrom. The #defines were already there.

Signed-off-by: Harald Gutmann <harald.gutmann@gmx.net>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>

------------------------------------------------------------------------
r175 | hailfinger | 2008-01-07 14:48:51 +0100 (Mon, 07 Jan 2008) | 8 lines

Original v2 revision: 3036

Add support for the SST25VF040B 4 Mbit SPI flash chip.
Straight from the data sheet, not tested.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Reinauer <stepan@coresystems.de>

------------------------------------------------------------------------
r174 | rminnich | 2008-01-04 18:22:44 +0100 (Fri, 04 Jan 2008) | 6 lines

Original v2 revision: 3033

Add board enable for the gigabyte ga_2761gxdk board
Signed-off-by: Ronald G. Minnich <rminnich@gmail.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>

------------------------------------------------------------------------
r173 | hailfinger | 2008-01-04 17:22:09 +0100 (Fri, 04 Jan 2008) | 8 lines

Original v2 revision: 3032

Print at least the vendor for SPI flash chips if the exact chip ID is
unknown.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Ronald G. Minnich <rminnich@gmail.com>

------------------------------------------------------------------------
r172 | hailfinger | 2007-12-31 15:05:08 +0100 (Mon, 31 Dec 2007) | 10 lines

Original v2 revision: 3031

Unfortunately, EN29F002T, EN29F002AT, EN29F002ANT, EN29F002NT all have
exactly the same ID. Improve model number printing.

Add EN29F002(A)(N)B support while I'm at it.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Markus Boas <bios@ryven.de>

------------------------------------------------------------------------
r171 | hailfinger | 2007-12-31 02:49:00 +0100 (Mon, 31 Dec 2007) | 22 lines

Original v2 revision: 3030

Add continuation ID support to jedec.c
The continuation ID code does not go further than checking for IDs of
the type 0x7fXX, but does this for vendor and product ID. The current
published JEDEC spec has a list where the largest vendor ID is 7 bytes
long, but all leading bytes are 0x7f. The list will grow in the future,
and using a 64bit variable will not be enough anymore.
Besides that, it seems that the location of the ID byte after the first
continuation ID byte is very vendor specific, so we may have to revisit
that code some time in the future.

(Suggestion for a new encoding:
Use a two-byte data type for the ID, the lower byte contains the only
non-0x7f byte, the upper byte contains the number of 0x7f bytes used as
prefix, which is the bank number minus 1 the vendor ID appears in.)

Add support for EON EN29F002AT.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Corey Osgood <corey.osgood@gmail.com>

------------------------------------------------------------------------
r170 | hailfinger | 2007-12-31 02:18:26 +0100 (Mon, 31 Dec 2007) | 12 lines

Original v2 revision: 3029

This fixes a few vendor IDs to conform with JEDEC publication 106W
(JEP106W), adds some device IDs and provides information about
non-conforming IDs.
The EON change is left to the patch adding EON chips.

This patch should have no effect on code generation.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Corey Osgood <corey.osgood@gmail.com>

------------------------------------------------------------------------
r169 | hailfinger | 2007-12-29 12:05:59 +0100 (Sat, 29 Dec 2007) | 10 lines

Original v2 revision: 3027

All SPI chips mentioned in flashchips.c had their sector size listed as
page size. Fix that. Page size is uniform 256 bytes for SPI.

A sector/block size field in struct flashchip would be nice, though.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Corey Osgood <corey.osgood@gmail.com>

------------------------------------------------------------------------
r168 | hailfinger | 2007-12-29 11:15:58 +0100 (Sat, 29 Dec 2007) | 10 lines

Original v2 revision: 3026

Print the chip status register for all SPI chips on probe if verbose
output is specified.
Pretty-print the chip status register (including block lock information)
for ST M25P family and Macronix MX25L family chips.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Corey Osgood <corey.osgood@gmail.com>

------------------------------------------------------------------------
r167 | hailfinger | 2007-12-29 11:14:38 +0100 (Sat, 29 Dec 2007) | 8 lines

Original v2 revision: 3025

Add 25VF016B support to flashrom. Untested, but verified against the
data sheet.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Corey Osgood <corey.osgood@gmail.com>

------------------------------------------------------------------------
r166 | hailfinger | 2007-12-17 23:22:40 +0100 (Mon, 17 Dec 2007) | 9 lines

Original v2 revision: 3012

Add support for ST M25P05-A, M25P10-A, M25P20, M25P40, M25P16, M25P32,
M25P64, M25P128 to flashrom. ST M25P80 support is already there.
Not tested, but conforming to data sheets and double checked.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>

------------------------------------------------------------------------
r165 | hailfinger | 2007-12-17 15:33:32 +0100 (Mon, 17 Dec 2007) | 12 lines

Original v2 revision: 3009

To make it easier to add new SPI chips to flashchips.c, rename functions
with multiple possible opcodes from linear numbering at the end (_1, _2)
to include the opcode at the end (_60, _c7). That way, you only have to
take a short look at the data sheet and choose the right function by
appending the opcode listed in the data sheet.
No functional changes.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Ward Vandewege <ward@gnu.org>

------------------------------------------------------------------------
r164 | hailfinger | 2007-12-16 22:15:27 +0100 (Sun, 16 Dec 2007) | 8 lines

Original v2 revision: 3008

Add support for ST M25P80 chips to flashrom. Detection was tested.
Print status register before erase to help debugging block locks.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Corey Osgood <corey.osgood@gmail.com>

------------------------------------------------------------------------
r163 | hailfinger | 2007-12-10 17:57:59 +0100 (Mon, 10 Dec 2007) | 14 lines

Original v2 revision: 3003

Add support for more atmel chips:
AT49F002
AT49F002N
AT49F002T
AT49F002NT

Only tested the read function on AT49F002T.
datasheet @ http://www.atmel.com/atmel/acrobat/doc1017.pdf

Signed-off-by: Frederico Silva <frederico.silva@gmail.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>

------------------------------------------------------------------------
r162 | uwe | 2007-12-04 22:49:06 +0100 (Tue, 04 Dec 2007) | 11 lines

Original v2 revision: 2997

Various coding style fixes, constification, fixed typos (trivial).

Also, s/0xFF80/0xFFC0/ in the Acorp 6A815EPD board-enable, as per
http://www.linuxbios.org/pipermail/linuxbios/2007-December/027750.html

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r161 | uwe | 2007-12-02 20:03:23 +0100 (Sun, 02 Dec 2007) | 9 lines

Original v2 revision: 2995

Add board-enable for Acorp 6A815EPD.

Signed-off-by: Jonathan A. Kollasch <jakllsch@kollasch.net>
Acked-by: Ronald G. Minnich <rminnich@gmail.com>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r160 | jcrouse | 2007-11-13 17:45:22 +0100 (Tue, 13 Nov 2007) | 11 lines

Original v2 revision: 2967

[LinuxBIOS] flashrom support for AMD Geode CS5536

Attached is a patch that enables AMD Geode CS5536 chipset support.  I
have tested it successfully on a MSM800 board from digital logic.

Signed-off-by: Lane Brooks <lbrooks@mit.edu>
Acked-by: Jordan Crouse <jordan.crouse@amd.com>


------------------------------------------------------------------------
r159 | hailfinger | 2007-11-13 15:56:54 +0100 (Tue, 13 Nov 2007) | 11 lines

Original v2 revision: 2962

Fix ATMEL 29C020 detection with flashrom. The JEDEC probe routine had
a delay of 10 us after entering ID mode and this was insufficient for
the 29C020. The data sheet claims we have to wait 10 ms, but tests have
shown that 20 us suffice. Allow for variations in chip delays with a
factor of 2 safety margin.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r158 | uwe | 2007-10-30 01:56:50 +0100 (Tue, 30 Oct 2007) | 11 lines

Original v2 revision: 2903

Add support for Intel 440MX systems.
Add support for the Fujitsu MBM29F400TC flash part.

Detection and reading works, writing is not tested.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Peter Stuge <peter@stuge.se>


------------------------------------------------------------------------
r157 | stuge | 2007-10-25 06:11:11 +0200 (Thu, 25 Oct 2007) | 13 lines

Original v2 revision: 2897

Added Am29LV040B

Looking through the sources of Uniflash utility I found that this chip
is no more no less than low-voltage variant of Am29F040B but with
different ID.

So I created a very quick patch (attached).

Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r156 | hailfinger | 2007-10-22 22:36:16 +0200 (Mon, 22 Oct 2007) | 7 lines

Original v2 revision: 2884

Flashrom: Add more Vendor IDs and ensure correct sorting in flash.h.

Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>

------------------------------------------------------------------------
r155 | hailfinger | 2007-10-22 18:15:28 +0200 (Mon, 22 Oct 2007) | 8 lines

Original v2 revision: 2881

Introduce block and sector erase routines to flashrom, but do not use
them yet.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Reinauer <stepan@coresystems.de>

------------------------------------------------------------------------
r154 | hailfinger | 2007-10-18 19:56:42 +0200 (Thu, 18 Oct 2007) | 10 lines

Original v2 revision: 2876

Remove hardcoded wait from SPI write/erase routines and check the chip
status register instead.
This has been tested by Harald Gutmann <harald.gutmann@gmx.net> with a
MX25L4005 chip.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Reinauer <stepan@coresystems.de>

------------------------------------------------------------------------
r153 | uwe | 2007-10-18 02:29:05 +0200 (Thu, 18 Oct 2007) | 8 lines

Original v2 revision: 2875

Documentation fixes and updates (trivial).

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r152 | hailfinger | 2007-10-18 02:24:07 +0200 (Thu, 18 Oct 2007) | 14 lines

Original v2 revision: 2874

Add generic SPI flash erase and write support to flashrom. The first
chip the code was tested and verified with is the Macronix MX25L4005,
but other chips should work as well.
Timeouts are still hardcoded to data sheet maxima, but the status
register checking code is already there.
Thanks to Harald Gutmann for the initial code on which this is loosely
based.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Reinauer <stepan@coresystems.de>


------------------------------------------------------------------------
r151 | uwe | 2007-10-18 01:55:15 +0200 (Thu, 18 Oct 2007) | 8 lines

Original v2 revision: 2873

Some cosmetic cleanups in the flashrom code and output.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>


------------------------------------------------------------------------
r150 | hailfinger | 2007-10-18 00:30:07 +0200 (Thu, 18 Oct 2007) | 10 lines

Original v2 revision: 2868

Fix wrong values/typos in chipset_enable.c. This has been confirmed by
Ed Swierk in
http://www.mail-archive.com/linuxbios@linuxbios.org/msg09788.html .

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Reinauer <stepan@coresystems.de>


------------------------------------------------------------------------
r149 | uwe | 2007-10-17 01:36:34 +0200 (Wed, 17 Oct 2007) | 15 lines

Original v2 revision: 2866

Multiple flashrom fixes:

 - Install binary in /usr/sbin (not /usr/bin), as it's a root-only tool.

 - Rename manpage from flashrom.1 to flashrom.8, as section 8 contains
   "System administration commands (usually only for root)".

 - Actually install the manpage upon 'make install'.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>


------------------------------------------------------------------------
r148 | hailfinger | 2007-10-16 23:18:43 +0200 (Tue, 16 Oct 2007) | 8 lines

Original v2 revision: 2864

Add Gigabyte M61P-S3 SPI flash support to board_enable.c

Signed-off-by: Michael van der Kolff <mvanderkolff@gmail.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>


------------------------------------------------------------------------
r147 | hailfinger | 2007-10-16 23:09:06 +0200 (Tue, 16 Oct 2007) | 9 lines

Original v2 revision: 2863

Convert the existing it8716f_* functions to generic_spi_* functions by
applying abstraction and wrapping.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Reinauer <stepan@coresystems.de>


------------------------------------------------------------------------
r146 | stepan | 2007-10-15 23:45:29 +0200 (Mon, 15 Oct 2007) | 17 lines

Original v2 revision: 2858

(forgot to add spi.c)

Move SPI code out of board_enable.c where it started its life. The SPI
chip finding and SPI chip accessor code is moved as well. This can be
split later if we feel like it.

The non-use of svn cp is intentional because the only history we'd have
to preserve are a few commits which were early prototypes of chip
identification code. For those who intend to look at that history, they
can look at board_enable.c revision 2853.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Reinauer <stepan@coresystems.de>


------------------------------------------------------------------------
r145 | stepan | 2007-10-15 23:44:47 +0200 (Mon, 15 Oct 2007) | 15 lines

Original v2 revision: 2857

Move SPI code out of board_enable.c where it started its life. The SPI
chip finding and SPI chip accessor code is moved as well. This can be
split later if we feel like it.

The non-use of svn cp is intentional because the only history we'd have
to preserve are a few commits which were early prototypes of chip
identification code. For those who intend to look at that history, they
can look at board_enable.c revision 2853.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Reinauer <stepan@coresystems.de>


------------------------------------------------------------------------
r144 | rminnich | 2007-10-12 23:22:40 +0200 (Fri, 12 Oct 2007) | 10 lines

Original v2 revision: 2850

Changes to flashrom to support the K8N-NEO3, first tested at Google on GSOC day :-)

Also minor changes to remove tab-space combinations where possible. 

Signed-off-by: Ronald G. Minnich <rminnich@gmail.com>
Signed-off-by: David Hendricks <david.hendricks@gmail.com>
Acked-by: Stefan Reinauer <stepan@coresystems.de>

------------------------------------------------------------------------
r143 | uwe | 2007-10-10 19:42:20 +0200 (Wed, 10 Oct 2007) | 8 lines

Original v2 revision: 2847

Revert my last cleanup patch.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r142 | uwe | 2007-10-10 18:31:30 +0200 (Wed, 10 Oct 2007) | 8 lines

Original v2 revision: 2846

Cosmetic changes to make the flashrom output more consistent (trivial).

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r141 | stepan | 2007-10-04 08:26:41 +0200 (Thu, 04 Oct 2007) | 11 lines

Original v2 revision: 2820

[FLASHROM] Fix the help, and print a message when nothing happens

The help implied that writes happen by default, which they don't.  Fix
the text, and say something when we dont specify any commands.

Signed-off-by: Jordan Crouse <jordan.crouse@amd.com>    
Acked-by: Stefan Reinauer <stepan@coresystems.de>


------------------------------------------------------------------------
r140 | ward | 2007-10-02 17:49:25 +0200 (Tue, 02 Oct 2007) | 19 lines

Original v2 revision: 2817


This patch aims to restructure SPI flash support in a more reasonable
way. It introduces a generic SPI host driver for the IT8716F Super I/O
which will enable easy SPI programming without having to care for the
peculiarities of the SPI host.

To activate probing for the IT8716F, you have to use the gigabyte:m57sli
mainboard override. SPI support will then use the gathered SPI host data
to access the SPI flash.

This has been tested sucessfully by Ward Vandewege <ward@gnu.org> on the
GA-M57SLI v2.0, which has a MX25L4005 SPI flash part.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Ward Vandewege <ward@gnu.org>


------------------------------------------------------------------------
r139 | ward | 2007-09-27 16:29:57 +0200 (Thu, 27 Sep 2007) | 12 lines

Original v2 revision: 2811


Add preliminary SPI flash identification support for SPI chips attached
to ITE IT8716F Super I/O. Right now this is hardcoded to the Gigabyte
M57SLI board. It works only with rev 2.0 of the board, but it will bail
out on earlier versions, so no damage can occur.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Ward Vandewege <ward@gnu.org>


------------------------------------------------------------------------
r138 | uwe | 2007-09-11 17:58:18 +0200 (Tue, 11 Sep 2007) | 9 lines

Original v2 revision: 2770

Change out/in combinations to pci_read/write_byte in
sis630 chipset enable.

Signed-off-by: Alex Beregszaszi <alex@rtfs.hu>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r137 | uwe | 2007-09-09 22:24:29 +0200 (Sun, 09 Sep 2007) | 8 lines

Original v2 revision: 2769

Remove useless 'extern' keywords (trivial).

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r136 | uwe | 2007-09-09 22:21:05 +0200 (Sun, 09 Sep 2007) | 8 lines

Original v2 revision: 2768

Add '(C)' where it's missing (for consistency reasons).

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r135 | uwe | 2007-09-09 22:02:45 +0200 (Sun, 09 Sep 2007) | 16 lines

Original v2 revision: 2767

Add missing license header to udelay.c.

I'm self-ack'ing this, as the origin of the code in udelay.c (and thus
the license and copyright owner) is pretty clear.

The code which is now in udelay.c was split out from flash_rom.c in r1428,
and flash_rom.c, in turn, has been around since the beginning and had a
'Copyright 2000 Silicon Integrated System Corporation' line as well as the
usual GPLv2-or-later license header.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r134 | uwe | 2007-09-08 16:36:01 +0200 (Sat, 08 Sep 2007) | 9 lines

Original v2 revision: 2764

Add a copy of the GPL in the flashrom repository as it's an independent
project (being packaged by distros, among other things).

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r133 | uwe | 2007-08-30 12:17:50 +0200 (Thu, 30 Aug 2007) | 8 lines

Original v2 revision: 2753

Add support for the Winbond W29EE011.

Signed-off-by: Markus Boas <ryven@ryven.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r132 | uwe | 2007-08-30 12:11:08 +0200 (Thu, 30 Aug 2007) | 8 lines

Original v2 revision: 2752

Add support for the Winbond W29C040P.

Signed-off-by: Markus Boas <ryven@ryven.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r131 | uwe | 2007-08-29 19:52:32 +0200 (Wed, 29 Aug 2007) | 9 lines

Original v2 revision: 2751

Change all flashrom license headers to use our standard format.
No changes in content of the files.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r130 | uwe | 2007-08-23 18:08:21 +0200 (Thu, 23 Aug 2007) | 8 lines

Original v2 revision: 2748

Cosmetic fixes (trivial).

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r129 | uwe | 2007-08-23 17:20:38 +0200 (Thu, 23 Aug 2007) | 8 lines

Original v2 revision: 2747

Drop duplicated code (copies of plain JEDEC functions).

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>


------------------------------------------------------------------------
r128 | uwe | 2007-08-23 15:34:59 +0200 (Thu, 23 Aug 2007) | 8 lines

Original v2 revision: 2746

Drop a bunch of useless header files, merge them into flash.h.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>


------------------------------------------------------------------------
r127 | uwe | 2007-08-23 12:20:40 +0200 (Thu, 23 Aug 2007) | 8 lines

Original v2 revision: 2745

Move code into *.c files, there's no reason to have it in header files.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>


------------------------------------------------------------------------
r126 | stuge | 2007-08-13 06:10:32 +0200 (Mon, 13 Aug 2007) | 12 lines

Original v2 revision: 2744

Fix bug in probe_28sf040() causing flash corruption on SST49LF160C verify.

The first byte of the flash chip was read at the start of the function
and later written back to address 0 if the flash chip was not identified
as SST28SF040, which means most of the time. This write caused corruption
of flash contents when verifying a SST49LF160C part.

Signed-off-by: Ed Swierk <eswierk@arastra.com>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r125 | uwe | 2007-08-11 18:59:11 +0200 (Sat, 11 Aug 2007) | 9 lines

Original v2 revision: 2743

flashrom: Add board enable for the EPoX EP-BX3.

Signed-off-by: Luc Verhaegen <libv@skynet.be>
Acked-by: Peter Stuge <peter@stuge.se>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r124 | uwe | 2007-07-27 05:32:45 +0200 (Fri, 27 Jul 2007) | 8 lines

Original v2 revision: 2742

flashrom: Add missing supported flash chips to the README (trivial).

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r123 | uwe | 2007-07-25 19:55:45 +0200 (Wed, 25 Jul 2007) | 13 lines

Original v2 revision: 2741

This patch adds support for the M50FLW040A, M50FLW040B, M50FLW080A,
M50FLW080B, M50FW080, M50FW016, M50LPW116, M29W010B flash chips made
by ST to flashrom.

The patch is based on the data sheets of the chips and has not been
tested at all.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r122 | uwe | 2007-07-24 20:18:05 +0200 (Tue, 24 Jul 2007) | 11 lines

Original v2 revision: 2740

This patch adds support for ST M50FW040 and ST M29W040B to flashrom.
Only reading from the chips was tested; writing support is untested.

Thanks to G?\195?\188rkan Seng?\195?\188n <gurkan@linuks.mine.nu> for testing!

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r121 | uwe | 2007-07-04 19:51:49 +0200 (Wed, 04 Jul 2007) | 10 lines

Original v2 revision: 2732

Flashrom: Add support for Tyan Tomcat K7M.

Same board enable as Asus A7V8-MX. Tested by Reinhard Max.

Signed-off-by: Luc Verhaegen <libv@skynet.be>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r120 | uwe | 2007-06-06 23:35:45 +0200 (Wed, 06 Jun 2007) | 14 lines

Original v2 revision: 2715

Fix up and document the AMD CS5530/CS5530A support in flashrom.

The previous code was pretty unreadable, undocumented and did some totally
unrelated things (such as mucking with the game port or port 0x92).

This version is tested with a 256 KB chip and should work for the
CS5530 and CS5530A.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>


------------------------------------------------------------------------
r119 | uwe | 2007-06-05 17:02:18 +0200 (Tue, 05 Jun 2007) | 9 lines

Original v2 revision: 2713

flashrom: Document the newly supported IBM x3455 board and the
now-supported Broadcom HT-1000 chipset (trivial).

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r118 | stepan | 2007-06-05 14:51:52 +0200 (Tue, 05 Jun 2007) | 8 lines

Original v2 revision: 2712

Move GPIO settings to board specific code for IBM x3455

Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>


------------------------------------------------------------------------
r117 | stepan | 2007-06-05 12:28:39 +0200 (Tue, 05 Jun 2007) | 8 lines

Original v2 revision: 2711

Add support for BCM HT1000 chipset to flashrom. Tested on IBM x3455.
(trivial)

Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>

------------------------------------------------------------------------
r116 | uwe | 2007-05-24 21:17:29 +0200 (Thu, 24 May 2007) | 8 lines

Original v2 revision: 2696

Minor cosmetics (trivial).

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r115 | stepan | 2007-05-24 11:26:39 +0200 (Thu, 24 May 2007) | 8 lines

Original v2 revision: 2693

drop leftover includes (trivial)

Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>


------------------------------------------------------------------------
r114 | stepan | 2007-05-24 11:08:36 +0200 (Thu, 24 May 2007) | 7 lines

Original v2 revision: 2692

some copyright analysis
Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>


------------------------------------------------------------------------
r113 | stepan | 2007-05-24 10:48:10 +0200 (Thu, 24 May 2007) | 7 lines

Original v2 revision: 2691

factor out register mapping code (trivial)

Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>

------------------------------------------------------------------------
r112 | stepan | 2007-05-23 20:24:58 +0200 (Wed, 23 May 2007) | 8 lines

Original v2 revision: 2690

Unify mmap error messages in flashrom (trivial)

Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>


------------------------------------------------------------------------
r111 | stepan | 2007-05-23 19:20:56 +0200 (Wed, 23 May 2007) | 12 lines

Original v2 revision: 2689

big cosmetic offensive on flashrom. (trivial)
* Give decent names to virt_addr and virt_addr_2
* add some comments
* move virtual addresses to the end of the struct,
  so they dont mess up the initializer.

Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>


------------------------------------------------------------------------
r110 | uwe | 2007-05-21 23:39:08 +0200 (Mon, 21 May 2007) | 8 lines

Original v2 revision: 2686

Add support for the Winbond W39V040FA chip.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>


------------------------------------------------------------------------
r109 | uwe | 2007-05-20 18:16:13 +0200 (Sun, 20 May 2007) | 15 lines

Original v2 revision: 2677

Flashrom: add support for ASUS P5A (Socket 7, ALi based).

* Add support for the ALi M1533 to chipset_enable.c
* Add some SMBus poking needed for the ASUS P5A, to board_enable.c

Since PCI subsystem IDs are worthless with this board, people will
have to name the board directly.

Signed-off-by: Luc Verhaegen <libv@skynet.be>
Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r108 | uwe | 2007-05-09 12:17:44 +0200 (Wed, 09 May 2007) | 13 lines

Original v2 revision: 2643

Fix coding style of flashrom by running indent on all files:

  indent -npro -kr -i8 -ts8 -sob -l80 -ss -ncs *.[ch]

Some minor fixups were required, and maybe a few more cosmetic
change?\209?\149 are needed.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r107 | stuge | 2007-05-04 06:47:04 +0200 (Fri, 04 May 2007) | 17 lines

Original v2 revision: 2627

Add WinBond Super IO helpers.

* These helpers severely clear up winbond superio usage.
* Removed board_iwill_dk8_htx as it can be replaced by
  board_agami_aruma (Mondrian Nuessle).
* Renamed board_agami_aruma to w83627hf_gpio24_raise.
* Clarified comments in w83627hf_gpio24_raise, and added
  some things from the old iwill code.
* Moved all board functions name argument to const.
  (warning breaks build)
* Moved iwill entry in board_pciid_enables.

Signed-off-by: Luc Verhaegen <libv@skynet.be>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r106 | uwe | 2007-05-03 12:09:23 +0200 (Thu, 03 May 2007) | 10 lines

Original v2 revision: 2624

Enable flashing on the IWILL DK8-HTX board by configuring the Super I/O
to set the right GPIO pins, so write protection is disabled.

Signed-off-by: Mondrian Nuessle <nuessle@uni-mannheim.de>
Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>


------------------------------------------------------------------------
r105 | stuge | 2007-04-28 04:22:59 +0200 (Sat, 28 Apr 2007) | 13 lines

Original v2 revision: 2621

Add initial support for the following flash chips:

 - Atmel AT29C020
 - STMicroelectronics M29F002B
 - STMicroelectronics M29F002T
 - STMicroelectronics M29F002NT

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Signed-off-by: Roger Zauner <roger@eskimo.com>
Acked-by: Peter Stuge <peter@stuge.se>

------------------------------------------------------------------------
r104 | stepan | 2007-04-14 18:32:59 +0200 (Sat, 14 Apr 2007) | 9 lines

Original v2 revision: 2610

Exit on return code of read_layout and print error message to stderr
instead of stdout (trivial)

Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>


------------------------------------------------------------------------
r103 | stepan | 2007-04-12 01:31:45 +0200 (Thu, 12 Apr 2007) | 9 lines

Original v2 revision: 2603

Rename flash_rom.c to flashrom.c. The tool is called 'flashrom' after
all.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>


------------------------------------------------------------------------
r102 | uwe | 2007-04-10 00:59:22 +0200 (Tue, 10 Apr 2007) | 8 lines

Original v2 revision: 2601

flashrom: Add VIA CX700 to the list of supported southbridges (trivial).

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r101 | stepan | 2007-04-10 00:27:45 +0200 (Tue, 10 Apr 2007) | 8 lines

Original v2 revision: 2599

add support for CX700 builtin southbridge
Signed-off-by: Randall Philipson <rtphilipson@cox.net>
Acked-by: Ronald G. Minnich <rminnich@gmail.com>
Acked-by: Stefan Reinauer <stepan@coresystems.de>


------------------------------------------------------------------------
r100 | stepan | 2007-04-06 13:58:03 +0200 (Fri, 06 Apr 2007) | 13 lines

Original v2 revision: 2585

Trivial (cosmetic) cleanup:
* Only open /dev/mem once and do it early.
* Drop extern for function prototypes.
* Minimize ts5300 impact in probe_flash()

This cleanup will making ICH7 SPI support quite some easier.

Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>


------------------------------------------------------------------------
r99 | stepan | 2007-04-05 00:45:58 +0200 (Thu, 05 Apr 2007) | 21 lines

Original v2 revision: 2581

flashrom: split flash_enable.c into chipset_enable.c and board_enable.c

This splits up the ROM Write enable code into chipset specific and
board specific parts. This of course means that a lot of code is
plainly moved about.

* Allows for linuxbios name matching and pci-subsystem id matching.
  The latter uses a double set to properly distuinguish boards despite
  of some known vendors being lax about it.
* Fixes GPIO15 being raised on every VT8235 southbridge, regardless of what
  that line actually controls; rom on EPIA-M, backlight on mitac 8999 laptop.
* Adds flashrom support for Asus A7V400-MX (KM400 + VT8235)
* Island aruma was renamed agami aruma, the board specific code now got
  adjusted. A set of pci-ids was retrieved from source code.

Signed-off-by: Luc Verhaegen <libv@skynet.be>
Acked-by: Stefan Reinauer <stepan@coresystems.de>


------------------------------------------------------------------------
r98 | uwe | 2007-04-01 22:00:32 +0200 (Sun, 01 Apr 2007) | 8 lines

Original v2 revision: 2578

Drop useless and partly even incorrect comments (trivial).

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r97 | uwe | 2007-04-01 21:44:21 +0200 (Sun, 01 Apr 2007) | 8 lines

Original v2 revision: 2577

Coding style fixes (trivial).

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r96 | uwe | 2007-03-31 21:48:38 +0200 (Sat, 31 Mar 2007) | 8 lines

Original v2 revision: 2575

Flashrom: Add support for the ICH7-DH southbridge (untested).

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Peter Stuge <peter@stuge.se>


------------------------------------------------------------------------
r95 | stepan | 2007-03-22 15:51:45 +0100 (Thu, 22 Mar 2007) | 9 lines

Original v2 revision: 2573

This is a trivial cosmetic fix. Without it, the error message might look like:
Image size doesnt match: Success

Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>


------------------------------------------------------------------------
r94 | uwe | 2007-03-07 00:49:49 +0100 (Wed, 07 Mar 2007) | 11 lines

Original v2 revision: 2570

The attached patch adds additional PCI IDs for MCP55 LPC devices to
flashrom. 0x0360 is needed to support the DFI LANParty NF590SLI, and I
am deducing the others based on pci_ids.h in the Linux kernel.

Signed-off-by: Ed Swierk <eswierk@arastra.com>
Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r93 | uwe | 2007-03-02 23:16:38 +0100 (Fri, 02 Mar 2007) | 15 lines

Original v2 revision: 2568

flashrom: Fix wrong VT8235 flash enable failed warning.

* Fix harmless but worrying warning where the return value of
  pci_write_byte is misinterpreted.
* Hash together VT8231 and VT8235 code into VT823x. VT8231 is the better
  implementation, but lacked the write protect disable code that's
  apparently needed for VT8235.

Signed-off-by: Luc Verhaegen <libv@skynet.be>
Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>


------------------------------------------------------------------------
r92 | uwe | 2007-03-02 03:25:36 +0100 (Fri, 02 Mar 2007) | 9 lines

Original v2 revision: 2565

Add Winbond W39V080A support to Flashrom.

Signed-off-by: David Hendricks <david.hendricks@gmail.com>
Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r91 | stepan | 2007-02-28 22:50:15 +0100 (Wed, 28 Feb 2007) | 8 lines

Original v2 revision: 2564

Add support for the Gigabyte m57sli-s4 board to flashrom.

Signed-off-by: Ward Vandewege <ward@gnu.org>
Acked-by: Stefan Reinauer <stepan@coresystems.de>


------------------------------------------------------------------------
r90 | uwe | 2007-02-16 15:36:12 +0100 (Fri, 16 Feb 2007) | 11 lines

Original v2 revision: 2553

Currently the flashrom Makefile tries to detect whether pciutils-devel
is installed, but the test also fails if zlib-devel is missing. This
patch changes the error message accordingly.

Signed-off-by: Ed Swierk <eswierk@arastra.com>
Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r89 | stepan | 2007-02-06 20:53:51 +0100 (Tue, 06 Feb 2007) | 9 lines

Original v2 revision: 2551

Include src/include/boot/linuxbios_tables.h in the flashrom source
tree to make it compilable independant of the LinuxBIOS source code.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>


------------------------------------------------------------------------
r88 | stepan | 2007-02-06 20:47:50 +0100 (Tue, 06 Feb 2007) | 23 lines

Original v2 revision: 2550

This patch is a rework of Adam Kaufman's Solaris patch.

* flash.h:
  - add a license header
  - add system definitions
* flash_enable.c:
  - put io priviledge access in one single place
  - add includes required for Solaris.
* lbtable.c, flash_rom.c, 82802ab.c:
  - use MEM_DEV so it works on Solaris
* sst49lfxxxc.c, sharplhf00l04.c, sst_fwhub.c, 82802ab.c
  - drop unneeded include to sys/io.h
* Makefile
  - adapt to Solaris specifics.

Signed-off-by: Adam Kaufman <adam.kaufman@pinnacle.com>
Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Adam Kaufman <adam.kaufman@pinnacle.com>


------------------------------------------------------------------------
r87 | uwe | 2007-01-27 14:39:06 +0100 (Sat, 27 Jan 2007) | 8 lines

Original v2 revision: 2539

Add support for the SST 49LF160C.

Signed-off-by: Alan Carvalho de Assis <acassis@gmail.com>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r86 | uwe | 2007-01-24 12:09:03 +0100 (Wed, 24 Jan 2007) | 9 lines

Original v2 revision: 2538

Delete superfluous and incorrect comment (trivial).
See also http://www.openbios.org/pipermail/linuxbios/2007-January/018042.html.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r85 | uwe | 2007-01-22 21:21:17 +0100 (Mon, 22 Jan 2007) | 11 lines

Original v2 revision: 2537

Add support for the SST-49LF004C, SST-49LF008C, SST-49LF016C in flashrom.
Also add suport for NVIDIA MCP55.

Signed-off-by: Yinghai Lu <yinghai.lu@amd.com>
Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Peter Stuge <peter@stuge.se>



------------------------------------------------------------------------
r84 | uwe | 2006-12-20 15:59:56 +0100 (Wed, 20 Dec 2006) | 8 lines

Original v2 revision: 2531

Improve flashrom description in the manpage a bit (trivial).

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r83 | uwe | 2006-12-20 15:53:22 +0100 (Wed, 20 Dec 2006) | 8 lines

Original v2 revision: 2530

Update flashrom requirements in the README (trivial).

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r82 | uwe | 2006-12-14 01:59:41 +0100 (Thu, 14 Dec 2006) | 10 lines

Original v2 revision: 2524

Add an install target to the flashrom Makefile which installs flashrom
into /usr/local/bin. Closes #54.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>



------------------------------------------------------------------------
r81 | uwe | 2006-12-04 09:20:40 +0100 (Mon, 04 Dec 2006) | 8 lines

Original v2 revision: 2518

Update list of supported flash chips in the flashrom README (trivial).

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r80 | uwe | 2006-12-04 09:15:47 +0100 (Mon, 04 Dec 2006) | 11 lines

Original v2 revision: 2517

List the supported flash chips and southbridges in the flashrom
README file (trivial).

Closes #52.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r79 | uwe | 2006-11-22 16:27:29 +0100 (Wed, 22 Nov 2006) | 8 lines

Original v2 revision: 2507

Fix location of the bug tracker in the manpage (trivial).

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r78 | stepan | 2006-11-22 01:29:51 +0100 (Wed, 22 Nov 2006) | 21 lines

Original v2 revision: 2505

apply patch from Giampiero Giancipoli <gianci@email.it>:

Fixed write_page_write_jedec() in jedec.c. Added a check-reprogram loop
in the same function, to come around the high page write failure rate on
some boards.

This patch includes the changes suggested by Ron to simplify the control
flow.

It also includes trivial changes by me to make flashrom build on newer 
systems (libpci needs libz now). I also made a small type case compile fix
and proper return code handling in one or two places.

Signed-off-by: Giampiero Giancipoli <gianci@email.it>
Signed-off-by: Ronald G Minnich <rminnich@gmail.com>
Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>


------------------------------------------------------------------------
r77 | stepan | 2006-11-22 00:51:08 +0100 (Wed, 22 Nov 2006) | 6 lines

Original v2 revision: 2504

Add support for ASD AE49F2008 
Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de> (trivial patch)

------------------------------------------------------------------------
r76 | stepan | 2006-11-22 00:48:51 +0100 (Wed, 22 Nov 2006) | 8 lines

Original v2 revision: 2503

flashrom: Only write the flash if the image has the same size

Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Segher Boessenkool <segher@kernel.crashing.org>


------------------------------------------------------------------------
r75 | uwe | 2006-11-21 16:09:05 +0100 (Tue, 21 Nov 2006) | 8 lines

Original v2 revision: 2502

Rename SM_ID to SYNCMOS_ID (trivial).

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r74 | uwe | 2006-11-21 16:02:27 +0100 (Tue, 21 Nov 2006) | 9 lines

Original v2 revision: 2501

Add support for the SyncMOS S29C51001T, S29C51004T, and S29C31004T
flash chips to flashrom (closes: #50).

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Ronald G. Minnich <rminnich@gmail.com>


------------------------------------------------------------------------
r73 | uwe | 2006-11-20 21:32:35 +0100 (Mon, 20 Nov 2006) | 8 lines

Original v2 revision: 2500

Cosmetic fixes and typos (trivial).

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r72 | uwe | 2006-11-20 21:03:07 +0100 (Mon, 20 Nov 2006) | 8 lines

Original v2 revision: 2499

Support for the 256K SyncMos S29C51002T flash.

Signed-off-by: Giampiero Giancipoli <gianci@email.it>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


------------------------------------------------------------------------
r71 | stepan | 2006-11-07 14:48:46 +0100 (Tue, 07 Nov 2006) | 7 lines

Original v2 revision: 2494

Instead of checking the first byte only, the whole part is checked now. This
will detect any improper erase, closes #31
Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de> 

------------------------------------------------------------------------
r70 | uwe | 2006-11-07 12:16:21 +0100 (Tue, 07 Nov 2006) | 10 lines

Original v2 revision: 2493

Fix some code comments of the Intel PIIX4/PIIX4E/PIIX4M code.
Add detailed instructions on how and where to get the datasheet,
its name, and order number (Closes #34).

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> 
Acked-by: Stefan Reinauer <stepan@coresystems.de>


------------------------------------------------------------------------
r69 | stepan | 2006-11-07 11:22:20 +0100 (Tue, 07 Nov 2006) | 7 lines

Original v2 revision: 2492

Support for VIA VT82C686 in flashrom utility (trivial)
closes #30
Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>

------------------------------------------------------------------------
r68 | uwe | 2006-11-05 19:26:08 +0100 (Sun, 05 Nov 2006) | 9 lines

Original v2 revision: 2489

Add support for Intel PIIX4/PIIX4E/PIIX4M-based mainboards to flashrom.
Tested on real hardware, reading, detecting and writing various chips works.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>


------------------------------------------------------------------------
r67 | stepan | 2006-10-14 23:04:49 +0200 (Sat, 14 Oct 2006) | 5 lines

Original v2 revision: 2456

* add vt8237 support (Uwe Hermann)
* add more MCP51 support (me)

------------------------------------------------------------------------
r66 | stepan | 2006-10-08 00:59:03 +0200 (Sun, 08 Oct 2006) | 6 lines

Original v2 revision: 2450

here's a small patch to add support for the SST 49LF020A to flashrom.
by Uwe Hermann <uwe@hermann-uwe.de>
X-Signed-Off-By: Stefan Reinauer <stepan@coresystems.de>

------------------------------------------------------------------------
r65 | stepan | 2006-10-07 02:23:51 +0200 (Sat, 07 Oct 2006) | 6 lines

Original v2 revision: 2449

Tiny patch to show the size of the detected flash part 
from Uwe Hermann <uwe@hermann-uwe.de>
X-Signed-Off-By: Stefan Reinauer <stepan@coresystems.de>

------------------------------------------------------------------------
r64 | stepan | 2006-10-07 02:21:13 +0200 (Sat, 07 Oct 2006) | 6 lines

Original v2 revision: 2448

Fix flashrom for sst49lf080a and small print bug,
by Roman Kononov <kononov195-lbl@yahoo.com>.
X-Signed-Off-By: Stefan Reinauer <stepan@coresystems.de>

------------------------------------------------------------------------
r63 | stepan | 2006-09-21 15:09:22 +0200 (Thu, 21 Sep 2006) | 4 lines

Original v2 revision: 2431

abuild manpage and other fixes from Uwe Hermann. Thank you!

------------------------------------------------------------------------
r62 | stepan | 2006-09-06 17:48:48 +0200 (Wed, 06 Sep 2006) | 4 lines

Original v2 revision: 2395

Add patch from Uwe Hermann to support more ICH southbridges

------------------------------------------------------------------------
r61 | stepan | 2006-08-25 21:21:42 +0200 (Fri, 25 Aug 2006) | 4 lines

Original v2 revision: 2390

Print a warning if southbridge is not known to flashrom.

------------------------------------------------------------------------
r60 | stepan | 2006-08-23 16:33:54 +0200 (Wed, 23 Aug 2006) | 4 lines

Original v2 revision: 2386

Removing $Id$ tags as they have no meaning in SVN

------------------------------------------------------------------------
r59 | stepan | 2006-08-03 12:49:09 +0200 (Thu, 03 Aug 2006) | 4 lines

Original v2 revision: 2358

some documentation updates by Uwe and some smaller ones by me.

------------------------------------------------------------------------
r58 | stepan | 2006-08-01 01:37:17 +0200 (Tue, 01 Aug 2006) | 5 lines

Original v2 revision: 2354

Add support for SST39SF040 and SST39SF010A
apply C.-D. Hailfinger's patch for Winbond part (untested)

------------------------------------------------------------------------
r57 | stepan | 2006-07-28 01:29:02 +0200 (Fri, 28 Jul 2006) | 4 lines

Original v2 revision: 2349

add flashrom manpage from Uwe Hermann

------------------------------------------------------------------------
r56 | stepan | 2006-07-19 17:13:21 +0200 (Wed, 19 Jul 2006) | 8 lines

Original v2 revision: 2341

From: Scott Tsai, scott.tsai <AT> arima.com.tw
Tested on my home Shuttle SB51G box.
data sheet:
http://www.alldatasheet.com/datasheet-pdf/pdf/47674/WINBOND/W49V002FAP.html


------------------------------------------------------------------------
r55 | stepan | 2006-06-30 22:07:50 +0200 (Fri, 30 Jun 2006) | 4 lines

Original v2 revision: 2336

add support for EFST F49B002UA (untested)

------------------------------------------------------------------------
r54 | stepan | 2006-06-25 11:56:45 +0200 (Sun, 25 Jun 2006) | 4 lines

Original v2 revision: 2332

add support for PMC 49FL002 as used in the RD1-PMC2

------------------------------------------------------------------------
r53 | stepan | 2006-06-14 17:58:41 +0200 (Wed, 14 Jun 2006) | 4 lines

Original v2 revision: 2321

new flash part

------------------------------------------------------------------------
r52 | stepan | 2006-03-31 13:36:06 +0200 (Fri, 31 Mar 2006) | 8 lines

Original v2 revision: 2230

* https://openbios.org/roundup/linuxbios/issue96 - SST_49LF040B flash support for flashrom
* https://openbios.org/roundup/linuxbios/issue99 - add ICH4-M support to flashrom

both from scott.tsai <AT> arima.com.tw


------------------------------------------------------------------------
r51 | stepan | 2006-03-31 13:26:55 +0200 (Fri, 31 Mar 2006) | 6 lines

Original v2 revision: 2229

* support for Winbond W39V040A
* Support for ATI SB400 (RS480 chipset)
* Support for Intel ICH7 (from Scott Tsai, scott.tsai <AT> arima.com.tw)

------------------------------------------------------------------------
r50 | stepan | 2006-03-20 22:37:54 +0100 (Mon, 20 Mar 2006) | 4 lines

Original v2 revision: 2220

compilation fix for gcc 4.0.2 (SUSE10)

------------------------------------------------------------------------
r49 | stepan | 2006-03-19 23:30:42 +0100 (Sun, 19 Mar 2006) | 5 lines

Original v2 revision: 2215

redo ts5300 auto.c
add ts5300 flag as comment in flashrom utility Makefile

------------------------------------------------------------------------
r48 | stepan | 2006-03-17 23:35:56 +0100 (Fri, 17 Mar 2006) | 5 lines

Original v2 revision: 2210

update dumpmmcr.c utility
another flash chip that doesn't clog the serial line

------------------------------------------------------------------------
r47 | stepan | 2006-03-16 17:57:41 +0100 (Thu, 16 Mar 2006) | 7 lines

Original v2 revision: 2205

- speed up flash verification by only printing 1 of 4096 addresses
- support for flashing technologic system ts5300 SBC (needs -DTS5300 in
  the makefile)


------------------------------------------------------------------------
r46 | stepan | 2006-03-16 17:46:19 +0100 (Thu, 16 Mar 2006) | 5 lines

Original v2 revision: 2204

make am29f040b driver more solid by printing every 4096th flash address.
This fixes the timing when flashing over a serial console.

------------------------------------------------------------------------
r45 | stepan | 2006-03-16 17:44:07 +0100 (Thu, 16 Mar 2006) | 4 lines

Original v2 revision: 2203

support for Am29F016D

------------------------------------------------------------------------
r44 | rminnich | 2006-03-14 20:58:14 +0100 (Tue, 14 Mar 2006) | 7 lines

Original v2 revision: 2197

Fix for nehemiah
other fixes for gx2 ram init. 

support for sharplfg00l04 -- not working yet.

------------------------------------------------------------------------
r43 | rminnich | 2006-03-01 17:11:05 +0100 (Wed, 01 Mar 2006) | 4 lines

Original v2 revision: 2189

a few new items and mods for ollie

------------------------------------------------------------------------
r42 | rminnich | 2006-02-24 18:10:10 +0100 (Fri, 24 Feb 2006) | 4 lines

Original v2 revision: 2183

added support for ICH5

------------------------------------------------------------------------
r41 | stepan | 2006-02-24 14:47:26 +0100 (Fri, 24 Feb 2006) | 4 lines

Original v2 revision: 2182

new flashchip support by Leon Woestenberg <leonw@mailcan.com>

------------------------------------------------------------------------
r40 | rminnich | 2006-02-23 18:16:44 +0100 (Thu, 23 Feb 2006) | 4 lines

Original v2 revision: 2180

added sharp flash

------------------------------------------------------------------------
r39 | stepan | 2006-01-04 17:42:57 +0100 (Wed, 04 Jan 2006) | 4 lines

Original v2 revision: 2151

pass on return values

------------------------------------------------------------------------
r38 | stepan | 2005-12-18 19:40:46 +0100 (Sun, 18 Dec 2005) | 5 lines

Original v2 revision: 2147

redo image checking in conversion case. Please update to this
release if you are using flashrom.

------------------------------------------------------------------------
r37 | stepan | 2005-12-18 17:41:10 +0100 (Sun, 18 Dec 2005) | 6 lines

Original v2 revision: 2146

* make -v switch print debug messages.
* do case insensitive comparison of mainboards, as wished on the
  mailinglist

------------------------------------------------------------------------
r36 | stepan | 2005-12-01 17:19:24 +0100 (Thu, 01 Dec 2005) | 4 lines

Original v2 revision: 2117

issue 40, make flashrom utility build process more solid.

------------------------------------------------------------------------
r35 | stepan | 2005-12-01 11:51:08 +0100 (Thu, 01 Dec 2005) | 4 lines

Original v2 revision: 2114

mention build dependencies in Makefile.

------------------------------------------------------------------------
r34 | ollie | 2005-11-26 22:55:36 +0100 (Sat, 26 Nov 2005) | 3 lines

Original v2 revision: 2111

flasrom update from Stefan, resovle issue 21
------------------------------------------------------------------------
r33 | ollie | 2005-08-03 17:04:53 +0200 (Wed, 03 Aug 2005) | 3 lines

Original v2 revision: 1988

bug fix from Jonathan McDowell <noodles@earth.li>
------------------------------------------------------------------------
r32 | arch | 2005-07-06 19:13:46 +0200 (Wed, 06 Jul 2005) | 7 lines

Original v2 revision: 1946

Revision: linuxbios@linuxbios.org--devel/freebios--devel--2.0--patch-30
Creator:  Yinghai Lu <yhlu@tyan.com>

Nvidia Ck804 support

------------------------------------------------------------------------
r31 | ollie | 2005-01-11 03:48:22 +0100 (Tue, 11 Jan 2005) | 4 lines

Original v2 revision: 1852

*** empty log message ***

------------------------------------------------------------------------
r30 | ollie | 2004-12-08 21:10:01 +0100 (Wed, 08 Dec 2004) | 4 lines

Original v2 revision: 1815

added -E option for chip erase, remove duplicated code

------------------------------------------------------------------------
r29 | ollie | 2004-12-08 03:10:33 +0100 (Wed, 08 Dec 2004) | 4 lines

Original v2 revision: 1814

add retry to write_byte_program_jedec(), 99% success rate

------------------------------------------------------------------------
r28 | ollie | 2004-12-07 18:19:04 +0100 (Tue, 07 Dec 2004) | 4 lines

Original v2 revision: 1813

enable LPC decoding for 1 MB more addresss, for supporting SST49LF00xA/B

------------------------------------------------------------------------
r27 | ollie | 2004-12-07 04:15:51 +0100 (Tue, 07 Dec 2004) | 5 lines

Original v2 revision: 1812

SST49LF00[2,3,4] should use
the same driver as 49LF008

------------------------------------------------------------------------
r26 | yhlu | 2004-10-20 07:07:16 +0200 (Wed, 20 Oct 2004) | 4 lines

Original v2 revision: 1693

Tyan update to work with new CPU Config

------------------------------------------------------------------------
r25 | rminnich | 2004-09-30 18:37:01 +0200 (Thu, 30 Sep 2004) | 4 lines

Original v2 revision: 1651

support for sst firmware hub

------------------------------------------------------------------------
r24 | rminnich | 2004-09-28 22:32:17 +0200 (Tue, 28 Sep 2004) | 4 lines

Original v2 revision: 1650

use hex print in id1, id2

------------------------------------------------------------------------
r23 | rminnich | 2004-09-28 22:09:06 +0200 (Tue, 28 Sep 2004) | 4 lines

Original v2 revision: 1649

add support for ICH4. more i955pm stuff.

------------------------------------------------------------------------
r22 | ollie | 2004-09-07 23:31:47 +0200 (Tue, 07 Sep 2004) | 4 lines

Original v2 revision: 1647

code reformat

------------------------------------------------------------------------
r21 | rminnich | 2004-04-13 21:10:48 +0200 (Tue, 13 Apr 2004) | 4 lines

Original v2 revision: 1496

add missing return at 205

------------------------------------------------------------------------
r20 | ollie | 2004-03-27 01:31:03 +0100 (Sat, 27 Mar 2004) | 4 lines

Original v2 revision: 1487

data tye consistence

------------------------------------------------------------------------
r19 | ollie | 2004-03-27 01:18:15 +0100 (Sat, 27 Mar 2004) | 4 lines

Original v2 revision: 1486

removed false alarm of erase/write, use verify '-v' if you are not sure about the integrity

------------------------------------------------------------------------
r18 | ollie | 2004-03-22 23:19:17 +0100 (Mon, 22 Mar 2004) | 4 lines

Original v2 revision: 1464

more jedec standard consolidatation.

------------------------------------------------------------------------
r17 | ollie | 2004-03-20 18:39:43 +0100 (Sat, 20 Mar 2004) | 4 lines

Original v2 revision: 1459

rmove unused #define and function declaretion

------------------------------------------------------------------------
r16 | ollie | 2004-03-20 18:05:01 +0100 (Sat, 20 Mar 2004) | 5 lines

Original v2 revision: 1458

I have no idea what i was trying to show off when I used the while loop rather
than for loop. Please forgive me, I was too young 4 years ago.

------------------------------------------------------------------------
r15 | ollie | 2004-03-20 17:46:10 +0100 (Sat, 20 Mar 2004) | 4 lines

Original v2 revision: 1457

consolidate more jedec standard code

------------------------------------------------------------------------
r14 | ollie | 2004-03-19 23:10:07 +0100 (Fri, 19 Mar 2004) | 4 lines

Original v2 revision: 1456

remove duplicated code

------------------------------------------------------------------------
r13 | dhendricks | 2004-03-18 22:59:05 +0100 (Thu, 18 Mar 2004) | 4 lines

Original v2 revision: 1439

Added support for SST49LF0xxA parts.

------------------------------------------------------------------------
r12 | dhendricks | 2004-03-18 22:55:22 +0100 (Thu, 18 Mar 2004) | 4 lines

Original v2 revision: 1438

Added support for more SST 49lf0xxA parts

------------------------------------------------------------------------
r11 | ollie | 2004-03-18 21:35:33 +0100 (Thu, 18 Mar 2004) | 4 lines

Original v2 revision: 1437

forgot a semicolon

------------------------------------------------------------------------
r10 | ollie | 2004-03-18 21:31:54 +0100 (Thu, 18 Mar 2004) | 4 lines

Original v2 revision: 1436

removed unused code in pm49fl004, remove experimental delay in sst49lf040

------------------------------------------------------------------------
r9 | ollie | 2004-03-18 21:27:33 +0100 (Thu, 18 Mar 2004) | 4 lines

Original v2 revision: 1435

fixed stupid i++ evalution order bug

------------------------------------------------------------------------
r8 | ollie | 2004-03-18 20:40:07 +0100 (Thu, 18 Mar 2004) | 4 lines

Original v2 revision: 1434

fixed 32bit v.s. 64bit long int arithematics

------------------------------------------------------------------------
r7 | ollie | 2004-03-18 00:03:37 +0100 (Thu, 18 Mar 2004) | 6 lines

Original v2 revision: 1433

removed spd_dump.c, it has nothing to do with flashing flash parts.
use standard product ID exit method for w49f002u
move udelay stuff into its own file

------------------------------------------------------------------------
r6 | ollie | 2004-03-17 23:22:08 +0100 (Wed, 17 Mar 2004) | 4 lines

Original v2 revision: 1428

move utility functions into new source files

------------------------------------------------------------------------
r5 | dhendricks | 2004-03-17 22:47:30 +0100 (Wed, 17 Mar 2004) | 4 lines

Original v2 revision: 1422

Added support for SST49LF040

------------------------------------------------------------------------
r4 | rminnich | 2004-02-14 00:09:54 +0100 (Sat, 14 Feb 2004) | 4 lines

Original v2 revision: 1376

fix makefile

------------------------------------------------------------------------
r3 | rminnich | 2004-02-10 22:34:18 +0100 (Tue, 10 Feb 2004) | 4 lines

Original v2 revision: 1375

now we support 8111 and these parts.

------------------------------------------------------------------------
r2 | rminnich | 2003-11-05 17:36:57 +0100 (Wed, 05 Nov 2003) | 4 lines

Original v2 revision: 1255

fix volatile

------------------------------------------------------------------------
r1 | rminnich | 2003-10-25 19:01:29 +0200 (Sat, 25 Oct 2003) | 4 lines

Original v2 revision: 1232

due to popular demand, added flash_and_burn to the freebios2 tree.

------------------------------------------------------------------------
