diff --git a/firmware/beta/pieeprom-2021-06-11.bin b/firmware/beta/pieeprom-2021-06-11.bin new file mode 100644 index 0000000..66b17b3 Binary files /dev/null and b/firmware/beta/pieeprom-2021-06-11.bin differ diff --git a/firmware/beta/recovery.bin b/firmware/beta/recovery.bin index b9bdc43..1a50d40 100644 Binary files a/firmware/beta/recovery.bin and b/firmware/beta/recovery.bin differ diff --git a/firmware/release-notes.md b/firmware/release-notes.md index 411c729..87e1cd1 100644 --- a/firmware/release-notes.md +++ b/firmware/release-notes.md @@ -3,6 +3,15 @@ USB MSD boot also requires the firmware from Raspberry Pi OS 2020-08-20 or newer. https://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2711_bootloader_config.md +## 2021-06-11 - Add USB_MSD_STARTUP_DELAY option - BETA + * Minor update to BRCM SDRAM settings. + * Add USB_MSD_STARTUP_DELAY option (default 0 option). This adds a configurable + delay (in milliseconds) the first time the USB host controller is initialised + before device enumeration. + Normally, this should not be required. However, some HDD enclosures may + require an extended startup delay in order to spinup drives. Without this + the get-capacity command may stall and timeout. + ## 2021-05-19 - Use the latest BRCM SDRAM settings - BETA * Use the latest BRCM SDRAM settings. * FAT12 support for small bootloader ramdisk images. diff --git a/rpi-eeprom-update b/rpi-eeprom-update index bc08d96..c153c6a 100755 --- a/rpi-eeprom-update +++ b/rpi-eeprom-update @@ -30,7 +30,6 @@ FIRMWARE_BACKUP_DIR=${FIRMWARE_BACKUP_DIR:-/var/lib/raspberrypi/bootloader/backu ENABLE_VL805_UPDATES=${ENABLE_VL805_UPDATES:-1} RECOVERY_BIN=${RECOVERY_BIN:-${FIRMWARE_ROOT}/${FIRMWARE_RELEASE_STATUS}/recovery.bin} BOOTFS=${BOOTFS:-/boot} -VCMAILBOX=${VCMAILBOX:-/opt/vc/bin/vcmailbox} CM4_ENABLE_RPI_EEPROM_UPDATE=${CM4_ENABLE_RPI_EEPROM_UPDATE:-0} RPI_EEPROM_UPDATE_CONFIG_TOOL="${RPI_EEPROM_UPDATE_CONFIG_TOOL:-raspi-config}" @@ -315,8 +314,11 @@ checkDependencies() { BOARD_INFO="$(od -v -An -t x1 /sys/firmware/devicetree/base/system/linux,revision | tr -d ' \n')" elif grep -q Revision /proc/cpuinfo; then BOARD_INFO="$(sed -n '/^Revision/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo)" - else + elif command -v vcgencmd > /dev/null; then BOARD_INFO="$(vcgencmd otp_dump | grep '30:' | sed 's/.*://')" + else + echo "No Raspberry Pi board info found" + exit ${EXIT_SUCCESS} fi if [ $(((0x$BOARD_INFO >> 23) & 1)) -eq 0 ] || [ $(((0x$BOARD_INFO >> 12) & 15)) -ne 3 ]; then