[PATCH v5 02/10] cmd: add support for a new "extension" command

Tom Rini trini at konsulko.com
Thu May 13 21:06:13 CEST 2021


On Tue, May 04, 2021 at 07:31:22PM +0200, Kory Maincent wrote:

> This patch adds a new "extension" command, which aims at detecting
> extension boards connected to the hardware platform, and apply the
> Device Tree overlays that describe the hardware present on those
> extension boards.
> 
> In order to enable this mechanism, board-specific code must implement
> the extension_board_scan() function that fills in a linked list of
> "struct extension", each describing one extension board. In addition,
> the board-specific code must select the SUPPORT_EXTENSION_SCAN Kconfig
> boolean.
> 
> Based on this:
> 
>  - "extension scan" makes the generic code call the board-specific
>    extension_board_scan() function to retrieve the list of detected
>    extension boards.
> 
>  - "extension list" allows to list the detected extension boards.
> 
>  - "extension apply <number>|all" allows to apply the Device Tree
>    overlay(s) corresponding to one, or all, extension boards
> 
> The latter requires two environment variables to exist and set one variable
> to run:
> 
>  - extension_overlay_addr: the RAM address where to load the Device
>    Tree overlays
> 
>  - extension_overlay_cmd: the U-Boot command to load one overlay.
>    Indeed, the location and mechanism to load DT overlays is very setup
>    specific.
> 
>  - extension_overlay_name: set by the command: the name of the DT which
>    will be load during the execution.
> 
> When calling the command described in the extension_overlay_cmd
> variable, the variable extension_overlay_name will be defined. So a
> typical extension_overlay_cmd will look like this:
> 
>   extension_overlay_cmd=load mmc 0:1 $extension_overlay_addr /boot/$extension_overlay_name
> 
> Here is an example on how to use it:
> => run loadfdt
> => fdt addr $fdtaddr
> => setenv extension_overlay_addr 0x1000
> => setenv extension_overlay_cmd 'load mmc 0:1 ${extension_overlay_addr} /boot/${extension_overlay_name}'
> => extension scan
> Found 1 extension board(s).
> => extension apply 0
> 519 bytes read in 3 ms (168.9 KiB/s)
> 
> Signed-off-by: Kory Maincent <kory.maincent at bootlin.com>
> Reviewed-by: Maxime Ripard <maxime at cerno.tech>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20210513/5632b935/attachment.sig>


More information about the U-Boot mailing list