[PATCH v5 00/20] Convert extension support to UCLASS and adds its support to boot flows

Kory Maincent (TI.com) kory.maincent at bootlin.com
Thu Oct 30 17:44:53 CET 2025


This series converts the extension board framework to use UCLASS as
requested by Simon Glass, then adds extension support to pxe_utils
and bootmeth_efi (not tested) to enable extension boards devicetree load
in the standard boot process.

I can't test the imx8 extension scan enabled by the
imx8mm-cl-iot-gate_defconfig as I don't have this board.
I also can't test the efi bootmeth change as I don't have such board.

Changes in v5:
- Change sandbox extension function build dependency to
  CONFIG_SUPPORT_DM_EXTENSION_SCAN and !CONFIG_XPL_BUILD.

Changes in v4:
- Update the bootstd tests, due to the removal of extension hunter.

Changes in v3:
- Reorder the patches inside the series as several config were broken
  in the middle of the series.
- Use U_BOOT_DRVINFO macro instead of manually bind the drivers.
- Use uclass_first_device_err instead of extension_get_dev function.
- Made few fixes in documentation and Kconfig dependency.
- Made few changes of error value returned.
- Add a patch to document the extension structure.
- Add a patch to fix CAPE_EEPROM_BUS_NUM Kconfig dependency

Changes in v2:
- Fixes few build errors.
- Add patches to move the extension support and board scan out of XPL
  images build.

Signed-off-by: Kory Maincent (TI.com) <kory.maincent at bootlin.com>
---
Kory Maincent (TI.com) (20):
      MAINTAINERS: Add maintainer for extension board support
      board: ti: Exclude cape detection from xPL builds
      board: ti: Fix CAPE_EEPROM_BUS_NUM Kconfig dependency
      board: sunxi: Exclude DIP detection from XPL builds
      board: compulab: Exclude compulab extension board detection from XPL builds
      include: extension_board: Document the extension structure
      boot: Move extension board support from cmd/ to boot/
      boot: Add UCLASS support for extension boards
      board: ti: Refactor cape detection code for readability
      board: ti: Convert cape detection to use UCLASS framework
      board: sunxi: Refactor CHIP board extension code
      board: sunxi: Convert extension support to UCLASS framework
      board: sandbox: Improve extension board scan implementation
      board: sandbox: Convert extension support to UCLASS framework
      board: compulab: Convert imx8mm-cl-iot-gate to UCLASS extension framework
      boot: Remove legacy extension board support
      boot: extension: Move overlay apply custom logic to command level
      boot: pxe_utils: Add extension board devicetree overlay support
      boot: bootmeth_efi: Refactor distro_efi_try_bootflow_files return logic
      boot: bootmeth_efi: Add extension board devicetree overlay support

 MAINTAINERS                                        |   9 +
 .../imx8mm-cl-iot-gate/imx8mm-cl-iot-gate.c        |  70 ++++----
 board/sandbox/sandbox.c                            |  29 ++--
 board/sunxi/Makefile                               |   2 +-
 board/sunxi/chip.c                                 |  36 ++--
 board/ti/common/Kconfig                            |   2 +-
 board/ti/common/Makefile                           |   2 +-
 board/ti/common/cape_detect.c                      |  56 ++++---
 boot/Kconfig                                       |   4 +
 boot/Makefile                                      |   1 +
 boot/bootmeth_efi.c                                |  79 +++++++--
 boot/extension-uclass.c                            |  93 +++++++++++
 boot/pxe_utils.c                                   |  92 +++++++++++
 cmd/Kconfig                                        |   3 -
 cmd/extension_board.c                              | 183 ++++++++++-----------
 doc/usage/cmd/extension.rst                        |  29 ++--
 doc/usage/pxe.rst                                  |   4 +
 include/dm/uclass-id.h                             |   1 +
 include/extension_board.h                          |  86 ++++++++--
 test/boot/bootdev.c                                |  32 ++--
 test/boot/bootflow.c                               |   6 +-
 test/boot/bootstd_common.h                         |   4 +-
 22 files changed, 565 insertions(+), 258 deletions(-)
---
base-commit: 8e7f8c1248e8adfb525a2a4ea56ebf7e54ff5d7a
change-id: 20250916-feature_sysboot_extension_board-958dd0072565

Best regards,
-- 
Köry Maincent, Bootlin
Embedded Linux and kernel engineering
https://bootlin.com



More information about the U-Boot mailing list