Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Mirror of svn://flashrom.org/flashrom
C Makefile Shell
branch: master

Add support for more GigaDevice GD25LQ chips.

Namely GD25LQ40, GD25LQ80, GD25LQ16, GD25LQ64(B), GD25LQ128.

Signed-off-by: Roman Titov <titovroman@gmail.com>
Acked-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>

git-svn-id: svn://flashrom.org/flashrom/trunk@1889 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
latest commit 88a2c32db9
stefanct authored
Failed to load latest commit information.
Documentation Add a bunch of new/tested stuff and various small changes 21.
util Unify target OS and CPU architecture checks.
82802ab.c Refine physical address mapping of flash chips.
COPYING Original v2 revision: 2764
Makefile Increase flashrom version number to 0.9.8.
README Refinements for DragonflyBSD.
amd_imc.c sbxxx: Handle active IMCs in AMD chipsets.
archtest.c Unify target OS and CPU architecture checks.
at45db.c Rename programmer registration functions
atahpt.c Rename programmer registration functions
atavia.c Add a bunch of new/tested stuff and various small changes 21.
bitbang_spi.c Rename programmer registration functions
board_enable.c Add a bunch of new/tested stuff and various small changes 23.
buspirate_spi.c Rename programmer registration functions
cbtable.c cbtable.c: Do not unnecessarily duplicate strings.
chipdrivers.h Fix handling of write protection at register space address +2.
chipset_enable.c Add a bunch of new/tested stuff and various small changes 22.
cli_classic.c Add support for Spansion S25FL127S.
cli_common.c Refactor some CLI-relevant parts.
cli_output.c Refactor some CLI-relevant parts.
coreboot_tables.h Polish the flashrom code comments and outputs a bit.
dediprog.c Add a bunch of new/tested stuff and various small changes 22.
dmi.c Make strnlen() visible in old versions of glibc.
drkaiser.c Rename programmer registration functions
dummyflasher.c Rename programmer registration functions
en29lv640b.c Unify non-shifted and shifted JEDEC access.
flash.h Add a bunch of new/tested stuff and various small changes 22.
flashchips.c Add support for more GigaDevice GD25LQ chips.
flashchips.h Add a bunch of new/tested stuff and various small changes 23.
flashrom.8.tmpl Add support for the Microchip PICkit2 as an SPI programmer.
flashrom.c Add support for the Microchip PICkit2 as an SPI programmer.
ft2232_spi.c Add a bunch of new/tested stuff and various small changes 23.
gfxnvidia.c Rename programmer registration functions
helpers.c Make strnlen() visible in old versions of glibc.
hwaccess.c Add support for SPARC (maybe).
hwaccess.h Add support for SPARC (maybe).
ich_descriptors.c Fix wrong density encoding on Intel Silvermont.
ich_descriptors.h Fix wrong density encoding on Intel Silvermont.
ichspi.c Add a bunch of new/tested stuff and various small changes 22.
internal.c Unify target OS and CPU architecture checks.
it8212.c Add a bunch of new/tested stuff and various small changes 21.
it85spi.c Rename programmer registration functions
it87spi.c Rename programmer registration functions
jedec.c Fix handling of write protection at register space address +2.
layout.c Make read before write configurable (infrastructure part).
linux_spi.c linux_spi: properly convert pointers to kernel's u64.
mcp6x_spi.c Rename programmer registration functions
mstarddc_spi.c Fix a number of problems in mstarddc_spi.c.
nic3com.c Rename programmer registration functions
nicintel.c Rename programmer registration functions
nicintel_eeprom.c Add a bunch of new/tested stuff and various small changes 22.
nicintel_spi.c Add support for Intel 82599 10 GbE NICs.
nicnatsemi.c Rename programmer registration functions
nicrealtek.c Rename programmer registration functions
ogp_spi.c Rename programmer registration functions
opaque.c Rename programmer registration functions
os.h Unify target OS and CPU architecture checks.
pcidev.c Move global io_base_addr into compilation units.
physmap.c Clean up physmap, fix unaligned mapping problems
pickit2_spi.c Add support for the Microchip PICkit2 as an SPI programmer.
platform.h Add support for SPARC (maybe).
pony_spi.c Rename programmer registration functions
print.c Add a bunch of new/tested stuff and various small changes 23.
print_wiki.c Add a bunch of new/tested stuff and various small changes 23.
processor_enable.c Simplify processor_enable.c.
programmer.c Add a bunch of new/tested stuff and various small changes 22.
programmer.h Add support for the Microchip PICkit2 as an SPI programmer.
rayer_spi.c Rename programmer registration functions
satamv.c Rename programmer registration functions
satasii.c Rename programmer registration functions
sb600spi.c Add a bunch of new/tested stuff and various small changes 22.
serial.c Unify target OS and CPU architecture checks.
serprog.c Unify target OS and CPU architecture checks.
serprog.h serprog: add opcode to control the programmer's output drivers.
sfdp.c Make struct flashchip a field in struct flashctx instead of a complet…
spi.c Rename programmer registration functions
spi.h Add support for remaining Numonyx (Micron) N25Q chips.
spi25.c Rename programmer registration functions
spi25_statusreg.c Add a bunch of new/tested stuff and various small changes 22.
sst28sf040.c Add 'const' keyword to chip write and other function prototypes.
sst49lfxxxc.c Refactor unlocking of many chips with locking at register space addre…
sst_fwhub.c Introduce msg_*warn.
stm50.c Refactor unlocking of many chips with locking at register space addre…
udelay.c Unify target OS and CPU architecture checks.
usbblaster_spi.c Rename programmer registration functions
w29ee011.c Make struct flashchip a field in struct flashctx instead of a complet…
w39.c Refactor unlocking of many chips with locking at register space addre…
wbsio_spi.c Rename programmer registration functions

