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

1675 Commits

Author SHA1 Message Date
Stefan Tauner
31019d409c serprog: small improvements
- rename serprog_delay parameter to usecs
- fix code style, (output) formatting issues and comments
- sp_docommand: remove unnecessary malloc+memcpy and fix formatting

Corresponding to flashrom svn r1456.

Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2011-10-22 21:45:27 +00:00
Christoph Grenz
d13a394300 Add board enable for ABIT AV8
I disassembled the write enable and the write disable functions from
the Award BIOS image and reconstructed C code to understand for
myself what happens. For details see:
http://www.flashrom.org/pipermail/flashrom/2011-October/008033.html

I compared the download pages of both, abit AV8 and abit AV8-3rd Eye,
and the BIOS downloads are the same. So it's save to assume that this
board enable works on both versions. Tested on AV8.

Corresponding to flashrom svn r1455.

Signed-off-by: Christoph Grenz <christophg+cb@grenz-bonn.de>
Acked-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
2011-10-21 13:20:11 +00:00
Paul Menzel
018d482536 Add a bunch of new/tested stuff and various small changes 8
Tested mainboards:
OK:
- ASUS Crosshair II Formula
  http://www.flashrom.org/pipermail/flashrom/2011-September/007888.html
- ASUS K8N
  http://paste.flashrom.org/view.php?id=856
- ASUS M2N-E SLI
  http://www.flashrom.org/pipermail/flashrom/2011-September/007909.html
- ASUS M3N78-VM
  http://www.flashrom.org/pipermail/flashrom/2011-May/006496.html
- ASUS M4A78LT-M LE
  http://www.flashrom.org/pipermail/flashrom/2011-September/007869.html
- ASUS M4A89GTD PRO
  http://www.flashrom.org/pipermail/flashrom/2011-February/005824.html
- MSI A75MA-G55 (MS-7696)
  http://www.flashrom.org/pipermail/flashrom/2011-October/008055.html
- PCCHIPS M598LMR (V9.0)
  http://www.flashrom.org/pipermail/flashrom/2011-October/008051.html
- ECS P4VXMS (V1.0A)
  http://www.flashrom.org/pipermail/flashrom/2011-September/007986.html
- Foxconn P4M800P7MA-RS2
  http://www.flashrom.org/pipermail/flashrom/2011-October/008114.html
- GIGABYTE GA-P67A-UD3P
  http://www.flashrom.org/pipermail/flashrom/2011-September/007930.html
- GIGABYTE Z68MX-UD2H-B
  http://www.flashrom.org/pipermail/flashrom/2011-October/008080.html
- ZOTAC Fusion-ITX WiFi (FUSION350-A-E)
  http://www.flashrom.org/pipermail/flashrom/2011-October/008011.html
NOT OK:
- ASUS P8B-E/4L
  http://www.flashrom.org/pipermail/flashrom/2011-October/008047.html
- ASUS P8B WS
  http://www.flashrom.org/pipermail/flashrom/2011-October/008081.html

Tested chipsets:
- MCP78S (:075d)
  http://www.flashrom.org/pipermail/flashrom/2011-August/007612.html
- VT8233 (:3074)
  http://www.flashrom.org/pipermail/flashrom/2011-September/007986.html
- SiS 530 (:0530)
  http://www.flashrom.org/pipermail/flashrom/2011-October/008051.html
- P67 (:1c46)
  http://www.flashrom.org/pipermail/flashrom/2011-September/007930.html
 - Z68 (:1c44)
  http://www.flashrom.org/pipermail/flashrom/2011-October/008080.html

Tested flash chips:
- mark AMIC A29002T as TEST_OK_PREW
  http://www.flashrom.org/pipermail/flashrom/2011-October/008085.html
- mark Eon EN29F002(A)(N)T as TEST_OK_PREW
  http://www.flashrom.org/pipermail/flashrom/2011-October/008053.html
- mark EonEN25F16 as  TEST_OK_PREW
  http://www.flashrom.org/pipermail/flashrom/2011-February/005824.html
- mark Macronix MX29F002(N)T as TEST_OK_PREW
  http://www.flashrom.org/pipermail/flashrom/2011-October/008083.html
- mark Pm39LV040 as TEST_OK_PR
  http://www.flashrom.org/pipermail/flashrom/2011-September/007942.html
- mark Pm39LV010 as TEST_OK_PREW
  http://www.flashrom.org/pipermail/flashrom/2011-September/007942.html
