flashrom/1.3

From flashrom
Revision as of 08:56, 23 February 2023 by Joursoir (talk | contribs)
Jump to navigation Jump to search

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 to flashrom_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 to classic_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 into config 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

https://review.coreboot.org/cgit/flashrom.git