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

217 Commits

Author SHA1 Message Date
Uwe Hermann
91f4afa110 Random whitespace and coding-style fixes
Also, indentation fixes, e.g. due to conversion to msg_*, use ARRAY_SIZE
where possible, wrap overly long line, etc.

Compile-tested. There should be no functional changes.

Corresponding to flashrom svn r1397.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2011-07-28 08:13:25 +00:00
Carl-Daniel Hailfinger
1a227954f2 Rename CHIP_BUSTYPE_FOO to BUS_FOO
It's shorter to type, and we have less problems with the 80 column limit.

Corresponding to flashrom svn r1396.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2011-07-27 07:13:06 +00:00
Carl-Daniel Hailfinger
46fa068fa2 Fix ICH FWH IDSEL setting with the fwh_idsel= internal programmer parameter
The code took 32 bits of input and wrote them to an 48 bit register,
duplicating some values.
Document the fwh_idsel= parameter in the man page.

Corresponding to flashrom svn r1389.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
2011-07-25 22:44:09 +00:00
Stefan Tauner
716e09848a Add a bunch of new/tested stuff and various small changes 5
- mark EN25F80 as fully tested
  http://www.flashrom.org/pipermail/flashrom/2011-July/007329.html
- mark W25Q16 as fully tested
  http://www.flashrom.org/pipermail/flashrom/2011-July/007151.html
- mark W39V040A as fully tested
  http://www.flashrom.org/pipermail/flashrom/2011-July/007161.html
- mark Pm25LV040 as fully tested
  reported by TL1 on IRC
- mark W49F002U/N as fully tested
  http://paste.flashrom.org/view.php?id=733g
- mark W39V080FA as fully tested
  http://www.flashrom.org/pipermail/flashrom/2011-July/007225.html

- add ASUS P4S533-X to the list of supported boards
  http://www.flashrom.org/pipermail/flashrom/2011-July/007200.html
- add ASUS M4A785TD-V EVO to the list of supported boards
  http://www.flashrom.org/pipermail/flashrom/2011-July/007329.html
- add GA-945PL-S3P (rev. 6.6) to the list of supported boards
  reported by TL1 on IRC
- add MS-7142 (K8MM-V) to the list of supported boards
  http://www.flashrom.org/pipermail/flashrom/2011-July/007161.html
- add MS-7369 (K9N Neo V2) to the list of supported boards
  http://www.flashrom.org/pipermail/flashrom/2011-July/007181.html
- add X7DBT-INF to the list of supported boards
  http://www.flashrom.org/pipermail/flashrom/2011-July/007225.html

- mark SiS 645DX chipset enable as OK
  http://www.flashrom.org/pipermail/flashrom/2011-July/007200.html
- mark SiS 651 chipset enable as OK
  http://paste.flashrom.org/view.php?id=733

- move intel_ich_gpio34_raise to the correct line(s)
- change the output of unlock_w39_fwh_block from 0x%x to 0x%08x
- fix output for untested chipset enables (missing space)
- reorder the board enable in print.c entry for GA-8SIMLH added in r1385.
- minor other fixes

- fix output for multiple found flash chips by adding quotes and commas
- similarly fix output of "Found/Assuming" chips

Corresponding to flashrom svn r1386.

Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
the last two points are
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
everything else is
Acked-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
2011-07-25 20:38:52 +00:00
Stefan Tauner
ec8c248414 chipset_enable.c: add a message for untested chipset enables
Old output:
Calibrating delay loop... OK.
Found chipset "Intel QS57", enabling flash write... OK.
This chipset supports the following protocols: FWH, SPI.

new non-verbose output for tested chipsets:
Calibrating delay loop... OK.
Found chipset "Intel QS57". Enabling flash write... OK.
This chipset supports the following protocols: FWH, SPI.

new non-verbose output for untested chipsets:
Found chipset "Intel QS57".
This chipset is marked as untested. If you are using an up-to-date version
of flashrom please email a report to flashrom@flashrom.org including a
verbose (-V) log.
Enabling flash write... OK.
This chipset supports the following protocols: FWH, SPI.

Corresponding to flashrom svn r1379.

Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2011-07-21 19:59:34 +00:00
Stefan Tauner
25b5a597e1 Enable writing on mcp6x_7x
This was deliberately disabled until now, but seems to work well enough.

Corresponding to flashrom svn r1372.

Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2011-07-13 20:48:54 +00:00
Stefan Tauner
00155498a8 Fix memleaks due to incorrect usage of flashbuses_to_text
Corresponding to flashrom svn r1357.

Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2011-06-26 20:45:35 +00:00
Stefan Tauner
2cf2da6e5b Add intel 6 series pci ids to chipset_enables
As defined by Intel 6 Series Chipset and Intel C200 Series Chipset
Specification Update; document number 324646-006, May 2011.

