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

1225 Commits

Author SHA1 Message Date
Carl-Daniel Hailfinger
92c8b0cec2 Increase flashrom release number to 0.9.3
Corresponding to flashrom svn r1204.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
v0.9.3
2010-10-08 16:31:43 +00:00
Carl-Daniel Hailfinger
9e3a6c4913 Multiple unrelated changes
CONFIG_BITBANG_SPI was not selected if CONFIG_NICINTEL_SPI was on by default.
Wiki output was missing all flash chips if CONFIG_INTERNAL was not
selected.
Use correct type for toupper()/tolower()/isspace() functions.
Specify software requirements in a generic way.
Non-x86 compilation does not work with the default programmer set, so
list the make parameters which result in a working build.

Corresponding to flashrom svn r1203.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
2010-10-08 12:40:09 +00:00
Paul Menzel
ab6328fa36 Refine text of requests to send logs
A lot of messages sent@flashrom.org just have "flashrom -V" as the subject. 
Ask people to include more information in the subject line to make life
easier for developers/supporters.

Corresponding to flashrom svn r1202.

Signed-off-by: Paul Menzel <paulepanter@users.sourceforge.net>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-10-08 11:03:02 +00:00
Carl-Daniel Hailfinger
174f55bdec Fix timing of SPI status register writes (WRSR)
SPI write status register (WRSR) may take longer than 100 ms, and it
makes sense to poll for completion in 10 ms steps until 5 s are over.
This patch complements r1115.

Corresponding to flashrom svn r1201.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Joshua Roys <roysjosh@gmail.com>
2010-10-08 00:37:55 +00:00
Carl-Daniel Hailfinger
ef69783a83 List the devices for all supported programmers in "flashrom -L" output
Fix PCI device ID printing.
Remove personal e-mail addresses from the man page, point people to
flashrom@flashrom.org instead.

Corresponding to flashrom svn r1200.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2010-10-07 22:21:45 +00:00
Carl-Daniel Hailfinger
a73fb4983d Refine -L output to include all programmer modules
Flashrom -L output did not contain a list of programmers nor were
all programmers listed. Fix it and mention at least the name of each
programmer. Wiki output is unchanged, and will need separate fixups.

Corresponding to flashrom svn r1199.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2010-10-06 23:48:34 +00:00
Carl-Daniel Hailfinger
f992c19fca Rename Direct I/O library to DirectHW
The Direct I/O library for Mac OS X is now called DirectHW to make sure
people can find it via an internet search.

DirectIO was a generic name for a concept and thus not a good
distinguisher for a library.

Corresponding to flashrom svn r1198.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Idwer Vollering <vidwer@gmail.com>
2010-10-06 23:16:10 +00:00
Carl-Daniel Hailfinger
3e85442e33 Update the author list in the man page
Update programmer parameter documentation.

Corresponding to flashrom svn r1197.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2010-10-06 23:03:21 +00:00
Stefan Reinauer
18430a08aa Remove duplicate includes from the code
Corresponding to flashrom svn r1196.

Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-10-06 02:56:44 +00:00
Carl-Daniel Hailfinger
602de9829c DJGPP: Avoid leaking memory on lowmem mapping error
Add a clarifying comment about why low memory is never unmapped.

Corresponding to flashrom svn r1195.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Rudolf Marek <r.marek@assembler.cz>
2010-10-05 23:21:51 +00:00
Helge Wagner
1db7a448b3 Massive speedups for SST25VF032B and SST25VF064C
Use AAI write for SST SST25VF032B.
Speedup from 228 to 113 seconds.

Use page (256 byte) write for SST SST25VF064C.
Speedup from 3091 to 123 seconds.

Corresponding to flashrom svn r1194.

Signed-off-by: Helge Wagner <helge.wagner@ge.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-10-05 22:29:08 +00:00
Helge Wagner
738e252112 Implement on-the-fly reprogramming of the ICH SPI OPCODE table
Corresponding to flashrom svn r1193.

Signed-off-by: Helge Wagner <helge.wagner@ge.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-10-05 22:06:05 +00:00
Uwe Hermann
17da61ea32 Add a board-enable for the ASRock K7S41, chipset-enable for SiS 741
This also adds (and marks as tested) a chipset-enable for the SiS 741.

