Compare commits

...

145 Commits

Author SHA1 Message Date
Tim Gover
d05f05c94f rpi-eeprom-config: Increase the timeout for flashrom shell-cmd
20 seconds is a little too short for safety with flashrom if every
page has to be erased and re-written. Bump this to 60 seconds
which is probably too long but nothing good will come from
interrupting flashrom.
2024-09-16 10:55:14 +01:00
Tim Gover
d53e3dd4b1 pieeprom-2024-09-10: 2712: Fix filename 2024-09-11 21:21:01 +01:00
andrum993
ab8698afa0 2712 release-notes.md: fix typo 2024-09-11 15:03:00 +01:00
Tim Gover
e6026c8d4e pieeprom-2024-10-09: 2712: Promote to default release (automatic update) 2024-09-11 14:43:47 +01:00
Tim Gover
171e47acb1 2024-09-10: 2712: Fix lockup on 7" DSI panel clones (latest)
* Fix lockup regression with some 3rd party 7" DSI panels
  See: https://github.com/raspberrypi/linux/issues/6341
2024-09-10 16:26:54 +01:00
Nicolai Buchwitz
ccfc47b215 Fix docs link to CM4 bootloader
Signed-off-by: Nicolai Buchwitz <nb+github@tipi-net.de>
2024-09-07 12:08:33 +01:00
andrum993
6a0b84c0d1 Update release-notes.md
Clarify rp1 earlycon instructions, typos.
2024-09-06 09:19:17 +01:00
Tim Gover
40134bc34b pieeprom-2024-09-05: 2712: 2711: 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-09-05 22:07:04 +01:00
Tim Gover
5f28534e85 image: Update 2712 release to 2024-07-30 2024-09-05 13:41:00 +01:00
Tim Gover
ef2fc67d23 pieeprom: 2024-07-30: 2712: Promote the 2024-07-30 release to default (default) 2024-08-15 16:55:37 +01:00
Tim Gover
3fe49842bc 2024-08-14 - (recovery.bin) Add support for OTP metadata (latest)
Update the recovery.bin firmware with support for retrieving
OTP meta-data (e.g. boardrev, mac addr etc) during rpiboot
provisioning.
2024-08-15 16:55:37 +01:00
Tim Gover
4c5aebdb20 2024-08-14 - (recovery.bin) Add support for OTP metadata (latest)
Update the recovery.bin firmware with support for retrieving
OTP meta-data (e.g. boardrev, mac addr etc) during rpiboot
provisioning.
2024-08-15 16:05:58 +01:00
andrum993
66d569e2c5 BCM2712 release-notes.md - correct notes for most recent 2 releases
- 2024-07-30 is marked `default` here, but the image is actually in `latest`

- 2024-07-25 doesn't specify default or latest - fix that

