mirror of
https://github.com/raspberrypi/rpi-eeprom.git
synced 2026-01-21 06:13:33 +08:00
Compare commits
180 Commits
v.2024.01.
...
v2025.11.0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c6a755543e | ||
|
|
291e4c2f36 | ||
|
|
e7504bafda | ||
|
|
32f795a171 | ||
|
|
11403637b1 | ||
|
|
14b22f02bc | ||
|
|
229347e811 | ||
|
|
182cdabfe0 | ||
|
|
24a4ec1a23 | ||
|
|
2164519657 | ||
|
|
b818b44bd5 | ||
|
|
430834f34b | ||
|
|
dc781dbbf1 | ||
|
|
8fb396f650 | ||
|
|
360324a17e | ||
|
|
f45ed23714 | ||
|
|
581437bcee | ||
|
|
1793f5c4ba | ||
|
|
7afa893027 | ||
|
|
796f883413 | ||
|
|
513ab6e11c | ||
|
|
4ee3f273eb | ||
|
|
6f692d1d7b | ||
|
|
a9ad05065b | ||
|
|
2349daafac | ||
|
|
0b8a0229df | ||
|
|
98b77d5fdd | ||
|
|
fb562ab467 | ||
|
|
37ee92a8b6 | ||
|
|
dd984a26db | ||
|
|
0f9da57ffe | ||
|
|
ab4c1994f3 | ||
|
|
54f04c2209 | ||
|
|
20deeae5ea | ||
|
|
1721eb42b7 | ||
|
|
df532a02dc | ||
|
|
fd7c832383 | ||
|
|
fac42a0d86 | ||
|
|
0f6920518f | ||
|
|
e5a60491d0 | ||
|
|
b08dff7e46 | ||
|
|
47a53c5da0 | ||
|
|
1bb6edeff5 | ||
|
|
ce78b31476 | ||
|
|
cd4048df1d | ||
|
|
96af2e81c7 | ||
|
|
d584a84891 | ||
|
|
816bf7c594 | ||
|
|
f087342b26 | ||
|
|
17a9f162c9 | ||
|
|
914dd0f73f | ||
|
|
7f66ffe483 | ||
|
|
1bd0a1052b | ||
|
|
6c2e2d6833 | ||
|
|
78d08e9763 | ||
|
|
92488a202f | ||
|
|
d50b2b32f1 | ||
|
|
3a16bd016f | ||
|
|
28a2c0242c | ||
|
|
8eef29aed9 | ||
|
|
c954a72f63 | ||
|
|
3679582b23 | ||
|
|
1e5578b70c | ||
|
|
a1bffdeb5d | ||
|
|
bad328a72e | ||
|
|
34eab17ce6 | ||
|
|
0190dbc122 | ||
|
|
b67b21ddda | ||
|
|
9c95b83551 | ||
|
|
7918c84b4b | ||
|
|
478ad485ca | ||
|
|
0944712c0a | ||
|
|
cc58b7d6ce | ||
|
|
6a7ca681cb | ||
|
|
62292b43ad | ||
|
|
54d9c333a9 | ||
|
|
edf686cd51 | ||
|
|
888e374d47 | ||
|
|
f02f0eaf4e | ||
|
|
4ba7cedf18 | ||
|
|
6b431180b8 | ||
|
|
adb3b9befc | ||
|
|
d57c084c9f | ||
|
|
585ec185f2 | ||
|
|
af0426b473 | ||
|
|
fe7bfc7201 | ||
|
|
9621ef6a92 | ||
|
|
4a7375bebe | ||
|
|
eefb7b83bc | ||
|
|
85e8a5924c | ||
|
|
d2f255b464 | ||
|
|
cc0ad4698e | ||
|
|
96349fe65c | ||
|
|
8ff07213bc | ||
|
|
c6b8de409d | ||
|
|
c873eecc28 | ||
|
|
89e9c75bab | ||
|
|
3eecae9975 | ||
|
|
336e82cfb7 | ||
|
|
5d868a9d91 | ||
|
|
e9717985d2 | ||
|
|
489a587f4a | ||
|
|
f2e314d294 | ||
|
|
3c822369be | ||
|
|
9d98c4af3b | ||
|
|
f4996a1952 | ||
|
|
50a3aa3d42 | ||
|
|
c8fffcda5a | ||
|
|
2bdaadd0b4 | ||
|
|
8bec2593aa | ||
|
|
d05f05c94f | ||
|
|
d53e3dd4b1 | ||
|
|
ab8698afa0 | ||
|
|
e6026c8d4e | ||
|
|
171e47acb1 | ||
|
|
ccfc47b215 | ||
|
|
6a0b84c0d1 | ||
|
|
40134bc34b | ||
|
|
5f28534e85 | ||
|
|
ef2fc67d23 | ||
|
|
3fe49842bc | ||
|
|
4c5aebdb20 | ||
|
|
66d569e2c5 | ||
|
|
f368cd9438 | ||
|
|
63fca1c2a1 | ||
|
|
945d708fd0 | ||
|
|
f7aa474cb2 | ||
|
|
132ad70437 | ||
|
|
d2979963b3 | ||
|
|
be8232be75 | ||
|
|
634b49c9dd | ||
|
|
e430a41e73 | ||
|
|
ab087e5db1 | ||
|
|
80be2d6d14 | ||
|
|
88f96b4f86 | ||
|
|
cf3cadf994 | ||
|
|
61fb89536f | ||
|
|
768f4fbc69 | ||
|
|
2b2c8103ff | ||
|
|
2bfd7cb74e | ||
|
|
9a5a522ee8 | ||
|
|
7a1a01c24f | ||
|
|
f4580cd6f5 | ||
|
|
c0a207f452 | ||
|
|
76b990a894 | ||
|
|
afa5822e03 | ||
|
|
a2fb4ed28d | ||
|
|
ca7a39efe9 | ||
|
|
c94506e598 | ||
|
|
61023cbd32 | ||
|
|
d8abe8c67d | ||
|
|
14f05613b4 | ||
|
|
07bf72a919 | ||
|
|
b745226b41 | ||
|
|
c478689de0 | ||
|
|
8c67b27665 | ||
|
|
18620870d7 | ||
|
|
11c64e3721 | ||
|
|
36e58db5c2 | ||
|
|
b1a715b256 | ||
|
|
0e8ecbcf83 | ||
|
|
d4918d4d4c | ||
|
|
b5c7f1bee6 | ||
|
|
c987375f1d | ||
|
|
99cb0bdaa2 | ||
|
|
a8f2eb75b5 | ||
|
|
606c5d25e5 | ||
|
|
88b33ab030 | ||
|
|
a7f982962b | ||
|
|
9df346bc1c | ||
|
|
68fca2166b | ||
|
|
eca47c5f4c | ||
|
|
097e2d0573 | ||
|
|
4b8e875510 | ||
|
|
21a78a91de | ||
|
|
cc020609fb | ||
|
|
d5f1ab30fa | ||
|
|
8855da9889 | ||
|
|
a5b4f91caf | ||
|
|
7232154170 |
5
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
5
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
@@ -40,8 +40,11 @@ body:
|
||||
multiple: true
|
||||
options:
|
||||
- Raspberry Pi 5
|
||||
- Raspberry Pi 500
|
||||
- Raspberry Pi 4 Mod. B
|
||||
- Raspberry Pi 400
|
||||
- Raspberry Pi CM5
|
||||
- Raspberry Pi CM5 Lite
|
||||
- Raspberry Pi CM4
|
||||
- Raspberry Pi CM4 Lite
|
||||
- Raspberry Pi CM4-S
|
||||
@@ -80,7 +83,7 @@ body:
|
||||
attributes:
|
||||
label: Bootloader logs
|
||||
description: |
|
||||
If the problem can't be diagnosed from the bootloader HDMI diagnostics screen then we'll normally need to see more detailed logs to diagnose the problem. The bootloader and GPU firmware can be configured to enable log output to the UART pins `14` and `15` on the [40-pin GPIO header](https://www.raspberrypi.com/documentation/computers/os.html#gpio-and-the-40-pin-header)
|
||||
If the problem can't be diagnosed from the bootloader HDMI diagnostics screen then we'll normally need to see more detailed logs to diagnose the problem. The bootloader and GPU firmware can be configured to enable log output to the UART (GPIOs `14` and `15`, pins `8` and `10` on the [40-pin GPIO header](https://www.raspberrypi.com/documentation/computers/os.html#gpio-and-the-40-pin-header, or on the Debug header on a Pi 5)
|
||||
* To enable UART logging from the bootloader specify [BOOT_UART=1](https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#BOOT_UART) in the EEPROM config
|
||||
* To enable UART logging from the `start.elf` GPU firmware stage add [uart_2ndstage=1](https://www.raspberrypi.com/documentation/computers/config_txt.html#uart_2ndstage) to `config.txt`.
|
||||
* If you are familiar with using Wireshark then it's also possible to use [NETCONSOLE](https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#NETCONSOLE) write logs to UDP packets.
|
||||
|
||||
31
.github/workflows/test.yml
vendored
Normal file
31
.github/workflows/test.yml
vendored
Normal file
@@ -0,0 +1,31 @@
|
||||
name: Test EEPROM Config
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
branches: [ 'master' ]
|
||||
|
||||
jobs:
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: '3.x'
|
||||
|
||||
- name: Create and activate virtual environment
|
||||
run: |
|
||||
python -m venv venv
|
||||
source venv/bin/activate
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
pip install pycryptodomex
|
||||
|
||||
- name: Run EEPROM Config Tests
|
||||
run: |
|
||||
cd test
|
||||
chmod +x test-rpi-eeprom-config
|
||||
./test-rpi-eeprom-config
|
||||
28
LICENSE
28
LICENSE
@@ -6,10 +6,14 @@ Files: *
|
||||
Copyright: 2019, Raspberry Pi (Trading) Ltd.
|
||||
License: BSD-3
|
||||
|
||||
Files: firmware/*
|
||||
Files: firmware-2711/*
|
||||
Copyright: 2019, Raspberry Pi (Trading) Ltd.
|
||||
License: custom
|
||||
|
||||
Files: firmware-2712/*
|
||||
Copyright: 2024, Raspberry Pi (Trading) Ltd.
|
||||
License: custom
|
||||
|
||||
License: BSD-3
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
@@ -93,3 +97,25 @@ License: uIP
|
||||
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGE.
|
||||
|
||||
License: MIT
|
||||
QR Code generator library (C)
|
||||
|
||||
Copyright (c) Project Nayuki. (MIT License)
|
||||
https://www.nayuki.io/page/qr-code-generator-library
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
subject to the following conditions:
|
||||
- The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
- The Software is provided "as is", without warranty of any kind, express or
|
||||
implied, including but not limited to the warranties of merchantability,
|
||||
fitness for a particular purpose and noninfringement. In no event shall the
|
||||
authors or copyright holders be liable for any claim, damages or other
|
||||
liability, whether in an action of contract, tort or otherwise, arising from,
|
||||
out of or in connection with the Software or the use or other dealings in the
|
||||
Software.
|
||||
|
||||
@@ -11,5 +11,5 @@ To reset the bootloader back to factory defaults use [Raspberry Pi Imager](https
|
||||
* [Config.txt boot options](https://www.raspberrypi.com/documentation/computers/config_txt.html#boot-options)
|
||||
* [Bootloader EEPROM](https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#raspberry-pi-boot-eeprom)
|
||||
* [Bootloader configuration](https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#raspberry-pi-bootloader-configuration)
|
||||
* [Updating the Compute Module 4 bootloader](https://www.raspberrypi.com/documentation/computers/compute-module.html#cm4bootloader)
|
||||
* [Updating the Compute Module 4 bootloader](https://www.raspberrypi.com/documentation/computers/compute-module.html#update-the-compute-module-bootloader)
|
||||
* [Releases and release notes](releases.md)
|
||||
|
||||
Binary file not shown.
BIN
firmware-2711/default/pieeprom-2025-05-08.bin
Normal file
BIN
firmware-2711/default/pieeprom-2025-05-08.bin
Normal file
Binary file not shown.
BIN
firmware-2711/default/pieeprom-2025-11-05.bin
Normal file
BIN
firmware-2711/default/pieeprom-2025-11-05.bin
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
firmware-2711/latest/pieeprom-2025-05-08.bin
Normal file
BIN
firmware-2711/latest/pieeprom-2025-05-08.bin
Normal file
Binary file not shown.
BIN
firmware-2711/latest/pieeprom-2025-05-16.bin
Normal file
BIN
firmware-2711/latest/pieeprom-2025-05-16.bin
Normal file
Binary file not shown.
BIN
firmware-2711/latest/pieeprom-2025-07-03.bin
Normal file
BIN
firmware-2711/latest/pieeprom-2025-07-03.bin
Normal file
Binary file not shown.
BIN
firmware-2711/latest/pieeprom-2025-07-17.bin
Normal file
BIN
firmware-2711/latest/pieeprom-2025-07-17.bin
Normal file
Binary file not shown.
BIN
firmware-2711/latest/pieeprom-2025-08-13.bin
Normal file
BIN
firmware-2711/latest/pieeprom-2025-08-13.bin
Normal file
Binary file not shown.
BIN
firmware-2711/latest/pieeprom-2025-08-20.bin
Normal file
BIN
firmware-2711/latest/pieeprom-2025-08-20.bin
Normal file
Binary file not shown.
BIN
firmware-2711/latest/pieeprom-2025-08-27.bin
Normal file
BIN
firmware-2711/latest/pieeprom-2025-08-27.bin
Normal file
Binary file not shown.
BIN
firmware-2711/latest/pieeprom-2025-09-22.bin
Normal file
BIN
firmware-2711/latest/pieeprom-2025-09-22.bin
Normal file
Binary file not shown.
BIN
firmware-2711/latest/pieeprom-2025-09-23.bin
Normal file
BIN
firmware-2711/latest/pieeprom-2025-09-23.bin
Normal file
Binary file not shown.
BIN
firmware-2711/latest/pieeprom-2025-10-03.bin
Normal file
BIN
firmware-2711/latest/pieeprom-2025-10-03.bin
Normal file
Binary file not shown.
BIN
firmware-2711/latest/pieeprom-2025-10-08.bin
Normal file
BIN
firmware-2711/latest/pieeprom-2025-10-08.bin
Normal file
Binary file not shown.
BIN
firmware-2711/latest/pieeprom-2025-10-14.bin
Normal file
BIN
firmware-2711/latest/pieeprom-2025-10-14.bin
Normal file
Binary file not shown.
BIN
firmware-2711/latest/pieeprom-2025-11-05.bin
Normal file
BIN
firmware-2711/latest/pieeprom-2025-11-05.bin
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1 +0,0 @@
|
||||
../beta/pieeprom-2020-04-16.bin
|
||||
BIN
firmware-2711/old/critical/pieeprom-2020-04-16.bin
Normal file
BIN
firmware-2711/old/critical/pieeprom-2020-04-16.bin
Normal file
Binary file not shown.
BIN
firmware-2711/old/critical/pieeprom-2024-04-15.bin
Normal file
BIN
firmware-2711/old/critical/pieeprom-2024-04-15.bin
Normal file
Binary file not shown.
BIN
firmware-2711/old/critical/pieeprom-2025-02-11.bin
Normal file
BIN
firmware-2711/old/critical/pieeprom-2025-02-11.bin
Normal file
Binary file not shown.
BIN
firmware-2711/old/critical/pieeprom-2025-05-08.bin
Normal file
BIN
firmware-2711/old/critical/pieeprom-2025-05-08.bin
Normal file
Binary file not shown.
@@ -1 +0,0 @@
|
||||
../beta/vl805-000137ad.bin
|
||||
BIN
firmware-2711/old/critical/vl805-000137ad.bin
Normal file
BIN
firmware-2711/old/critical/vl805-000137ad.bin
Normal file
Binary file not shown.
@@ -1 +0,0 @@
|
||||
../beta/pieeprom-2020-04-16.bin
|
||||
BIN
firmware-2711/old/stable/pieeprom-2020-04-16.bin
Normal file
BIN
firmware-2711/old/stable/pieeprom-2020-04-16.bin
Normal file
Binary file not shown.
BIN
firmware-2711/old/stable/pieeprom-2024-01-18.bin
Normal file
BIN
firmware-2711/old/stable/pieeprom-2024-01-18.bin
Normal file
Binary file not shown.
BIN
firmware-2711/old/stable/pieeprom-2024-01-22.bin
Normal file
BIN
firmware-2711/old/stable/pieeprom-2024-01-22.bin
Normal file
Binary file not shown.
BIN
firmware-2711/old/stable/pieeprom-2024-04-15.bin
Normal file
BIN
firmware-2711/old/stable/pieeprom-2024-04-15.bin
Normal file
Binary file not shown.
BIN
firmware-2711/old/stable/pieeprom-2024-04-17.bin
Normal file
BIN
firmware-2711/old/stable/pieeprom-2024-04-17.bin
Normal file
Binary file not shown.
BIN
firmware-2711/old/stable/pieeprom-2024-05-17.bin
Normal file
BIN
firmware-2711/old/stable/pieeprom-2024-05-17.bin
Normal file
Binary file not shown.
BIN
firmware-2711/old/stable/pieeprom-2024-07-30.bin
Normal file
BIN
firmware-2711/old/stable/pieeprom-2024-07-30.bin
Normal file
Binary file not shown.
BIN
firmware-2711/old/stable/pieeprom-2024-09-05.bin
Normal file
BIN
firmware-2711/old/stable/pieeprom-2024-09-05.bin
Normal file
Binary file not shown.
BIN
firmware-2711/old/stable/pieeprom-2024-10-10.bin
Normal file
BIN
firmware-2711/old/stable/pieeprom-2024-10-10.bin
Normal file
Binary file not shown.
BIN
firmware-2711/old/stable/pieeprom-2024-10-21.bin
Normal file
BIN
firmware-2711/old/stable/pieeprom-2024-10-21.bin
Normal file
Binary file not shown.
BIN
firmware-2711/old/stable/pieeprom-2024-12-07.bin
Normal file
BIN
firmware-2711/old/stable/pieeprom-2024-12-07.bin
Normal file
Binary file not shown.
BIN
firmware-2711/old/stable/pieeprom-2025-02-11.bin
Normal file
BIN
firmware-2711/old/stable/pieeprom-2025-02-11.bin
Normal file
Binary file not shown.
BIN
firmware-2711/old/stable/pieeprom-2025-02-24.bin
Normal file
BIN
firmware-2711/old/stable/pieeprom-2025-02-24.bin
Normal file
Binary file not shown.
BIN
firmware-2711/old/stable/pieeprom-2025-05-08.bin
Normal file
BIN
firmware-2711/old/stable/pieeprom-2025-05-08.bin
Normal file
Binary file not shown.
BIN
firmware-2711/old/stable/pieeprom-2025-05-16.bin
Normal file
BIN
firmware-2711/old/stable/pieeprom-2025-05-16.bin
Normal file
Binary file not shown.
BIN
firmware-2711/old/stable/pieeprom-2025-07-03.bin
Normal file
BIN
firmware-2711/old/stable/pieeprom-2025-07-03.bin
Normal file
Binary file not shown.
@@ -1 +0,0 @@
|
||||
../beta/vl805-000137ad.bin
|
||||
BIN
firmware-2711/old/stable/vl805-000137ad.bin
Normal file
BIN
firmware-2711/old/stable/vl805-000137ad.bin
Normal file
Binary file not shown.
@@ -1,5 +1,353 @@
|
||||
# Raspberry Pi4 bootloader EEPROM release notes
|
||||
|
||||
## 2025-11-09: Promote 2025-11-05 to the default release (default)
|
||||
|
||||
## 2025-11-05: Add iommu_dma_numa_policy=interleave when needed (latest)
|
||||
|
||||
* arm_loader: Add iommu_dma_numa_policy=interleave when needed
|
||||
This applies a similar numa interleave for iommu dma kernel allocations.
|
||||
This includes buffers allocated for hevc and v3d.
|
||||
See: https://forums.raspberrypi.com/viewtopic.php?t=392666
|
||||
|
||||
## 2025-10-14: recovery: Use ROM boot-mode to detect rpiboot (latest)
|
||||
|
||||
* recovery: Use ROM boot-mode flag to detect rpiboot mode
|
||||
In recovery-mode use the bootrom register flag to detect the
|
||||
original boot-mode rather than looking at whether the rpiboot
|
||||
usb-device boot driver is initialised.
|
||||
* Manufacturing test updates.
|
||||
|
||||
## 2025-10-08: Fix accidental set of PM_RSTS bit 5 when stopping watchdog (latest)
|
||||
|
||||
* Fix accidental set of PM_RSTS bit 5 when stopping watchdog
|
||||
Fix an issue in the watchdog code where the raw PM_RSTS value
|
||||
was used as partition number. If HADWRF (bit 5) was set (on reboot)
|
||||
this could cause bit 10 to be set. If an OS didn't clear the partition
|
||||
flags on reboot then this could end up being treated as request to
|
||||
boot from partition 32.
|
||||
|
||||
## 2025-10-03: arm_dt: Report OTP SDRAM size via device-tree (latest)
|
||||
|
||||
* arm_dt: Report OTP SDRAM size via device-tree
|
||||
Report the SDRAM in gigabits via device-tree as
|
||||
/proc/device-tree/chosen/rpi-sdram-size-gbit. Scripts reporting the
|
||||
device-capabilities should use this value (if defined) instead of the
|
||||
memory-size field in the boardrev row.
|
||||
* Apply UART_BAUD in early bootsys UART init
|
||||
Update bootsys and fatal error handlers to use the user
|
||||
defined UART_BAUD rate.
|
||||
* rpifwcrypto: Add support for ECDSA P-256 key generation
|
||||
Also, slightly improve the entropy by passing the system
|
||||
timer value as the personality string.
|
||||
|
||||
## 2025-09-23: Fix network install regression on Pi4 (latest)
|
||||
|
||||
* Fix network install regression on Pi4
|
||||
Fix an issue with the ECDSA signature code which caused network
|
||||
install to fail to load on Pi4.
|
||||
* Fix TFTP to allow larger files
|
||||
Allow TFTP block counter to rollover to 0.
|
||||
See: https://github.com/raspberrypi/rpi-eeprom/issues/720
|
||||
|
||||
## 2025-09-22: Add LZ4 decompressor (latest)
|
||||
|
||||
* Add LZ4 decompressor
|
||||
LZ4 gives a better compression ratio than the previously used CK compress. The bootloader can now decompress both LZ4 compressed files and CK compressed files.
|
||||
* rpifwcrypto: Add GET_CRYPTO_PRIVATE_KEY mailbox API
|
||||
For provisioning, add a new mailbox API which returns the private key
|
||||
in DER format. The API will return an error if the key-status for
|
||||
the specified key is LOCKED.
|
||||
* config: Add support for board_attributes in conditional expressions
|
||||
Add support for the board-attributes row in config.txt conditional
|
||||
expressions. This can be used to change boot behavior for
|
||||
Compute Module Lite / No-WiFi etc.
|
||||
* board_info: Log the OTP board revision at startup
|
||||
Log the board revision plus the raw OTP value at startup.
|
||||
|
||||
## 2025-08-27: Fix PARTITION property to allow default (0) partition to be overridden (latest)
|
||||
|
||||
* Fix PARTITION property to allow default (0) partition to be overridden
|
||||
Fix the partition selection to allow the bootloader PARTITION
|
||||
property to override the reboot partition number if the reboot
|
||||
argument is 0 or > 31. Previously, it was only allowing
|
||||
partition numbers > 31 to be overridden.
|
||||
See: https://github.com/raspberrypi/rpi-eeprom/issues/743
|
||||
* Enable RPIBOOT in BOOT_ORDER / set-reboot-order
|
||||
Previously, rpiboot required the bootrom to have initialised
|
||||
rpiboot before running the firmware. Update the rpiboot
|
||||
initialisation so that rpiboot to be enabled after booting from
|
||||
SPI flash.
|
||||
This could be selectively enabled by setting BOOT_ORDER property
|
||||
(0x3) behind a GPIO conditional in the EEPROM config. On Pi5, the
|
||||
set_reboot_order config.txt option or mailbox property can be
|
||||
used to set a one-time boot-order on
|
||||
N.B. There is no timeout for RPIBOOT so this should only be set
|
||||
as the last boot mode OR used with a boot_watchdog.
|
||||
|
||||
## 2025-08-20: Fix PARTITION_WALK for missing start.elf files (latest)
|
||||
|
||||
* Fix PARTITION_WALK for missing start.elf files
|
||||
Fix a missing call to bootloader_reset_state so that PARTITION_WALK
|
||||
will work if the boot-partition is FAT, contains config.txt etc
|
||||
but does not have valid firmware.
|
||||
See: https://github.com/raspberrypi/rpi-eeprom/issues/738
|
||||
* force_eeprom_read=0 disables HAT I2C
|
||||
Although setting force_eeprom_read=0 has always prevented the HAT EEPROM
|
||||
from being read, with the recent changes to support Power HAT+s it does
|
||||
not prevent an early scan to see if such an EEPROM exists. This can be
|
||||
problematic for applications where the I2C0 pins have been repurposed.
|
||||
Change the inhibit logic to cut all HAT I2C probing off at the knees,
|
||||
including any automatic settings of usb_max_current_enable, as it should
|
||||
always have done.
|
||||
See: https://github.com/raspberrypi/firmware/issues/1985
|
||||
* bootcode.bin: Add support for boot.img ramdisk on Pi3 and earlier
|
||||
Add support for boot.img ramdisk support, enable by adding boot_ramdisk=1
|
||||
in config.txt
|
||||
* rpifwcrypto: Preliminary firmware support for rpifwcrypto API
|
||||
* Add config.txt to block GET_CUSTOMER_PRIVATE_KEY mailbox API
|
||||
lock_device_private_key=1
|
||||
|
||||
## 2025-08-13: Enable PARTITION_WALK property by default (latest)
|
||||
|
||||
* Enable the PARTITION_WALK property by default
|
||||
Previously, the new PARTITION_WALK which searches for bootable
|
||||
partitions after a failure had to be explicitly enabled. Change
|
||||
the default to be enabled by default. It can be switched off by
|
||||
setting PARTITION_WALK=0 in the EEPROM config.
|
||||
* Optimise bootmain for size on Pi4
|
||||
Pi4 only has a 512KB SPI flash EEPROM and the addition of features
|
||||
plus fixes is now causing contention for space between the code and
|
||||
the EEPROM config. Since bootmain is only responsible for loading
|
||||
start.elf revert to the original configuration which is optimised
|
||||
for size rather than speed. Pi5 continues to be optimised for speed.
|
||||
|
||||
## 2025-07-17: arm_loader: Also require the early-watchdog property (latest)
|
||||
|
||||
* arm_loader: Also require the early-watchdog property
|
||||
The change correcting the implementation of dtoverlay_is_enabled had the
|
||||
unintended consequence of causing the firmware to enable the watchdog
|
||||
even though the user had not explicitly requested it. This is harmless
|
||||
on Linux because the watchdog driver takes over and disarms it, but on
|
||||
other operating systems this can lead to a reboot. Avoid this problem
|
||||
by also requiring the presence of a new property, "early-watchdog".
|
||||
See: https://github.com/raspberrypi/firmware/issues/1980
|
||||
* helpers/config_loader: Add bootvar0 eeprom config that can be used in config.txt section expressions
|
||||
This allows an eeprom config setting (e.g. BOOTVAR0=0x10) to be set on a board
|
||||
which config.txt can use as a conditional expression (e.g. [bootvar0&0x10]).
|
||||
* arm_loader: Fix boot-watchdog stop on Pi4
|
||||
Fix a problem where the boot_watchdog heartbeat timer was not
|
||||
stopped correctly which could cause it to clash with the kernel
|
||||
watchdog driver.
|
||||
|
||||
## 2025-07-03: Check for SD card overcurrent (latest)
|
||||
|
||||
* board_info: Use the Ethernet PHY address probed by the bootloader
|
||||
Use the Ethernet PHY address supplied by the bootloader in
|
||||
preference to the static configurations defined in start4.elf
|
||||
* Check for SD card overcurrent on Pi5, Pi500 and Pi4
|
||||
Before booting, the bootloader now checks the SD power switch
|
||||
overcurrent signal. The overcurrent signal occurs if the SD
|
||||
card is damaged and has a short circuit which will cause it to
|
||||
get hot.
|
||||
If an over-current condition is detected the bootloader switches
|
||||
switches off power to the SD card and waits five seconds before
|
||||
probing the SD card again. This error is displayed on the
|
||||
diagnostic screen, the UART and the activity LED (1 long, 2 short)
|
||||
flashes.
|
||||
The check can be switched to a non-blocking warning by setting
|
||||
SD_OVERCURRENT_CHECK=0 in the bootloader config.
|
||||
* Add a new error code pattern for SD overcurrent
|
||||
Add a new error pattern (1 long, 2 short) to signal SD card
|
||||
overcurrent.
|
||||
* Add support for a bootloader watchdog
|
||||
Add support for a boot watchdog (using PM_RSTC hw wdog) which will
|
||||
trigger if the OS is not started within the specified amount of time. The
|
||||
watchdog is enabled by setting the BOOT_WATCHDOG_TIMEOUT=N (seconds)
|
||||
property in the bootlaoder config.
|
||||
The BOOT_WATCHDOG_PARTITION=P property can be set to pass a different
|
||||
partition number to the bootloader on reset if the watchdog
|
||||
is triggered.
|
||||
The boot watchdog is automatically cleared just before starting
|
||||
the OS and (optionally) enabling the kernel watchdog.
|
||||
* Skip first SD boot if no card detected
|
||||
On platforms with an SD Card detect signal, skip the first attempt to
|
||||
boot from SD if the card appears to be absent. This can save over a
|
||||
second on a cold boot, and a little under a second for a reboot.
|
||||
|
||||
## 2025-05-16: 2711: Automatically set revoke_devkey if program_pubkey=1 (latest)
|
||||
|
||||
* 2711: (recovery) Automatically set revoke_devkey if program_pubkey=1
|
||||
Previously, on BCM2711 products it was possible to program the key
|
||||
hash without revoking the development key. This can be useful for
|
||||
testing but should never be used in production because it is possible
|
||||
to an install an older version of the bootloader which doesn't
|
||||
support secure-boot. Since the secure-boot tools are stable and
|
||||
have improved usability (RPi secure-boot provisioner) this test
|
||||
feature not necessary and is just a security risk so the behaviour
|
||||
is changed to always revoke the development key if program_pubkey=1.
|
||||
This change is not relevant on BCM2712 because secure-boot requires
|
||||
that the second stage bootloader is counter-signed with the customer's
|
||||
private key.
|
||||
|
||||
## 2025-05-13: Promote 2025-05-08 to the default release (default) (automatic)
|
||||
|
||||
## 2025-05-08: Implement TCP window for net boot (latest)
|
||||
* Signed boot and HTTP boot mode
|
||||
HTTP boot mode is supposed to be disabled if signed boot is enabled and
|
||||
a host is not specified. The code is checking the http_secure flag to
|
||||
enforce this. But this is valid now we support custom CA certs.
|
||||
Only disable HTTP mode if we're using the default HOST.
|
||||
* Implement TCP window for net boot
|
||||
The minimal IP stack used for https booting lacks the ability to cache
|
||||
packets received out of order, which can lead to severe slowdown when
|
||||
it happens. The problem seems to affect some ISPs more than others.
|
||||
The receive window implemented here copes with packet losses of 10%.
|
||||
* netboot: Correct the TCP MSS
|
||||
* Correct msecs in debug timestamps
|
||||
The fractional part of timestamps in UART debug output was showing the
|
||||
100ths and 1000ths of a second, rather than 10ths and 100ths, causing
|
||||
strange sequences that appear to jump backwards.
|
||||
|
||||
## 2025-02-17: Promote 2025-02-11 to default release (default)
|
||||
|
||||
## 2025-02-11: recovery: Walk partitions to delete recovery.bin (latest)
|
||||
|
||||
* recovery: Walk partitions to delete recovery.bin
|
||||
Previously, recovery.bin would fail to delete itself
|
||||
if the bootrom loaded recovery.bin where there are multiple FAT
|
||||
partitions and the first partition does not contain recovery.bin
|
||||
Update the rename code to walk the partition table to find
|
||||
the recovery.bin file to delete.
|
||||
* Enable overriding of high partition numbers
|
||||
Previously, the PARTITION=N bootloader config setting would only
|
||||
be used at power on reset or if the partition number passed to
|
||||
reboot was zero.
|
||||
Change the behaviour so that the bootloader config PARTITION
|
||||
property can override the reboot partition number if the reboot
|
||||
parameter is > 31.
|
||||
* Walk the partition table if the requested partition is not bootable
|
||||
Previously, if the specified boot partition was not bootable the
|
||||
bootloader would stop and advance to the next BOOT_ORDER. If the
|
||||
new PARTITION_WALK option is set to 1 the bootloader will now
|
||||
check each partition in turn starting from the specified partition
|
||||
before advancing the BOOT_ORDER.
|
||||
This feature is intended for use with A/B systems to handle the case
|
||||
where autoboot.txt is missing / corrupted. This change enables
|
||||
the system to failover to the next available bootable partition.
|
||||
The autoboot.txt file is not scanned during the partition-walk
|
||||
phase i.e. there is no recursive processing of autoboot.txt files.
|
||||
This option is only supported on physical block devices
|
||||
(SD, NVMe, USB) and not RAMDISK. USB assumes a single high speed
|
||||
device, partition walks on multiple USB devices is not recommended
|
||||
and may cause timeouts.
|
||||
* Improve keyboard handling in boot menu
|
||||
Try and make it more likely that we have enough time to perform key
|
||||
detection.
|
||||
Ignore mice, which were being enumerated and slowing things down.
|
||||
|
||||
## 2024-12-07: Enable banklow (and so NUMA) by default (latest)
|
||||
|
||||
* Enable banklow (and so NUMA) by default
|
||||
banklow=1 (2712) and banklow=3 (2711) give the best performance.
|
||||
|
||||
## 2024-10-21: Fix PCIe BAR issue for some switches (latest)
|
||||
|
||||
* Boot-menu improvements
|
||||
Remain in the forced boot mode until the menu is used to select a different
|
||||
boot-mode or reset to the original boot-order.
|
||||
|
||||
## 2024-10-10: Use soft-reset to preseve SDRAM contents after ramoops (latest)
|
||||
|
||||
* SD card high-speed/low-voltage mode can only be exited by powercycling.
|
||||
Pi 4s before rev 1.4 lack the power switch required to do this, so must
|
||||
resort to a global reset that turns off many things, including SDRAM.
|
||||
|
||||
To ensure correct operation, the bootloader checks that the SD I/O
|
||||
voltage is the expected 3.3V, forcing a power cycle if it isn't.
|
||||
However, this doesn't take advantage of presence of the dedicated SD
|
||||
power switch, always forcing a global reset, a consequence of which can
|
||||
be the loss of SDRAM content - including any ramoops dump of the crash
|
||||
logs.
|
||||
|
||||
Make the bootloader more SD_PWR_ON aware, only triggering a global reset
|
||||
if one isn't found.
|
||||
See: https://github.com/raspberrypi/linux/issues/5298
|
||||
* Remove requirement for GPT ptable array to be at LBA-2
|
||||
See: https://github.com/raspberrypi/rpi-eeprom/issues/585
|
||||
* Introduce a new boot-menu feature where pressing SPACE at power on
|
||||
gives the user a one-shot option to select a different boot mode.
|
||||
e.g. Select USB boot if the default SD card is corrupted or unavailable.
|
||||
* Display the bootloader network-install UI for longer on a cold boot to make
|
||||
this feature more visible to first time users.
|
||||
To revert to the previous behaviour remove NET_INSTALL_AT_POWER_ON=1
|
||||
from the bootloader config.
|
||||
* Default to 2GB start for PCI bus addresses on 2711 and 2712
|
||||
This change also constrains the window size to 2GB, so all PCI bus address
|
||||
assignments fall below 4GB, avoiding a potential bug with 32-bit BARs in
|
||||
esoteric bus topologies (e.g. lots of GPUs).
|
||||
|
||||
## 2024-09-05: Fix self-update if EEPROM is write-protected (latest)
|
||||
* arm_dt: Consult the hat_map for all HATs
|
||||
* USB boot - ignore RP2 / RP3 MSD device in BOOTSEL mode.
|
||||
* recovery.bin - Fix erase_eeprom to not block reboot_recovery
|
||||
* Fix self-update to continue to boot instead of retrying forever
|
||||
if the EEPROM is write protected.
|
||||
https://github.com/raspberrypi/rpi-eeprom/issues/597
|
||||
|
||||
## 2024-08-14 (recovery.bin) - Add support for OTP metadata (latest)
|
||||
* Update to recovery.bin to output metadata about OTP during rpiboot
|
||||
|
||||
## 2024-07-30 - USB boot fixes for CM4-S and interop improvements (latest)
|
||||
* Resolve USB boot regression in 2024-04-17 relase on CM4S
|
||||
See https://github.com/raspberrypi/rpi-eeprom/issues/588
|
||||
* Improve compatibility for booting from some USB SD card readers
|
||||
https://github.com/raspberrypi/rpi-eeprom/issues/527
|
||||
|
||||
## 2024-07-05 (recovery.bin) - Enable program_rpioboot_gpio - (latest)
|
||||
* Enable the usage of program_rpiboot_gpio in config.txt for recovery.bin
|
||||
without requiring secure-boot to be enabled.
|
||||
This may be useful CI systems provisioning images on Pi4B / Pi400
|
||||
via RPIBOOT.
|
||||
This is an OTP setting and cannot be reverted after programming.
|
||||
|
||||
See https://www.raspberrypi.com/documentation/computers/config_txt.html#program_rpiboot_gpio
|
||||
|
||||
## 2024-05-17 - Ignore bootloader updates for Pi5 on Pi4 - (latest)
|
||||
* Add timestamps to UART log messages.
|
||||
* Add support for [tryboot] conditional the bootloader EEPROM
|
||||
config file.
|
||||
See: https://github.com/raspberrypi/rpi-eeprom/issues/454
|
||||
* Fix MAX_RESTARTS parameter
|
||||
See: https://github.com/raspberrypi/rpi-eeprom/issues/576
|
||||
* Add recovery_reboot option to config.txt for rpiboot which causes
|
||||
the system to reboot after updating the bootloader.
|
||||
* Improve secure-boot OTP provisioning logging.
|
||||
* Fix setting to enable secure-boot mode on Pi4B
|
||||
|
||||
## 2024-04-17 - Build Pi4 firmware from the mainline branch - STABLE
|
||||
* Switch to building the Pi4 firmware from the common Pi4/Pi5
|
||||
mainline release. This doesn't change the Pi4 features
|
||||
but should make it quicker to release bug fixes in common code.
|
||||
* Fix issue that caused the TRYBOOT flag to be lost in secure-boot mode.
|
||||
* dtoverlay: Use %u when converting u32s to strings
|
||||
See: https://github.com/raspberrypi/linux/issues/6039
|
||||
* Improved debug messages for secure-boot.
|
||||
* Generate the bootloader diagnostics qrcode at run time.
|
||||
|
||||
## 2024-04-15 - Fix tryboot mode in secure-boot - DEFAULT
|
||||
* Promote the secure-boot fix to the DEFAULT release.
|
||||
|
||||
## 2024-04-15 - Fix tryboot mode in secure-boot - STABLE
|
||||
* Fix an issue where the tryboot flag was being reset and lost during
|
||||
the secure-boot initialization.
|
||||
|
||||
## 2024-01-22 - Fix issue boot.img end sector check - STABLE
|
||||
* See https://github.com/raspberrypi/rpi-eeprom/issues/521
|
||||
|
||||
## 2024-01-18 - Fix issue with minimal sized FAT partition - STABLE
|
||||
* Fix handling of files that use the last cluster in the partition
|
||||
https://github.com/raspberrypi/rpi-eeprom/issues/521
|
||||
|
||||
## 2023-08-01 - Remove beta release folder
|
||||
* Remove the beta release folder and provide a symlink to stable
|
||||
for backwards compatibility for anyone who has beta in
|
||||
|
||||
BIN
firmware-2712/default/pieeprom-2025-05-08.bin
Normal file
BIN
firmware-2712/default/pieeprom-2025-05-08.bin
Normal file
Binary file not shown.
BIN
firmware-2712/default/pieeprom-2025-11-05.bin
Normal file
BIN
firmware-2712/default/pieeprom-2025-11-05.bin
Normal file
Binary file not shown.
Binary file not shown.
BIN
firmware-2712/latest/pieeprom-2025-05-08.bin
Normal file
BIN
firmware-2712/latest/pieeprom-2025-05-08.bin
Normal file
Binary file not shown.
BIN
firmware-2712/latest/pieeprom-2025-06-13.bin
Executable file
BIN
firmware-2712/latest/pieeprom-2025-06-13.bin
Executable file
Binary file not shown.
BIN
firmware-2712/latest/pieeprom-2025-06-20.bin
Normal file
BIN
firmware-2712/latest/pieeprom-2025-06-20.bin
Normal file
Binary file not shown.
BIN
firmware-2712/latest/pieeprom-2025-06-29.bin
Normal file
BIN
firmware-2712/latest/pieeprom-2025-06-29.bin
Normal file
Binary file not shown.
BIN
firmware-2712/latest/pieeprom-2025-07-03.bin
Normal file
BIN
firmware-2712/latest/pieeprom-2025-07-03.bin
Normal file
Binary file not shown.
BIN
firmware-2712/latest/pieeprom-2025-07-17.bin
Normal file
BIN
firmware-2712/latest/pieeprom-2025-07-17.bin
Normal file
Binary file not shown.
BIN
firmware-2712/latest/pieeprom-2025-08-13.bin
Normal file
BIN
firmware-2712/latest/pieeprom-2025-08-13.bin
Normal file
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user