1
0
mirror of https://review.coreboot.org/flashrom.git synced 2025-04-28 15:33:42 +02:00

1136 Commits

Author SHA1 Message Date
Carl-Daniel Hailfinger
fd7075ae75 Add detailed status register printing and unlocking for all ATMEL AT25* chips
Add support for Atmel AT25DF081A and AT25DQ161.

Some chips require EWSR before WRSR, others require WREN before WRSR,
and some support both variants. Add feature_bits to select the correct
SPI command, and default to EWSR.

Corresponding to flashrom svn r1115.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Tested-by: Steven Rosario
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2010-07-29 13:09:18 +00:00
Carl-Daniel Hailfinger
f792c7d4cb Cosmetics
Fix alphabetic sort order for manufacturers in flashchips.c.
Rename a few EON chips to Eon.

Corresponding to flashrom svn r1114.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2010-07-28 22:20:20 +00:00
Carl-Daniel Hailfinger
2f43616873 Add Nvidia nForce MCP61/MCP65/MCP67/MCP78S/MCP73/MCP79 SPI flashing support
Huge thanks go to Michael Karcher for reverse engineering the interface
and to Johannes Sjölund for testing the first iterations of my patch on
his hardware until it worked.

Thanks to the following testers of the patch:
* MCP61, 10de:03e0, LPC OK, ECS Geforce6100SM-M, Andrew Cleveland
* MCP61, 10de:03e0, LPC OK, Biostar NF520-A2 NF61D-A2, Vitaliy Buchynskyy
* MCP65, 10de:0441, SPI OK, MSI MS-7369 K9N Neo-F v2, Kjell Braden
* MCP65, 10de:0441, SPI OK, MSI MS-7369, Wolfgang Schnitker
* MCP65, 10de:0441, SPI OK, MSI MS-7369, Johannes Sjölund
* MCP65, 10de:0441, SPI OK, MSI MS-7369, Melchior Franz
* MCP78S, 10de:075c, SPI OK, Asus M3N78 PRO, Brad Rogers
* MCP78S, 10de:075c, SPI OK, Asus M3N78-VM, Marcel Partap
* MCP78S, 10de:075c, SPI OK, Asus M4N78 PRO, Kimmo Vuorinen
* MCP78S, 10de:075c, SPI OK, Asus M4N78 PRO, Vikram Ambrose
* MCP79, 10de:0aad, SPI OK, Acer Aspire R3600, Andrew Morgan
* MCP79, 10de:0aae, LPC ??, Lenovo Ideapad S12 laptop, Christian Schmitt
* MCP79, 10de:0aae, SPI OK, Apple iMac9,1 Mac-F2218EA9, David "dledson"

flashrom will refuse to write/erase for safety reasons if MCP6x/MCP7x
SPI is detected.

Corresponding to flashrom svn r1113.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2010-07-28 15:08:35 +00:00
Carl-Daniel Hailfinger
5b997c3ed6 Split off programmer.h from flash.h
Programmer specific functions are of absolutely no interest to any file
except those dealing with programmer specific actions (special SPI
commands and the generic core).

The new header structure is as follows (and yes, improvements are
possible):
flashchips.h  flash chip IDs
chipdrivers.h  chip-specific read/write/... functions
flash.h  common header for all stuff that doesn't fit elsewhere
hwaccess.h hardware access functions
programmer.h  programmer specific functions
coreboot_tables.h  header from coreboot, internal programmer only
spi.h SPI command definitions

Corresponding to flashrom svn r1112.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2010-07-27 22:41:39 +00:00
Carl-Daniel Hailfinger
1d3a2fefbc Convert MMIO accesses of non-internal PCI-based programmers to be endian-agnostic
Convert all PCI-based external programmers to use special little-endian
accessors for all MMIO regions of PCI devices. This patch does _not_
touch the internal programmer (which is PCI-based as well).

