Skip to content

of: Improve compatibility with old Pi 5 firmware#7405

Open
pelwell wants to merge 1 commit into
raspberrypi:rpi-6.18.yfrom
pelwell:pi5sizecells
Open

of: Improve compatibility with old Pi 5 firmware#7405
pelwell wants to merge 1 commit into
raspberrypi:rpi-6.18.yfrom
pelwell:pi5sizecells

Conversation

@pelwell
Copy link
Copy Markdown
Contributor

@pelwell pelwell commented May 28, 2026

With the jump to the 6.18 kernel we dropped a patch that had been overriding #size-cells in the upstream bcm2712 dts files. The result is cleaner, but only Pi 5 and CM5 EEPROMs since February 2025 are compatible with it.

Apply a few hacks to the kernel's early DT parsing and to the 2712 dts so that the EEPROM is able to update the CMA section and the kernel is able to read the result, despite the fact that it is malformed.

@pelwell
Copy link
Copy Markdown
Contributor Author

pelwell commented May 28, 2026

If you do want to test this, and you don't want to have to use recovery.bin or rpiboot to update the EEPROM on a non-booting Pi 5:

  1. Install this update - sudo rpi-update pulls/7405 after the builds have completed, after reading the caveats.
  2. Reboot and check the Pi boots normally. /sys/kernel/debug/devices_deferred being empty and no or very little output from dmesg -l err,warn is a good sign.
  3. Download https://github.com/raspberrypi/rpi-eeprom/blob/master/firmware-2712/old/latest/pieeprom-2025-01-22.bin.
  4. sudo rpi-eeprom-update -d -f ./pieeprom-2025-01-22.bin and reboot.
  5. It should continue to reboot in under 30 seconds, with /sys/kernel/debug/devices_deferred still empty but with some additional warnings in the kernel log:
    [    0.000000] OF: reserved mem: invalid reg property size in 'nvram@0' - firmware out-of-date?
    [    0.000000] OF: reserved mem: invalid reg property size in 'linux,cma' - firmware out-of-date?
    
  6. After sudo rpi-eeprom-update -a and a reboot to install the latest EEPROM for the selected channel, those warnings will have disappeared.

With the jump to the 6.18 kernel we dropped a patch that had been
overriding #size-cells in the upstream bcm2712 dts files. The result
is cleaner, but only Pi 5 and CM5 EEPROMs since February 2025 are
compatible with it.

Apply a few hacks to the kernel's early DT parsing and to the 2712 dts
so that the EEPROM is able to update the CMA section and the kernel is
able to read the result, despite the fact that it is malformed.

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant