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 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) <[email protected]> --- 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 | 26 ++- 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 ++-- include/dm/uclass-id.h | 1 + include/extension_board.h | 85 ++++++++-- 18 files changed, 541 insertions(+), 232 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

