1
0
mirror of https://review.coreboot.org/flashrom.git synced 2025-04-27 23:22:37 +02:00
Carl-Daniel Hailfinger aa000982f4 jedec: warn if toggle bit is stuck for too long and allow for delays between tries
If the JEDEC Toggle Bit algorithm needs more than 2^20 loops, it is a
good sign we should have used delays between toggle bit reads.

Tell the user about this. 2^20 loops need roughly a second depending on
flash bus speed. One reason for excessive loops can be a slow operation
like erase.

The Winbond W39V040C requires a 50 ms delay between toggle bit reads
during erase according to the datasheet. Turns out a 2 ms delay is
sufficient. Use a safety factor of 4 and default all erase operations
to 8 ms delay between toggle reads. This is short enough not to have
a substantial negative impact on erase times, and should improve
reliability.

This patch addresses the excessive toggle behaviour (observed on some
non-Winbond chips) and the toggle delay requirement (Winbond W39V040C).

Corresponding to flashrom svn r807.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Javier Ortega Conde (aka Malkavian) <malkavian666@gmail.com>
Acked-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
2009-12-17 16:20:26 +00:00
2007-09-08 14:36:01 +00:00
2009-11-25 02:07:30 +00:00
2009-11-24 00:20:03 +00:00

-------------------------------------------------------------------------------
flashrom README
-------------------------------------------------------------------------------

flashrom is a utility for detecting, reading, writing, verifying and erasing
flash chips. It is often used to flash BIOS/EFI/coreboot/firmware images
in-system using a supported mainboard, but it also supports flashing of network
cards (NICs), SATA controller cards, and other external devices which can
program flash chips.

It supports a wide range of DIP32, PLCC32, DIP8, SO8/SOIC8, TSOP32, and TSOP40
chips, which use various protocols such as LPC, FWH, parallel flash, or SPI.


Packaging
---------

To package flashrom and remove dependencies on subversion, either use
make export
or
make tarball

make export will export all flashrom files from the subversion repository at
revision BASE into a directory named $EXPORTDIR/flashrom-$VERSION-r$SVNREVISION
and will additionally modify the Makefile in that directory to contain the svn
revision of the exported tree.

make tarball will simply tar up the result of make export and gzip compress it.

The snapshot tarballs are the result of make tarball and require no further
processing.


Build Instructions
------------------

To build flashrom you need to install the following packages or ports:

Linux et al:

 * pciutils / libpci
 * pciutils-devel / pciutils-dev / libpci-dev
 * zlib-devel / zlib1g-dev (only needed if libpci is static)

On FreeBSD, you need the following ports:

 * devel/gmake
 * devel/libpci

To compile on Linux, use:

 make

To compile on FreeBSD, use:

 gmake

To compile on Nexenta, use:

 make

To compile on Solaris, use:

 gmake LDFLAGS="-L$pathtolibpci" CC="gcc -I$pathtopciheaders" CFLAGS=-O2

To compile on DragonFly BSD, use:

 ln -s /usr/pkg/include/pciutils pci
 gmake CFLAGS=-I. LDFLAGS="-L/usr/pkg/lib"

To compile and run on Darwin/Mac OS X:

 Install DirectIO from coresystems GmbH.
 DirectIO is available at http://www.coresystems.de/en/directio.


Installation
------------

In order to install flashrom and the manpage into /usr/local, type:

 make install

For installation in a different directory use DESTDIR, e.g. like this:

 make DESTDIR=/usr install

If you have insufficient permissions for the destination directory, use sudo
by adding sudo in front of the commands above.


Usage / Options
---------------

Please see the flashrom(8) manpage.


Exit status
-----------

Please see the flashrom(8) manpage.


coreboot Table and Mainboard Identification
--------------------------------------------

Please see the flashrom(8) manpage.


ROM Layout Support
------------------

Please see the flashrom(8) manpage.


Supported Flash Chips / Chipsets / Mainboards
---------------------------------------------

Please check the output of 'flashrom -L' for the list of supported
flash chips, chipsets/southbridges, mainboards, and flash programmers.


Contact
-------

The official flashrom website is:

  http://www.flashrom.org/

The IRC channel is

  #flashrom at irc.freenode.net

The Mailing list addess is

  flashrom@flashrom.org
Description
No description provided
Readme 75 MiB
Languages
C 90.2%
Rust 5%
Shell 2%
Makefile 1.6%
Meson 1.2%