[PATCH PATCH v6 00/13] Add support for applications of overlays in SPL

Jean-Jacques Hiblot jjhiblot at ti.com
Mon Dec 23 17:24:40 CET 2019


Tom, Simon,

gentle ping on this series. It has been posted for a long time and I did 
not push for it because I was working on other stuff. am654x and J7x  
SOCs will need this kind of feature.

Before sending a version rebased on latest u-boot, I would have liked to 
have your feeling on the series as a whole.

JJ



On 22/10/2019 16:39, Jean-Jacques Hiblot wrote:
> The purpose of this series is to provide the SPL with ability to apply
> overlays for u-boot.
>
> Our use-case is the support of the daughter boards of the AM65x and J721e
> EVMs. In Linux, each board is supported by a unique overlay. The presence
> of the boards is detected at runtime, and some useful features (like USB)
> are implemented on those daughter boards. Instead of providing multiple
> dtbs and fall in a combinatorial pit, we propose to use DT overlays.
>
> On arm, if overlay are supported, this series increases the size of the SPL
> by 3.2 kB.
>
> Travis build : https://travis-ci.org/jjhiblot/u-boot/builds/600742163
>
> Changes in v6:
> - Instead of matching a overlay by the name of it's node. Try to match it
>    first with the description, and then with the node's name. This allows
>    to use makeimg to add the overlays to u-boot.img and not use a custom
>    SPL_FIT_GENERATOR script
>
> Changes in v5:
> - Do not allocate the buffer if not needed (no overlay).
> - Add a Kconfig option for the buffer size
> - board_get_fit_loadable() returns an error code instead of a NULL string
>    in case of failure
> -reword commit log
>
> Changes in v4:
> - use CONFIG_IS_ENABLED() instead of #idef
> - make sure that the temp buffer is freed in all cases
> - Use the board driver infrastructure to get the image names from the
> board code.
> - Remove a patch that passed the board name to the FIT generator. If needed
> the generator can get it from elsewhere
> - Add a fix to not load the firmware twice (once as a firmware and once as
> a loadable)
>
> Changes in v3:
> - Add a new config option: SPL_LOAD_FIT_APPLY_OVERLAY. By default, it is
> not selected.
> - removed the RFC prefix. This work will be needed soon by TI's AM65x
> platform. and can probably benefit other modular platforms
> - removed the last patch that provided an example of how to use this with
> on a DRA76.
> - removed the patch that made u-boot.img a symlink to u-boot.itb because
> it breaks the build of many platforms (because files required to build the
> ITB are missing)
> - removed the patch to reduce the footprint of the am335x SPL. (already
> merged)
> - Made the boot flow more permissive (don't fail immediately if an overlay
> is not present) and more verbose when an error occures
> - handle the dependencies of the FIT generation in a more generic way
> - use a dedicated kconfig option to enable the application of the overlays
> by the SPL.
>
> Changes in v2:
> - depend on SPL_DM
> - update the commit log
> - reworked board_fit_get_additionnal_images() and how it used in spl_fit.c
> - removed dtbo generation from dtso files and use .dts extension for the
>    overlays
> - add dynamic allocation usage in a separate patch
> - defconfig change for the am335x_evm
>
> Jean-Jacques Hiblot (12):
>    spl: fit: don't load the firmware twice
>    spl: fit: Make room in the FDT before applying overlays
>    spl: fit: allocate a temporary buffer to load the overlays
>    spl: fit: Do not fail immediately if an overlay is not available
>    spl: fit: be more verbose when an error occurs when applying the
>      overlays
>    Makefile.lib: include /__symbols__ in dtb if
>      SPL_LOAD_FIT_APPLY_OVERLAY is enabled
>    spl: fit: constify the output parameter of spl_fit_get_image_name()
>    drivers: board: Make the board drivers available in SPL
>    drivers: board: Add get_fit_loadable()
>    include: board: provide empty stubs when the BOARD option is not
>      selected
>    dts: Add support for adding DT overlays in u-boot.img
>    spl: fit: Allow the board to tell if more images must be loaded from
>      FIT
>
> Michal Simek (1):
>    spl: fit: Add support for applying DT overlay
>
>   Kconfig                      |  18 +++++
>   Makefile                     |   3 +-
>   common/spl/spl_fit.c         | 151 ++++++++++++++++++++++++++++++++---
>   drivers/Makefile             |   2 +-
>   drivers/board/Kconfig        |   3 +
>   drivers/board/Makefile       |   2 +-
>   drivers/board/board-uclass.c |  11 +++
>   dts/Kconfig                  |   8 ++
>   include/board.h              |  74 +++++++++++++++++
>   scripts/Makefile.lib         |   4 +
>   10 files changed, 263 insertions(+), 13 deletions(-)
>


More information about the U-Boot mailing list