All operations successfully tested on hardware.

lspci/superiotool:
  http://www.flashrom.org/pipermail/flashrom/2010-September/004710.html

Corresponding to flashrom svn r1192.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-10-05 21:48:43 +00:00
Mattias Mattsson
2eaad63dc2 Add board enable for Dell OptiPlex GX1 and mark Intel 28F002BC/BL/BV/BX-T as tested
Match on ethernet and north bridge.

This is tested on an OptiPlex GX1 400L+ but will probably work for
the whole GX1 series as they all share the same vendor BIOS.

lspci/flashrom output
http://www.flashrom.org/pipermail/flashrom/2010-July/004042.html

lspci output (OptiPlex GX1 unknown model)
http://www.coreboot.org/pipermail/coreboot/2010-May/058040.html

superiotool output (OptiPlex GX1 266L+)
http://www.flashrom.org/pipermail/flashrom/2009-July/000207.html

lspci/dmidecode output (OptiPlex GX1 266L+)
http://www.coreboot.org/pipermail/coreboot/2009-July/050958.html

Corresponding to flashrom svn r1191.

Signed-off-by: Mattias Mattsson <vitplister@gmail.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-10-05 21:32:29 +00:00
Uwe Hermann
16ce40ec4e Quick fix for broken writes on FT2232H based programmers
Not sure if this is the final/correct fix, but for now it definately
fixes writes on FT2232H hardware. I have tested this on both, the
DLP Design DLP-USB1232H, and the openbiosprog-spi hardware.

Thanks to Joshua Roys <roysjosh@gmail.com> for the hint on IRC.

Corresponding to flashrom svn r1190.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-10-05 21:21:09 +00:00
Mattias Mattsson
cbee4a7242 Make sure all chip variants are present in .name strings in flashchips.c
Strip package prefix in constant names (everything before "28F").

Prefix every constant name with INTEL_

Sort intel chip constants by ID.

Rename the following constants to their "canonical" name:

