diff options
| author | Tom Rini <[email protected]> | 2025-11-03 10:12:05 -0600 |
|---|---|---|
| committer | Tom Rini <[email protected]> | 2025-11-03 10:12:05 -0600 |
| commit | 9ccda31f54881d3321263a81599454a1d6efb65e (patch) | |
| tree | 71c250bf67f39df36d05ef55512692132b99fa40 /doc/usage | |
| parent | c2637036b8f0c90a2cfc59900f7da31eae646b03 (diff) | |
| parent | e9dc6c12958fc5d909848fc3999e6be5df1cd3ae (diff) | |
Merge patch series "Convert extension support to UCLASS and adds its support to boot flows"
Kory Maincent (TI.com) <[email protected]> says:
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.
Link: https://lore.kernel.org/r/20251030-feature_sysboot_extension_board-v5-0-cfb77672fc68@bootlin.com
Diffstat (limited to 'doc/usage')
| -rw-r--r-- | doc/usage/cmd/extension.rst | 29 | ||||
| -rw-r--r-- | doc/usage/pxe.rst | 4 |
2 files changed, 21 insertions, 12 deletions
diff --git a/doc/usage/cmd/extension.rst b/doc/usage/cmd/extension.rst index 4c261e74951..fbe95aace79 100644 --- a/doc/usage/cmd/extension.rst +++ b/doc/usage/cmd/extension.rst @@ -25,9 +25,8 @@ Device Tree overlays depending on the detected extension boards. The "extension" command comes with three sub-commands: - - "extension scan" makes the generic code call the board-specific - extension_board_scan() function to retrieve the list of detected - extension boards. + - "extension scan" makes the generic code call a board-specific extension + function to retrieve the list of detected extension boards. - "extension list" allows to list the detected extension boards. @@ -98,17 +97,23 @@ Simple extension_board_scan function example .. code-block:: c - int extension_board_scan(struct list_head *extension_list) + static int foo_extension_board_scan(struct alist *extension_list) { - struct extension *extension; + struct extension extension = {0}; - extension = calloc(1, sizeof(struct extension)); - snprintf(extension->overlay, sizeof(extension->overlay), "overlay.dtbo"); - snprintf(extension->name, sizeof(extension->name), "extension board"); - snprintf(extension->owner, sizeof(extension->owner), "sandbox"); - snprintf(extension->version, sizeof(extension->version), "1.1"); - snprintf(extension->other, sizeof(extension->other), "Extension board information"); - list_add_tail(&extension->list, extension_list); + snprintf(extension.overlay, sizeof(extension.overlay), "overlay.dtbo"); + snprintf(extension.name, sizeof(extension.name), "extension board"); + snprintf(extension.owner, sizeof(extension.owner), "sandbox"); + snprintf(extension.version, sizeof(extension.version), "1.1"); + snprintf(extension.other, sizeof(extension.other), "Extension board information"); + if (!alist_add(extension_list, extension)) + return -ENOMEM; return 1; } + + U_BOOT_EXTENSION(foo_extension_name, foo_extension_board_scan); + + U_BOOT_DRVINFO(foo_extension_name) = { + .name = "foo_extension_name", + }; diff --git a/doc/usage/pxe.rst b/doc/usage/pxe.rst index c2dc11f218d..18532f182d5 100644 --- a/doc/usage/pxe.rst +++ b/doc/usage/pxe.rst @@ -103,6 +103,10 @@ Environment ``fdt_addr_r``. Required to use the ``fdtoverlays`` command in the PXE file. +``extension_overlay_addr`` + Location in RAM to temporarily store extension fdt overlay(s) + before applying them to the fdt blob stored at ``fdt_addr_r``. + ``pxe_label_override`` Override label to be used, if exists, instead of the default label. This will allow consumers to choose a pxe label at |
