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