P28F400BT (0x70  -> INTEL_28F400T (28F400BV/BX/CE/CV-T)
P28F400BB (0x71) -> INTEL_28F400B (28F400BV/BX/CE/CV-B)
P28F004BT (0x78) -> INTEL_28F004T (28F004B5/BE/BV/BX-T)
P28F004BB (0x79) -> INTEL_28F004B (28F004B5/BE/BV/BX-B)
E_28F008S5 (0xA6) -> INTEL_28F008S3 (28F008S3/S5/SC)
E_28F004S5 (0xA7) -> INTEL_28F004S3 (28F008S3/S5/SC)
P28F001BXT (0x94) -> INTEL_28F001T (28F001BN/BX-T)
P28F001BXB (0x95) -> INTEL_28F001B (28F001BN/BX-B)
E_28F016S5 (0xAA) -> INTEL_28F016S3 (28F016S3/S5/SC)

Add chip IDs for the following chips:

28F320J5
28F640J5
28F320J3
28F640J3
28F128J3
28F256J3
28F200BL/BV/BX/CV-T
28F200BL/BV/BX/CV-B
28F002BL/BV/BX-B
28F008BE/BV-T
28F008BE/BV-B
28F800B5/BV/CE/CV-T
28F800B5/BV/CE/CV-B
28F016SA/SV
28F008SA
28F008S3/S5/SC
28F008S3/S5/SC
28F016XS
28F010
28F512
28F256A
28F020
28F016B3-T
28F016B3-B
28F008B3-T
28F008B3-B
28F004B3-T
28F004B3-B

Corresponding to flashrom svn r1189.

Signed-off-by: Mattias Mattsson <vitplister@gmail.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-10-05 20:28:36 +00:00
Carl-Daniel Hailfinger
37c4252ef7 Speed up RayeR SPIPGM driver by a factor of 2
Allow specification of an alternate base address with
flashrom -p rayer_spi:iobase=0x278
Any base address is allowed as long as it is nonzero, below 65536 and a
multiple of four.

Read speed is now on par with original spipgm.exe.

Corresponding to flashrom svn r1188.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Tested-by: Martin Rehak <rayer@seznam.cz>
Acked-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
2010-10-05 19:19:48 +00:00
Michael Karcher
39dcdece3a Board enable for GA-6IEM
Reported by Konstantin <hc@comp.susu.ac.ru>
lspci (superiotool missing, doesn't matter for this patch)
 http://www.coreboot.org/pipermail/flashrom/2010-September/004609.html
DMI is needed, as there are no usefull PCI IDs.

(no test of that board yet, thus marked as untested)

Corresponding to flashrom svn r1187.

Signed-off-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-10-05 17:29:35 +00:00
Idwer Vollering
9c31b50cbe Add details how to build for DOS to README
Update README to list all the needed rpm files for DOS cross-compilation
and update the download location of cwsdpmi.

Corresponding to flashrom svn r1186.

Signed-off-by: Idwer Vollering <vidwer+flashrom@gmail.com>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2010-10-05 13:31:12 +00:00
Idwer Vollering
bdc48274d8 Add Intel 82571EB and 82572EI Gigabit NICs to the supported list
Corresponding to flashrom svn r1185.

Signed-off-by: Idwer Vollering <vidwer@gmail.com>
Tested-by: Iain Paton <selsinork@gmail.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-10-05 11:16:14 +00:00
Patrick Georgi
a9095a9545 Add support for building flashrom against libpayload
This doesn't include changes to the frontend which must be
done separately, so this won't work out of the box.
This code was tested on hardware.

Corresponding to flashrom svn r1184.

Signed-off-by: Patrick Georgi <patrick.georgi@coresystems.de>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-09-30 17:03:32 +00:00
Vladimir 'phcoder' Serbinenko
5cfc94a98b Support for Loongson-2F (MIPS) flashing
Corresponding to flashrom svn r1183.

Signed-off-by: Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-09-29 23:37:24 +00:00
Carl-Daniel Hailfinger
cb3eb05172 Add list with DMI chassis types
Half a dozen hardcoded strcmp() don't make sense if we need a
chassis-type list anyway once we merge the internal DMI decoder. Provide
and array of the most interesting chassis types and annotate them with
laptop/non-laptop status. Match the dmidecode chassis type against the
strings in the array.

Corresponding to flashrom svn r1182.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Sean Nelson <audiohacked@gmail.com>
2010-09-26 21:43:53 +00:00
Patrick Georgi
ed7a964786 Implement libpayload support and improve life for DOS based flashrom, too
Corresponding to flashrom svn r1181.

Change the physmap* behaviour to use (void*)-1 as error code instead
of NULL. That way, 1:1 mapped memory can be supported properly
because (void*)0 is not a magic pointer anymore.
(void*)-1 on the other hand is a rather unlikely memory offset, so that
should be safe.
  
Signed-off-by: Patrick Georgi <patrick.georgi@coresystems.de>
Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-09-25 22:53:44 +00:00
Peter Lemenkov
0a6f9ca171 internal: remove unused variable
The variable 'ret' is unused when compiling on big-endian architecture.

This produces an "unused variable" message, which might be treated as error
if -Werror was passed to compiler.

With this patch I was able to compile flashrom cleanly on ppc and ppc64:

http://koji.fedoraproject.org/koji/taskinfo?taskID=2472482
http://koji.fedoraproject.org/koji/taskinfo?taskID=2472484

Corresponding to flashrom svn r1180.

Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2010-09-20 17:23:38 +00:00
Mattias Mattsson
eaf5ead473 Add chip IDs for Alliance Semiconductor flash chips
Cross-checked with UniFlash 1.40 source, chip datasheets and
EZoFlash's chip database (http://www.ezoflash.com/chip_database.php).

Datasheets:
http://www.ezoflash.com/datasheets/flash/Alliance/AS29F002.pdf
http://www.alsc.com/pdf/flash.pdf/as29f010.pdf
http://www.alsc.com/pdf/flash.pdf/as29f040.pdf
http://www.alsc.com/pdf/flash.pdf/as29f200.pdf
http://www.ezoflash.com/datasheets/flash/Alliance/AS29LV160.pdf
http://www.ezoflash.com/datasheets/flash/Alliance/AS29LV400.pdf
http://www.ezoflash.com/datasheets/flash/Alliance/AS29LV800.pdf

Corresponding to flashrom svn r1179.

Signed-off-by: Mattias Mattsson <vitplister@gmail.com>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2010-09-18 23:42:36 +00:00
Carl-Daniel Hailfinger
d2f007f98b Handle Bus Pirates already in bit banging mode correctly
Thanks to Johannes Sjölund for reporting that the Bus Pirate init could
not deal with a Bus Pirate which is already in binary Bitbang mode.

This is caused by a combination of the slowness of the Bus Pirate, the
slowness of USB and a fast serial port flush routine which just flushes
the buffer contents and does not wait until data arrival stops.

Make the Bus Pirate init more robust by running the flush command 10
times with 1.5 ms delay in between.

This code development was sponsored by Mattias Mattsson. Thanks! Tested
a few dozen times, should work reliably.

Corresponding to flashrom svn r1178.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Mattias Mattsson <vitplister@gmail.com>
2010-09-16 22:34:25 +00:00
Mattias Mattsson
f4925168c8 Add board enable for Elitegroup GeForce6100SM-M
Match on Memory Controller/LPC Bridge.

lspci/superiotool output:
http://www.coreboot.org/pipermail/flashrom/2010-September/004829.html

Test report:
http://www.coreboot.org/pipermail/flashrom/2010-September/004835.html

Corresponding to flashrom svn r1177.

Tested-by: Andrew Cleveland <evil.saltine@gmail.com>
Signed-off-by: Mattias Mattsson <vitplister@gmail.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-09-16 22:09:18 +00:00
Joshua Roys
f1324e0063 Add chip definitions for the folowing chips
Bright BM29F040
Hyundai HY29F040A
Macronix MX29F040

Also add chip IDs for
Bright BM29F400T/B

Datasheets:
http://www.ezoflash.com/datasheets/flash/Winbond/BM29F040.pdf
http://www.ezoflash.com/datasheets/flash/Hyundai/HY29F040A.pdf
http://www.ezoflash.com/datasheets/flash/Macronix/MX29F040.pdf
http://www.ezoflash.com/datasheets/flash/Winbond/BM29F400T_B.pdf

Bright BM29F040 probe/read test report:
http://www.flashrom.org/pipermail/flashrom/2010-September/004805.html

Corresponding to flashrom svn r1176.

Signed-off-by: Joshua Roys <roysjosh@gmail.com>
Acked-by: Mattias Mattsson <vitplister@gmail.com>
2010-09-16 00:51:51 +00:00
Mattias Mattsson
6eabe282fe This patch changes the prefix of chip constant #defines in the following way
AM_* -> AMD_AM*
AT_* -> ATMEL_AT*
EN_* -> EON_EN*
HY_* -> HYUNDAI_HY*
MBM* -> FUJITSU_MBM*
MX_ID -> MACRONIX_ID
MX_* -> MACRONIX_MX*
PMC_* -> PMC_PM*
SST_* -> SST_SST*

It leaves the Intel #defines alone because there is another pending
patch for that:
http://patchwork.coreboot.org/patch/1937/

Some background discussion here:
http://www.flashrom.org/pipermail/flashrom/2010-July/004059.html

Corresponding to flashrom svn r1175.

Signed-off-by: Mattias Mattsson <vitplister@gmail.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-09-15 23:31:03 +00:00
Joshua Roys
85835d891d Add chipset enable for Broadcom OSB4
No docs available.

Corresponding to flashrom svn r1174.

Signed-off-by: Joshua Roys <roysjosh@gmail.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-09-15 14:47:56 +00:00
Carl-Daniel Hailfinger
39446e34c8 Detect embedded EC (IMC) in AMD's SBs
AMD SB700 and later have an integrated microcontroller (IMC) which runs
from shared flash.

The IMC will happily issue reads while we write, issue writes while we
read, and generally cause lots of havoc due to the concurrent accesses
it performs while flashrom is running. A failing or corrupted read can
be detected since r1145, and the worst case is that the read aborts and
the user has to retry. A failing write is much more serious. It can
be detected since r1145, but if the SPI interface locks up, we can't
continue writing nor can we read the current chip contents.

If the IMC is inactive, there is no reason to worry. If the IMC is
active, flashrom will refuse to erase/write the chip with this patch.

The correct fix would be to stop the IMC during flashing, but apparently
the relevant registers are undocumented, so we take the safe route for
now until someone from AMD can give us more info.

Corresponding to flashrom svn r1173.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Tested-by: Matthias Kretz <kretz@kde.org>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2010-09-15 12:02:07 +00:00
Carl-Daniel Hailfinger
9ad4255b5e Delay between probe and subsequent operations
Some flash chips need time to exit ID mode, and while we take care of
correct timing for the matching probe, subsequent probes may have
totally different timing, and that can lead to garbage responses from
the flash chip during the first accesses after the probe sequence is
done.
Delay 100 ms between the last probe and any subsequent operation.
To ensure maximum correctness, we would have to reset the chip first in
case the last probe function left the chip in an undefined (non-read)
state. That will be possible once struct flashchip has a .reset
function.

This fixes unstable erase/read/write for some flahs chips on nic3com and
possible other use cases as well.

Thanks to Maciej Pijanka for reporting the issue and testing patches.

Corresponding to flashrom svn r1172.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
2010-09-15 10:20:16 +00:00
Carl-Daniel Hailfinger
2822888c81 SPI bitbanging: request/release bus
SPI bitbanging on devices which speak SPI natively has a dual-use
problem: We need to shut down normal SPI operations to do the bitbanging
ourselves. Once we're done, it makes a lot of sense to reenable "normal"
SPI operations again. Add request_bus/release_bus functions to struct
bitbang_spi_master.
Add a bitbang shutdown function (not used yet).
Change MCP SPI and Intel NIC SPI to use the new request/release bus
infrastructure.
Cosmetic changes to a few error messages (80 column limit).

There are multiple possible strategies for bus request/release:
- Request at the start of a SPI command, release immediately afterwards.
- Request at the start of a SPI multicommand, release once all commands
of the multicommand are done.
- Request on programmer init, release on shutdown.
Each strategy has its own advantages. For now, we will stay with the
first strategy which worked fine so far.

Corresponding to flashrom svn r1171.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2010-09-15 00:17:37 +00:00
Carl-Daniel Hailfinger
ec489e4ec6 Honor ICH SPI address window for reads
ICH SPI has the ability to restrict SPI read/write accesses to a given
address range. The low end of the range is configurable by the BIOS (and
by flashrom if the BIOS didn't lock down the flash interface), the high
end of the range is 0xffffff (2^24-1).
This patch checks for an address range restriction and uses the low end
of the allowed range as base for SPI reads. A similar workaround for
REMS/RES opcodes has been committed in r500.

This fixes read on the Intel D945GCLF mainboard where the stock BIOS
enforces a restricted address range.
Please note that writes need the same fix, but for architectural reasons
that fix will be merged once partial write is available.

Corresponding to flashrom svn r1170.

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

Tested by David Hendricks on the Intel D945GCLF mainboard, results at
http://paste.flashrom.org/view.php?id=79

Acked-by: David Hendricks <dhendrix@google.com>
2010-09-15 00:13:02 +00:00
Uwe Hermann
9a87c5d6ad Add missing GIGABYTE GA-7DXR entry, should have been in r1166
Corresponding to flashrom svn r1169.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2010-09-15 00:03:53 +00:00
Mattias Mattsson
a745cf4660 Various style/consistency fixes mainly for Winbond chips
Rename constants W_nnnn -> WINBOND_Wnnnn W_25nnn -> WINBOND_NEX_W25nnn.

Kill incorrect ASD chip and vendor id.

Group Winbond SPI and parallel chips separately (they have different
vendor IDs).

Change constant names to the "canonical" chip name for the following
ids:

W_29C020C (0x45)
 -> WINBOND_W29C020 (Same as W29C020C, W29C022 and ASD AE29F2008)

W_29C040P (0x46)
 -> WINBOND_W29C040 ("P" is for package type [32-pin PLCC], irrelevant)

W_29C011 + W_29EE011 (0xC1)
 -> WINBOND_W29C010 (Same as W29C010M, W29C011A, W29EE011, W29EE012,
    and ASD AE29F1008)


List all chip variants in the .name strings in flashchips.c


Have two identical entries for Winbond
W29C010(M)/W29C011A/W29EE011/W29EE012 but with different probe functions
in flashchips.c as sometimes (for newer revisions of these chips?) the
standard jedec probe seems to work. E.g. see test report here:
http://patchwork.coreboot.org/patch/1476/


Also add ids for the following Winbond chips:
W25Q40
W25Q128
W19B160BB
W19B160BT
W19B320SB/W19L320SB
W19B320ST/W19L320ST
W19B322MB
W19B322MT
W19B323MB
W19B323MT
W19B324MB
W19B324MT
W29C512A/W29EE512
W39L010
W39L040A
W39L512
W49F002/W49F002B

Corresponding to flashrom svn r1168.

Signed-off-by: Mattias Mattsson <vitplister@gmail.com>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2010-09-14 23:56:56 +00:00
Uwe Hermann
45bd144536 Board-enable for the ASUS A7V333
The board-enable is the same as for the ASUS A7V8X, i.e., it raises
GP51 on the ITE IT8703F. I verified using a multimeter that this
will raise both, WE# and TBL# on the flash chip.

All operations successfully tested on hardware.

Also renamed board_asus_a7v8x() to it8703f_gpio51_raise().

Corresponding to flashrom svn r1167.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Joshua Roys <roysjosh@gmail.com>
2010-09-14 23:20:35 +00:00
Uwe Hermann
a3473248d7 Another round of board/chip status updates
Mark the following boards as tested:

 - Intel Foxhollow (reported by Jason Shriver <J.Shriver@F5.com>)
   http://www.flashrom.org/pipermail/flashrom/2010-September/004768.html

 - Intel Greencity (reported by Jason Shriver <J.Shriver@F5.com>)
   http://www.flashrom.org/pipermail/flashrom/2010-September/004768.html

 - Tyan S2915-E (Thunder n6650W) (reported by Axel Bergerhoff
   <axelbergerhoff@compuserve.com>)
   http://www.flashrom.org/pipermail/flashrom/2010-August/004560.html

 - ASUS Z8NA-D6C (reported by John Wells <jb@sourceillustrated.com>)
   http://www.flashrom.org/pipermail/flashrom/2010-September/004737.html

 - GIGABYTE GA-7DXR (reported by Uwe Hermann <uwe@hermann-uwe.de>)
   http://www.flashrom.org/pipermail/flashrom/2010-September/004712.html

 - MSI MS-7211 (PM8M3-V) (reported by Shahar Or <mightyiampresence@gmail.com>)
   http://www.flashrom.org/pipermail/flashrom/2010-September/004612.html

 - MSI MS-6787 (P4MAM-V/P4MAM-L) (reported by Swift Geek <swiftgeek@gmail.com>)
   Board-enable now marked as tested.
   http://www.flashrom.org/pipermail/flashrom/2010-September/004687.html

Chips:

 - SST SST25VF016B (reported by Warren Turkal <wt@penguintechs.org>)
   http://www.flashrom.org/pipermail/flashrom/2010-September/004716.html

Corresponding to flashrom svn r1166.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2010-09-14 22:59:39 +00:00
Jason Shriver
4119e9b609 Add support for ST M25PX32 and M25PX64 flash chips
Probe, read, erase and write have been tested and all are functional.

Corresponding to flashrom svn r1165.

Signed-off-by: Jason Shriver <j.shriver@f5.com>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2010-09-14 13:16:01 +00:00
Carl-Daniel Hailfinger
7b61df80fb Use caching for Nvidia MCP SPI GPIO accesses
Reduce clock delay to zero.

Tests show more than 2x speedup.

Corresponding to flashrom svn r1164.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Tested-by: Andrew Morgan <ziltro@ziltro.com>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2010-09-14 01:29:49 +00:00
Tim ter Laak
4b933f0c5e Add support for the abit BM6 board
Corresponding to flashrom svn r1163.

Signed-off-by: Tim ter Laak <timl@scintilla.utwente.nl>
Acked-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2010-09-13 23:00:57 +00:00
Stephan Guilloux
3611b80b40 Add support for the Macronix MX251635E chip
Corresponding to flashrom svn r1162.

Signed-off-by: Stephan Guilloux <stephan.guilloux@free.fr>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2010-09-13 19:59:28 +00:00
Mattias Mattsson
fb60cec402 Add board enable for ASUS P4SC-E
I does this by setting bits 3..2 of register 0x24 on the ITE IT8707F,
while keeping bit 3 of register 0x23 set while manipulating the first
register.

AFAIK, there is no public datasheet available for this super i/o chip, but
the above is how the vendor BIOS does it. Also, registers 0x23 and 0x24 seem
to have the same meaning as on the ITE IT8710F.

Matching on NB/SB.

Tested on a P4SC-E with SST 39SF020A flash. Probe, read, erase, write
all work.

lspci/superio output:
http://www.flashrom.org/pipermail/flashrom/2010-July/004090.html

flashrom output:
http://www.flashrom.org/pipermail/flashrom/2010-August/004566.html

Many thanks to Reinder de Haan for help with reverse engineering this!

Corresponding to flashrom svn r1161.

Signed-off-by: Mattias Mattsson <vitplister@gmail.com>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2010-09-13 19:39:25 +00:00
Mattias Mattsson
c8ca3de5ae Board enable for MS-6163 Pro (MS-6163 rev:2)
Matching on NB/SB. Probe, read, erase and write all work.

lspci/superiotool output:
http://www.flashrom.org/pipermail/flashrom/2010-August/004461.html

I believe that this board enable also works for MSI BX Master (MS-6163
rev:3) and perhaps also for MSI MS-6163FC (MS-6163 rev:1) but these
boards have not been tested.

Test logs for MS-6163 (rev:2):
http://www.flashrom.org/pipermail/flashrom/2010-September/004704.html

Corresponding to flashrom svn r1160.

Signed-off-by: Mattias Mattsson <vitplister@gmail.com>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2010-09-13 18:22:36 +00:00
Joshua Roys
b1d980f6ad Board enable for ASUS P5GDC Deluxe
Match on SMBus and Audio.
lspci/superiotool/flashrom output:
http://www.flashrom.org/pipermail/flashrom/2010-September/004689.html

Corresponding to flashrom svn r1159.

Signed-off-by: Joshua Roys <roysjosh@gmail.com>
Tested-by: Alexander Mikhnovets <alexander.mikhnovets@gmail.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-09-13 14:02:22 +00:00
Mattias Mattsson
e838824a87 Add a board enable for MSI MS-6561 (745 Ultra)
SiS 745 chipset + Winbond W83697HF and Winbond W49F002U flash. Probe, read,
erase and write all work.

Matching on "NB/SB" (they are integrated). Also mark SiS 745 chipset
as tested.

lspci/superiotool:
  http://www.flashrom.org/pipermail/flashrom/2010-September/004705.html

Corresponding to flashrom svn r1158.

Signed-off-by: Mattias Mattsson <vitplister@gmail.com>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2010-09-11 15:25:48 +00:00
Michael Karcher
f4b587963b Board enable for P4P800
lspci/superiotool:
  http://www.coreboot.org/pipermail/flashrom/2010-August/004436.html

This goes the safe route of adding a match for the P4P800 that does not
match the P4P800-E Deluxe which is already in.  It seems quite likely that
the whole P4P800 family could use the same board enable with one generic
board enable match, though.

This match uses host bridge + audio, because all other IDs match the
P4P800-E Deluxe board, as reported in
 http://www.e-monkeys.de/Everest-Bericht.txt

(no user feedback, commit as "untested")

Corresponding to flashrom svn r1157.

Signed-off-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2010-09-10 14:54:18 +00:00
Michael Karcher
4a23e44bea Board enable for ASUS P5GD1 Pro
lspci/superiotool:
  http://www.coreboot.org/pipermail/flashrom/2010-August/004539.html

matching SMBus + Audio, because SMBus is the only core device with
usable IDs.

Corresponding to flashrom svn r1156.

Signed-off-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2010-09-10 14:46:46 +00:00
Sergey A Lichack
f3a4bff427 Add a board-enable for the MSI MS-6787 (P4MAM-V/P4MAM-L)
Marked as untested for now, as there was no response from the user.

Corresponding to flashrom svn r1155.

Signed-off-by: Sergey A Lichack <shadowpilot34@gmail.com>
Acked-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2010-09-07 18:14:53 +00:00