- mark SST49LF008A as TEST_OK_PREW
  http://www.flashrom.org/pipermail/flashrom/2011-September/007989.html
- mark SyncMOS {F,S,V}29C51002T as TEST_OK_PREW
  http://www.flashrom.org/pipermail/flashrom/2011-October/008052.html
- mark W39V040B as write tested
  http://www.flashrom.org/pipermail/flashrom/2011-October/008114.html
- mark W39V040C as  TEST_OK_PREW
  http://www.flashrom.org/pipermail/flashrom/2011-October/008114.html

- remove superfluous line break in enable_flash_ich_dc_spi
- m->M in "min" and "max" (voltage) in print_wiki.c

Corresponding to flashrom svn r1454.

- spi25: get rid of unneccessary line breaks (on failed probes)
which is
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>

- rayer_spi.c: Remove double word: `s/the the/the/`
which is
Signed-off-by: Paul Menzel <paulepanter@users.sourceforge.net>

The parts added until 2011-10-14 (most of this patch) were
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>

everything else is
Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
Acked-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
2011-10-21 12:33:07 +00:00
Samir Ibradžić
7189a5ff8c Add support for the GOEPEL PicoTAP programmer
http://www.goepel.com/en/jtagboundary-scan/hardware/picotap.html

This device is actually a JTAG adapter, but since it uses standard
FT2232 A interface pins, it can be easily used as SPI programmer
(tested it here successfully). PicoTAP supports only 5V output, so one
needs to reduce this to 3.3V in a same manner as DLP Design DLP-USB1232H, see

  http://flashrom.org/FT2232SPI_Programmer#DLP_Design_DLP-USB1232H

for details.

The PicoTAP pin-out is as follows:

  PicoTAP |  SPI
 ---------+-------
    TCK   | SCLK
    TMS   |  CS#
    TDI   |  SO
    TDO   |  SI
   /TRST  |  -
    GND   |  GND
    +5V   |  VCC, HOLD# & WP# after 3.3V regulator

I managed to run PicoTAP in 10MHz, 15MHz and 30MHz modes (by forcing
DIVIDE_BY), against SST25VF016B SPI flash, read/write/erase all worked
fine (write seems somewhat slow).

Corresponding to flashrom svn r1453.

Signed-off-by: Samir Ibradžić <sibradzic@gmail.com>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2011-10-20 23:14:10 +00:00
Stefan Tauner
d0c5dc23e2 ichspi: add (partially) dead support code for Intel Hardware Sequencing
This was done to ease the review. Another patch will hook up (and
explain) this code later.

Corresponding to flashrom svn r1452.

Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2011-10-20 12:57:14 +00:00
Uwe Hermann
836b26a423 TIAO/DIYGADGET USB Multi-Protocol Adapter (TUMPA) support
Thanks to TIAO/DIYGADGET for sponsoring a test device!

This is an FTDI FT2232H based device which provides an easily accessible JTAG,
SPI, I2C, serial breakout. The SPI part can be used to flash SPI flash chips
using flashrom.

http://www.diygadget.com/tiao-usb-multi-protocol-adapter-jtag-spi-i2c-serial.html
http://www.tiaowiki.com/w/TIAO_USB_Multi_Protocol_Adapter_User%27s_Manual#SPI_Connector_1

There are two SPI connectors (pin headers) on the board: SPI1, which is
connected to the FT2232H's A interface, and SPI2, which is connected to the
chip's B interface. Both can be used to flash SPI chips:

 flashrom -p ft2232_spi:type=tumpa,port=A
 flashrom -p ft2232_spi:type=tumpa,port=B

The default interface is A, so for SPI1 you can also just write:

 flashrom -p ft2232_spi:type=tumpa

I tested all operations on both interfaces, everything works fine.

Corresponding to flashrom svn r1451.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
2011-10-14 20:33:14 +00:00
Stefan Tauner
8c35745fcf Revert "Unsignify lengths and addresses in chip functions and structs"
- probe_timing was changed to unsigned although we use negative values
  for special cases
- some code was not changed along hence did no longer compile:
  * dediprog's read and write functions
  * linux_spi's read and write functions
