U-Boot v2022.04 released, our contributions

BayLibre contributed to U-Boot v2022.04 which was released in early April. U-Boot development takes place in release cycles which normally span two months. Here are our contributions in this release organized by SoC family, and a graph of the contributions by each engineer.

Amlogic

Mattijs Korpershoek added support to flash and boot Android on the Khadas VIM3 and VIM3L boards. Prior to this release, these boards required the vendor’s fork of U-Boot to run AOSP.

Neil Armstrong added documentation for pre-generated FIP files from Amlogic. Firmware Image Package (FIP) is a packaging format used by Arm Trusted Firmware (TF-A) to package firmware images in a single binary. Neil also updated documentation for the Amlogic P200 and P201 reference boards.

MediaTek

Julien Masson shaved 5 seconds off the boot time by fixing a regression during MMC initialization. Julien implemented a function to wait for DAT0 line state change, and this eliminated the need to delay 500 ms after every mode switch.

Texas Instruments

Amjad Ouled-Ameur added support for IPU (image processing unit) early boot on the AM57xx and DRA7 SoC families. These SoCs contain multiple heterogeneous cores with the Cortex A15 cores usually running Linux. Typically, U-Boot would boot Linux on an A15 core, and then Linux remoteproc drivers would boot co-processors like the IPU. However, this may not be suitable for automotive applications with tight time constraints like a rear view camera. With this new release, U-Boot can now boot the IPU without waiting for Linux to be running on the A15 cores.

Amjad enabled boards with the AM335x SoC, like the AM3359 Industrial Communications Engine (ICE), to choose Ethernet port configuration (CPSW or PRUSS) based on jumper settings. Amjad also added USB mass storage in U-Boot SPL for the AM43xx-HS-EVM board.