[PATCH 0/5] Add support for USB-EFI devices in EFI Playload

Fabian Pflug f.pflug at pengutronix.de
Wed Aug 12 09:36:48 PDT 2026


When running as EFI payload, barebox does not have control over the USB
bus, but instead the BIOS will have enumerated and set up devices.

The UEFI will also expose an API to access the devices, with one handle
per USB interface.
This driver will create an USB-Host per device and initialize the device
and pass it onto barebox for driver initialization, allowing all
usb-devices to be used.

This might lead to problems where USB-Storage is handled as an USB
device as well as UEFI Block IO Storage, therefore it is not added to
efi_defconfig by default.

Signed-off-by: Fabian Pflug <f.pflug at pengutronix.de>
---
Fabian Pflug (5):
      efi: usb: add header for usb-efi
      usb: core: make usb_set_maxpacket_ep public
      drivers: usb: host: efi: add efi io driver
      efi: guid: add guid for usb host controller 2
      test: x86: add test for uefi usb io

 drivers/usb/core/usb.c             |  12 +-
 drivers/usb/core/usb.h             |   2 +
 drivers/usb/host/Kconfig           |  11 ++
 drivers/usb/host/Makefile          |   1 +
 drivers/usb/host/efi-io-protocol.c | 325 +++++++++++++++++++++++++++++++++++++
 efi/guid.c                         |   2 +
 include/efi/guid.h                 |   4 +
 include/efi/protocol/usb.h         |  66 ++++++++
 test/x86/pc at efi_defconfig.yaml     |   9 +-
 9 files changed, 421 insertions(+), 11 deletions(-)
---
base-commit: 87f49b49fdd06c0de492bd2c1cd6b8c93e393029
change-id: 20260812-v2026-06-0-topic-efi_usb-2eb7641b6b60

Best regards,
-- 
Fabian Pflug <f.pflug at pengutronix.de>




More information about the barebox mailing list