- it introduced a number of new sign conversion warnings
  (http://paste.flashrom.org/view.php?id=832)

To be safe this patch reverts all changes made in r1448, a corrected
patch will follow later.

Thanks to idwer for pointing out the problem first!

Corresponding to flashrom svn r1450.

Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
Acked-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
2011-09-18 22:42:18 +00:00
Stefan Tauner
e3185c0599 ichspi: inform the user about the consequences of the security override strap
Ibex Peak SPI Programming Guide:
The PCH has a mechanism to set up to 5 address ranges from HOST access. These are
defined in PR0, PR1, PR2, PR3 and PR4 in the PCH EDS. These address ranges are NOT
unlocked by assertion of Flash descriptor Override.

Also, the datasheets mention the bit in their description of FRAP but not PR[N].

Corresponding to flashrom svn r1449.

Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2011-09-18 15:15:31 +00:00
Stefan Tauner
d196e7c138 Unsignify lengths and addresses in chip functions and structs
Corresponding to flashrom svn r1448.

Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2011-09-18 00:41:33 +00:00
Stefan Tauner
75da80c17b ichspi: unlock PR register restrictions on ICH8+ if not locked down
Tested-by: Shailendra Sodhi
(predecessor/proof of concept patch)
http://www.flashrom.org/pipermail/flashrom/2011-August/007717.html

Corresponding to flashrom svn r1447.

Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2011-09-17 22:21:55 +00:00
Stefan Tauner
bf69aaa9ca ichspi: add prettyprinting for PR registers on ICH8+
Corresponding to flashrom svn r1446.

Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2011-09-17 21:21:48 +00:00
Stefan Tauner
7783f31249 ichspi: don't touch the nonexistent(?) BBAR register on ICH8
There is no sign of BBAR (BIOS Base Address Configuration Register)
in the public datasheet (or specification update) of the ICH8. Also,
the offset of that register has changed between ICH7 (SPIBAR + 50h)
and ICH9 (SPIBAR + A0h), so we have no clue if or where it is on
ICH8. Better don't try to touch it at all and assume/hope it is 0.

Corresponding to flashrom svn r1445.

Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2011-09-17 21:21:42 +00:00
Stefan Tauner
84e1ddea5f ichspi: improve prettyprint_opcodes
Add headers for the columns and some decoding into human readable format.

Corresponding to flashrom svn r1444.

Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2011-09-17 19:53:11 +00:00
Stefan Tauner
1e14639f42 ichspi: add ICH/PCH flash descriptor decoding via FDOC/FDOD
Based on the work of Matthias 'mazzoo' Wenzel this patch adds pretty
printing of those ICH/PCH flash descriptor sections that are
cached/mapped by the chipset (and which are therefore reachable via
FDOC/FDOD registers).

this includes the following:
- content section:
    describes the image and some generic properties (number of
    sections, offset of sections, PCH/ICH and MCH/PROC strap
    offsets and lengths)
- component section:
    identify the different SPI flash chips and their capabilities.
- region section
    similarly to a partition table this describes the different regions.
    the content of FLREG* is derived from this section.
- master section
    defines SPI master (host, ME, GbE) access rights of the
    individual regions. the content of PR* is derived from this section.

this is only a part of the data included in the descriptor. other
information can be retrieved from a complete binary dump of the
descriptor region only.

this patch also adds macros and pretty printing for "Vendor Specific
Component Capabilities" registers: there are two of them: lower and
upper. they describe the properties of the address space divided by
FPBA (which allows to use multiple flash chips or partitions with
different properties). the properties of all supported flash chips
(together with their RDIDs) are stored in the same format in table
in a descriptor section (which is used by the ME apparently). a
later patch will use the macros outside of ichspi.c which is the
reason why the prettyprinting function and the register bit macros
are not defined in ichspi.c but ich_descriptors.h (else they would
be moved in the follow-up patch).

because this patch relies on (compiler) implementation-specific
layouting of bit-fields, it checks for correct layout before taking
any action on runtime.

Corresponding to flashrom svn r1443.

Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2011-09-15 23:52:55 +00:00
Urja Rannikko
c93f5f1232 serprog: add SPI support
Adds a new opcode (0x13) that just relays SPI bytes and wires it up to be
usable within serprog.c. Checks for mandatory opcodes are moved around and
changed a bit, but non-SPI programmers should not be harmed by this patch.

Corresponding to flashrom svn r1442.

Signed-off-by: Urja Rannikko <urjaman@gmail.com>
Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2011-09-15 23:38:14 +00:00
Stefan Tauner
f74a7b9c4f Add printing of chip voltage ranges to print_wiki.c
- add voltage ranges
- center some headers (test values OK, No, ? are centered via wiki templates)
- fix style error in header (align:right -> text-align:right)

Corresponding to flashrom svn r1441.

Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2011-09-14 22:09:48 +00:00
Stefan Tauner
a28087fab9 Make the laptop warning less scary if unsure
Telling the user to use "force_I_want_a_brick" if it is not even a
laptop, is a bit over-the-top. Introduce a new laptop parameter
"this_is_not_a_laptop" that allows to force operation, but only if
the detection is not sure.

Corresponding to flashrom svn r1440.

Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2011-09-13 23:14:25 +00:00
Andrew Morgan
ca081461af Add probe/read support for the Catalyst CAT28F512 chip
Write and erase are NOT yet supported!

Probe and read are tested by Andrew Morgan and Uwe Hermann on Intel NICs.

Corresponding to flashrom svn r1439.

Signed-off-by: Andrew Morgan <ziltro@ziltro.com>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2011-09-13 22:05:44 +00:00
Stefan Tauner
29e5d31084 Reformat -L output and add printing of chip voltage ranges to print.c
Besides adding output for the voltage ranges, this patch also changes
various aspects of the -L output:
- sizes are right aligned now with a fixed length of 5
- space between columns is selectable with a constant
- test results are always shown in the same column ("PR" and " R"
  instead of "PR" and "R ")
- vendor and device names are split on a delimiter (currently '/') and
  spread over mutliple lines but only if the tokens are not too short.
  all other columns are printed on the first line of a chip.
- voltage ranges are printed in verbose mode only

it also gets rid of POS_PRINT and digits

Corresponding to flashrom svn r1438.

Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2011-09-12 22:55:01 +00:00
Carl-Daniel Hailfinger
ae418d87b2 Add support for Xilinx parallel III (DLC5) programing cable
The rayer_spi driver defaults to the RayeR cable, but selecting other
predefined pin layouts with the type= parameter is possible:
flashrom -p rayer_spi:type=xilinx

Corresponding to flashrom svn r1437.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
2011-09-12 06:17:06 +00:00
Stefan Tauner
1d947633b6 Print out the flash chip found after the probing loop in verbose mode
This allows easier identification of the flash chip used in verbose logs.
There is no (additional) output if
* -c is used to specify a flash chip, or
* multiple chips are detected, or
* no chips are detected.

Corresponding to flashrom svn r1436.

Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2011-09-11 22:08:58 +00:00
Stefan Tauner
d5c4ab4cfd Revamp the warning of failing to set BIOS write enable in enable_flash_ich
- introduce a new variable 'wanted' that is used instead of 'new'
 - use 'new' for the actual value contained in BIOS_CNTL after we tried to write it
 - rephrase the warning which now also includes the old and new values besides the wanted one

Corresponding to flashrom svn r1435.

Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2011-09-09 12:46:32 +00:00
Uwe Hermann
c74e977627 Add initial Atmel AT49LH002 FWH/LPC chip support
The chip code is untested, only one erase function out of two is currently
implemented, and unlocking/printlocking is not yet supported.

Thanks Mattias Mattsson <vitplister@gmail.com> for the initial patch!

Corresponding to flashrom svn r1434.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2011-09-08 19:55:18 +00:00
Carl-Daniel Hailfinger
2e681601b1 Change programmer selection in cli and generic code
Bugfix: Do not accept multiple conflicting --programmer selections.
Restriction: Do not accept multiple --programmer selections even if
  there is no conflict.
Unexport the programmer variable.
programmer_init requires the programmer as first parameter.
The default programmer selection is now part of cli_classic.

Corresponding to flashrom svn r1433.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
2011-09-08 00:00:29 +00:00
Sven Schnelle
cb24ddbe12 Small fixes for the linux_spi programmer code
Corresponding to flashrom svn r1432.

Signed-off-by: Sven Schnelle <svens@stackframe.org>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2011-09-07 20:48:34 +00:00
Uwe Hermann
4335ec844a Mark the GIGABYTE GA-8I945GZME-RH and SST SST25LF040A as supported
Success report:
http://www.flashrom.org/pipermail/flashrom/2011-June/006797.html

lspci and other info:
http://www.flashrom.org/pipermail/flashrom/2010-August/004531.html

Corresponding to flashrom svn r1431.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2011-09-07 20:20:25 +00:00
Ingo Feldschmid
dadc0a65a3 Add Intel Tunnel Creek chipset support, mark it as tested
Intel's Tunnel Creek chipset supports both an SPI and an LPC bus. Set the
chipset table entry for Tunnel Creek to the new function
enable_flash_tunnelcreek(), which will read the hardware straps and return
support for the bus that has been used for booting. This function uses
ich_init_spi() with ich_generation set to 7 for initializing the SPI bus
if necessary.

SPI functionality tested on actual hardware, Tunnel Creek LPC interface not
tested yet (missing hardware for that).

Log file / success report:
http://www.flashrom.org/pipermail/flashrom/2011-September/007823.html

Corresponding to flashrom svn r1430.

Signed-off-by: Ingo Feldschmid <ifel@msc-ge.com>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2011-09-07 19:18:25 +00:00
Tadas Slotkus
0e3f1cf778 Kill all exit() calls in chipset_enable.c
Corresponding to flashrom svn r1429.

Signed-off-by: Tadas Slotkus <devtadas@gmail.com>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2011-09-06 18:49:31 +00:00
Uwe Hermann
48446c86ff Fix linux_spi.c build on 32bit systems
Corresponding to flashrom svn r1428.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2011-09-06 18:17:02 +00:00
Sven Schnelle
5ce5f70ed3 Add support for the Linux SPI subsystem (spidev)
See http://www.kernel.org/doc/Documentation/spi/spidev for an introduction.

Usage is as follows:

  flashrom -p linux_spi:dev=/dev/spidevX.Y

where X is the bus number, and Y device. It accepts an optional parameter
'speed' which allows to set the SPI clock speed in kHz.

Tested on an Atmel AVR32AP7000 board (NGW100 Network Gateway Kit), see
below, which was used to program a ThinkPad X60, but it should work on every
other Linux system, too.
  
  http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4102)

