-
Notifications
You must be signed in to change notification settings - Fork 5.3k
arm64: dts: Remove the Pi5 FIRMWARE_UPDATED guards #7166
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
If we run a kernel containing this PR, with a firmware preceding pieeprom-2025-02-11 what is the failure? (no objections to this change - just making sure if anyone hits the issue of mismatched versions we can identify the issue quickly). |
|
With the EEPROM reverted to https://github.com/raspberrypi/rpi-eeprom/blob/0190dbc122fe0adeed591375fb4e80fbfe6aae15/firmware-2712/latest/pieeprom-2025-01-27.bin:
However, it still works well enough that you can install a good version: |
|
To confirm that you are indeed running with 64-bit sizes: |
|
@timg236 Do you have any concerns about current production? Is everything shipping with images from at least March? |
I don't think we can assume that a Pi5 has firmware than September 2024 |
|
The last automatic update was "The last automatic update was "Thu 8 May 15:13:17 BST 2025" but there's no guarantee that other distros have that enabled. We also can't guess how longs boards might sit at a reseller so this could fail if someone gets a new board with earlier firmware and moves an SD card between devices. |
|
It probably doesn't change anything, but upstream dts files have always used I guess we wait another year. |
The Raspberry Pi firmware has assumed that top level #size-cells value in dtb files is 1. As a result, the dts source files have had to use 32-bit sizes, making it awkward to declare memory regions of 4GB or larger, requiring them to be split into chunks. This primarily affects Pi 5, where the dts source has made use of conditional compilation to choose either 64-bit or 32-bit sizes, based on the presence or absence of the defined cpp symbol FIRMWARE_UPDATED. As of EEPROM release pieeprom-2025-02-11, the firmware has read and made use of the actual #size-cells value declared in the dtb, allowing the use of 64-bit sizes. Remove the conditional sections, retaining the 64-bit size values. Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
I've rebased against 6.18, as that represents a clear line in the sand. Any users/distros not happy with the idea of possibly inconveniencing/breaking non-updated Pi 5s should stay on 6.12. |
|
Fine by me. |
|
Thanks @pelwell and @popcornmix |
The Raspberry Pi firmware has assumed that top level #size-cells value in dtb files is 1. As a result, the dts source files have had to use 32-bit sizes, making it awkward to declare memory regions of 4GB or larger, requiring them to be split into chunks. This primarily affects Pi 5, where the dts source has made use of conditional compilation to choose either 64-bit or 32-bit sizes, based on the presence or absence of the defined cpp symbol FIRMWARE_UPDATED.
As of EEPROM release pieeprom-2025-02-11, the firmware has read and made use of the actual #size-cells value declared in the dtb, allowing the use of 64-bit sizes. Remove the conditional sections, retaining the 64-bit size values.