Huge thanks go to Misha Manulis who worked with me to create a first
version of this patch for the satasii programmer based on modification
of generic code.

Huge thanks also go to Segher Boessenkool for suggesting the pci_mmio_
prefix for the abstraction layer.

NOTE to package maintainers: With this patch, compilation and usage of
flashrom should be safe on x86, x86_64, MIPS (little and big endian) and
PowerPC (big endian).

The internal programmer is disabled on non-x86/x86_64 (but it
compiles). The atahpt, nic3com, nicnatsemi, nicrealtek and rayer_spi
can not be compiled on non-x86/x86_64 because port space I/O is
not (yet) supported. Please compile with default settings on
x86/x86_64 and with the following settings on all other architectures:
make CONFIG_NIC3COM=no CONFIG_NICREALTEK=no CONFIG_NICNATSEMI=no
CONFIG_RAYER_SPI=no

Corresponding to flashrom svn r1111.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Misha Manulis <misha@manulis.com>
2010-07-27 22:03:46 +00:00
Uwe Hermann
695fb5d0ac Add a udev rules file for flashrom
This allows USB-based external programmers to be used by non-root users
(which are in the 'plugdev' group). The file is to be installed by the
distros into the proper place (not sure if this is distro-specific). On
Debian the file will end up in /etc/udev/rules.d/z60_flashrom.rules.

On some systems the 'plugdev' group might have to adapted to whatever
the respective distro uses.

The following devices are listed so far:

 - Amontec JTAGkey(2)
 - Buspirate
 - Dediprog SF100
 - DLP Design DLP-USB1232H
 - FTDI FT4232H Mini-Module

Corresponding to flashrom svn r1110.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-07-27 22:00:42 +00:00
Michael Karcher
efd8af3163 Board enable for abit NF-M2 nView
To be safe, the onboard video of the nView edition of this board has
been included in the match. If other NF-M2 editions have the same board
enable, the match should be broadened

lspci/superiotool
  http://www.coreboot.org/pipermail/flashrom/2010-April/002909.html

No success report, thus committed as untested.

Corresponding to flashrom svn r1109.

