diff --git a/firmware-2711/latest/pieeprom-2024-07-30.bin b/firmware-2711/latest/pieeprom-2024-07-30.bin new file mode 100644 index 0000000..d84cbc8 Binary files /dev/null and b/firmware-2711/latest/pieeprom-2024-07-30.bin differ diff --git a/firmware-2711/latest/recovery.bin b/firmware-2711/latest/recovery.bin index 037e11c..c762ef7 100644 Binary files a/firmware-2711/latest/recovery.bin and b/firmware-2711/latest/recovery.bin differ diff --git a/firmware-2711/release-notes.md b/firmware-2711/release-notes.md index 449036a..8d6f148 100644 --- a/firmware-2711/release-notes.md +++ b/firmware-2711/release-notes.md @@ -1,5 +1,23 @@ # Raspberry Pi4 bootloader EEPROM release notes +## 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 improvments (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 diff --git a/firmware-2712/default/pieeprom-2024-07-30.bin b/firmware-2712/default/pieeprom-2024-07-30.bin new file mode 100644 index 0000000..5c92004 Binary files /dev/null and b/firmware-2712/default/pieeprom-2024-07-30.bin differ diff --git a/firmware-2712/latest/pieeprom-2024-07-25.bin b/firmware-2712/latest/pieeprom-2024-07-25.bin new file mode 100644 index 0000000..73bade9 Binary files /dev/null and b/firmware-2712/latest/pieeprom-2024-07-25.bin differ diff --git a/firmware-2712/latest/pieeprom-2024-07-30.bin b/firmware-2712/latest/pieeprom-2024-07-30.bin new file mode 100644 index 0000000..5c92004 Binary files /dev/null and b/firmware-2712/latest/pieeprom-2024-07-30.bin differ diff --git a/firmware-2712/latest/recovery.bin b/firmware-2712/latest/recovery.bin index daa2f55..330646b 100644 Binary files a/firmware-2712/latest/recovery.bin and b/firmware-2712/latest/recovery.bin differ diff --git a/firmware-2712/release-notes.md b/firmware-2712/release-notes.md index d646b9d..aff6ee6 100644 --- a/firmware-2712/release-notes.md +++ b/firmware-2712/release-notes.md @@ -1,5 +1,23 @@ # Raspberry Pi5 bootloader EEPROM release notes +## 2024-07-30: Promote the 2024-07-30 release to default (default) + +## 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: Optimized SDRAM timings for Pi5 8GB (latest) +* Optimize all-banks/per-bank refresh timings for Pi5 8GB +* Improve compatibility for booting from some USB SD card readers + https://github.com/raspberrypi/rpi-eeprom/issues/527 +* Add enable_rp1_uart=1 to config.txt to initialise RP1 UART0 immediately + prior to starting the ARMs get earlycon on 40-pin header (pins 14,15) + Also requires pciex4_reset=0 in config.txt + earlycon=pl011,0x1f00030000,115200n8 + +## 2024-07-25: Support CM4 nEXTRST on CM5 (latest) +* Drive nEXTRST on CM5 for CM4IO compatibility. +* Preliminary changes for CM5 Lite. + ## 2024-06-11: Promote pieeprom-2024-06-05 to the default release (default) ## 2024-06-05: CM5 bringup changes (latest) @@ -15,7 +33,7 @@ ## 2024-05-17: Ignore bootloader updates for Pi5 on Pi4 - (latest) * Add timestamps to UART log messages -2024-05-13: Add support for NVMe boot with PCIe switches (latest) +## 2024-05-13: Add support for NVMe boot with PCIe switches (latest) * Add preliminary support for booting NVMe devices behind PCIe switches. See: https://github.com/raspberrypi/firmware/issues/1833 * Fix MAX_RESTARTS parameter @@ -27,27 +45,27 @@ See: Fixes https://github.com/raspberrypi/rpi-eeprom/issues/574 * Pull PCIE DET_WAKE high by default on CM5 -2024-04-20: Fix SDRAM refesh timing (default) (automatic update) +## 2024-04-20: Fix SDRAM refesh timing (default) (automatic update) * Fix a possible performance regression on Pi5. -2024-04-18: Promote the 2024-04-17 release to the default release (default) (automatic update) +## 2024-04-18: Promote the 2024-04-17 release to the default release (default) (automatic update) * Select pieeprom-2024-04-17.bin to be the new default release and bump the automatic update minimum version to this. -2024-04-18: Update RP1 firmware to extend PCIe L1 entry timeout to 32 us (latest) +## 2024-04-18: Update RP1 firmware to extend PCIe L1 entry timeout to 32 us (latest) * Extend PCIe L1 entry timeout to 32us Fix xhci soft reset on link-down Set useful xhci compatibility bits in GUCTL See https://github.com/raspberrypi/firmware/issues/1877 -2024-04-17: Fix TRYBOOT flag in secure-boot mode (latest) +## 2024-04-17: Fix TRYBOOT flag in secure-boot mode (latest) * 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-05: HAT+ fixes for max-current, custom CA cert for net install and enable over-clocking to > 3GHz (latest) +## 2024-04-05: HAT+ fixes for max-current, custom CA cert for net install and enable over-clocking to > 3GHz (latest) * bootloader: clock_2712: Remove restriction on arm_freq <= 3000 See: https://github.com/raspberrypi/firmware/issues/1876 * arm_dt: Update max_current to match HAT value @@ -65,7 +83,7 @@ * Preliminary support for secure-boot OTP provisioning. * Update PCIE DET_WAKE pinmux for D0 products -2024-02-16: u-boot loading and thermal throttling fixes (latest) (default) +## 2024-02-16: u-boot loading and thermal throttling fixes (latest) (default) * arm_loader: Move non-kernels back to 512KB See: https://github.com/raspberrypi/firmware/issues/1868 @@ -73,26 +91,26 @@ config.txt frequency. See: https://github.com/raspberrypi/rpi-eeprom/issues/518 -2024-02-14: Fix vcgencmd otp_dump and implement C(initial_turbo) (latest) +## 2024-02-14: Fix vcgencmd otp_dump and implement C(initial_turbo) (latest) * Fix a regression that caused vcgencmd otp_dump to fail. * Implement C(initial_turbo) on Pi5 See: https://github.com/raspberrypi/firmware/issues/1864 -2024-02-08: Adjust SDRAM refresh based on temperature (latest) +## 2024-02-08: Adjust SDRAM refresh based on temperature (latest) * Adjust the SDRAM refresh interval based on the temperature. This addresses the gap in performance between the 8GB and 4GB variants. See https://github.com/raspberrypi/firmware/issues/1854 * Preliminary support for signed boot. -2024-02-05: Add support for HAT+ POE HATs (latest) +## 2024-02-05: Add support for HAT+ POE HATs (latest) * Add support for probing HAT+ POE HATs * Implement DWC3 specific XHCI quirks -2024-01-24: NVMe boot fix for WD NVMe (latest) +## 2024-01-24: NVMe boot fix for WD NVMe (latest) * Add a workaround for an issue seen when booting with WD Blue SN550 NVMe SSD -2024-01-22: Add support for network-install (latest) +## 2024-01-22: Add support for network-install (latest) * Fix issue boot.img end sector check - STABLE See: https://github.com/raspberrypi/rpi-eeprom/issues/521 * Fix handling of files that use the last cluster in the partition @@ -100,31 +118,31 @@ * Fix SD card detection See: https://github.com/raspberrypi/rpi-eeprom/issues/523 -2024-01-15: Add support for network-install (latest) +## 2024-01-15: Add support for network-install (latest) * Add support for Network Install * Preliminary D0 firmware support -2024-01-08: Promote 2024-01-05 to default (automatic update) +## 2024-01-08: Promote 2024-01-05 to default (automatic update) -2024-01-05: Fix handling of FAT files without LFNs. +## 2024-01-05: Fix handling of FAT files without LFNs. * Fix issues with SFN entries sometimes being treated as LFNs see https://github.com/raspberrypi/rpi-eeprom/issues/514 * Add a dedicated message for "M.2 HAT" not being found instead of the generic 'unsupported boot order' message when NVMe boot is skipped. -2023-12-17: Promote 2023-12-14 to default release +## 2023-12-17: Promote 2023-12-14 to default release * Bump to the default release now that the partition number fix is confirmed. -2023-12-14: Fix boot partition parameter (latest) +## 2023-12-14: Fix boot partition parameter (latest) * Fix an issue where the boot partition parameter in PM_RSTS was cleared before being checked. https://github.com/raspberrypi/firmware/issues/1853 * Add a specific fatal error pattern for RP1 not found - 4 long - 3 short -2023-12-12: Promote 2023-12-06 to default release. +## 2023-12-12: Promote 2023-12-06 to default release. -2023-12-06: Initialise DWC PHY (latest) +## 2023-12-06: Initialise DWC PHY (latest) * Initialise the DWC PHY to enable DWC host+peripheral support under Linux. Requires https://github.com/raspberrypi/linux/commit/82069a7a02632aa60fa5c69415bf891ede7d6fd4 @@ -133,7 +151,7 @@ * Add support for C(arm_min_freq) < 1500 MHz (must be at >= 200 MHz) * Manufacturing test updates for DVFS. -2023-11-20: Auto-detect support for PCIe expansion HAT (default + latest) +## 2023-11-20: Auto-detect support for PCIe expansion HAT (default + latest) * Add autodetect support for PCIe expansion HATs * Add PCIE_PROBE=1 to the EEPROM config for custom PCIe exapansion @@ -144,14 +162,14 @@ https://github.com/raspberrypi/firmware/issues/1843 * Kernel load performance improvement - remove a memcpy -2023-10-30: UPG watchdog support + SD reset fixes (default + latest) +## 2023-10-30: UPG watchdog support + SD reset fixes (default + latest) * Fix SDIO / WiFi clock-setup for BOOT_ORDER=0xf14 * Fix SD power-on-reset * Firmware support for improved watchdog driver * Update DHCP Option97 to be R,P,i,5 on Pi5 -2023-10-18: Display autodetect + HAT gpiomap (default + latest) (automatic update) +## 2023-10-18: Display autodetect + HAT gpiomap (default + latest) (automatic update) * Add support for HAT gpiomap for improved HAT compatibility. * Add I2C probe for DSI display auto detect @@ -161,12 +179,12 @@ * Prevent HDMI diagnostics being displayed immediately when waking after HALT. * Update board-name - "Raspberry Pi 5" -2023-09-28: vcgencmd pmic_read_adcs fixes (automatic update) +## 2023-09-28: vcgencmd pmic_read_adcs fixes (automatic update) * Fix the LDO names and current scaling codes * Manufacturing test updates -2023-09-21: Power button and ACT LED improvements +## 2023-09-21: Power button and ACT LED improvements * Fix bug where button press was not monitor for USB-C power supplies that were detected as < 3A. @@ -177,7 +195,7 @@ * Add support for HAT map. -2023-09-13: Initial release +## 2023-09-13: Initial release * Initial manufacturing software * Network Install is not available in this version diff --git a/imager/make-imager-release b/imager/make-imager-release index 784a428..0ede4d3 100755 --- a/imager/make-imager-release +++ b/imager/make-imager-release @@ -8,4 +8,4 @@ script_dir=$(cd "$(dirname "$0")" && pwd) ${script_dir}/make-release critical 2023-01-11 000138c0 "${script_dir}/2711-config" release-2711 rpi-boot-eeprom-recovery 2711 # Pi5 -${script_dir}/make-release critical 2024-04-20 "" "${script_dir}/2712-config" release-2712 rpi-boot-eeprom-recovery 2712 +${script_dir}/make-release critical 2024-06-05 "" "${script_dir}/2712-config" release-2712 rpi-boot-eeprom-recovery 2712 diff --git a/imager/make-release b/imager/make-release index a0f19c0..bea8184 100755 --- a/imager/make-release +++ b/imager/make-release @@ -90,7 +90,6 @@ rm -rf "${output_dir}" mkdir "${output_dir}" # Build the different boot priority flavours -gen_release "${config_dir}/boot-conf-default.txt" "${output_dir}/${output_basename}-${tag}.zip" for variant in sd usb network; do gen_release "${config_dir}/boot-conf-${variant}.txt" "${output_dir}/${output_basename}-${tag}-${variant}.zip" done diff --git a/rpi-eeprom-digest b/rpi-eeprom-digest index dfb0f72..c02012a 100755 --- a/rpi-eeprom-digest +++ b/rpi-eeprom-digest @@ -63,7 +63,7 @@ If a private key in PEM format is supplied then the RSA signature of the sha256 digest is included in the .sig file. Currently, the bootloader only supports sha256 digests signed with a 2048bit RSA key. The bootloader only verifies RSA signatures in signed boot mode -(not available yet) and only for the EEPROM config file and the signed image. +and only for the EEPROM config file and the signed image. Examples: diff --git a/rpi-eeprom-update b/rpi-eeprom-update index ecbcd7c..6b54757 100755 --- a/rpi-eeprom-update +++ b/rpi-eeprom-update @@ -286,7 +286,10 @@ applyRecoveryUpdate() echo "" echo "EEPROM updates pending. Please reboot to apply the update." - echo "To cancel a pending update run \"sudo rpi-eeprom-update -r\"." + + if [ "${RPI_EEPROM_USE_FLASHROM}" = 0 ]; then + echo "To cancel a pending update run \"sudo rpi-eeprom-update -r\"." + fi } applyUpdate() {