github raspberrypi/rpi-eeprom v2026.05.11-2712
rpi-boot-eeprom-recovery-2026-05-11-2712

pre-release3 hours ago

Interesting changes since the last release:

2026-05-11: 2712: Set bootloader mfg verison id to 1 (latest)

  • 2712: Set bootloader mfg verison id to 1
    Advance the minimum version id to 1 to indicate support for new SDRAM
    variants.
  • Add MFG_VER string for rpi-eeprom-update minver check
    On new boards, the minimum recommended version will be written
    to OTP. This will allow rpi-eeprom-update to check the minimum
    recommended version required by the hardware against the version
    field embedded in EEPROM image binary.
    strings pieeeprom.bin | grep 'MFG_VER:'
  • pi5: Record hardware board information in OTP
    On Pi5 report minimal bootloader version via device-tree under
    /proc/device-tree/chosen/rpi-min-boot-ver.

2026-04-30: 2712: arm_boot: Enable turbo clocks before loading the kernel (latest)

  • arm_display: Correct logging message hdmi_pixel_freq_limit
    Noticed in a raspinfo log file.
  • Increase default v3d frqeuency on 2712d0
  • pi5: arm_boot: Enable turbo clocks before loading the kernel
    Originally, for the entire boot ran at the idle-operating
    point. Subsequently, the default for intial_turbo was changed so
    that the kernel is started with turbo-clocks unless disabled
    via config.txt.
    This change enables the turbo-clocks as soon as it is safe as soon
    as the turbo voltage has been calibrated to speedup kernel loading
    and device-tree processing.
    This reduces boot time by approximately 1 second on a Pi5 booting
    from NVMe.

2026-04-27: Broadcom SDRAM firmware update to 4.72 (latest)

Broadcom SDRAM firmware update to 4.72

Update the Broadcom SDRAM firmware to 4.72 to support additional memory variants.

2026-04-14: Update recovery.bin to support more SDRAM variants (latest)

  • Update the slow (non tuned) DDR init used by recovery.bin to support
    more SDRAM variants.
  • Add an error code for the bootloader memory test.
    The bootloader contains simple memory test to validate
    that the DDR init firmware has completed successfully.
    If the DDR init firmware reports an error code then continue to
    display 8 short flashes. However, if the DDR init firmware is
    successful but the memory test fails then display 5 short flashes.
    This is very unlikely to fail in practise but is useful debug
    mechanism when stress testing boards e.g. different temperatures.
  • Automatically reboot after a displaying a fatal error
    Change the fatal error handler to perform a hard reset after
    displaying the fatal error three times in a row instead of waiting
    forever. This change can mitigate intermittent hardware issues due
    e.g. power supplies, HATs or board temperature.
    Displaying the error pattern three times first rate
    limits reboots. If a faster reboot is required then the
    BOOT_WATCHDOG setting should be used instead.
    To disable this feature set REBOOT_ON_FATAL_ERROR=0 in
    the bootloader config.

2026-02-23: Fix partition walk for boot_ramdisk / secure-boot (latest)

  • Fix partition walk for boot_ramdisk / secure-boot
    If secure-boot / boot_ramdisk was enabled and boot.img was not found
    then the bootloader would immediately exit the boot mode instead
    allowing the partition walk to run. Change the logic to allow
    retries if partition walk was enabled.

2026-02-06: config: Add support for customer OTP rows in conditional expressions (latest)

  • config: Add support for customer OTP rows in conditional expressions
    Support conditional filter for eight customer OTP rows to be used by config.txt from Pi 1 onwards.
  • pi5: Copy early bootloader UART logs into vcos logging
    Early bootloader loggings in bootmain are now available via 'sudo vclog -m'

2026-01-21: rpi-fw-crypto: Fix bad hmac arguments lock-up (latest)

  • rpi-fw-crypto: Fix bad hmac arguments lock-up
    Improve argument validation so that a bad key-id or invalid private key
    can no longer cause a lock-up during HMAC operations.

2026-01-16: Assume eMMC for CM4/CM5 non-lite (latest)

  • Assume eMMC for CM4/CM5 non-lite
    Attempt the fast path by skipping the SD interface condition command timeout on CM4/CM5 (non-lite) modules and enable eMMC mode directly. This saves ~250ms of the boot time.
  • Don't stomp on RTC alarm state
    Preserve the RTC's alarm state so that it can be queried by the rpi-rtc
    driver.
    See: raspberrypi/firmware#2011
  • arm_loader: Apply rpifwcrypto lock permissions GET/SET USER OTP
    Previously, the GET/SET user OTP mailboxes would provide access to the
    device unique private key. Update the mailbox API to fail if the
    key has been locked via lock_device_private_key=1 in config.txt or
    the associated mailbox call.
    GET/SET user OTP fails by setting the result tag to the standard
    error code (0x80000000). The dedicate GET/SET private key continue
    to fail the entire mailbox operation to force vcmailbox to exit
    with a non-zero error code.
  • cm5: Add support for 8-bit bus width eMMC

Don't miss a new rpi-eeprom release

NewReleases is sending notifications on new releases.