flashrom/1.3
This wiki is retired
Our website is https://www.flashrom.org, instructions on how to add or update documentation are here
All wiki content available in read-only mode at wiki.flashrom.org
TODO: description
New major user-visible features
- Support for the Linux I2C subsystem
- Option to read/write only region to/from ROM is renamed to
--include
(--image
option is deprecated and exist only for back compatibility) - End Of Life (EOL) for ITE IT85* specific code.
- Support different SPI modes (Dual IO, Quad IO, Normal, Fast Read) for AMD’s SB600 (>= Bolton)
- Support for Write Protection configuration
Libflashrom
- Move documentation from source file to header
- Drop `flashrom_system_info()`
- Drop `flashrom_supported_programmers()`
- Add `flashrom_layout_get_region_range()`
- Declaration change from `flashrom_layout_read_fmap_from_rom(struct flashrom_layout **const, struct flashctx *const, off_t, size_t)` to `flashrom_layout_read_fmap_from_rom(struct flashrom_layout **const, struct flashctx *const, size_t, size_t)`
- Allow NULL-pointer argument in `flashrom_flash_release()`
- Introduce Write Protect API
Infrastructure expansion
- Add blackbox test uber-script
- Add E2E tester for a specific chip/chipset combo
- Build script for Jenkins was upgraded and move to repository -
test_build.sh
- Add a set of Dockerfiles for build testing -
util/manibuilder
- Add a Nix shell file which is able to compile flashrom -
util/shell.nix
- Add CMocka unit-test infrastructure into the meson build system (test for drivers available only if its driver is built). The following tests are included:
- Core logic tests
- Basic lifecycle for
dediprog
,nicrealtek
,raiden_debug_spi
,parade_lspcon
,mediatek_i2c_spi
,realtek_mst_i2c_spi
- Basic lifecycle + chip probe for
dummyflasher
,linux_mtd
,linux_spi
- Layout tests (overlapping, sanity checks, invalid range/address)
- Erasing/reading/writing/verifying chip tests
- Write Protect tests
- And others!
- Introduce MAINTAINERS file
- Rename
z60_flashrom.rules
toflashrom_udev.rules
- Introduce linter for git sign-off-by line
- Move all header files to the new
include
directory.
Meson
The minimum version has been increased. Requires at least 0.53.0
.
- Allow libflashrom to be built as a static or shared library.
- Add new options:
print_wiki
,ich_descriptors_tool
,classic_cli
- Rename
print_wiki
toclassic_cli_print_wiki
option - Install the man file
- Fix compilation under uClibc-ng
- Add missing config option for J-Link SPI
- Treat warnings as errors and use the same warning options as in Makefile.
Makefile
- Add support for Elbrus (e2k) architecture
- Make pkg-config mandatory to find libftdi1, libjaylink, libusb1, libpci (you still can override detection and set cflags and ldflags manually)
- Merge
compiler
,hwlibs
,features
targets intoconfig
target - Drop
distclean
target - Drop STANDALONE mode
- Summarize systems with the same CPPFLAGS and LDFLAGS
- Only enable I2C programmers on Linux (linux-specific code)
- Revise C compiler check, utsname and clock_gettime test, detection of Linux specific headers
- Since the NI-845x is a Windows only proprietary library, disable it by default.
- Enable the internal programmer on x86 or linux.
- Fix building on AArch64 NixOS
Various broken and missing dependencies have been fixed for these two build systems.
New programmers
- Chrome EC based debug tools - SuzyQable, Servo V4, C2D2 & uServo
- Realtek RTD2142 MST
- Parade lspcon USB-C to HDMI protocol translator
- DirtyJTAG (a USB-JTAG firmware for STM32 MCUs)
- Variants of STLINK-V3: STLINK-V3E, STLINK-V3S, STLINK-V3 With dual VCP, STLINK-V3 Without MSD
- Intel Gemini Lake PCH
- Intel Meteor Lake PCH
- Intel Elkhart Lake PCH
- Intel Comet Lake-U/400-series PCH
- Intel Tiger Point/500-series PCH
- Intel Jasper Lake PCH
- Intel Alder Lake/600-series PCH
- Intel PCH7 Desktop/Mobile/SFF Sample
- More Intel PCHs variants (Apollo Lake, Cannon Point, Union Point, Lewisburg)
At some point, flashrom supported ENE LPC interface keyboard controller and Microchip MEC1308 embedded controller. But they were dropped before the release because the code was no longer maintained by anyone. If you're interested, take a look at git history.
New Boards
- ASUS P3B-F
- Jetway P4MDPT
- ASUS P5W DH Deluxe
New chips
- AT25SF128A
- B.25D16A
- BY25Q128AS
- FM25F01
- FM25F02(A)
- FM25F04(A)
- FM25F005
- FM25Q08
- FM25Q16
- FM25Q32
- F29C51001B
- GD25LQ128E
- GD25Q256E
- GD25WQ80E
- MX25L12833F
- MX25L12873F
- MX25L3233F
- MX25L5121E
- MX25R3235F
- MX66L1G45G
- S25FL128L
- S25FL128S
- S25FL129P
- S25FL256L
- S25FL256S
- S25FS128S
- S29C51001B
- V29C51001B
- W25Q32JW...M
- W25Q64JV
- W25Q64JW...M
- W25Q256JW
- W25Q256JW_DTR
- W25Q512JV
- W25Q512NW-IM
- W25X05(CL)
- XM25QU64C
- XM25QU128C
- XM25QU256C
- XM25QH64C
- XM25QH128C
- XM25QH256C
Download
flashrom 1.3 can be downloaded in various ways:
Anonymous checkout from the git repository at https://review.coreboot.org/flashrom.git (tag v1.3.0)
A tarball is available for download at
https://download.flashrom.org/releases/flashrom-v1.3.0.tar.bz2 (GPG signature), fingerprint: 6E6E F9A0 BA47 8006 E277 6E4C C037 BB41 3134 D111
and more in the "Tags" section of CGit at