README

-------------------------------------------------------------------------------
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.

Do not use flashrom on laptops! The embedded controller (EC) present in many
laptops interacts badly with any flash attempts and can brick your laptop
permanently.

Please make a backup of your flash chip before writing to it.

Please see the flashrom(8) manpage.


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 software:

 * pciutils+libpci (if you want support for mainboard or PCI device flashing)
 * libusb (if you want FT2232, Dediprog or USB-Blaster support)
 * libftdi (if you want FT2232 or USB-Blaster support)

Linux et al:

 * pciutils / libpci
 * pciutils-devel / pciutils-dev / libpci-dev
 * zlib-devel / zlib1g-dev (needed if libpci was compiled with libz support)

On FreeBSD, you need the following ports:

 * devel/gmake
 * devel/libpci

On OpenBSD, you need the following ports:

 * devel/gmake
 * sysutils/pciutils

To compile on Linux, use:

 make

To compile on FreeBSD, OpenBSD or DragonFly BSD, 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 NetBSD (with pciutils, libftdi, libusb installed in /usr/pkg/), use:

 gmake

To compile and run on Darwin/Mac OS X:

 Install DirectHW from coresystems GmbH.
 DirectHW is available at http://www.coreboot.org/DirectHW .

To cross-compile on Linux for DOS:

 Get packages of the DJGPP cross compiler and install them:
 djgpp-filesystem djgpp-gcc djgpp-cpp djgpp-runtime djgpp-binutils
 As an alternative, the DJGPP web site offers packages for download as well:
 djcross-binutils-2.19.1-10ap.i386.rpm
 djcross-gcc-4.3.2-8ap.i686.rpm
 djcrx-2.04pre_20090725-13ap.i386.rpm
 The cross toolchain packages for your distribution may have slightly different
 names (look for packages named *djgpp*).

 You will need the following library source trees containing their compiled
 static libraries either in the parent directory of the flashrom source or
 specify the base folder on compile time with the LIBS_BASE parameter.
 The default as described above is equal to calling
   'make djgpp-dos LIBS_BASE=..'

 To get and build said libraries...
 Download pciutils 3.1.5 and apply http://flashrom.org/File:Pciutils.patch.gz
 Compile pciutils, see README.DJGPP for instructions.
 Download and compile http://flashrom.org/File:Libgetopt.tar.gz
 Enter the flashrom directory.
 Run either (change settings where appropriate)
 make CC=i586-pc-msdosdjgpp-gcc STRIP=i586-pc-msdosdjgpp-strip
 or (above settings hardcoded)
 make djgpp-dos
 To run flashrom.exe, download http://flashrom.org/File:Csdpmi7b.zip and
 unpack CWSDPMI.EXE into the current directory or one in PATH.

To cross-compile on Linux for Windows:

 Get packages of the MinGW cross compiler and install them:
 mingw32-filesystem mingw32-cross-cpp mingw32-cross-binutils mingw32-cross-gcc
 mingw32-runtime mingw32-headers
 The cross toolchain packages for your distribution may have slightly different
 names (look for packages named *mingw*).
 PCI-based programmers (internal etc.) are not supported on Windows.
 Run (change CC= and STRIP= settings where appropriate)
 make CC=i686-w64-mingw32-gcc STRIP=i686-w64-mingw32-strip

Processor architecture dependent features:

 On non-x86 architectures a few programmers don't work (yet) because they
 use port-based I/O which is not directly available on non-x86. Those
 programmers will be disabled automatically if you run "make".

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.


Contact
-------

The official flashrom website is:

  http://www.flashrom.org/

The IRC channel is

  #flashrom at irc.freenode.net

The mailing list address is

  flashrom@flashrom.org
Something went wrong with that request. Please try again.