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

20 Commits

Author SHA1 Message Date
Carl-Daniel Hailfinger
9017cecd10 Various status updates
Success report for Atmel AT26DF081A from 
Oliver Schnatz <oliver.schnatz@mysys.de> 
http://www.flashrom.org/pipermail/flashrom/2009-October/000760.html.

Success report for Winbond W25Q32 from
David Hendricks <dhendrix@google.com>
http://www.flashrom.org/pipermail/flashrom/2010-April/002891.html

Success report for SST SST39VF512 from
Alec Wright <alecjw@member.fsf.org>
http://www.flashrom.org/pipermail/flashrom/2010-August/004549.html
http://www.flashrom.org/pipermail/flashrom/2010-August/004548.html

Success report for Silicon Image SiI 3512 and AMD Am29LV040B from
Michael Manulis <michael@manulis.com>
http://www.flashrom.org/pipermail/flashrom/2010-July/003944.html

Annotate listing with reporter/owner name for boards marked broken, flag
boards for which no reports exist.
- Abit IS-10
- ASRock K7VT4A+
- ASUS MEW-AM
- ASUS MEW-VM
- ASUS P3B-F
- ASUS P5BV-M
- Biostar M6TBA
- Boser HS-6637
- DFI 855GME-MGF
- FIC VA-502
- MSI MS-6178
- MSI MS-7260
- Soyo SY-5VD
- Sun Fire x4150
- Sun Fire x4200
- Sun Fire x4540
- Sun Fire x4600

Remove comments which are no longer appropriate:
- ASRock K8S8X

Corresponding to flashrom svn r1152.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2010-09-04 23:37:40 +00:00
Uwe Hermann
c2521ab610 Mark the following chips/boards/PCI-cards as OK
Chips:

 - Winbond W25x80 (reported by Michael Cole <michaelcole@michaelcole.com>)
   http://www.flashrom.org/pipermail/flashrom/2010-July/004176.html

 - Winbond W25Q80 (reported by Jonathan A. Kollasch <jakllsch@kollasch.net>)
   http://www.flashrom.org/pipermail/flashrom/2010-July/003847.html

 - SST SST25VF080B (reported by Mattias Mattsson <vitplister@gmail.com>)
   http://www.flashrom.org/pipermail/flashrom/2010-July/003807.html

   Also reported by Daniel Flinkmann <dflinkmann@gmx.de>)
   http://www.flashrom.org/pipermail/flashrom/2010-June/003659.html

 - Winbond W25x16 (reported by Michael Dunphy <mdunphy@uwaterloo.ca>)
   http://www.flashrom.org/pipermail/flashrom/2010-June/003631.html

 - Atmel AT25DF321 (reported by
   Ramakrishna Kvv <Ramakrishna.Koduri@emerson.com>)
   http://www.flashrom.org/pipermail/flashrom/2010-June/003529.html

 - Winbond W25x40 (reported by Prakash J Kokkatt <pjkonweb@gmail.com>)
   http://www.flashrom.org/pipermail/flashrom/2010-June/003502.html

 - Winbond W49V002A (reported by David <dung@aon.at>)
   http://www.flashrom.org/pipermail/flashrom/2010-June/003375.html

 - Macronix MX25L8005 (reported by Peter Lemenkov <lemenkov@gmail.com>)
   http://www.flashrom.org/pipermail/flashrom/2010-June/003373.html

   Also reported by Alec Wright <alecjw@member.fsf.org>.
   http://www.flashrom.org/pipermail/flashrom/2010-July/004186.html
   http://www.flashrom.org/pipermail/flashrom/2010-July/004159.html

   Also reported by Jörg Fischer <turboj@gmx.de>.
   http://www.flashrom.org/pipermail/flashrom/2010-July/004080.html

   Also reported by Kevin Malec <kevin.010@gmail.com>.
   http://www.flashrom.org/pipermail/flashrom/2010-June/003698.html

   Heck, also reported by myself (tested on hardware, never sent mail).

 - SST SST49LF002A/B (reported by Udu Ogah <putlinuxonit@gmail.com>)
   http://www.flashrom.org/pipermail/flashrom/2010-July/004184.html

 - SST SST49LF160C (reported by Ed Swierk <eswierk@aristanetworks.com>)
   http://www.flashrom.org/pipermail/flashrom/2010-June/003634.html

Mark the following boards as supported:

 - ASUS M3A76-CM (reported by Kevin Malec <kevin.010@gmail.com>)
   http://www.flashrom.org/pipermail/flashrom/2010-June/003698.html