Corresponding to flashrom svn r1427.

Signed-off-by: Sven Schnelle <svens@stackframe.org>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2011-09-03 18:37:52 +00:00
Tadas Slotkus
ad470347fd Introduce ERROR_FATAL, abort upon failed chipset enables
Corresponding to flashrom svn r1426.

Signed-off-by: Tadas Slotkus <devtadas@gmail.com>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2011-09-03 17:15:00 +00:00
Sylvain "ythier" Hitier
3093f8f75e Add a bunch of new/tested stuff and various small changes 7
- add Asus Crosshair IV Extreme to the list of supported boards
  http://www.flashrom.org/pipermail/flashrom/2011-August/007640.html
- add Biostar N68S3+ to the list of supported boards
  http://www.flashrom.org/pipermail/flashrom/2011-September/007788.html
- add P7H55-M LX to the list of supported boards
  although flashrom works correctly, it is marked as not ok, because flashing the
  vendor image will break the LAN interface.
- add GA-X58A-UD7 to the list of supported boards
  http://paste.flashrom.org/view.php?id=739
- add Asus P4P800-VM to print.c
  (has a working board enable)
- add Asus K8V-X to print.c
  reported by florz
  http://paste.flashrom.org/view.php?id=742
- add Intel D865GLC to print.c as non-working (ICH5 with BIOS lock enable)
  reported by jmd on IRC
  http://paste.flashrom.org/view.php?id=775