Corresponding to flashrom svn r1344.

Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2011-06-18 18:45:56 +00:00
Idwer Vollering
570dcc743a Fix and add a few chipset_enables entries
Corresponding to flashrom svn r1343.

Signed-off-by: Idwer Vollering <vidwer@gmail.com>
Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2011-06-18 18:45:50 +00:00
Idwer Vollering
326a060661 Resort chipset_enables array by pci ids
Corresponding to flashrom svn r1342.

Signed-off-by: Idwer Vollering <vidwer@gmail.com>
Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2011-06-18 18:45:41 +00:00
Stefan Tauner
d06d941ce2 Add a bunch of new/tested motherboards, board/chipset enables and flash chips etc. 3
- mark AT25DF321 as fully tested
  http://www.flashrom.org/pipermail/flashrom/attachments/20110527/01f1868b/attachment-0001.log
- mark 82802AB as fully tested
  http://www.flashrom.org/pipermail/flashrom/2011-April/006145.html
- mark Pm49FL002 as fully tested
  http://pastebin.com/pb5NTCmW

- add Supermicro X8DT3 to boards_known
  http://www.flashrom.org/pipermail/flashrom/attachments/20110527/01f1868b/attachment-0001.log
- add Supermicro X5DP8-G2 to boards_known
  http://www.flashrom.org/pipermail/flashrom/2011-April/006145.html

- add Supermicro X8SIE as NOT WORKING to boards_known
  http://www.flashrom.org/pipermail/flashrom/2011-May/006554.html
- add a DMI search pattern for the ASUS A8N-SLI Deluxe board enable to mitigate misdetections
  http://www.flashrom.org/pipermail/flashrom/2010-August/004379.html
  http://www.flashrom.org/pipermail/flashrom/2011-May/006570.html

also, fix some random white space errors and comments/strings

Corresponding to flashrom svn r1335.

Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
Acked-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
2011-06-12 19:47:55 +00:00
Stefan Tauner
f9a8da595d enable_flash_ich: warn if SMM BIOS Write Protection is detected in BIOS_CNTL
Corresponding to flashrom svn r1332.

Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2011-06-11 18:16:50 +00:00
Stefan Tauner
8179be566e Add a bunch of new/tested motherboards, board/chipset enables and flash chips 2
- mark chipset enable for QS57 as OK
  (my thinkpad)

- mark MSI G31M3-L(S) V2 (MS-7529) as OK
  http://www.flashrom.org/pipermail/flashrom/2011-June/006634.html

- mark AT49BV512 as fully tested
  http://www.flashrom.org/pipermail/flashrom/2011-June/006609.html
- mark MX25L4005 as fully tested
  http://www.flashrom.org/pipermail/flashrom/2011-June/006634.html
- mark SST49LF020 as fully tested
  http://www.flashrom.org/pipermail/flashrom/2011-May/006570.html
- mark SST25VF064C as fully tested
  http://www.flashrom.org/pipermail/flashrom/2011-May/006586.html
- mark W25x16 as fully tested
  http://www.flashrom.org/pipermail/flashrom/2011-June/006605.html

Corresponding to flashrom svn r1324.

Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
Acked-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
2011-06-04 13:13:34 +00:00
Stefan Tauner
c0aaf95487 Whitespace, documentation and other small stuff
This patch combines three previously posted patches in a revised form.
one is even stolen from Stefan Reinauer (remove umlauts from man page).

Corresponding to flashrom svn r1317.

Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
Signed-off-by: Stefan Reinauer <reinauer@google.com>

Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
2011-05-19 02:58:17 +00:00
John Schmerge
dec9cec86e Add support for the Via VX855 chipset
Corresponding to flashrom svn r1295.

Signed-off-by: John Schmerge <jbschmerge@gmail.com> for Devon IT
Acked-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
2011-05-05 17:52:07 +00:00
Stefan Tauner
7700051fee List AMD SB850 as supported (it has the same PCI ID as SB700)
Success report at
http://flashrom.org/pipermail/flashrom/2011-March/006072.html

Corresponding to flashrom svn r1285.

Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
Acked-by: Idwer Vollering <vidwer@gmail.com>
2011-04-02 11:47:21 +00:00
Stefan Reinauer
bf282b1dde Fix typo in chipset_enable.c
Corresponding to flashrom svn r1283.