Mark the following PCI cards as supported:

 - "Silicon Image SiI 3124 PCI-X SATA Ctrl" (1095:3124)
   Reported by Max Kalashnikov <mmt@maxkalashnikov.com>
   http://www.flashrom.org/pipermail/flashrom/2010-July/004007.html

Corresponding to flashrom svn r1126.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2010-07-29 22:39:47 +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
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
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
Michael Karcher
844863933d Replace PCI_OK/PCI_NT by OK/NT
We don't need to duplicate OK and NT as PCI_OK and PCI_NT if the symbols
are already there (defined for the chipset enable table).

Corresponding to flashrom svn r911.

Signed-off-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2010-02-24 00:04:40 +00:00
Sean Nelson
05ce54204f Convert all messages in satasii.c to the new message infrastructure
Corresponding to flashrom svn r849.

Signed-off-by: Sean Nelson <audiohacked@gmail.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2010-01-09 23:50:27 +00:00
TURBO J
b0912c0adb Add support for parallel flash on Dr. Kaiser PC-Waechter PCI devices
The vendor sold different designs under that name, the patch works with
the one that has an Actel FPGA as PCI-to-Flash bridge.

The Flash chip is a "Macronix MX29F001B" (128 KB, parallel) soldered
directly to the PCB.
Flash operations (PROBE, READ, ERASE, WRITE) work as expected.

Corresponding to flashrom svn r712.

Signed-off-by: TURBO J <turboj@gmx.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2009-09-02 23:00:46 +00:00
Carl-Daniel Hailfinger
ef58a9ce3f Use a common parameter variable for all programmers
This allows us to reduce #ifdef clauses a lot if we compile out some
programmers completely.

Corresponding to flashrom svn r679.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Reinauer <stepan@coresystems.de>
2009-08-12 13:32:56 +00:00
Carl-Daniel Hailfinger
db41c59e3b Releasing IO permissions was done by hand everywhere
Use a proper abstraction. Kill unneeded #include statements.

Corresponding to flashrom svn r672.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stefan Reinauer <stepan@coresystems.de>
2009-08-09 21:50:24 +00:00
Uwe Hermann
a8b3727a1e Add support for the AMD Am29F010A/B chips
Also, add support for the Silicon Image 3112(A) SATA controller.

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

Corresponding to flashrom svn r613.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Andrew Morgan <ziltro@ziltro.com>
2009-06-19 15:54:39 +00:00
Carl-Daniel Hailfinger
b22918cadc Only probe for chips with compatible bus protocols
It doesn't make sense to probe for SPI chips on a LPC host, nor does it
make sense to probe for LPC chips on a Parallel host.

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

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

Corresponding to flashrom svn r560.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Tested on real hardware and
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2009-06-01 02:08:58 +00:00
Urja Rannikko
211fa97ce8 Fix warning in satasii.c when compiling with gcc 4.4.0
Corresponding to flashrom svn r558.

Signed-off-by: Urja Rannikko <urjaman@gmail.com>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2009-05-31 21:35:10 +00:00
Uwe Hermann
e8ba538d03 A bunch of output beautifications and improvements, as well as doc fixes
- Update manpage, we now report supported boards via -L.
 
 - Add some missing escaping for '-' characters in the manpage.

Corresponding to flashrom svn r543.

 - Shorten some of the really long device names, so that -L output looks
   nicer.
   
 - Display a "table header" for all entries/columns in -L output.
 
 - Make -L output tabular for all lists for better readability.
 
 - Do not print "unknown XXXX SPI chip" entries in -L output.
 
 - And random other cosmetics...
 
Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Patrick Georgi <patrick.georgi@coresystems.de>
2009-05-22 11:37:27 +00:00
Uwe Hermann
b2f7a2f309 The Silicon Image PCI0680 has bit 26 marked as reserved, so don't use it
Corresponding to flashrom svn r537.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2009-05-20 17:09:43 +00:00
Uwe Hermann
cdde6da8e5 Mark the Silicon Image PCI0680 Ultra ATA-133 controller as working
I tested identify, read, write, erase, verify successfully, HOWEVER,
this will only work (at least on my card) after de-soldering the
soldered-on PLCC32 one-time programmable (OTP) chip (Holtek HT27C010)
and soldering on a (re-)programmable flash ROM chip or a socket.

Example:

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

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

Corresponding to flashrom svn r536.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2009-05-19 21:03:31 +00:00
Uwe Hermann
c6915939d9 Factor out fallback_map/unmap, most external programmers don't need and special handling here
Corresponding to flashrom svn r531.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2009-05-17 23:12:17 +00:00
Uwe Hermann
3def09d401 Rename sata_sii.c to satasii.c for consistency
Corresponding to flashrom svn r530.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
2009-05-17 22:58:41 +00:00