- add Intel DH67CF to print.c as non-working (H67 with BIOS lock enable and locked ME region)
  http://www.flashrom.org/pipermail/flashrom/2011-September/007789.html
- add ECS P4M800PRO-M (V1.0A) to the list of supported boards
  reported by dweg on IRC (hot flashed a SST49LF040B, original was W39V040B)
- add X8DTU-6TF+ to print.c (needs ME unlocking)
  http://www.flashrom.org/pipermail/flashrom/2011-August/007553.html
- add Shuttle FH67 (used in the SH67H3 barebone) to the list of supported boards
  http://www.flashrom.org/pipermail/flashrom/2011-August/007749.html
- add Tyan S2912 to the list of supported boards
  reported by erlan on IRC
- add ZOTAC GeForce 8200 to the list of supported boards
  http://www.flashrom.org/pipermail/flashrom/2011-August/007612.html

- mark AT25DF321A as TEST_OK_PROBE
  http://www.flashrom.org/pipermail/flashrom/2011-August/007553.html
- mark 28F001BN/BX-T as TEST_OK_PR
  http://www.flashrom.org/pipermail/flashrom/2011-July/007208.html
- rename MX29F002
  http://patchwork.coreboot.org/patch/2794/
- mark SST39SF040 as fully tested
  reported by Florian 'florz' Zumbiehl
  http://paste.flashrom.org/view.php?id=742
- mark SST49LF040B as fully tested
  reported by dweg on IRC and later by Armin on the ml:
  http://www.flashrom.org/pipermail/flashrom/2011-August/007764.html