Signed-off-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Acked-by: Idwer Vollering <vidwer@gmail.com>
2011-03-29 21:41:41 +00:00
Peter Huewe
73f8ec8b1e Fix sparse warning: Using plain integer as NULL pointer
This patch fixes the "using plain integer as NULL pointer" warnings
generated by running sparse on the flashrom source.

Corresponding to flashrom svn r1255.

Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
Acked-by: Mathias Krause <mathias.krause@secunet.com>
Acked-by: Stefan Reinauer <stepan@coreboot.org>
2011-01-24 19:15:51 +00:00
Mathias Krause
9fbdc03d9f Fix decoding of SB600 LPC ROM protection registers
The address part was using a bit of the size, the size was missing the
upper bit, was off by 1023 bytes and included the protection bits.

Corresponding to flashrom svn r1250.

Signed-off-by: Mathias Krause <mathias.krause@secunet.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2011-01-01 10:54:09 +00:00
Carl-Daniel Hailfinger
2bee8cf898 Revert PCI config space writes on shutdown
This means all chipset enables etc. will be undone on shutdown.
Reversible PCI config space writes now use rpci_write_*().
PCI config space writes which are one-shot (e.g. communication via
config space) should continue to use the permanent pci_write_*
variants.

Extend the number of available register_shutdown slots to 32.

Corresponding to flashrom svn r1232.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
2010-11-10 15:25:18 +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
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
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
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
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
Helge Wagner
a319be14d4 Add support for Intel 5 Series / 3400 Series chipsets
(At least) for the QM57 which i have tested an additional patch was
needed as some reserved bits in the "Software Sequencing Flash Control
Register" (SSFC) needs to be programmed to 1 in the QM57.

Corresponding to flashrom svn r1137.

Signed-off-by: Helge Wagner <helge.wagner@ge.com>
Acked-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
2010-08-11 21:06:10 +00:00
Uwe Hermann
48ec1b17d8 Various cosmetic and coding-style fixes
- Fix incorrect whitespace, indentation, and coding style in some places.

 - Drop '/**' Doxygen comments, we don't use Doxygen. Even if we would use
   it, the comments are useless as we don't have any Doxygen markup in there.

 - Use consistent vendor name spelling as per current website (NVIDIA,
   abit, GIGABYTE).

 - Use consistent / common format for "Suited for:" lines in board_enable.c.

 - Add some missing 'void's in functions taking no arguments.

 - Add missing fullstops in sentences, remove them from non-sentences (lists).

Corresponding to flashrom svn r1134.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2010-08-08 17:01:18 +00:00
David Borg
f8ef5d9973 Add support for SIS661 (SIS963)
Tested on Asus P4S800-MX.

Corresponding to flashrom svn r1128.

Signed-off-by: David Borg <borg.db@gmail.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-07-31 23:16:09 +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
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
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
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
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
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
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
Carl-Daniel Hailfinger
dcef67e468 Kill unneeded #include wherever possible
Tested on Linux, FreeBSD, NetBSD, OpenBSD, DOS.
Thanks to Jonathan A. Kollasch and Idwer Vollering for testing.

Corresponding to flashrom svn r1057.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Idwer Vollering <vidwer+lists.flashrom@gmail.com>
2010-06-21 23:20:15 +00:00
Carl-Daniel Hailfinger
7f9922dcd7 Fill in buses_supported for remaining Intel chipsets (ICH0-ICH5, Poulsbo)
Corresponding to flashrom svn r1055.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Sean Nelson <audiohacked@gmail.com>
2010-06-20 11:04:26 +00:00
Michael Karcher
89bed6d836 VIA: disable byte merging
All mentioned north bridges have been checked against data sheet. That's
all north bridges google found a datasheet for with "byte merge" included.

Runs multiple chipset enables if the first one requests further enables to
be run.

VIA byte-merging logic tested: works.
multiple chipset logic: completely untested

Corresponding to flashrom svn r1043.

Signed-off-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-06-13 10:16:12 +00:00
Michael Karcher
5f31ebe244 Board-enable for MS-7025 (K8N Neo2 Platinum)
Test report is
http://www.coreboot.org/pipermail/flashrom/2010-April/002967.html

Corresponding to flashrom svn r1041.

Signed-off-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
Tested-by: Valentine "Pegasus rider" Yatsenko <mr.qweo@gmail.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-06-12 23:07:26 +00:00
Carl-Daniel Hailfinger
831e8f4abb Remove unneeded #include statements completely
Unistd.h was only used to get a definition of NULL in all files. Add our
own NULL #define and remove unistd.h from flash.h
stdio.h has no place in flash.h, it should be included only in files
which really need it.
Add #include statements in individual .c files where needed.

Replace a few printf with msg_* to eliminate the need for stdio.h.