Signed-off-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-07-24 22:50:54 +00:00
Michael Karcher
4aa75f2bbb Detect IP35 by the SMBus bridge instead of the SATA controller
The SATA controller matched in the board enable is not always present
with that ID (that's the 2-port ICH9 SATA IDE controller), but (depending
on board revision/edition or BIOS settings an ICH9 SATA RAID controller
appears instead. This patches matches on the SMBus function in the
south bridge instead of the SATA controller.

Non-working board reported by: Gunter Keilholz <gunter.keilholz@googlemail.com>
lspci/superiotool:
  http://www.coreboot.org/pipermail/flashrom/2010-June/003591.html

Corresponding to flashrom svn r1108.

Signed-off-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-07-24 22:43:12 +00:00
Michael Karcher
3b11252426 Board enable for Samsung Polaris 32
lspci/superiotool:
http://www.coreboot.org/pipermail/flashrom/2010-July/003889.html

Corresponding to flashrom svn r1107.

Signed-off-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
Tested-by: Alex Loktionoff <oxy-loktionoff@mail.ru>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-07-24 22:36:01 +00:00
Michael Karcher
c7a1ffb6f1 Board enable for GA-8IRML
Non-working board reported by idlogin / Putlinuxonit <putlinuxonit@gmail.com>
lspci/superiotool:
  http://www.coreboot.org/pipermail/flashrom/2010-May/003330.html
No success report, so committed as untested.

Corresponding to flashrom svn r1106.

Signed-off-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-07-24 22:27:29 +00:00
Michael Karcher
7af2ff0d56 Board enable for Abit IC7
Non-working board reported by: Anders Jenbo <anders@jenbo.dk>
lspci/superiotool:
  http://www.coreboot.org/pipermail/flashrom/2010-June/003346.html

no success report, so committed as untested.

Corresponding to flashrom svn r1105.

Signed-off-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-07-24 22:18:14 +00:00
Michael Karcher
9a9b9842de Fix compilation for CONFIG_INTERNAL=no
Broken by r1098

Corresponding to flashrom svn r1104.

Signed-off-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-07-24 22:07:52 +00:00
Idwer Vollering
19dceac408 Fix compilation which was broken by r1101
Corresponding to flashrom svn r1103.

Signed-off-by: Idwer Vollering <vidwer@gmail.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-07-24 18:47:45 +00:00
Michael Karcher
e57957c977 Board enable for HP Puffer2-UL8E
lspci/superiotool:
  http://www.coreboot.org/pipermail/flashrom/2010-July/003869.html

Corresponding to flashrom svn r1102.

Signed-off-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
Acked-by: Mattias Mattsson <vitplister@gmail.com>
2010-07-24 11:14:37 +00:00
Michael Karcher
87c9099e69 Board enable for ASUS P4SD-LA (HP OEM)
No response from reporter - committed as "untested".

Corresponding to flashrom svn r1101.

Signed-off-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-07-24 11:03:48 +00:00
Michael Karcher
72eeab5f35 Board enable for ASUS P5PE-VM
Corresponding to flashrom svn r1100.

Signed-off-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
Tested-by: František Kučera <linux@frantovo.cz>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-07-24 10:41:42 +00:00
Michael Karcher
b05b9e100a Move SB600 SPI initialization to sb600spi.c
Corresponding to flashrom svn r1099.

Signed-off-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-07-22 18:04:19 +00:00
Michael Karcher
a4448d9aec Move Intel SPI initialisation to ichspi.c
Smarter version could decide whether SPI is vital or not depending on
straps. Straps are currently implemented for ICH7. EP80579 is in the comment,
PCH of 5 Series/3400 Series has "LPC, reserved, PCI, SPI".

Corresponding to flashrom svn r1098.

Signed-off-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-07-22 18:04:15 +00:00
Joshua Roys
d97c0e02d6 Add support for the Intel 28F002BC-T
Corresponding to flashrom svn r1097.

Signed-off-by: Joshua Roys <roysjosh@gmail.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-07-22 15:20:43 +00:00
Daniel Lenski
df90d3a38f Add support for the following AMIC SPI chips
http://www.amictechnology.com/pdf/A25L20P.pdf covers:
AMIC A25L05PT
AMIC A25L05PU
AMIC A25L10PT
AMIC A25L10PU
AMIC A25L20PT
AMIC A25L20PU
http://www.amictechnology.com/pdf/A25L16P.pdf covers:
AMIC A25L16PT
AMIC A25L16PU

Clarify the situation surrounding the A25L40PT and A25L40PU chips which
share the same RDID values, despite the fact that their erase block
layouts are different.  Rudolf Marek tested and confirmed the distinct
erase block layouts of these chips.

Add a pretty-printer for the AMIC SPI chip status register
Add a generic AMIC chip type.

Corresponding to flashrom svn r1096.

Signed-off-by: Daniel Lenski <dlenski@gmail.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-07-22 11:44:38 +00:00
Andrew Morgan
74a828a6dd Add nicnatsemi to print.c and print_wiki.c
Change the nicnatsemi address mask to use MA0-MA16 and set the maximum
decode size to 128KB.

Corresponding to flashrom svn r1095.

Signed-off-by: Andrew Morgan <ziltro@ziltro.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-07-21 15:12:07 +00:00
Ed Swierk
86f4e6db2c Add support for the SST25VF064C SPI flash chip
Corresponding to flashrom svn r1094.

Signed-off-by: Ed Swierk <eswierk@aristanetworks.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-07-21 15:02:22 +00:00
Carl-Daniel Hailfinger
e7fdd6e9a1 Add support for RayeR SPIPGM hardware as described in http://rayer.ic.cz/elektro/spipgm.htm
To use the RayeR driver, run
flashrom -p rayer_spi -V

Known bugs/limitations:
- Won't compile/work on non-x86 architectures.
- Will always use direct port I/O access.

Log follows:

flashrom v0.9.2-r1039 on MS-DOS 7 (i686), built with libpci 3.1.5, GCC 
4.3.2, little endian
Calibrating delay loop... OK.
Initializing rayer_bitbang_spi programmer
Using port 0x378 as I/O base for parallel port access.
...
Probing for Macronix MX25L1605, 2048 KB: probe_spi_rdid_generic: id1 
0xc2, id2 0x2015
...
Found chip "Macronix MX25L1605" (2048 KB, SPI) at physical address 
0xffe00000.
...
No operations were specified.

Corresponding to flashrom svn r1093.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Martin Rehak <rayer@seznam.cz>
Acked-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
2010-07-21 10:26:01 +00:00
Carl-Daniel Hailfinger
17e23ac979 Check during SPI bitbang init that SPI bitbang master configuration is correct
Corresponding to flashrom svn r1092.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
2010-07-18 14:42:28 +00:00
Michael Karcher
62175a094d Use struct pointer instead of enum to set bitbang adapter
Corresponding to flashrom svn r1091.

Signed-off-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-07-17 23:27:47 +00:00
Carl-Daniel Hailfinger
f7533420b4 Print supported flash chips as narrow as possible
Fix a bug where 4 GB of spaces would be printed per line if a vendor
name was longer than 10 chars.

This patch is needed to commit MoselVitelic chip support.

Corresponding to flashrom svn r1090.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2010-07-17 23:21:12 +00:00
Carl-Daniel Hailfinger
fb2c4c3f72 Refine PCI BAR masks handling for drkaiser and gfxnvidia
Use the BAR value returned by pcidev_init which automatically applies
the correct BAR mask for the drkaiser driver. Truncate flash chip
addresses to fit into the 128 kB memory window for drkaiser and pick the
same window size for gfxnvidia.

Uwe tested all operations successfully on a Dr. Kaiser card.

Corresponding to flashrom svn r1089.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2010-07-17 22:42:33 +00:00
Carl-Daniel Hailfinger
44cd9ab080 Add support for pciutils/libpci older than 2.2
Needed on the original Xbox running Xebian and a few other ancient
systems.

Corresponding to flashrom svn r1088.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Alec Wright <alecjw@member.fsf.org>
2010-07-17 22:28:05 +00:00
Carl-Daniel Hailfinger
b51e58e50f Use __clang_version__ macro
Newer llvm/clang versions (since r102686) have a __clang_version__ macro
which can be used to print the exact clang version.

Fix a case where chip_to_probe was referenced twice via extern, once at
the function level and once in a global include file. Found by latest
clang.

Corresponding to flashrom svn r1087.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2010-07-17 14:49:30 +00:00
Carl-Daniel Hailfinger
abebe6b4c2 Add Winbond W49F020 support
This chip is used on some Xbox versions.

Corresponding to flashrom svn r1086.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Alec Wright <alecjw@member.fsf.org>
2010-07-17 13:45:42 +00:00
Carl-Daniel Hailfinger
0d974e7a92 Refine SPI bitbanging
Change the SPI bitbanging core to fix a subtle bug (which had no
effect so far) and to make integration of the RayeR SPIPGM and Nvidia
MCP6x/MCP7x SPI patches easier. Kill a few global variables and require
explicit initialization of bitbanging delay.

A big to Johannes Sjölund for testing an earlier version of the code as
part of the Nvidia MCP6x/MCP7x SPI bitbanging patch.

Corresponding to flashrom svn r1085.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
2010-07-17 12:54:09 +00:00
Michael Karcher
1a854fc98c Remove temporary buffers from bitbanging
This removes the need of allocating an extra buffer, but also removes
the possibility of having the data read back during the initial write
phase for debugging purposes.

Compile tested, no functional testing.

Corresponding to flashrom svn r1084.

Signed-off-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-07-17 10:42:34 +00:00
Carl-Daniel Hailfinger
420cf6f633 Mark Fujitsu MBM29F400BC write as broken (implicit eraseblock layout in write)
Use full-chip write function on Fujitsu MBM29F400TC and ST M29F400BT.
Add support for ST M29F400BB.

Corresponding to flashrom svn r1083.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
2010-07-16 22:07:20 +00:00
Carl-Daniel Hailfinger
29a1c66a23 Use generic unlocking infrastructure for SPI chips
Actually check if the unlock worked instead of just assuming it worked.

Corresponding to flashrom svn r1082.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
2010-07-14 20:21:22 +00:00
Carl-Daniel Hailfinger
ca812d40d4 Use the max_rom_decode infrastructure for wbsio_spi
Use this instead of the open-coding variant that only aborts after it is too late.

Corresponding to flashrom svn r1081.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
2010-07-14 19:57:52 +00:00
Carl-Daniel Hailfinger
9a795d83fb Convert SPI chips to partial write
However, wrap the write functions in a compat layer to allow converting
the rest of flashrom later. Tested on Intel NM10 by David Hendricks.

Corresponding to flashrom svn r1080.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
2010-07-14 16:19:05 +00:00
Carl-Daniel Hailfinger
1748c5701f Print an error message on read errors and abort instead of proceeding anyway
Improve error checking in file write, chip read and chip verify.
Refactor the read routines a bit to split reading from file writing.

Log for a failed read:
[...]
Found chip "Winbond W25x16" (2048 KB, SPI) at physical address
0xffe00000.
Reading flash... Invalid OPCODE 0x03
Read operation failed!
FAILED.

Corresponding to flashrom svn r1079.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stephen Kou <stephen@hyarros.com>
2010-07-13 23:56:13 +00:00
Carl-Daniel Hailfinger
4d3e9ca733 Wrap a line which was 156 columns wide
Corresponding to flashrom svn r1078.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
2010-07-13 00:42:00 +00:00
Carl-Daniel Hailfinger
a122341fa5 Split erase region walking out of erase_flash
That allows us to use erase region walking for a combined erase/write
action, and is a prerequisite for partial flashing,

Corresponding to flashrom svn r1077.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
2010-07-13 00:37:19 +00:00
Carl-Daniel Hailfinger
ab922779e3 Fix out-of-bounds ICH FREG permission printing
A bit was masked, but not shifted, and that led to worst-case accesses
of index 24 in an array with 4 members.

I've improved readability in the variable declaration block as well.

Thanks to Stephen Kou for reporting the bug.

Corresponding to flashrom svn r1076.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stephen Kou <stephen@hyarros.com>
2010-07-13 00:04:52 +00:00
Daniel Lenski
550f5c836c Add support for the AMIC A25L80P
This is a 1 MB SPI chip that seems to be straightforwardly related
to the AMIC A25L40PU, which has half the capacity but is otherwise
identical.

Datasheet is at http://www.amictechnology.com/pdf/A25L80P.pdf

flashrom -VE, -Vr, and -Vw has been tested using the AMD SB7x0
interface. Everything works fine... at least, I used it to upgrade my
BIOS and I've been able to reboot.

Corresponding to flashrom svn r1075.

Signed-off-by: Daniel Lenski <dlenski@gmail.com>
Acked-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
2010-07-11 21:33:31 +00:00
Michael Karcher
4497e86134 Fix read function for EMST F25L008A
SPI chips never should use read_memmapped. The SPI master code might
decide that read_memmapped is fine for this chip, though, in a lower
layer.

Corresponding to flashrom svn r1074.

Signed-off-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-07-10 19:34:15 +00:00
Carl-Daniel Hailfinger
76d4b373dd Generify support for ITE IT8705 Super I/O
Autodetect the ITE IT8705 Super I/O and enable flash writes if it
performs LPC->Parallel translation. Remove board enables which triggered
the IT8705 write enable manually. Change the IT87 SPI special case to
cover IT87 LPC->SPI and LPC->Parallel translation.

Corresponding to flashrom svn r1073.

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

Tested on Syntax SV266A.
Acked-by: Paul Menzel <paulepanter@users.sourceforge.net>

Tested on Shuttle AK38N, all operations work fine.
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2010-07-10 16:56:32 +00:00
Carl-Daniel Hailfinger
2b6dcb36c4 Unify programmer parameter extraction
Make programmer_param static by converting all users to extract_programmer_param.
Programmer parameters can no longer be separated with a
colon, they have to be separated with a comma.

Corresponding to flashrom svn r1072.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
2010-07-08 10:13:37 +00:00
Michael Karcher
7af6cefa48 Fix ASUS A8N-VM CSM board enable entry
r1063 had several issues: The PCI IDs for this board are copy/pasted from
the A8N and plain wrong for this board and the board enable is marked as
tested although it isn't. Finally the board description was slightly
wrong and the URL missing.

Corresponding to flashrom svn r1071.

Signed-off-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-07-08 09:32:18 +00:00
Carl-Daniel Hailfinger
744132af4b Various places in the flashrom source feature custom parameter extraction from programmer_param
This led to wildly differing syntax for programmer parameters, and
it also voids pretty much every assumption you could make about
programmer_param. The latter is a problem for libflashrom.

Use extract_param everywhere, clean up related code and make it more
foolproof. Add two instances of exit(1) where we have no option to
return an error. Remove six instances of exit(1) where returning an
error was possible.

WARNING: This changes programmer parameter syntax for a few programmers!

Corresponding to flashrom svn r1070.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
2010-07-06 09:55:48 +00:00
Carl-Daniel Hailfinger
d1be52d545 Disable writes on default for known bad programmers
If a programmer has untested or non-working write/erase code, but
probing/reading works, it makes sense to protect the user against
write/erase accidents. This feature will be used by the Nvidia MCP SPI
code, and it also might make sense for the gfxnvidia driver which has
non-working write/erase.

Corresponding to flashrom svn r1069.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
2010-07-03 12:14:25 +00:00
Carl-Daniel Hailfinger
ad3cc55e13 Kill global variables, constants and functions if local scope suffices
Constify variables where possible.
Initialize programmer-related variables explicitly in programmer_init to
allow running programmer_init from a clean state after
programmer_shutdown.
Prohibit registering programmer shutdown functions before init or after
shutdown.
Kill some dead code.
Rename global variables with namespace-polluting names.
Use a previously unused locking helper function in sst49lfxxxc.c.

This is needed for libflashrom.

Effects on the binary size of flashrom are minimal (300 bytes
shrinkage), but the data section shrinks by 4384 bytes, and that's a
good thing if flashrom is operating in constrained envionments.

Corresponding to flashrom svn r1068.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
2010-07-03 11:02:10 +00:00
Carl-Daniel Hailfinger
b63b067ae2 Add OpenBSD support
Add a requirements section to the man page which lists the needed access
permissions for each programmer.

This feature needs my pciutils/libpci 8/16-bit write emulation patch at
http://marc.info/?l=openbsd-ports&m=127780030728045 titled
[PATCH] Fix pciutils non-32bit PCI write on OpenBSD

Corresponding to flashrom svn r1067.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stuart Henderson <sthen@openbsd.org>
2010-07-02 17:12:50 +00:00
Joshua Roys
f93b36a6bc ICH9/10: display FRAP/FREGx access controls
Corresponding to flashrom svn r1066.

Signed-off-by: Joshua Roys <roysjosh@gmail.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-07-01 17:45:54 +00:00