- mark H55 chipset as OK
  http://www.flashrom.org/pipermail/flashrom/2011-July/007432.html
- mark H67 chipset as OK
  http://www.flashrom.org/pipermail/flashrom/2011-August/007749.html
- mark a MCP61 version as OK
  http://www.flashrom.org/pipermail/flashrom/2011-September/007788.html
- add preliminary X79 (patsburg) PCI IDs
  0x1d40 was reported already as working (not archived in our pipermail?)
  http://marc.info/?l=flashrom&m=130683026218257&w=2

- mark "82557/8/9/0/1 Ethernet Pro 100" in nicintel.c as working
  http://www.flashrom.org/pipermail/flashrom/2011-August/007480.html

- rename some chips that had gratuitous "probing" suffixes:
  - SST25VF010.REMS
  - SST25VF040.REMS
  - M25P05.RES
  - M25P10.RES
  some other chip names with suffixes are needed due to lack of support
  for multiple probe functions per chip. this is explained here:
  http://www.flashrom.org/pipermail/flashrom/2011-August/007597.html

- remove unneeded nicintel_spi-related function declarations in programmer.h

- typos and whitespace fixes

- fix Asus P4P800-E Deluxe detection
  The original board enable was added before DMI matching and used
  the IDs of a Promise controller as secondary PCI ID set. The
  controller could be disabled in the BIOS which would make the
  board not match. This patch uses the SMBus controller instead and
  adds a DMI pattern. This was
Tested-by: Michael Schneider <vdrportal_midas at gmx dot de>

Corresponding to flashrom svn r1425.

- add "Sealed-case PC" to the list of chassis type (as indicating "not a laptop")
This is
Acked-by: Idwer Vollering <vidwer@gmail.com>

the fix for the typo unusued -> unused is
Signed-off-by: Sylvain "ythier" Hitier <sylvain.hitier@gmail.com>

everything else is
Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
Acked-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>

And everything was reviewed and
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2011-09-03 11:22:27 +00:00
Carl-Daniel Hailfinger
97d5b126c6 Shorten some board enable related function names
Corresponding to flashrom svn r1424.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
2011-08-31 16:19:50 +00:00
Stefan Tauner
bd0c70ae17 Fix printing of the Boot BIOS Straps on Intel chipsets
The meaning of the bits involved has changed several times in the past.
This patch takes these changes into account and hence fixes the output of the
pretty printing of GCS on all SPI-supported Intel chipsets that are not ICH7 or
NM10 (the latter were unaffected, because the defaults were correct).

This patch also allows to differentiate Ibex Peak and Cougar Point chipsets from
the earlier chipset series (ICH10) by adding new wrapper functions that set
"ich_generation" to 11 and 12 respectively. This should not change behavior
outside of enable_flash_ich_dc_spi, because the code path for
ich_generation >=9 is equal.

alternatively we could just remove the pretty printing of GCS and just output
the bits involved. i would like to keep the pch differentiation anyway though,
because i feel it will become handy in the future.

tested on my QS57-based thinkpad (probe + partial read)

Corresponding to flashrom svn r1423.

Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2011-08-27 21:19:56 +00:00
Wang Qing Pei
6e9e2ee2f4 Add AMD Hudson chipset-enable
AMD Hudson has different vendor/device IDs than AMD SBx00, handle
that properly.

Corresponding to flashrom svn r1422.

Signed-off-by: Wang Qing Pei <wangqingpei@gmail.com>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2011-08-26 21:11:41 +00:00
Uwe Hermann
09ebd52e01 Mark the AMD Am29LV008BB chip as fully tested
Thanks Mattias Mattsson <vitplister@gmail.com> for the report.
http://www.flashrom.org/pipermail/flashrom/2011-July/007423.html

Corresponding to flashrom svn r1421.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2011-08-25 22:54:23 +00:00
Mattias Mattsson
fca3b012da Add support for the Sharp LH28F008BJT-BTLZ1 chip
Tested by Mattias Mattsson <vitplister@gmail.com> on a PowerPC box.

Corresponding to flashrom svn r1420.

Signed-off-by: Mattias Mattsson <vitplister@gmail.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2011-08-25 22:44:11 +00:00
Michael Karcher
14ab8d456a Add board enable for ASUS P5LP-LE
Based on the REing of Michael Karcher and a good guess of Idwer Vollering.

Corresponding to flashrom svn r1419.

