* Reset Ethernet MAC + PHY if final boot mode is not network boot
See: Kernel warning and network failure when attempting to use
the network after bootloader times out. #144
* Improve handling of multiple bootable USB devices and remove USB_MSD_BOOT_MAX_RETRIES
* Resolve: No DHCPACK with DHCP relay agent #58
* Toggle USB root hub port power for 200ms on the first USB MSD boot attempt
See: Bootloader can't boot via USB-HDD after system reboot #151
* Update bootloader handover to support uart_2ndstage - requires a newer
start.elf firmware which will be via rpi-update.
* Assert PCIe fundamental reset if the final bootmode was not USB-MSD
because the OS might not do this before starting XHCI.
Use `-lt` rather than `\<` so that, for example, this:
[ 2 -lt 17 ]
is true (whereas with `\<` in place of `-lt` it's false).
Also change an `=` comparison to `-eq` to be technically correct.
Helped-by: Tim Gover <tim.gover@raspberrypi.org>
Helped-by: MilhouseVH <milhouseVH.github@nmacleod.com>
Signed-off-by: Kyle J. McKay <mackyle@gmail.com>
* Resolve: Unable to boot from USB MSD - Seagate 5Tb HDD backup drive #139
* Increase USB MSD timeout from 10 to 20 seconds.
* Max retries now default to zero because the default BOOT_ORDER includes
restart (0xf). Therefore, each boot-mode is now tried once before moving
to the next mode. The retries mechanism is largely redudant now that
the loop/restart mode exists.
* If TFTP fails and network boot retries > 0 then wait 5 seconds before
retrying to avoid overloading a misconfigured TFTP server.
* Map undefined boot-modes in BOOT_ORDER to SD (0x1) instead of stopping.
* Add missing pieeprom-2020-05-28
Newer board revisions do not have a dedicated VL805 EEPROM. Instead,
the VL805 firmware is loaded from the bootloader EEPROM.
Update the version check to ignore standalone VL805 update files
on boards without a dedicated VL805 EEPROM.