(Aside: neither seem to have found their way to apt yet).
2024-08-15 16:02:19 +01:00
andrum993
f368cd9438 Update release-notes.md 2024-08-14 13:01:53 +01:00
andrum993
63fca1c2a1 release-notes.md: update heading formatting for older releases
Notes for new releases have level 2 heading markup: extend this to older releases as well, to make things a bit more readable for older releases.
2024-08-14 13:01:53 +01:00
Tim Gover
945d708fd0 pieeprom-2024-07-30: 2712: 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-30 17:31:39 +01:00
Tim Gover
f7aa474cb2 pieeprom-2024-07-30: 2711: 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-30 15:54:30 +01:00
Tim Gover
132ad70437 rpi-eeprom-update: Don't display the cancel/revert message in flashrom mode
It's not possible to cancel an update via flashrom because it's
already happened.
2024-07-29 14:13:01 +01:00
Tim Gover
d2979963b3 rpi-eeprom-digest: Fix help text regarding secure-boot support 2024-07-29 14:11:24 +01:00
Tim Gover
be8232be75 2024-07-05: 2711: (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-07-25 18:24:56 +01:00
Tim Gover
634b49c9dd pieeprom-2024-07-25: 2712: Support CM4 nEXTRST on CM5
* Drive nEXTRST on CM5 for CM4IO compatibility.
* Preliminary changes for CM5 Lite.
2024-07-25 16:47:38 +01:00
Tim Gover
e430a41e73 imager: make-release: Drop the 'default' (unused) BOOT_ORDER release zip 2024-06-13 09:34:54 +01:00
Tim Gover
ab087e5db1 imager: Bump 2712 release to 2024-06-05 2024-06-13 09:25:36 +01:00
Tim Gover
80be2d6d14 pieeprom-2024-06-05: 2712: Promote pieeprom-2024-06-05 to the default release (default) 2024-06-11 14:38:03 +01:00
Tim Gover
88f96b4f86 2024-06-05: 2712: CM5 bringup changes (latest)
* Minor changes to support CM5 bringup and test.
2024-06-05 17:10:08 +01:00
Tim Gover
cf3cadf994 2024-06-04: 2712: Fix [pi5] config.txt conditional state (latest)
* The [pi5] conditional statement should apply to the entire pi5
  family i.e. include cm5 as well.
* Bump SDIO bus priorities to that a GPU/RAM intensive processes
  can't unnecessarily stall an I/O processes.
* Assorted log message tidyups.
2024-06-04 09:35:25 +01:00
Tim Gover
61fb89536f pieeprom: 2024-05-17: 2712: Ignore bootloader updates for Pi5 on Pi4 - (latest)
* Add timestamps to UART log messages
2024-05-17 13:55:38 +01:00
Tim Gover
768f4fbc69 pieeprom-2024-05-17: 2711: 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-05-17 13:55:38 +01:00
Tim Gover
2b2c8103ff 2024-05-13: 2712: 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
  See: https://github.com/raspberrypi/rpi-eeprom/issues/576
* arm_dt: Support HAT EEPROM dtparams
* Fix reporting of the partition number via DT
  See: https://github.com/raspberrypi/rpi-eeprom/issues/575
* Resolve HID counting bug which caused Network Install to fail on some keyboards
  See: Fixes https://github.com/raspberrypi/rpi-eeprom/issues/574
* Pull PCIE DET_WAKE high by default on CM5
2024-05-13 17:46:53 +01:00
Tim Gover
2bfd7cb74e LICENSE: Update for qrcodegen 2024-04-22 17:26:22 +01:00
Tim Gover
9a5a522ee8 pieeprom-2024-04-20: 2712: Fix SDRAM default refresh timings 2024-04-20 12:14:16 +01:00
Tim Gover
7a1a01c24f pieeprom-2024-04-17: 2712: Promote to default release (automatic update)
Interesting changes since the last automatic update:
* Enable network install
* Enable over-clocking frequencies > 3GHz
  See: ttps://github.com/raspberrypi/firmware/issues/1876
* Adjust SDRAM refresh rate according to temperature and address a performance
  gap between 4GB and 8GB parts in benchmarks.
  See: https://github.com/raspberrypi/firmware/issues/1854
* Support custom CA certs with HTTPS boot
* Move non Kernel ARM stages back to 512KB
  https://github.com/raspberrypi/firmware/issues/1868
* Assorted HAT+ and NVMe interop improvements.
* Fix TRYBOOT if secure-boot is enabled.
* Preliminary support for D0 and CM5.
2024-04-18 10:39:16 +01:00
Tim Gover
f4580cd6f5 pieeprom-2024-04-18: 2712: 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-18 10:20:14 +01:00
Tim Gover
c0a207f452 pieeprom-2024-04-17: 2712: 2711: Build Pi4 and Pi5 firmware from the same branch
* 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-17 14:20:36 +01:00
Andrew Scheller
76b990a894 rpi-eeprom-config: fix rpi-eeprom-dgst typo in usage-text 2024-04-17 10:47:18 +01:00
Tim Gover
afa5822e03 rpi-eeprom-config: Add --debug flag to args 2024-04-17 10:46:10 +01:00
Tim Gover
a2fb4ed28d rpi-eeprom-config: Process bootcode arg with other file replacements
It should be possible to change the config, public key, signature
and signed bootcode in a single operation.
2024-04-17 10:46:10 +01:00
Tim Gover
ca7a39efe9 pieeprom-2024-04-15: 2711: Promote stable release to DEFAULT 2024-04-16 09:55:05 +01:00
Tim Gover
c94506e598 pieeprom-2024-04-15: 2711: 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-04-15 16:52:48 +01:00
Cody Scott
61023cbd32 Remove variable expansion in arithmetic
https://www.shellcheck.net/wiki/SC2004
2024-04-05 16:55:43 +01:00
Tim Gover
d8abe8c67d 2024-04-05: 2712: 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
* arm_dt: Remove unused legacy parameters (core_freq, arm_freq, uart0_clkrate and cache_line_size)
* Add support for custom CA cert for network install
    You need to specify
    HTTP_HOST=myhost.com
    HTTP_PATH=/path/to/files
    HTTP_CACERT_HASH=<hash>

    where <hash> is a sha256 hash of the der encoded ca certificate.
    CA cert is added using rpi-eeprom-config.
* Optimise Vbat current draw with charging disabled
* Display OTP boot status in UART log messages.
* Preliminary support for secure-boot OTP provisioning.
* Update PCIE DET_WAKE pinmux for D0 products
2024-04-05 12:39:42 +01:00
Tim Gover
14f05613b4 tools: rpi-eeprom-digest: Improve docs for secure-boot
Make it clearer that rpi-eeprom-digest is used create optionally
signed hashes for binary files.

For secure-boot the update-pieeprom.sh wrapper must be used
because only the boot configuration is signed by the customer
key rather than the entire SPI flash image.
2024-03-27 14:45:28 +00:00
Tim Gover
07bf72a919 tools: Preliminary tool support for signed-boot on 2712
Update rpi-eeprom-config to support replacement of bootcode.bin
with a customer counter-signed version.

Add a new rpi-sign-bootcode script which enables bootcode.bin
to be counter-signed with the customer key.

N.B. Signed boot on 2712 requires newer firmware which is currently
under development and has not been released.
2024-03-27 14:45:28 +00:00
Tim Gover
b745226b41 tools: rpi-otp-private-key: Update to same version as usbboot 2024-03-01 17:05:33 +00:00
Peter Harper
c478689de0 Add new cacertder option
Allows you to add a custom ca cert to an image.

Note: This option is only relevant for newer (as yet unreleased)
bootloader images that support custom CA certs and reserve a space for
this in the flash image.
2024-03-01 13:26:06 +00:00
Tim Gover
8c67b27665 rpi-eeprom-update: Only check for flashrom during an update
There's no need to check for flashrom when querying the current
version, removing pending updates etc.

See: https://github.com/raspberrypi/rpi-eeprom/issues/548
2024-03-01 10:28:58 +00:00
Tim Gover
18620870d7 rpi-eeprom-update: Output warnings to stderr
Output non-fatal warnings to stderr in order to avoid breaking
programs like rpi-eeeprom-config which parse the output of
rpi-eeprom-update.

Fixes: https://github.com/raspberrypi/rpi-eeprom/issues/548
2024-03-01 10:28:58 +00:00
Tim Gover
11c64e3721 rpi-eeprom-update: Use flashrom by default on Pi5
Use flashrom by default on Pi5 unless the the RPI_EEPROM_USE_FLASHROM
environment variable has been set to zero OR flashrom is not available.
2024-02-21 18:02:37 +00:00
Tim Gover
36e58db5c2 imager-release: 2712: Bump to 2024-02-16 2024-02-18 22:23:26 +00:00
Tim Gover
b1a715b256 2024-02-16: 2712: 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

* Limit throttled frequency to OS requested frequency rather than config.txt frequency.
   See: https://github.com/raspberrypi/rpi-eeprom/issues/518
2024-02-16 15:45:05 +00:00
Tim Gover
0e8ecbcf83 2024-02-14: 2712: 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/1864
* Preliminary support for signed boot.
2024-02-14 08:58:47 +00:00
timg236
d4918d4d4c Merge pull request #539 from timg236/pieeprom-2024-02-08-2712
pieeprom-2024-02-08: 2712: Adjust SDRAM refresh based on temperature (latest)
2024-02-08 12:25:09 +00:00
Tim Gover
b5c7f1bee6 pieeprom-2024-02-08: 2712: 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-08 11:55:52 +00:00
timg236
c987375f1d Merge pull request #538 from timg236/pieeprom-2024-02-05
pieeprom-2024-02-05: 2712: Add support for HAT+ POE HATs (latest)
2024-02-05 16:53:46 +00:00
Tim Gover
99cb0bdaa2 pieeprom-2024-02-05: 2712: Add support for HAT+ POE HATs (latest)
* Add support for probing HAT+ POE HATs
* Implement DWC3 specific XHCI quirks
2024-02-05 15:18:32 +00:00
timg236
a8f2eb75b5 Merge pull request #537 from mocknen/warn-flashrom-not-found
Print warning when flashrom is not found, instead of silently ignorin…
2024-02-05 09:22:05 +00:00
Shogo Yamazaki
606c5d25e5 Print warning when flashrom is not found, instead of silently ignoring it 2024-02-04 11:50:06 +09:00
Peter Harper
88b33ab030 Merge pull request #528 from peterharperuk/nvme_boot_wd_fix
2024-01-24: NVMe boot fix for WD NVMe (latest)
2024-01-24 14:25:50 +00:00
Peter Harper
a7f982962b 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-24 12:48:26 +00:00
timg236
9df346bc1c Merge pull request #525 from timg236/pieeprom-2024-01-22-2712
2024-01-22: 2712: Fixes for small boot.img files + SD CD indicator (latest)
2024-01-22 15:57:58 +00:00
Tim Gover
68fca2166b 2024-01-22: 2712: Fixes for small boot.img files + SD CD indicator (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
  See: https://github.com/raspberrypi/rpi-eeprom/issues/521
* Fix SD card detection
  See: https://github.com/raspberrypi/rpi-eeprom/issues/523
2024-01-22 15:54:03 +00:00
timg236
eca47c5f4c Merge pull request #524 from timg236/pieeprom-2024-01-22-2711
pieeprom-2024-01-22: 2711: Fix issue boot.img end sector check - STABLE
2024-01-22 10:58:02 +00:00
Tim Gover
097e2d0573 pieeprom-2024-01-22: 2711: Fix issue boot.img end sector check - STABLE
See https://github.com/raspberrypi/rpi-eeprom/issues/521
2024-01-22 10:51:22 +00:00
timg236
4b8e875510 Merge pull request #522 from timg236/pieeprom-2024-01-18-2711
2024-01-18: 2711: Fix issue with minimal sized FAT partition - STABLE
2024-01-18 20:10:04 +00:00
Tim Gover
21a78a91de 2024-01-18: 2711: 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
2024-01-18 20:08:20 +00:00
timg236
cc020609fb Merge pull request #520 from timg236/pieeprom-2024-01-15-2712
pieeprom-2024-01-15: 2712: Add support for network-install (latest)
2024-01-16 16:03:48 +00:00
Tim Gover
d5f1ab30fa pieeprom-2024-01-15: 2712: Add support for network-install (latest)
* Add support for Network Install
* Preliminary D0 firmware support
2024-01-15 19:35:12 +00:00
timg236
8855da9889 Merge pull request #517 from timg236/pieeprom-2024-01-05-2712-default
Update default release to 2024-01-05 and mark as an automatic update
2024-01-08 11:43:57 +00:00
Tim Gover
a5b4f91caf Update RPi Imager release to 2024-01-05 2024-01-08 10:30:01 +00:00
Tim Gover
7232154170 pieeprom-2024-01-05: 2712: Promote to default (automatic update) 2024-01-08 10:24:11 +00:00
TrevorM
759460850c Updated documentation links
Documentation anchor IDs had been changed as they aren't Pi 4 specific now.
2024-01-08 09:29:00 +00:00
timg236
9e0bffb291 Merge pull request #515 from timg236/pieeprom-2024-05-01-2712
pieeprom-2024-01-05: 2712: Fix handling of FAT files without LFNs.
2024-01-06 08:35:44 +00:00
Tim Gover
258d0114c0 pieeprom-2024-01-05: 2712: 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.
2024-01-06 08:33:36 +00:00
timg236
0cd761bc84 Update bug_report.yml 2024-01-05 15:58:49 +00:00
timg236
72cedfe5ee Merge pull request #512 from timg236/pieeprom-2023-12-14-default
pieeprom-2023-12-14: 2712: Promote pieeprom-2023-12-14 to default
2023-12-18 17:27:17 +00:00
Tim Gover
14e934cee3 pieeprom-2023-12-14: 2712: Promote pieeprom-2023-12-14 to default 2023-12-18 17:24:57 +00:00
Tim Gover
e407fb0030 rpi-eeprom-update: Tweak chipNotSupported message
Tweak the message to look like like an error.
2023-12-18 17:18:52 +00:00
timg236
b405ed7465 Merge pull request #511 from lurch/patch-1
rpi-eeprom-update: Fix package-names in error messages
2023-12-18 17:11:57 +00:00
Pavel Djundik
ef0cfffced Check that strings exists, suggest installing binutils 2023-12-18 17:11:09 +00:00
Andrew Scheller
a66e79ba99 rpi-eeprom-update: Fix package-names in error messages
Looks like some things have moved around in Bookworm.
2023-12-18 16:22:09 +00:00
Andrew Scheller
745eabf90e Fix typo in warning message 2023-12-18 11:55:29 +00:00
timg236
043841636c Merge pull request #507 from timg236/pieeprom-2023-12-14-2712
pieeprom-2023-12-14: 2712 + update imager release
2023-12-14 17:07:47 +00:00
Tim Gover
3f325bd482 pieeprom-2023-12-14: 2712: 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-14 17:04:22 +00:00
Tim Gover
52c5d89d48 imager: Update imager release to 2023-12-06 2023-12-12 10:27:19 +00:00
timg236
77402b6527 Merge pull request #506 from timg236/pieeprom-2023-12-06-default
pieeprom-2023-12-12: 2712: Promote 2023-12-06 to default release.
2023-12-12 09:54:53 +00:00
Tim Gover
9c8d97d6a2 pieeprom-2023-12-12: 2712: Promote 2023-12-06 to default release.
Promote this bootloader to the default release and remove the
executable bit from the file.
2023-12-12 09:16:32 +00:00
Tim Gover
f20bb90a67 imager: 2712: Add NVMe into default boot configurations
Add NVMe into the SD/USB/DEFAULT boot modes with a higher
priority than USB. The detection of NVMe HATs is quick so
there is no disadvantage in trying NVMe first.
2023-12-12 09:08:03 +00:00
timg236
7e22b8ff47 Merge pull request #503 from raspberrypi/pieeprom-2023-12-06-2712
pieeprom-2023-12-06: 2712: Initialise DWC PHY (latest)
2023-12-06 18:58:47 +00:00
Tim Gover
8f19146862 pieeprom-2023-12-06: 2712: Initialise DWC PHY (latest)
* Initialise the DWC PHY to enable DWC host+peripheral support under Linux.
  Requires 82069a7a02
* Force PWM on 3V3 supply if cameras or HATs are connected or if
   power_force_3v3_pwm=1 in config.txt
   Resolves an image quality issue with the GS camera.
* Add support for C(arm_min_freq) < 1500 MHz (must be at >= 200 MHz)
* Manufacturing test updates for DVFS.
2023-12-06 18:47:05 +00:00
timg236
e4724b4783 Merge pull request #500 from timg236/rpi-eeprom-update-ignore-dpkg-checksums
rpi-eeprom: Disable the dpkg checksum validation by default
2023-11-30 12:56:35 +00:00
Tim Gover
1e5594c51b rpi-eeprom: Disable the dpkg checksum validation by default
Enforcing package checksum validation makes it difficult to install
new EEPROM binaries via rpi-update causing extra churn of APT releases.

Drop this check by default because random corruption of these files
either via software or users never actually happens.
2023-11-30 12:55:31 +00:00
timg236
b57586ead2 Merge pull request #498 from timg236/pieeprom-2023-11-20-2712
pieeprom-2023-11-20: 2712: Auto-detect support for PCIe expansion HAT… (default + latest)
2023-11-21 11:29:19 +00:00
Tim Gover
46c89bee09 pieeprom-2023-11-20: 2712: 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
  designs that do not support the upcoming HAT spec. This gives
  similar behaviour to CM4 where PCIe x1 is enumerated to discover NVMe
  devices.
* Fix loading of multiple initramfs images that are not 32-bit aligned sizes
  https://github.com/raspberrypi/firmware/issues/1843
* Kernel load performance improvement - remove a memcpy
2023-11-21 09:45:11 +00:00
timg236
6b14e84a2f Merge pull request #492 from timg236/raspberrypi5-use-flashrom
rpi-eeprom-update: Add the option to use flashrom for updates on Raspberry Pi 5
2023-11-09 12:09:42 +00:00
Tim Gover
db154d4710 rpi-eeprom-update: Add the option to use flashrom for updates on Raspberry Pi 5
On Raspberry Pi 5 there are dedicated pins for the bootloader SPI
EEPROM. This makes it possible to do immediate updates via flashrom.

The "current" EEPROM config is the EEPROM config at boot rather
than what has just been written to the SPI flash because this is
consistent with current behaviour.

To use flashrom instead of recovery.bin for bootloader updates
set RPI_EEPROM_USE_FLASHROM=1 in /etc/defaults/rpi-eeprom-update

BCM2711
On CM4, Pi4, CM4-S, Pi400 config.txt must be modified to disable
the analog audio driver which shares the GPIO pins used by the
bootloader EEPROM.

dtparam=spi=on
dtoverlay=audremap
dtoverlay=spi-gpio40-45
2023-11-02 16:54:34 +00:00
timg236
aded0825e3 Merge pull request #494 from timg236/pieeprom-2023-10-30-2712
pieeprom-2023-10-30: 2712: UPG watchdog support + SD reset fixes
2023-10-30 17:47:06 +00:00
Tim Gover
d53db79009 pieeprom-2023-10-30: 2712: 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-30 16:54:48 +00:00
Tim Gover
5ec5c003ba rpi-eeprom-update: Switch back to recovery.bin on Pi5
The Pi5 EEPROM is larger and can take longer to update which
slightly increases the change of failure if the board power is
disconnected across an update. Re-enable recovery.bin for SD
updates for now.
2023-10-22 14:28:32 +01:00
timg236
b066f89a40 Merge pull request #491 from lurch/patch-1
rpi-eeprom-update: Fix typos in usage text
2023-10-22 14:06:34 +01:00
Andrew Scheller
ff81e998c5 rpi-eeprom-update: Fix typos in usage text 2023-10-21 15:05:18 +01:00
timg236
fdff8e81f0 Merge pull request #490 from timg236/tim/pieeprom-2023-10-18-2712-automatic-update
rpi-eeprom-update: 2712: Bump the min version to pieeprom-2023-10-18
2023-10-20 11:35:50 +01:00
Tim Gover
645c2a1201 rpi-eeprom-update: 2712: Bump the min version to pieeprom-2023-10-18 2023-10-20 10:51:21 +01:00
Tim Gover
f13b5789f5 imager-release: Update for Pi5 2023-10-19 13:57:49 +01:00
timg236
a9d76cf703 Merge pull request #488 from lurch/patch-1
Fix typo
2023-10-19 09:22:27 +01:00
Andrew Scheller
ee72242f76 Fix typo 2023-10-18 23:56:16 +01:00
timg236
a75b0368e0 Merge pull request #487 from timg236/pieeprom-2023-10-18-2712
pieeprom-2023-10-18: 2712: Display autodetect + HAT gpiomap (default + latest)
2023-10-18 18:49:28 +01:00
Tim Gover
3b393d31ac pieeprom-2023-10-18: 2712: Display autodetect + HAT gpiomap (default + latest)
* Add support for HAT gpiomap for improved HAT compatibility.
* Add I2C probe for DSI display auto detect
* Automatically set dtparam=nvme if booted from nvme
* Fix network boot reset issue where only the first attempt works.
* Adding pciex4_reset=0 to config.txt will leave RP1 PCIe enabled when
ARM stage is started.
* Prevent HDMI diagnostics being displayed immediately when waking
after HALT.
* Update board-name - "Rasberry Pi 5"
2023-10-18 18:37:58 +01:00
timg236
e120a595d4 Update README.md 2023-10-17 11:26:51 +01:00
timg236
3271aba368 Update README.md 2023-10-17 10:59:59 +01:00
timg236
dbb6bfd9b9 Update releases.md 2023-10-17 10:58:21 +01:00
timg236
2c35493e7f Update releases.md
Add a link to 2712 and drop reference to latest default release because this will just bitrot
2023-10-17 10:55:50 +01:00
Tim Gover
4f2d676b4e Merge pull request #485 from timg236/pi5
Add support for Pi5
2023-09-29 13:02:08 +01:00
Tim Gover
ac013de80e firmware-2711: Switch symlinks to use the standard release names
The EEPROM release names were changed to follow the naming
in raspi-config some time ago. Since the firmware directory
is being renamed to be chip specific for Pi5 support it's
good time to swap the symlink / release names.
2023-09-29 11:19:24 +01:00
Tim Gover
3ce1fd8823 pieeprom-2023-09-28: 2712: vcgencmd pmic_read_adcs fixes
* Fix the LDO names and current scaling codes
* Manufacturing test updates

Bump BOOTLOADER_AUTO_UPDATE_MIN_VERSION to this version.
2023-09-28 16:35:50 +01:00
Tim Gover
e1971ba483 pieeprom-2023-09-21: 2712: Add recovery.bin for make-image-release 2023-09-28 16:35:50 +01:00
Tim Gover
a8ca86532c pieeprom-2023-09-21: 2712: Power button and ACT LED improvements 2023-09-28 16:35:50 +01:00
Tim Gover
9e5c0ed0c4 pieeprom-2023-09-13: 2712: Initial firmware release for Pi5 2023-09-28 16:35:50 +01:00
Tim Gover
9147a1a1c6 scripts: Add support for chip-specific firmware directories
BCM2711 and BCM2712 require different EEPROM firmware and
consequently the binaries have been moved to chip specific
firmware directories.

firmware-2711 / firmware-2712
2023-09-28 16:35:50 +01:00
Tim Gover
f818c860b4 firmware-2712: Create the 2712 firmware directory structure 2023-09-28 16:35:50 +01:00
Tim Gover
c2918a8ec6 Rename firmware to firmware-2711 2023-09-28 16:35:50 +01:00
Tim Gover
3e2de88bcb Merge pull request #478 from XECDesign/boot_firmware_support
If /boot/firmware is in fstab, use it as BOOTFS
2023-09-04 11:31:25 +01:00
Tim Gover
fa281d3be1 test: install: Clean /lib/firmware/bootloader
Update the test/install script to remove previous firmware files.

This fixes a problem where the install script failed because
beta is now a symlink and not a directory.
2023-08-23 08:48:45 +01:00
Tim Gover
d774d5794c Merge pull request #482 from timg236/remove-beta-releases
firmware: Remove the beta release folder
2023-08-02 14:51:21 +01:00
Tim Gover
299b1c7e12 firmware: Remove the beta release folder
Remove the beta release folder and replace with a symlink to the
'latest' release.

Including beta firmware in the APT release causes unecessary churn
and occasionally causes an issue where a user might end up on an
old and unsupported beta release.

Instead, beta releases are will be feature specific and installed
manually via 'rpi-eeprom-config --edit beta-firmware.bin'

i.e. beta releases will be out-of-package custom firmware releases
downloaded from github. The functionality will be merged into
a new latest/stable release or abandoned.

N.B. The old beta releases have been archived to 'old' but are no
longer included in APT.
2023-08-02 14:48:45 +01:00
Serge Schneider
0ef3adc1d4 If /boot/firmware is in fstab, use it as BOOTFS
Debian's raspi-firmware package assumes the boot partition is mounted as
/boot/firmware/ rather than /boot/. This commit adds support for either
approach by default.
2023-08-02 12:22:53 +01:00
Tim Gover
df46db226e Merge pull request #481 from trejan/patch-1
Update URL for CM4 bootloader docs
2023-07-04 16:35:31 +01:00
TM
6950fff013 Update URL for CM4 bootloader doc site 2023-07-04 16:19:49 +01:00
Tim Gover
75d3a76046 Merge pull request #477 from timg236/pieeprom-2023-05-11-STABLE
pieeprom-2023-05-11: Promote BETA release to STABLE
2023-05-15 15:27:52 +01:00
Tim Gover
4856a034e3 pieeprom-2023-05-11: Promote BETA release to STABLE 2023-05-15 09:19:06 +01:00
Tim Gover
43477c6a91 Merge pull request #476 from timg236/pieeprom-2023-05-11
pieeprom-2023-05-11: Fix intermittent hang during secure-boot - BETA
2023-05-11 08:03:01 +01:00
Tim Gover
abce28f9bc pieeprom-2023-05-11: Fix intermittent hang during secure-boot - BETA 2023-05-11 07:52:25 +01:00
Tim Gover
3c3dadb5b1 Merge pull request #467 from hanzyd/master
rpi-eeprom-update: Follow links when looking for latest EEPROM
2023-01-30 12:20:43 +00:00
Ivan T. Ivanov
d82d08db06 rpi-eeprom-update: Follow links when looking for latest EEPROM
latest and default are links to directories, so follow them.

Before:

/usr/bin/rpi-eeprom-update
BOOTLOADER: up to date
   CURRENT: Wed Jan 11 17:40:52 UTC 2023 (1673458852)
    LATEST: Thu Jan  1 00:00:00 UTC 1970 (0)
   RELEASE: critical (/lib/firmware/raspberrypi/bootloader/critical)

After:

/usr/bin/rpi-eeprom-update
BOOTLOADER: up to date
   CURRENT: Wed Jan 11 17:40:52 UTC 2023 (1673458852)
    LATEST: Wed Jan 11 17:40:52 UTC 2023 (1673458852)
   RELEASE: critical (/lib/firmware/raspberrypi/bootloader/critical)

Signed-off-by: Ivan T. Ivanov <iivanov@suse.de>
2023-01-30 12:19:24 +02:00
Tim Gover
bf7419c961 Merge pull request #465 from timg236/pieeprom-2023-01-11-default
2023-01-18 - Promote pieeprom-2023-01-11 STABLE release to DEFAULT
2023-01-18 16:34:30 +00:00
Tim Gover
6532032cc6 2023-01-18 - Promote pieeprom-2023-01-11 STABLE release to DEFAULT
Interesting changes since the last default release
* Update VL805 to 138C0 - fix for handling of split transactions
  https://github.com/raspberrypi/linux/pull/5262
* Fix HID error handling with network install
  https://github.com/raspberrypi/rpi-eeprom/issues/458
2023-01-18 14:49:24 +00:00
Tim Gover
e2fc5b1993 Merge pull request #464 from timg236/pieeprom-2023-01-11
pieeprom-2023-01-11: Promote previous BETA release to STABLE
2023-01-13 10:54:08 +00:00
Tim Gover
259c4e99ed Merge pull request #463 from allanembedded/busybox-find
Fix rpi-eeprom-update when using busybox find
2023-01-13 10:30:52 +00:00
Tim Gover
5129267f6a pieeprom-2023-01-11: Promote previous BETA release to STABLE
This commit updates the VL805 firmware to vl805-000138c0.bin
See https://github.com/raspberrypi/linux/pull/5262
2023-01-13 09:27:26 +00:00
Allan Xavier
55ca589ab9 Fix rpi-eeprom-update when using busybox find
The busybox implementation of find does not detect recursive nested
symlinks, this results in it finding multiple instances of of_node
matching -samefile, the result of which then fails the -e path test.

The of_node symlink we're tyring to find should match the path
/sys/bus/nvmem/devices/*/of_node so just limit the find depth to 3 as
there's no point searching deeper than that.

Signed-off-by: Allan Xavier <mr.a.xavier@googlemail.com>
2023-01-12 13:47:27 +00:00
Tim Gover
b4b4605c7d Merge pull request #460 from timg236/pieeprom-2023-01-04
pieeprom-2023-01-04 VL805 firmware update - BETA
2023-01-05 10:16:07 +00:00
Tim Gover
2fb2132904 pieeprom-2023-01-04 VL805 firmware update - BETA
* Update VL805 to 138C0 - fix for handling of split transactions
  https://github.com/raspberrypi/linux/pull/5262
* Fix HID error handling with network install
  https://github.com/raspberrypi/rpi-eeprom/issues/458
2023-01-05 09:40:30 +00:00
Tim Gover
6e79e995bb Merge pull request #457 from timg236/pieeprom-2022-12-07
pieeprom-2022-12-07
2022-12-07 15:55:40 +00:00
Tim Gover
36886df55b 2022-12-07 - Fix SD voltage reset on Pi4 R1.1 (DEFAULT/STABLE/BETA).
Fix issue where SD voltage was not reset by power cycling PMIC on reboot.

See https://github.com/raspberrypi/firmware/issues/1763
2022-12-07 14:35:40 +00:00
Tim Gover
388ee17283 make-imager-release: Move image release to 2022-12-07 2022-12-07 14:35:19 +00:00
Tim Gover
2c6dabedf1 Point to the latest release 2022-12-06 17:24:14 +00:00
231 changed files with 1165 additions and 230 deletions

View File

@@ -6,7 +6,7 @@ body:
value: |
**Is this the right place for my bug report?**
* This repository contains the Raspberry Pi 4, Pi400 and CM4 bootloader EEPROM images and installation scripts.
* This repository contains the Raspberry Pi 5, Raspberry Pi 4, Pi400, CM4 and CM4-S bootloader EEPROM images and installation scripts.
* Please report boot issues for the earlier models at the GPU firmware repo [github.com/raspberrypi/firmware](https://github.com/raspberrypi/firmware).
* Please report USB issues which occur after the OS has started at the Linux repo [github.com/raspberrypi/linux/](https://github.com/raspberrypi/linux/).
* If you simply have a question, then [the Raspberry Pi forums](https://www.raspberrypi.org/forums) are the best place to ask it.
@@ -39,10 +39,12 @@ body:
description: On which device you are facing the bug?
multiple: true
options:
- Raspberry Pi 5
- Raspberry Pi 4 Mod. B
- Raspberry Pi 400
- Raspberry Pi CM4
- Raspberry Pi CM4 Lite
- Raspberry Pi CM4-S
- Other
validations:
required: true
@@ -52,7 +54,7 @@ body:
attributes:
label: Bootloader configuration.
description: |
Copy and paste the results of `vcgencmd bootloader_config` or describe the failing configuration.
Copy and paste the results of `rpi-eeprom-config` or describe the failing configuration.
* `rpi-eeprom-update` saves a backup of the previous bootloader configuration to `/var/lib/raspberrypi/bootloader/backup` before it schedules the update.
* `rpi-eeprom-config pieeprom.upd` can be used to read the contents of an EEPROM image.

22
LICENSE
View File

@@ -93,3 +93,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.

View File

@@ -1,5 +1,5 @@
# rpi-eeprom
This repository contains the scripts and pre-compiled binaries used to create the `rpi-eeprom` package which is used to update the Raspberry Pi 4 bootloader and VLI USB controller EEPROMs.
This repository contains the scripts and pre-compiled binaries used to create the `rpi-eeprom` package which is used to update the Raspberry Pi 4 and Raspberry Pi 5 bootloaders EEPROM images.
# Support
Please check the Raspberry Pi [general discussion forum](https://forums.raspberrypi.com/viewforum.php?f=63) if you have a support question.
@@ -9,8 +9,7 @@ To reset the bootloader back to factory defaults use [Raspberry Pi Imager](https
# Bootloader documentation
* [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-4-boot-eeprom)
* [Bootloader configuration](https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#raspberry-pi-4-bootloader-configuration)
* [Updating the Compute Module 4 bootloader](https://www.raspberrypi.com/documentation/computers/compute-module.html#cm4bootloader)
* [Release notes](firmware/release-notes.md)
* [Releases](releases.md)
* [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#update-the-compute-module-bootloader)
* [Releases and release notes](releases.md)

1
firmware-2711/beta Symbolic link
View File

@@ -0,0 +1 @@
latest/

1
firmware-2711/critical Symbolic link
View File

@@ -0,0 +1 @@
default/

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More