Signed-off-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
Tested-by: Leon Zhang <leoncamel at gmail.com>
http://www.coreboot.org/pipermail/flashrom/2010-August/004500.html
Tested-by: medhi <nefkongo@hotmail.com>
http://paste.flashrom.org/view.php?id=779
Acked-by: Idwer Vollering <vidwer@gmail.com>
2011-08-25 14:06:50 +00:00
Uwe Hermann
44ffd58aa3 Makefile: Fix MinGW build, improve output with bogus CC
As per IRC discussion, the "ARCH :=" line should be moved after any
lines which set CC, as it uses CC itself. This fixes the MinGW build.

Also, add a "2>/dev/null" in the "ARCH :=" as per suggestion from
Stefan Tauner to improve the output in the case CC is bogus:

Before:
$ make CC=foo
/bin/sh: foo: not found
Checking for a C compiler... not found.
make: *** [compiler] Error 1

After:
$ make CC=foo
Checking for a C compiler... not found.
make: *** [compiler] Error 1

Corresponding to flashrom svn r1418.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
2011-08-20 14:16:00 +00:00
Uwe Hermann
394ee78325 Move the main() function from flashrom.c to cli_classic.c
The file flashrom.c is part of libflashrom and should thus not contain a
main() function, that would break compilation of all frontends using
libflashrom. Also, cli_classic.c is the right place anyway, as it's the
main() of the CLI tool.

Rename the simple wrapper cli_classic() in cli_classic.c to main(), as
it's not really needed.

Corresponding to flashrom svn r1417.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
2011-08-20 14:14:22 +00:00
Stefan Tauner
56787086e3 Makefile: fix and simplify test program compilations
This was totally broken due to the make's shell function's temporal
behavior.

