BayLibre contributions to U-Boot v2026.10

U-Boot over a PCB set within a forest during fall with the text U-Boot 2026.10 BayLibre (AI generated)

U-Boot v2026.10 was released on October 5, 2026.

BayLibre authored 140 commits for this release. The largest single thread is Julien Stephan’s 32-patch cleanup of the MediaTek clock drivers, alongside David Lechner’s rework of parent-clock lookup across 15 SoCs and Markus Schneider-Pargmann’s completion of the am335x migration to upstream Devicetrees.

MediaTek

MediaTek’s clock, power-domain and USB support now follows the kernel’s upstream binding model, so these boards can boot from unmodified upstream Devicetrees.

Clock

David Lechner reworked parent-clock lookup across a 24-patch series (8ef0ad4c7a6d). Clock providers now register as typed clock trees and match by flag. The driver-name search they replace could match more than one device. David also added tree-type flags and unique driver names across 15 SoCs, and deleted the non-upstream clock-parent properties from the mt7981, mt7986 and mt7988 Devicetrees. Carlo Caione added on-demand probing of parent providers, removing the probe-order dependency for early clock consumers (976b12414c18).

Julien Stephan stored every MediaTek clock tree in driver data and collapsed each SoC’s clock-gate controllers into one shared implementation (02ac5662ca65). That 32-patch cleanup is what made the lookup rework possible.

Julien also added the mt8188 display clock driver that HDMI needs, plus a missing pericfg_ao clock. He fixed a polarity bug there too: the top0 gates are active-high, but the macros treated them as active-low, so enabling such a gate disabled it (6a77840b2f01). On mt8189, David corrected two VLP clock entries that resolved to the wrong parents, fixing the Genio 520/720 (dfde529a7806).

Power domains

Julien Stephan added support for the upstream power-controller model (a81e1f8a7cf2). Domains become child nodes of a power controller, with per-domain status-register offsets, ordered bus-protection steps, per-domain clocks and optional parent domains. Boards on the upstream binding can now power domains on and off.

He then wrote the MT8188 driver, covering the MFG, display, camera, codec, ADSP and PCIe domains (6c04714f5523), and split the rest of his 14-patch series into per-SoC drivers. MT7623 and MT7629 keep the flat model.

Networking

Julien Stephan brought up ethernet on the MT8189-based Genio 520/720 and the Genio 510/700 EVKs. He added Synopsys DWC Ethernet QOS glue for MediaTek (44f7d5945b32) and wrote a new Airoha AN8801 PHY driver, with CL22/CL45 MDIO access, LED control and RGMII delay Devicetree properties (227243b67e6f).

Julien also added the mt8189 ethernet nodes and defconfig.

USB

Carlo Caione reworked the mtu3 glue driver onto the upstream Devicetree binding (0f8cbf3a0d6f). It had accepted only a synthetic mediatek,ssusb child layout that upstream does not use. The controller node now owns the shared resources and MAC, the host role binds a standard xHCI child, and dr_mode selects the role. Carlo converted MT8183 and MT8512 in-tree, the latter peripheral-only.

He also made MTU3 usable from SPL, where each boot phase selects its role independently (08b77aac333c). He fixed a fastboot disconnect as well: the gadget could unregister before an OKAY response left the TX FIFO, dropping the host before it saw the response (9879c40f6d01).

Boot and reset

A generic Ubuntu arm64 image on the Genio 700 EVK hard-reset before reaching the login prompt. CONFIG_WATCHDOG_AUTOSTART arms the SoC watchdog, and nothing services it after ExitBootServices(). The ~16 s toprgu window expires before an OS module can take over. Carlo Caione disabled autostart on the Genio EVKs (f309d23e3a17). He also made MT8188 SPL fall back to a watchdog reset when no PSCI firmware is present, fixing a stalled standalone download agent (cdc0564d4f4a).

David Lechner enabled bootstd, FIT and Devicetree overlays in the mt8188, mt8195 and mt8365 defconfigs (b016f0bb46e1), the board support package for the Genio 510/700 EVKs, which now boot through the standard flow. Julien Stephan fixed dtsi override handling for the same boards, where the common mt8188-u-boot.dtsi was never applied (3e9fa1d62e09). David also fixed a pinctrl format specifier, a phy Kconfig type and a ufetch build failure without CONFIG_SYS_CONFIG_NAME.

Texas Instruments / AM335x

Markus Schneider-Pargmann completed the am335x family’s migration to upstream Linux Devicetrees. The remaining BeagleBone boards and the EVM now build against OF_UPSTREAM, and he deleted the unused U-Boot-local Devicetrees (1bded0115866).

Markus moved USB onto the upstream binding, where MUSB probes via ti,musb-am33xx (39762783b126). He made a USB probe failure non-fatal, so boot continues and the failure can be debugged from the console instead of halting before it appears (44d86f9194ac).

He also brought up display on the upstream Devicetree, adding the panel, backlight and vidconsole, with the LCD controller available in all boot phases on the BeagleBone Black (515a20d7ee2b). Markus added the EVM backlight and enabled panel and vidconsole support in the unified EVM defconfigs (380d8e388745).

Core framework and build

A FIT could silently boot the wrong configuration. With CONFIG_FIT_BEST_MATCH, equal compatible-match scores fell to the first listed configuration, and the configurations node’s default property was never consulted. Carlo Caione changed ties to prefer the default (574b1adad70a), so a single-board FIT carrying a base tree plus overlay combinations boots the intended configuration. A strictly better match still wins.

Markus Schneider-Pargmann split simple-pm-bus into phases, adding a separate SPL_SIMPLE_PM_BUS Kconfig so boards can keep it out of SPL (0c57d71f4ef3). He removed the CLK subsystem as a hard dependency, so enabling SIMPLE_PM_BUS no longer forces clocks on (5c3741f1355b). That was the size lever that let OF_UPSTREAM fit in the BeagleBone Black SPL.

Julien Stephan removed trailing colons from MAINTAINERS section titles, added a missing I2C API Kconfig dependency for the i2c command, and made qconfig print a proper error when its database is missing.

Sophgo

Hiago De Franco added support for the Milk-V Duo 256M (98b59e181daa), a second shipping Milk-V board on upstream U-Boot. It uses the Sophgo SG2002 SoC and reuses the existing CV1800B CPU support. He moved the Sophgo ethernet driver to a shared directory so both boards use it.

Hiago also fixed an SD-card hang on 3.3V-only boards. The cv1800b_sdhci driver ignored no-1-8-v and still offered the 1.8V UHS modes, so it issued a CMD11 voltage switch the board could not complete, and the card stopped responding until a power cycle. He masked those modes (3a4a8963aace), and corrected a shared cv18xx SPI node name.

Summary

Type Count
Authored 140
Co-developed-by 1
Signed-off-by 3
Reviewed-by 20
Tested-by 3
Suggested-by 2