Corresponding to flashrom svn r1021.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2010-05-30 22:24:40 +00:00
Carl-Daniel Hailfinger
80f3d05e73 ichspi: try harder to conform to address restrictions
ICH SPI can enforce address restrictions for all accesses which take an
address (well, it could if the chipset implementation was not broken).
Since exploiting the broken implementation is harder than conforming
to the address restrictions wherever possible, conform to the address
restrictions instead. This patch eliminates a lot of transaction errors
people were seeing on chip probe.

Corresponding to flashrom svn r1016.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Reinauer <stepan@coresystems.de>
2010-05-28 15:53:08 +00:00
Carl-Daniel Hailfinger
cceafa2ad0 Handle the following architectures in generic flashrom code
- x86/x86_64 (little endian)
- PowerPC (big endian)
- MIPS (big+little endian)

No changes to programmer specific code. This means any drivers with MMIO
access will _not_ suddenly start working on big endian systems, but with
this patch everything is in place to fix them.

Compilation should work on all architectures listed above for all
drivers except nic3com and nicrealtek which require PCI Port IO which is
x86-only for now.

To compile without nic3com and nicrealtek, run
make distclean
make CONFIG_NIC3COM=no CONFIG_NICREALTEK=no

Thanks to Misha Manulis for testing early versions of this patch on
PowerPC (big endian) with the satasii programmer.
Thanks to Segher Boessenkool for design review and for helping out with
compiler tricks and pointing out that we need eieio on PowerPC.
Thanks to Vladimir Serbinenko for compile testing on MIPS (little
endian) and PowerPC (big endian) and for runtime testing on MIPS (little
endian).
Thanks to David Daney for compile testing on MIPS (big endian).
Thanks to Uwe Hermann for compile and runtime testing on x86_64.

DO NOT RUN flashrom ON NON-X86 AFTER APPLYING THIS PATCH!
This patch only provides the infrastructure, but does not convert any
drivers, so flashrom will compile, but it won't do the right thing on
non-x86 platforms.

Corresponding to flashrom svn r1013.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Misha Manulis <misha@manulis.com>
Acked-by: Vladimir 'phcoder/φ-coder' Serbinenko <phcoder@gmail.com>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Segher Boessenkool <segher@kernel.crashing.org>
2010-05-26 01:45:41 +00:00
Carl-Daniel Hailfinger
f469c271ac Print found PCI IDs during chipset detection
Add debug output of the exact matched chipset PCI ID to keep track of
tested PCI IDs for chipsets with one name and multiple IDs. This will
help avoid problems similar to the Tyan S2915 OEM undetected flash in
the future.

Corresponding to flashrom svn r1008.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
2010-05-22 07:31:50 +00:00
Carl-Daniel Hailfinger
33d7b6aa89 Disable probing for one variant of MCP55 to enable Tyan S2915
Fix Tyan S2915 OEM board by commenting out MCP55 LPC bridge PCI ID
10de:0361 which is the secondary LPC bridge.

The same effect could be achieved by refusing to run enable_flash_mcp55
if the device class is not ISA bridge [0601].

Thanks to Alessandro Polverini, Joel Robertson, Nicolas Aveline, Phil
LoCascio and Nils-Helge Garli Hegvik for testing flashrom on hardware
and Michael Karcher for analyzing the factory BIOS for clues. In the
end, no board enable was needed and it was a pure chipset issue.

Corresponding to flashrom svn r1007.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
2010-05-22 07:27:16 +00:00
Sean Nelson
316a29f33f Convert various prints to use msg_p* and msg_g* respectively
Convert programmer print messages to msg_p* convert general print messages to msg_g* a few fixes as suggested by Carl-Daniel.

Corresponding to flashrom svn r997.

Signed-off-by: Sean Nelson <audiohacked@gmail.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-05-07 20:09:04 +00:00
Michael Karcher
cfa674fde7 Rename identifiers called 'byte'
Still fallout of adding "-Wshadow". Missed the ht1000 one
(chipset_enable is not compied on Windows where we had the collision
with "byte" last time) and the other occurrence is newly introduced.
Old libpci defines a global symbol called "byte" too.

Corresponding to flashrom svn r913.

Signed-off-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-02-25 11:38:23 +00:00
Carl-Daniel Hailfinger
ce5fad038d Refactor MCP SPI detection
- Set supported buses based on ISA bridge reg 0x8a
- Use MCP55 chipset enable only if LPC is detected
- Allow LPC on MCP61
- Eliminate duplicated code where possible

Corresponding to flashrom svn r906.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
2010-02-18 12:24:38 +00:00