quote from the gnu make documentation
(http://www.gnu.org/s/hello/manual/make/Shell-Function.html):
"The commands run by calls to the shell function are run when the
function calls are expanded"
we have used the shell function to echo the test programs to a file.
the file name used was equal for all tests and was overwritten for
each test. the result was that all tests (in a single target?) used
the last test program because the echoing of the test programs was
done before all test compilations(!)
see my mail for details:
http://lists.gnu.org/archive/html/bug-make/2011-08/msg00010.html

also the branching for testing ifeq ($(CONFIG_FT2232_SPI), yes) was
unnecessarily complicated.

in my approach here i am using verbatim variables (allows to define
even complex test programs in the makefile without jumping through
hoops) that get exported to environment variables (via "export",
reference afterwards with "$$<varname>").

i have also added the missing redirection of stderr to the compiler
test and changed the definition of ARCH to use simple expansion (:=).

the latter is still wrong, because it uses $(CC) before we check if
a compiler is installed... makes the compiler check pretty much
useless. The simple expansion just reduces the number of errors
printed to 1.

Corresponding to flashrom svn r1416.

Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2011-08-18 02:27:19 +00:00
Zeus Castro
33670ba5c4 Add support for the SST25LF080A flash chip
Based on the definition of SST25LF040A and the public datasheet
available here: http://www.sst.com/dotAsset/40316.pdf

Also, move the SST25LF040A up to keep the list ordered
alphabetically (while removing the ".RES" suffix).

Corresponding to flashrom svn r1415.

Signed-off-by: Zeus Castro <thezeusjuice@gmail.com>
Acked-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
2011-08-17 09:50:11 +00:00
Stefan Tauner
a63c7c4496 Remove unneeded inclusions of chipdrivers.h
This is related to the spi split patch as discussed in:
http://www.flashrom.org/pipermail/flashrom/2010-February/thread.html#2364
the old commit (r914) log notes:
"Some of the spi programmer drivers required chipdrivers.h, needs fixing later: it87spi.c
  ichspi.c   sb600spi.c   wbsio_spi.c   buspirate_spi.c   ft2232spi.c   bitbang_spi.c   dediprog.c"

there still remain a few cases where chipdrivers.h is needed:
dediprog.c (spi_read_chunked and spi_write_chunked)
it87spi.c (due to spi_write_enable and spi_read_status_register)
wbsio_spi.c (spi_programmer registration only)

besides that, there are also non-spi files that do not need it.
also, add flash.h to chipdrivers.h because it uses some types of it
and remove flashchips.h from print.c

Corresponding to flashrom svn r1414.

Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
Acked-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
2011-08-16 12:08:22 +00:00
Carl-Daniel Hailfinger
082c8b559c Fixup of r1397
- Mixing uninitialized and initialized local variables leads to
  confusion.
- ft2232_spi error cases should have gotten some error handling, and
  that's the reason the curly braces were there.
- Fixing typos/wording in some places would have been nice given that
  those places were touched anyway.

Corresponding to flashrom svn r1413.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
2011-08-15 19:54:20 +00:00
Steve Markgraf
0528b7fefa ft2232_spi: add support for the Dangerous Prototypes Bus Blaster
Add support for the Dangerous Prototypes Bus Blaster (v1/v2).
The new model is called "busblaster".
So far only v2 has been tested, but since both v1 and v2
emulate a Amontec JTAGKEY in the default configuration,
it is assumed that v1 should work fine as well.

Information about the Busblaster can be found at:
http://dangerousprototypes.com/docs/Bus_Blaster

Corresponding to flashrom svn r1412.

Signed-off-by: Steve Markgraf <steve@steve-m.de>
Acked-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
2011-08-12 01:19:32 +00:00
Joshua Roys
1fd4f9e833 Add board enable for ASUS P5GD2 Premium
This is based on Joshua's patch, but with a DMI pattern, contrary to
http://www.flashrom.org/pipermail/flashrom/2010-September/004745.html
Rationale: although it looks like all P5GD2/C* might use the same
board enable (intel_ich_gpio21_raise), we need to add the variants
individually as long as we don't have enough reports to make a
better guess. This also guarantees correct output of flashrom -L and -z
and on activation of the board enable - not like this:
http://www.flashrom.org/pipermail/flashrom/attachments/20100930/2286e5d1/attachment-0003.txt

Success report:
http://www.flashrom.org/pipermail/flashrom/2010-August/004555.html

Also, fix last commit by adding a missing comma.

Corresponding to flashrom svn r1411.

Tested-by: Roberto Malinverni
Signed-off-by: Joshua Roys <roysjosh@gmail.com>
Acked-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
2011-08-11 05:47:32 +00:00
Joshua Roys
ac8b2a1f8a Add (untested) board enable for Asus P5LD2
There are numerous other variants of the P5LD2 which vary wildly not only in
PCB layout but also in northbridges used, number of PCI, PCI-E and DIMM slots
etc. This one is for the plain P5LD2 without any suffixes.

This patch is essentially a rebased version of Joshua's patch, which was never
tested (user did not reply). I have added additional PCI IDs and the DMI pattern
and also changed the status to NT. An entry in the print.c table was also added.

http://www.flashrom.org/pipermail/flashrom/2010-October/005080.html

Corresponding to flashrom svn r1410.

Signed-off-by: Joshua Roys <roysjosh@gmail.com>
Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
Acked-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
2011-08-11 04:21:34 +00:00
Stefan Tauner
8b391b8e27 ichspi.c: refactor filling and reading the fdata/spid registers
- add ich_fill_data to fill the chipset registers from an array
- add ich_read_data to copy the data from the chipset register into an array
- replace the existing code with calls to those functions
- minor cosmetic changes

Corresponding to flashrom svn r1409.

Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2011-08-09 01:49:34 +00:00
Stefan Tauner
a9cbbacfd3 Add a board enable for ASUS A8M2N-LA (HP OEM "NodusM3-GL8E")
It is based on Joshua Roys' RE.
http://www.flashrom.org/pipermail/flashrom/2011-August/007504.html

Corresponding to flashrom svn r1408.

Tested-by: Márton Miklós
Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
Acked-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
2011-08-07 13:17:20 +00:00
Stefan Tauner
2414e0931c Fix the A8N-SLI Deluxe board enable
Long story short:
- the A8N in print.c should be A8N-SLI Deluxe as documented
- the A8N-SLI Deluxe board enable needs a DMI pattern, else it will get executed
  on the A8N-SLI Premium unnecessarily.
  http://www.flashrom.org/pipermail/flashrom/2010-August/004310.html
  the DMI string is taken from an ubuntu bug report (a real dmidecode or flashrom
  output was not found).
  https://bugs.launchpad.net/ubuntu/+source/linux/+bug/807980
- the other A8N-SLI variants seem to work without the board enable
  A8N-SLI Premium:
  http://www.flashrom.org/pipermail/flashrom/2010-August/004310.html
  A8N-SLI:
  http://www.coreboot.org/pipermail/coreboot/2009-June/049107.html
  http://www.coreboot.org/pipermail/coreboot/2009-May/049002.html

Corresponding to flashrom svn r1407.

Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
Acked-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
2011-08-06 16:16:45 +00:00